MTCNN人臉檢測是目前深度學習相關人臉檢測中實時性和準確性兩者都兼備的一種方法,其主要思想是採用級聯CNN來實現,MTCNN主要通過三個網絡逐級精煉來提升人臉檢測和特徵點的性能。網絡的流程可以從下圖得到較爲清晰的反映。
MTCNN由Pnet、Rnet、Onet三個子網絡構成,Pnet用於初步獲得潛在的人臉區域,Pnet訓練完後,通過Pnet網絡的圖片獲得潛在人臉區域,然後採用非極大值抑制去除重複潛在人臉;將獲得的潛在人臉區域送入到Rnet,Rnet的過程類似Pnet進一步精煉潛在人臉,經過非極大值抑制,最後送入到Onet訓練Onet完成整個網絡的訓練。注意,這裏三個網絡都是分別訓練的,逐級精煉。網絡的具體實現如下圖
MTCNN代價的函數中主要包括三部分:
(1)人臉分類:
(2)box迴歸:
(3)特徵點回歸:
具體代價函數:
caffe運行結果: