论文笔记:MTCNN
生活随笔
收集整理的這篇文章主要介紹了
论文笔记:MTCNN
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
Joint Face Detection and Alignment using Multi-task Cascaded Convolutional Networks
MTCNN
1、四個問題
- 人臉檢測(face detection)和人臉對齊(face alignment)。
- 提出了一個深度級聯網絡結構,分成了三個階段,從粗到精對人臉進行檢測、定位人臉特征點、對齊。
- 此外,還提出了一個在線的難分樣本挖掘策略(online hard sample mining strategy),可以提升訓練精度。
- 模型的實時性很好。
- 在FDDB和WIDER FACE兩個數據集中的人臉檢測以及AFLW數據集中的人臉對齊任務任務達到 state-of-the-art。
- 訓練時間較長,收斂較慢。
2、模型結構
2.1、總體結構
- MTCNN的三層結構如上圖。
- 階段一:先使用全卷積網絡,即P-Net,來獲取到獲選的人臉框和其對應的向量。隨后根據回歸框向量對候選框進行校正。之后使用非極大抑制(NMS)來去除高度重合的候選框。
- 階段二:P-Net得到的回歸框都送入R-Net中,隨后拒絕大量錯誤框,再對回歸框做校正,并使用NMS去除重合框。
- 階段三:與階段二類似,但是這里會額外進行人臉特征點(5個)的檢測。
2.2、三個子網絡
- Proposal Network(P-Net):
- 原始圖片先resize到不同尺度,再輸入。因為圖片上不同人臉的大小可能不一致。
- 每次取一個12×12×312 \times 12 \times 312×12×3的區域作為輸入,輸出有三個:
- 人臉分類:是否有人臉,2個輸出;
- 邊界框回歸:回歸得到的框的起始點的xy坐標和框的長寬,4個輸出;
- 人臉特征點定位:5個人臉特征點的xy坐標,10個輸出。
- Refine Network(R-Net):
- 以P-Net預測得到的回歸框信息作為輸入,先對原始圖片進行切片,隨后resize到固定尺寸。
- 輸入為:24×24×324 \times 24 \times 324×24×3,與P-Net的輸出一樣。
- Output Network(O-Net):
- 以R-Net預測得到的回歸框信息作為輸入,對原始圖片切片,隨后resize到固定尺寸。
- 輸入為:48×48×348 \times 48 \times 348×48×3,與R-Net的輸出一樣。
2.3、損失函數
- 分類損失,預測輸入是否是人臉,采用交叉熵損失:
- bounding box回歸損失,計算的是預測框和ground truth之間的偏差:
- 人臉特征點回歸誤差,預測人臉的5個特征點:雙眼、鼻子、兩個嘴角。使用L2損失:
- 由于會使用多個數據集進行訓練,對于不同的訓練數據,三類誤差要有不同的權重,使用下式計算:
- Online Hard sample mining:在每個mini-batch中計算所有sample的loss,并按照降序排序,取前70%的sample用來訓練。
2.4、訓練數據構建
- 使用四種不同數據注釋:
- positives:與ground truth的IOU高于閾值。
- negatives:與ground truth的IOU低于閾值。
- part faces:與ground truth的IOU處于前面兩個閾值之間。
- landmark faces:有landmark標簽。
3、參考資料
總結
以上是生活随笔為你收集整理的论文笔记:MTCNN的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 论文笔记:DGCNN(EdgeConv)
- 下一篇: 论文笔记:Geo-CNN