人臉檢測——MTCNN

原文地址:https://blog.csdn.net/shuzfan/article/details/52668935

本次介紹一篇速度還不錯的人臉檢測文章:

《2016 Joint Face Detection and Alignment using Multi-task Cascaded Convolutional Networks》.

源代碼作者剛剛公佈,效果相當不錯(只有測試代碼):
https://kpzhang93.github.io/MTCNN_face_detection_alignment/index.html?from=timeline&isappinstalled=1

另外一位同學實現的MTCNN基於MXNET的訓練代碼,工作比較完整,參考價值比較大: https://github.com/Seanlinx/mtcnn

—————— Pipeline——————

JDA Pipeline

上面是該方法的流程圖,可以看出也是三階級聯,和我之前的一篇博文CascadeCNN很像。

stage1: 在構建圖像金字塔的基礎上,利用fully convolutional network來進行檢測,同時利用boundingbox regression 和 NMS來進行修正。(注意:這裏的全卷積網絡與R-CNN裏面帶反捲積的網絡是不一樣的,這裏只是指只有卷積層,可以接受任意尺寸的輸入,靠網絡stride來自動完成滑窗)

stage2: 將通過stage1的所有窗口輸入作進一步判斷,同時也要做boundingbox regression 和 NMS。

stage3: 和stage2相似,只不過增加了更強的約束:5個人臉關鍵點。

————— Network —————

Stage1: Proposal Net

JDA Network1

Stage2: Refine Net

JDA Network2

Stage3: Output Net

JDA Network3

由上可以看出,其網絡結構較CascadeCNN略深但每層參數較少,所以該方法性能較好同時速度和CascadeCNN也相差無幾。

補充:

(1) 文中訓練使用了Online Hard sample mining策略,即在一個batch中只選擇loss佔前70%的樣本進行BP;

(2) 不同階段,classifier、boundingbox regression 和 landmarks detection在計算Loss時的權重是不一樣的;

(3) 訓練數據共4類,比例3:1:1:2,分別是negative,IOU<0.3; positive,IOU>0.65; part face,0.4

—————— Result ——————

在FDDB上的表現:

JDA Network3

速度表現,CPU約15FPS

JDA Network3

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章