天天看點

人臉專集3 | 人臉關鍵點檢測(下)—文末源碼

今天繼續上期的《人臉關鍵點檢測》,精彩的現在才真正的開始,後文會陸續講解現在流行的技術,有興趣的我們一起來學習!

人臉專集3 | 人臉關鍵點檢測(下)—文末源碼
人臉專集3 | 人臉關鍵點檢測(下)—文末源碼

Deep learning based methods

人臉專集3 | 人臉關鍵點檢測(下)—文末源碼
人臉專集3 | 人臉關鍵點檢測(下)—文末源碼

近年來,深度學習成為解決計算機視覺問題的常用工具。對于人臉關鍵點檢測和跟蹤,有從傳統方法向基于深度學習的方法轉變的趨勢。

在早期的工作中(Wu, Y., Wang, Z., Ji, Q.: Facial feature tracking under varying facial expressions and face poses based on restricted boltzmann machines. In: IEEE Conference on Computer Vision and Pattern Recognition, pp. 3452–3459 (2013)),深層Boltzmann模型,一個機率深度模型,被用來捕捉由于姿态和表情而引起的面部形狀變化,用于人臉裡程碑的檢測和跟蹤。近年來,卷積神經網絡模型成為人臉關鍵點檢測,主要是深度學習模型,并且大多采用全局直接回歸或級聯回歸架構。這些方法大緻可分為純學習法和混合學習法。

純學習方法直接預測人臉關鍵點位置,而混合學習方法則将深度學習方法與計算機視覺投影模型相結合進行預測。

Pure-learning methods

純學習方法:這類方法使用強大的CNNs模型從人臉圖像中直接預測關鍵點位置。在早期的工作中(Sun, Y., Wang, X., Tang, X.: Deep convolutional network cascade for facial point detection. In: IEEE Conference on Computer Vision and Pattern Recognition, pp. 3476–3483 (2013)),它以級聯的方式預測了五個人臉關鍵點。在第一層,它應用一個包含四個卷積層的CNN模型(下圖)來預測由面部邊界框确定的人臉圖像的關鍵點位置。然後,幾個淺層網絡對每個點進行局部細化。

人臉專集3 | 人臉關鍵點檢測(下)—文末源碼

