天天看點

人臉檢測——MTCNN學習筆記

論文:Joint Face Detection and Alignment using Multi-task Cascaded Convolutional Networks

論文位址:https://kpzhang93.github.io/MTCNN_face_detection_alignment/

這篇論文在人臉檢測與特征點定位任務上,精度較之前的state-of-art的算法有明顯的提升,而且具有實時處理的性能。文中主要兩點:

(1)通過三階的級聯卷積神經網絡對任務進行從粗到細的處理

(2)提出一種新的線上硬生成采樣政策可以進一步提升性能,即在一個batch中隻選擇loss占前70%的樣本進行BP。

線上硬生成采樣的政策,是指不同于以往離線生成采樣的方式,本文的處理方式是在每個mini-batch中選出70%大loss的樣本作為硬樣本,并且在BP階段隻利用這部分計算梯度。也就是說抛棄了一些對強化分類沒有多大作用的簡單樣本。文中表示,通過實驗表明這樣做能夠進一步提升精度。

其中三階級聯卷積神經網絡是最主要的,每個階段處理三個任務:人臉/非人臉判定、人臉框回歸和特征點定位。

人臉/非人臉的判定采用cross-entropy損失函數,人臉框回歸和特征點定位采用歐式距離損失函數。

其中a表示三個任務在目前階段的網絡中損失所占比重。B是采樣類型訓示,取值為{0,1},當人臉/非人臉判定為非人臉時,box和landmark的B取值0,而det取值1;判定為人臉時,全部取值為1。

各階段詳述:

1、資料與處理:為應對目标多尺度問題,将原始圖像resize到不同尺寸,建構圖像金字塔,作為三階級聯架構的輸入。

2、第一階段:通過一個淺層的CNN快速生成候選視窗。

該階段是一個全部由卷積層組成的CNN,取名P-Net,擷取候選人臉視窗以及人臉框回歸向量。基于人臉框回歸向量對候選視窗進行校正。之後采用NMS合并高重疊率的候選視窗。

該階段在三個任務det、box、landmark任務上,a的對應取值為{1.0,0.5,0.5}.該階段模型圖如下圖所示:

人臉檢測——MTCNN學習筆記

3、第二階段,通過一個更複雜的CNN否決大量非人臉視窗進而精化人臉視窗。

第一階段輸出的候選視窗作為R-Net的輸入,R-Net能夠進一步篩除大量錯誤的候選視窗,再利用人臉框回歸向量對候選視窗做校正,并執行NMS(非極大值抑制)。

該階段在三個任務det、box、landmark任務上,a的對應取值為{1.0,0.5,1.0}。該階段模型圖如下圖所示:

人臉檢測——MTCNN學習筆記

4、第三階段,使用更複雜的CNN進一步精化結果并輸出5個人臉特征點。

與stage2相似,但這一階段用更多的監督來識别人臉區域,而且網絡能夠輸出五個人臉特征點位置坐标。

該階段在三個任務det、box、landmark任務上,a的對應取值為{1.0,0.5,1.0}。該階段模型圖如下圖所示:

人臉檢測——MTCNN學習筆記

繼續閱讀