傳統辨識方法

Viola–Jones 偵測器

Viola–Jones 偵測器於 2001 年發表,是第一個能在普通硬體上即時偵測人臉的方法,並在往後十年間成為相機與網路攝影機內的找臉引擎。它的突破不是單一想法,而是三者的結合:極度便宜的特徵、能以常數時間計算它們的技巧,以及一個對佔據影像大部分的「好認的非臉」幾乎不花力氣的級聯。其直覺是:人臉具有穩定的明暗結構——眼睛區域比下方臉頰暗,鼻樑比兩旁的眼睛亮——而你可以用簡單的矩形對比來檢測這類圖樣。

具體而言,這些特徵是 Haar 類特徵(Haar-like features):你把某個矩形內的像素加總,再減去相鄰矩形的加總,得到一個對亮度邊緣或條帶有反應的數值。在一個 24×24 的視窗裡,這類矩形有數萬種可能,因此使用 AdaBoost 既挑出最具鑑別力的數百個,也把它們組合成一個強分類器。為了讓每個矩形和瞬間可得,影像會先轉成積分影像(integral image,即面積和表),其中每個位置儲存它左上方所有像素的總和;如此一來,不論矩形多大,任一矩形的總和都只需四次陣列查表即可得到。

最後一塊是注意力級聯(attentional cascade):偵測器不是一個大分類器,而是一連串階段,每階段是一個小型的提升式分類器。一個視窗必須通過每一個階段才會被判定為臉;一旦任何階段拒絕它,掃描就立即停止。由於前面幾個階段非常小(第一個階段只用兩個特徵),卻能拒絕大量背景視窗,平均每個視窗只需少數幾次運算。這就是為何完整的滑動視窗加金字塔掃描能即時執行。其取捨在於 Viola–Jones 是針對大致正面、直立、光照合理的人臉所調校;面對側臉、大幅旋轉與嚴重遮擋時表現會下降,而這正是現代卷積偵測器(如 MTCNN 與 SSD 式人臉偵測器)接手的地方。

原始論文中最前面的級聯階段只用兩個 Haar 特徵(「眼睛比臉頰暗」的條帶與「眼睛比鼻樑暗」的條帶),卻能拒絕約 50% 的視窗,同時保留約 100% 的人臉——多虧積分影像,每個視窗只需幾次加法。

又稱
VJ detectorViola-Jones face detector