從那以後,在兩個方向上都比早起某些工作有一些改進。在第一個方向上,(Zhang, Z., Luo, P., Loy, C., Tang, X.: Facial landmark detection by deep multi-task learning. In: European Conference on Computer Vision, Part II, pp. 94–108(2014)和Zhang, Z., Luo, P., Loy, C.C., Tang, X.: Learning deep representation for face alignment with auxiliary attributes. IEEE Transactions on Pattern Analysis and Machine Intelligence 38(5), 918–930 (2016))利用多任務學習的思想來提高性能。直覺是,多個任務可以共享相同的表示,它們的聯合關系将提高單個任務的性能。例如,多任務學習與CNN模型相結合,共同預測面部特征、面部頭部姿态、面部屬性等。在該工作(Ranjan, R., Patel, V.M., Chellappa, R.: Hyperface: A deep multi-task learning framework for face detection, landmark localization, pose estimation, and gender recognition. CoRR abs/1603.01249 (2016). URL http://arxiv.org/abs/1603.01249)提出了一個類似的多任務CNN架構,以聯合執行人臉檢測、地标定位、姿态估計和性别識别。不同的是它結合了多個卷積層的特征,以利用粗特征表示和精細特征表示。

人臉專集3 | 人臉關鍵點檢測(下)—文末源碼

在第二個方向上,一些工作改進了方法的級聯程式(Sun, Y., Wang, X., Tang, X.: Deep convolutional network cascade for facial point detection. In: IEEE Conference on Computer Vision and Pattern Recognition, pp. 3476–3483 (2013))。例如,某paper構造了類似的級聯CNN模型來預測更多的點(68個關鍵點而不是5個)(Zhou, E., Fan, H., Cao, Z., Jiang, Y., Yin, Q.: Extensive facial landmark localization with coarse-to-fine convolutional network cascade. In: IEEE International Conference on Computer Vision Workshops, pp. 386–391 (2013))。它從所有68個點的預測開始,并逐漸将預測分解為局部的面部成分。在該paper(Zhang, J., Shan, S., Kan, M., Chen, X.: Coarse-to-fine auto-encoder networks (CFAN) for real-time face alignment. In: European Conference on Computer Vision, Part II, pp. 1–16 (2014))中,深層自動編碼器模型用于執行相同的級聯關鍵點搜尋。而在(Trigeorgis, G., Snape, P., Nicolaou, M.A., Antonakos, E., Zafeiriou, S.: Mnemonic descent method: A recurrent process applied for end-to-end face alignment. In: IEEE Conference on Computer Vision and Pattern Recognition (CVPR), pp. 4177–4187. Las Vegas, NV, USA (2016))中,Trigeorgis等人沒有以級聯的方式訓練多個網絡,訓練了一種深度卷積遞歸神經網絡(RNN),用于端到端面部關鍵點的檢測,以模拟級聯行為。級聯階段嵌入到RNN的不同時間切片中。

Hybrid deep methods

人臉專集3 | 人臉關鍵點檢測(下)—文末源碼

混合深度方法将CNN與3D視覺相結合,如投影模型和三維形變形狀模型(上圖)。它們不是直接預測二維面部關鍵點位置,而是預測三維形狀可變形模型系數和頭部姿态。然後,通過計算機視覺投影模型确定二維關鍵點位置。例如,(Zhu, X., Lei, Z., Liu, X., Shi, H., Li, S.: Face alignment across large poses: A 3d solution. In: IEEE Conference on Computer Vision and Pattern Recognition. Las Vegas, NV (2016))建立了一個密集的三維人臉模型。然後,采用疊代級聯回歸架構和深度CNN模型對三維人臉形狀系數和姿态參數進行更新。在每一次疊代中,利用視覺投影模型将三維形狀投影到二維,并将二維形狀作為CNN回歸預測模型的附加輸入,以融合目前估計的三維參數。類似地,(Kanade, T., Cohn, J.F., Tian, Y.: Comprehensive database for facial expression analysis. In: IEEE International Conference on Automatic Face and Gesture Recognition, pp. 46–53)在第一個級聯CNN模型中使用整個面部外觀來預測三維形狀參數和姿态的更新,而在後期級聯CNN模型中使用局部斑塊來細化關鍵點。

人臉專集3 | 人臉關鍵點檢測(下)—文末源碼

與純學習方法相比,混合方法的三維形狀變形模型和姿态參數是表示二維關鍵點位置的更為緊湊的方法。是以,CNN中需要估計的參數較少,形狀限制可以顯式地嵌入到預測中。此外,由于引入了三維姿态參數,它們可以更好地處理姿态變化。

人臉專集3 | 人臉關鍵點檢測(下)—文末源碼

三大類之間的關系分析

在之前講解中,我們讨論了面部表情三種主要類别中的關鍵點檢測方法:整體方法、限制局部方法(CLM)和基于回歸的方法。三種主要的方法存在着相似之處和互相關系。

人臉專集3 | 人臉關鍵點檢測(下)—文末源碼

首先,整體方法和CLMs都将使用顯式構造的面部形狀模型捕捉全局面部形狀模式,這些模型通常在它們之間共享。CLMs改進了整體方法,因為它們使用局部外觀,而不是整體的面部外觀。所需的動機是将整體的面部外觀模組化更困難,并且局部圖像修補程式與整體外觀模型相比,光照改變和面部遮擋更加魯棒。

第二,基于回歸的方法,尤其是用于級聯回歸方法與整體AAM共享相似的直覺。例如,它們通過拟合外觀來估計關鍵點,并且它們全部可以被配制成非線性的平方問題。然而,整體方法預測2D形狀,外觀模型系數通過拟合整體外觀模型,而級聯回歸方法直接通過拟合局部外觀而不顯式2D形狀模型來預測關鍵點。該配件整體方法的問題可以用基于LearnBased的方法或分析方式來解決,如前面所讨論的那樣,所有級聯回歸方法執行通過學習進行估計。雖然整體模型的基于學習的拟合方法通常使用相同的方法,用于以疊代方式進行系數更新的模型,級聯回歸方法以級聯方式學習不同的回歸模型。

AAM模型在之前讨論為一種特定類型的整體方法非常類似于監督下降方法(SDM)(Xiong, X., De la Torre Frade, F.: Supervised descent method and its applications to face alignment. In: IEEE International Conference on Computer Vision and Pattern Recognition (2013))作為一種特定類型的方法級聯回歸方法。兩個級聯學習從形狀索引特征到形狀(系數)更新的映射的模型。經訓練的模型在目前級聯階段中,将修改訓練用于在下一狀态下訓練回歸模型的資料。雖然以前的整體方法适合整體外觀并預測模型系數,但SDM拟合局部外觀并預測關鍵點位置。

第三,在CLM中使用的基于regressional的局部外觀模型中存在相似性。之前的基于回歸方法,兩者都預測從關鍵點位置的初始猜測的位置更新。以前的方法獨立地預測每個關鍵點位置,而後來的方法預測它們是聯合的,形狀限制可以隐式嵌入。以前的方法通常執行一步預測,相同的回歸模型,而後面的方法可以以級聯方式應用不同的回歸函數。

第四,與整體方法和限制局部方法相比,基于回歸的方法可能會更有希望。基于回歸的方法繞過顯式面部形狀模組化并隐式嵌入人臉形狀模式限制。基于回歸的方法直接預測關鍵點,而不是整體方法中的模型系數。直接預測形狀通常可以由于小模型系數,實作較好的精度錯誤可能導緻大的關鍵點誤差。

人臉專集3 | 人臉關鍵點檢測(下)—文末源碼

預測困難

姿

人臉專集3 | 人臉關鍵點檢測(下)—文末源碼

人臉專集3 | 人臉關鍵點檢測(下)—文末源碼

人臉專集3 | 人臉關鍵點檢測(下)—文末源碼

下期我們針對各種因素進行講解,并在流行的資料集上的實驗效果做較長的描述,最後給出未來趨勢及着重點。

人臉專集3 | 人臉關鍵點檢測(下)—文末源碼

End

人臉專集3 | 人臉關鍵點檢測(下)—文末源碼
人臉專集3 | 人臉關鍵點檢測(下)—文末源碼
人臉專集3 | 人臉關鍵點檢測(下)—文末源碼
人臉專集3 | 人臉關鍵點檢測(下)—文末源碼
人臉專集3 | 人臉關鍵點檢測(下)—文末源碼

​​https://github.com/luoyetx/deep-landmark​​

​​https://github.com/yinguobing/cnn-facial-landmark​​

如果想加入我們“計算機視覺研究院”,請掃二維碼加入我們。我們會按照你的需求将你拉入對應的學習群!

計算機視覺研究院主要涉及深度學習領域,主要緻力于人臉檢測、人臉識别,多目标檢測、目标跟蹤、圖像分割等研究方向。研究院接下來會不斷分享最新的論文算法新架構,我們這次改革不同點就是,我們要着重”研究“。之後我們會針對相應領域分享實踐過程,讓大家真正體會擺脫理論的真實場景,培養愛動手程式設計愛動腦思考的習慣!

繼續閱讀