[論文閱讀] Joint Face Detection and Alignment using Multi-task Cascaded Convolutional Networks(MTCNN)


 

相關論文: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.

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM