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