人臉檢測(face detection)是一種在任意數字圖像中找到人臉的位置和大小的計算機技術。它可以檢測出面部特徵,並忽略諸如建築物、樹木和身體等其他任何東西。[1]有時候,人臉檢測也負責找到面部的細微特徵,如眼睛、鼻子、嘴巴等的精細位置。
- 人臉檢測可以被認為是一種特定的物體檢測(object-class detection)。物體檢測的任務是在圖像中找到所有輸入與指定物體位置和尺寸,例如上身、行人和汽車。
- 人臉檢測也可以理解為通用模式下的人臉定位。人臉定位的目的是找到已知數目(通常為1)的人臉的位置和尺寸。而在人臉檢測中,並沒有這個額外的信息。
- 早期的人臉檢測算法專注於正面人臉,現在的算法則嘗試更為通用也更困難的多角度的人臉檢測。也就是說,要檢測的人臉可能沿着人臉與觀察者的軸線存在旋轉(平面內旋轉),也可能在垂直方向或左右方向(out-of-plane rotation)存在旋轉。更新的算法則考慮人臉外觀、光照和姿態等影響因素。
- 許多算法將人臉檢測實現為一個兩類模式分類任務。也就是說,圖像的指定位置會被轉換為特徵,然後一個預先訓練好的分類器將決定該部分是或不是人臉。
- 通常情況下,要用到滑動窗口技術。也就是說,分類器對圖像的任意位置和任意尺寸的部分(通常是正方形或長方形)進行分類,判定是或不是人臉。
- 具有空白和靜態背景的圖像比較容易處理,如果圖像只包含一個正面人臉的話,只要去除背景後就只剩下人臉了。
- 使用膚色來檢測人臉是比較脆弱的。數據庫可能沒有包含所有皮膚的顏色,同時光照也會影響檢測結果。由於使用色彩分割,具有類似於膚色顏色的非動物物體也會被檢測到。這種方式的優點是對於人臉的朝向和尺寸沒有要求,並且一個好的實現可以處理複雜的背景。
- 現在的一個比較優秀的人臉檢測算法是Viola–Jones的級聯分類器算法[2]。這種算法使用基於Haar特徵的級聯分類器策略,可有快速且有效的找到多種姿態和尺寸的人臉圖像。在OpenCV上有一個該算法的實現[1] (頁面存檔備份,存於互聯網檔案館)。
- 人臉檢測可用於生物特徵識別,通常做為人臉識別系統的一部分。人臉檢測也可以用於視頻監聽、人機交互和圖像數據庫管理。一些最新的數碼相機使用人臉檢測來自動對焦。人臉檢測也可以在使用了pan-and-scale ken burns effect的photo slideshows中幫助選擇感興趣的區域。
- 人臉檢測也獲得了市場的興趣。電視機上可以集成攝像頭來檢測任何走過的人臉,然後計算該用戶的種族、性別和年齡範圍。一旦獲得這些信息,可以針對性的播放廣告。
- 人臉檢測也可以用於節約能源。人們看電視或電腦的時候往往會做其他工作,這時候普通的顯示器不能自動降低亮度來節省能源。智能系統可以識別用戶的面部朝向,當用戶不看屏幕時,可以自動降低亮度;在用戶重新看屏幕時,再增加亮度。
- Viola–Jones_object_detection_framework
存档副本 (PDF). [2012-12-26]. (原始內容存檔 (PDF)於2012-10-03).