劉麗嫻 樊學寶


【摘? 要】為了解決小人臉漏檢以及人臉定位偏差的問題,通過融合FCN深淺層特征和多尺寸人臉框生成技術,介紹了一種人臉快速標注和定位的方法。該方法研究了如何利用全卷積網絡深淺層特征快速鎖定人臉區域,然后采用金字塔生成不同尺寸的人臉候選框,最終實現由粗到細、逐級篩選的人臉檢測和定位。實驗證明,與傳統方法相比,本文的方法無論在準確率還是速度上都具有一定的優勢。
【關鍵詞】全卷積神經網絡;級聯神經網絡;圖像金字塔;人臉檢測
1? ?引言
在復雜環境下,人臉檢測會受到很多外界因素的干擾,如人臉姿態、光照條件、遮擋以及小目標檢測。隨著近幾年人臉檢測技術的快速發展,特別是深度學習的飛速發展,大量的人臉識別檢測技術如雨后春筍般涌現出來。卷積神經網絡[1-2](Convolutional Neural Network,CNN)作為深度學習的典型,在人臉識別上取得了卓越的成就。但該方法使用范圍較窄,特別是在光照比較復雜的環境下人臉檢測的精度較低,而且通過遍歷的方式來檢測人臉框,導致人臉檢測的復雜度很高,而且CNN需要固定輸入圖片的尺寸,大大限制了應用的范圍。
隨著研究的深入,研究者提出了Fast R-CNN的人臉檢測方法[3-4],該方法將整張圖片一次性放進卷積神經網絡,然后將候選窗口映射到最后一層的特征圖上,并采用ROI Pooling的方法使候選窗口輸出的尺寸是固定的,最后采用全連接層進行人臉的檢測和候選窗口的邊框回歸。該方法對輸入圖片的尺寸沒有限制,但是由于采用選擇性搜索的方法來生成候選框,速度上還是滿足不了實際使用的要求。Faster R-CNN[5-6]采用RPN的方法來獲得候選框的特征信息,然后使用分類器對候選框分類并對候選框的位置進行回歸調整。除了上述的幾種經典的算法,還有Mask R-CNN[7-8]、A-Fast-RCNN[9]、Light-Head R-CNN[10]等,但都是對傳統R-CNN的改進而已,都能在一定程度上提升檢測的準確度。
本文在梳理主流研究文獻的基礎上,針對小目標檢測及通過將人臉框映射到深層特征圖上產生定位偏差的問題,提出了融合全卷積和級聯卷積神經網絡的人臉檢測方法,采用一種由粗到細、由淺到深的特征提取,實現人臉的快速檢測和準確定位。
2? ?相關理論的介紹
2.1? 全卷積神經網絡
全卷積神經網絡(Fully Convolutional Networks, FCN)可以實現從圖像級理解到像素級理解的神經網絡,可以接受任意尺寸的輸入圖像。采用反卷積層對最后一個卷積層的feature map進行上采樣,使它恢復到與輸入圖像相同的尺寸,從而可以對每個像素都產生了一個預測,同時也保留了原始輸入圖像中的空間信息。最后在上采樣的特征圖上進行逐像素分類,這是一種端到端的圖像語義分割和邊緣檢測的方法,使網絡實現像素級的標簽預測。
2.2? 級聯卷積神經網絡
級聯卷積神經網絡是一種由淺到深特征提取的“神器”,能夠通過截取原圖中不同大小的區域進行特征提取,最后通過生成的特征圖譜實現人臉的檢測。通過綜合不同級別的卷積神經網絡對人臉的概率判定和人臉區域的鎖定,最終實現人臉的有效檢測。
經典的級聯卷積神經網絡由3組簡單的卷積神經網絡組成,通過每組卷積神經網絡訓練數據大小的不同對圖像進行特征提取,實現由粗到精、逐層精細化定位人臉候選窗口,這在很大程度上提高了人臉檢測的準確率。多個網絡對人臉的識別以及多個預測結果進行加權平均,得出的人臉檢測結果更有說服力。
2.3? 全卷積與級聯卷積神經網絡的融合
眾所周知,深層特征信息具有更強的語義信息,識別問題更有效,但是會導致人臉區域定位的偏差。相反,淺層信息雖然能更有效地進行物體區域的定位,但在判斷人臉時顯得力不從心。因此,本文綜合全卷積神經網絡和級聯卷積神經網絡的特點,人臉檢測的方法如圖1所示。
人臉檢測流程圖的具體過程為:
(1)定位人臉的時候,融合FCN的深層特征和淺層特征的方式快速實現人臉區域檢測并實現人臉區域的快速標注,然后通過選擇性搜索方法快速生成各種尺寸的人臉候選框。
(2)選取人臉框的深層特征值并進行圖像二值化處理,快速篩選大量不滿足條件的人臉框。
(3)采用圖像金字塔將人臉框調整成不同尺寸的人臉框,這樣做可以避免小人臉的漏檢現象發生。
(4)將不同尺寸的人臉框放進三組級聯卷積神經網絡中(三組級聯卷積神經網絡,其輸入圖像的尺寸分別為:12×12、24×24、48×48,因此需要將不同尺寸的人臉框調整為12×12、24×24、48×48),并對不同的人臉框進行獨立預測,然后通過加權平均的方法對人臉框的預測結果進行綜合判定。
(5)采用邊框回歸和非最大值抑制(NMS)算法實現人臉框的逐級調整,實現由粗到細的人臉框區域定位。
3? ?融合全卷積和級聯神經網絡的人臉檢
測模型
(1)全卷積神經網絡的人臉位置區域提取,并生成人臉框
通過全卷積神經網絡對圖片進行特征提取,在最后一層輸出熱力圖,該熱力圖雖然能夠有效地識別不同物體類別的邊界,但是由于該熱力圖的尺寸過小,無法反映物體的邊界。因此,本文采用多尺度融合的方法,將最后一層的熱力圖逐層進行上采樣直至與原圖的尺寸一致,并提取人臉位置區域。
在獲取人臉區域后,采用選擇性搜索方法,通過對人臉區域采用不同尺寸窗口進行滑窗,得到不同的人臉檢測候選框。
(2)采用圖像二值化的方法檢測人臉框
考慮到人臉與周圍像素對比度明顯,本文采用圖像二值化方法提取人臉區域的邊緣特征,并基于該特征來剔除大量不滿足條件的人臉框。傳統非極大值抑制法需要計算邊框的相似度和重合度才能剔除大量冗余人臉框,而圖像二值化方法則利用邊緣特征值便能快速、有效判別人臉框,其計算的復雜度比傳統方法低。
(3)通過構建圖像金字塔,實現不同尺寸大小的人臉檢測
當計算機視覺感知要對一個未知的場景進行分析并識別時,并不能夠提前預知要用什么樣的尺度對圖像的信息進行描述,唯一的方案就是將圖片生成不同的尺度進行描述,以便獲得未知尺度的變化。
本文對人臉框進行圖像金字塔處理的目的就是對圖片中小人臉框的檢測。如果圖片中有一個離前景較遠的人臉,一般來說會在圖片中顯得比較小,直接采用傳統的卷積方式處理很可能會忽略小人臉的檢測,導致人臉檢測的漏檢。因此,本文采用圖像金字塔的方法將上述人臉框生成不同的尺寸,使更小的人臉框都有可能被檢測出來。
(4)采用級聯神經網絡實現人臉的識別與定位
級聯神經網絡主要實現人臉的分類和邊框的回歸,其中人臉框劃分可以歸結為二分類的問題,對每一個樣本采用交叉熵函數來計算。邊框回歸是計算候選窗口與真實窗口之間的偏移量,對候選窗口進行校正。
人臉分類的公式如式(1)所示:
Li=-(yilgpi+(1-yi)(1-lgpi)) (1)
按照公式(1)將待檢測的人臉與真實人臉進行相似度對比,從而確定待檢測人臉是否為人臉。其中,Li表示待檢測的人臉和真實人臉之間的相似度,通過衡量預測樣本和真實樣本的相似度來優化級聯神經網絡,yi表示人臉的取值標簽,一般取值為0或者1。
邊框回歸的公式如式(2)所示:
Libox=|| y^ibox- y? ibox||22? ? ? ? ? ? (2)
公式(2)表示將選擇性搜索獲取的窗口經過一定的映射關系,實現與真實窗口更接近的回歸窗口。其中,Libox表示真實窗口與候選窗口的偏移量,y^ibox表示CNN網絡的回歸向量,yibox表示真實窗口的實際位置,一般采用四維向量表示(x1, x2, y1, y2)。
將由圖像金字塔生成的不同尺寸的人臉框逐一調整成12×12的尺寸之后,輸入到12-卷積神經網絡中。此時采用邊框回歸的方法,將候選人臉框進行校正,使得預測的窗口更接近于真實窗口。與此同時,對候選窗口輸出人臉預測結果。
將不同尺寸的人臉框逐一調整成24×24的尺寸之后,執行上一步的操作,進一步優化人臉框的位置,并對候選窗口輸出人臉預測結果。
同理,將不同尺寸的人臉框逐一調整成48×48的尺寸之后,重復上一步的操作。對上述3種人臉預測結果,通過加權平均的方法可以獲取最終的預測結果。與此同時,采用多數據對網絡進行迭代訓練,通過層層優化后的人臉框更加接近真實窗口,提升了人臉識別和定位的精確性。
4? ?實驗結果與分析
4.1? 數據預處理
訓練融合全卷積和級聯神經網絡的數據在WIDER FACE公開數據上采集,本文采集其30 000張人臉進行訓練,然后采集FDDB(Face Detection Data Set and Benchmark)公開數據集上的1 000張圖片進行測試,其中選取了200張具有小臉的圖片,以檢測本文提出模型對小目標的檢測能力。
訓練級聯神經網絡時,由于不同的網絡輸入人臉框的尺寸不一致,因此需要對圖像進行預處理。按照網絡輸入的要求,對圖像金字塔處理后的人臉框分別調整成12×12、24×24、48×48。除此之外,還要將正樣本和負樣本的比例設為1:1。
4.2? 與傳統算法的比較
為了更直觀體現本文方法的優勢,本文對比了傳統的Faster R-CNN和MTCNN兩種人臉檢測方法,本文所提出的方法在上述測試集上的準確率為95.87%,遠高于Faster R-CNN和MTCNN兩種方法,本文的模型具有一定的優勢。與此同時,本文提出的方法的處理速度也有一定的提升。本文的算法與其他算法的對比如表1所示。
從表1的結果可以看出:本文提出的方法由于考慮到數據集中有可能存在小人臉的現象,采用了圖像金字塔來實現小人臉檢測,在很大程度上提升了人臉檢測的準確率。雖然MTCNN也采用圖像金字塔來降低小人臉漏檢的問題,但是本文所提的方法將特征圖進行多尺度的融合,這在一定程度上解決了定位偏差的問題,提升了模型的準確率。
表1的結果還說明本文采用的圖像二值化處理方法剔除大量候選人臉框的方法能夠在一定程度上提升模型的準確率。而Faster R-CNN和MTCNN則采用非極大值抑制的方法來剔除大量的冗余框,這種方法需要計算人臉框的重疊度和相似度,因此需要花費大量的計算資源,而本文采用圖像二值化處理方法大大簡化了大量候選框計算的復雜度,因此速度相對于傳統的方法有所提升。
5? ?結束語
本文提出了一種融合全卷積和級聯神經網絡的人臉檢測方法,該方法在WIDER FACE和FDDB公開數據集上均取得了良好的檢測結果和運行效率。本文采用全卷積神經網絡獲取人臉位置區域后,采用圖像二值化的方法刪除大量不滿足目標的人臉框,在一定程度上提升了人臉檢測的速度。然后,采用圖像金字塔生成不同尺寸的候選人臉框,并將其放在級聯神經網絡中進行訓練,提升了小目標檢測的準確性。采用由粗到細級聯的方式不斷對候選人臉框進行優化,提升了人臉框定位的精度。從本文的實驗效果可知,本文提出的模型融合全卷積神經網絡和級聯神經網絡的優點,能夠快速、準確定位人臉框,在一定程度上能解決小人臉漏檢的問題,具有一定的擴展性。
參考文獻:
[1] 陳奎,邢雪妍,田欣沅,等. 基于CNN的人臉識別門禁系統設計[J]. 徐州工程學院學報:自然科學版, 2018,33(4): 89-92.
[2] 洪剛,秦川. 基于MT-CNN的人臉識別算法研究[J]. 工業控制計算機, 2018,31(11): 123-124.
[3] 路海. Fast R-CNN人臉檢測技術淺析[J]. 信息技術與信息化, 2018(4): 17-19.
[4] 車凱,向鄭濤,陳宇峰,等. 基于改進Fast R-CNN的紅外圖像行人檢測研究[J]. 紅外技術, 2018,40(6): 70-76.
[5] 董蘭芳,張軍挺. 基于Faster R-CNN的人臉檢測方法[J]. 計算機系統應用, 2017,26(12): 262-267.
[6] 尉冰. 基于Faster R-CNN的人臉檢測與識別算法研究與實現[D]. 西安: 西安電子科技大學, 2017.
[7] Kaiming H, Georgia G, Piotr D, et al. Mask R-CNN[J]. IEEE Transactions on Pattern Analysis and Machine Intelligence, 2018: 1.
[8] He K, Gkioxari G, Dollár P, et al. Mask R-CNN[C]//2017 IEEE International Conference on Computer Vision (ICCV), 2017.
[9] Wang X, Shrivastava A, Gupta A. A-Fast-RCNN: Hard Positive Generation via Adversary for Object Detection[C]//2017 IEEE Conference on Computer Vision and Pattern Recognition (CVPR), 2017: 3039- 3048.
[10] Jourabloo A, Liu X. Pose-Invariant Face Alignment via CNN-Based Dense 3D Model Fitting[J]. International Journal of Computer Vision, 2017,124(2): 187-203.