MTCNN-將多工級聯卷積神經網路用於人臉檢測和對齊
論文連結:
摘要:由於姿勢、光照或遮擋等原因,在非強迫環境下的人臉識別和對齊是一項具有挑戰性的問題。最近的研究顯示,深度學習演算法可以很好的解決上述的兩個問題。在這篇文章中,我們利用檢測和校準之間固有的相關性在深度級聯的多工框架下來提升它們的效能。尤其是,我們利用三層級聯架構結合精心設計的卷神經網路演算法,來對人臉進行檢測和關鍵點的粗略定位。另外,我們建議使用一種新的線上採集樣本策略來改善演算法的效能。我們的方法與最先進的人臉檢測演算法FDDB和WIDER FACE進行對比,具有更高的精度。同時,與AFLW人臉對齊演算法比較,實時效能良好。
關鍵字:人臉檢測、人臉對齊、級聯卷積神經網路
一、介紹
人臉檢測和對齊是很多基於人臉的應用不可缺少的一部分,如人臉識別、人臉行為分析等。然而,視覺變化對於人臉的影響,加之姿勢變化和極端光照的影響,使得在現實世界中對人臉檢測和對齊的任務變的極具挑戰。
Viola和Jones提出的級聯人臉檢測器,是利用Harr-Like特徵結合AdaBoost去實現高效能的實時訓練。然而,相當多的研究顯示,該演算法在應對大量視覺影響的人臉圖片檢測時效能極具下降。並且目前訊在的DPM演算法也具有一定的缺陷,所以需要新的方法來解決人臉檢測和對齊。最近,CNN在視覺方面取得了很好的效果,如影象分類、人臉識別等。受到啟發研究人員開始將CNN用於人臉檢測,提出一些演算法。同時吸引人臉對齊的研究者對此產生興趣,也提出了一下相關演算法。然而,大多數以前的臉部檢測和臉部對齊方法忽略了這兩者之間的固有相關性任務。 雖然現有的幾個演算法試圖共同解決他們,但在這些演算法中仍然有侷限性。
另一方面,目前的訓練樣本度分類器的效能提升有一定的阻礙,需要設計一種用於人臉檢測的線上樣本用於對演算法的訓練,已達到自適應的訓練狀態。
在本文中,我麼們提出新的級聯架構來整合多工卷積神經網路學習的問題。該演算法有三個階段組成:第一階段,淺層的CNN快速產生候選窗體;第二階段,通過更復雜的CNN精煉候選窗體,丟棄大量的重疊窗體;第三階段,使用更加強大的CNN,實現候選窗體去留,同時顯示五個面部關鍵點定位。
二、具體方法實現
A、總體架構
本演算法的整體流程如圖1 所示:
圖1級聯卷積神經網路
Stage 1:採用全卷積神經網路,即P-Net,去獲得候選窗體和邊界迴歸向量。同時,候選窗體根據邊界框進行校準。然後,利用NMS方法去除重疊窗體。
stage 2:R-Net,將經過P-Net確定的包含候選窗體的圖片在R-Net網路中 訓練,網路最後選用全連線的方式進行訓練。利用邊界框向量微調候選窗體,再利用NMS去除重疊窗體。
stage 3:O-Net,網路結構比R-Net多一層卷積,功能與R-Net作用一樣,只是在去除重疊候選視窗的同時,顯示五個人臉關鍵點定位。
B、CNN網路結構(CNN結構圖上面顯示)
多個CNN被設計為人臉檢測器,但其效能可能受到以下情況的限制:
(1)卷積層中的濾波器缺乏多樣性,限制他們的識別能力;
(2)對比多類識別檢測和分類任務,人臉檢測是一個二進位制的分類問題,因此需要較少量的濾波器,我們將5*5的濾波大小改為3*3的濾波大小去減少計算,同時增加深度來提高效能。相比之前的演算法有了更好的效果,縮短了訓練時間。結果如表1所示。
C、訓練
本演算法從三個方面對CNN檢測器進行訓練:人臉分類、邊界框迴歸、地標定位(關鍵點定位)。