相關論文:Joint Face Detection and Alignment using Multi-task Cascaded Convolutional Networks
概論
用於人臉檢測和對齊。
本文提出的unified cascaded CNNs by multi-task learning,包含三個階段:
1) 利用一個淺層的CNN快速產生候選窗口
2) 利用一個更復雜的CNN排除掉大量非人臉窗口
3) 利用一個更強大的CNN進一步改善結果,並輸出人臉關鍵點位置。
本文的貢獻:
1) 提出一個新的基於CNN的級聯型框架,用於聯和(joint)人臉檢測和對齊;還設計輕量級的CNN架構使得速度上可以達到實時。
2) 提出一個有效的online hard sample mining方法來提高表現能力
3) 在人臉檢測和人臉對齊上提高了不少精度
II. APPROACH
A. Overall Framework
整體框架如下圖:
詳細流程如下:
給定一張圖片,首先將該圖片重新調整到不同尺度大小,得到一個圖像金字塔,該圖像金字塔就是后面三階段級聯結構的輸入。
階段1:利用一個全卷積網絡,稱為Proposal Network (P-Net),來獲得候選窗口和它們的bounding box regression vectors,然后利用bounding box regression vectors來調整候選框。之后,利用非極大值抑制(non-maximum suppression , NMS)來合並那些高度重合的候選框。
階段2:第1階段產生的所有候選框作為另一個CNN的輸出,該CNN稱為Refine
Network (R-Net)。該階段的作用是利用bounding box regression和NMS進一步排除掉大量錯誤的候選框。
階段3:與第2階段類似,但這個階段會輸出5個人臉關鍵點位置。
B. CNN Architectures
針對文獻【19】,主要是減少卷積核的數量和將5x5卷積核變成3x3卷積核來減少計算量,增加深度來獲得更好的性能。與文獻【19】對比如下:
本文三個階段的網絡結構如下:
C. Training
利用三個任務來訓練CNN檢測器:人臉/非人臉 分類 ,bounding box regression 和人臉關鍵點定位(facial landmark localization)
1) 人臉分類器。這是一個二分類問題,對於每個樣本xi,我們使用交叉熵損失:
其中,表示網絡預測該樣本是人臉的概率,
是ground-truth label。
2) 邊界框回歸(Bounding box regression)。對於每個候選窗口,我們預測該候選窗口與其最近的ground truth(the bounding boxes’ left top, height, and width)的偏移。這是一個回歸問題,對每個樣本xi,使用歐式損失(Euclidean loss):
其中,表示從網絡中獲得目標的坐標,
表示ground-truth坐標。有4個坐標,包括左上角x,y坐標,高度和寬度,因此
3) Facial landmark localization。與Bounding box regression相似,損失函數如下:
其中,是網絡預測的人臉關鍵點的坐標,
是ground-truth坐標。有5個人臉關鍵點,包括左眼,右眼,鼻子,嘴邊左邊角,嘴巴右邊角,因此
4) Multi-source training。由於在每個CNN網絡中,我們使用了不同的任務,因此,在學習階段有不同種類的訓練圖像,比如人臉,非人臉,部分對齊的人臉。在這種情況下,一些損失函數(公式1-3)用不到。比如說,對於背景區域圖片,我們只計算,另外兩個loss都設為0。整體的學習目標如下:
其中,N表示訓練樣本的數量,表示任務的重要性。在P-Net和R-Net中,;在O-Net中,
。
is the sample type indicator,比如說,對於背景樣本,我們只計算
,另外兩個loss都設為0,即此時
。
在這種情況下,使用SGD來訓練網絡。
5) Online Hard sample mining。與傳統的hard sample mining after original classifier had been trained不同,我們在人臉分類中采用在線的hard sample mining來自適應訓練。
在每個mini-batch中,我們從所有樣本的前向傳播中將計算得到的loss排序,然后只取其中loss最高的前70%作為hard samples。然后在反向傳播(BP)中只計算這些hard samples,忽略那些簡單的樣本。
III. EXPERIMENTS
A. Training Data
由於我們共同完成人臉檢測和對齊,因此我們在訓練階段使用4中不同類型的數據標注。1)Negatives:與任何ground-truth人臉的IoU(Intersection-over-Union)小於0.3;2)Positives:與ground-truth人臉的IoU大於0.65;3)Part faces:IoU在0.4和0.65之間;4)Landmark faces:標注了5個人臉關鍵點位置的人臉。
Negatives和positives用於人臉的分類任務,positives和part faces用於bounding box regression,landmark faces用於facial landmark localization。每個網絡的訓練數據如下:
1)P-Net。從WIDER FACE [24]數據集中隨機裁剪出若干的patch來產生positives, negatives and part face。從CelebA [23]數據集中裁剪人臉作為landmark faces。
2)R-Net。使用第一階段過濾后的圖像。
3)O-Net。使用前兩個階段過濾后的圖像。
B. The effectiveness of online hard sample mining
使用兩個O-Net(一個有online hard sample mining,另一個沒有)來評估online hard sample mining的有效性。這里只實驗了分類任務。兩個網絡的初始化參數是一樣的,學習率固定。兩個網絡的Loss如Fig3:
C. The effectiveness of joint detection and alignment
為了評估 聯合人臉分類與對齊 的有效性,我們評估了兩個不同的O-Net(一個聯合了人臉對齊,另一個沒有),(兩個網絡P-Net和R-Net是一樣的)。我們也比較了bounding box regression在這兩個O-Net中的表現能力。結果如Fig3所示。
與其他模型的比較:
運行速度
16fps,2.60GHz CPU
99fps,GPU (Nvidia Titan Black)
注:文獻19是:H. Li, Z. Lin, X. Shen, J. Brandt, and G. Hua, “A convolutional neural
network cascade for face detection,” in IEEE Conference on Computer
Vision and Pattern Recognition, 2015, pp. 5325-5334.