王 茹,賀興時(shí)+,楊新社
1.西安工程大學(xué)理學(xué)院,西安 710600
2.密德薩斯大學(xué)科學(xué)與技術(shù)學(xué)院,英國劍橋CB2 1TN
人臉檢測作為目標(biāo)檢測的一個(gè)分支,逐漸成為科技發(fā)展過程中不可或缺的環(huán)節(jié)。在安全支付、社會安保、圖像搜索等方面已經(jīng)取得了顯著的成果,如機(jī)場、高鐵等實(shí)現(xiàn)了人臉檢測進(jìn)出閘機(jī);支付方式從貨幣轉(zhuǎn)換為通過人臉檢測實(shí)現(xiàn)支付等。而光照、遮擋、扭曲、年齡等不可控因素時(shí)刻影響著檢測的效果。
在人臉檢測方法發(fā)展歷程中,基于傳統(tǒng)模板的方法[1]主要通過人工提取特征、訓(xùn)練分類器、再進(jìn)行人臉檢測等步驟實(shí)現(xiàn)整個(gè)檢測過程,魯棒性雖好但受限因素較多。傳統(tǒng)方法在檢測理想狀態(tài)人臉圖像時(shí)效果明顯,但在實(shí)踐過程中取得的效果可能一般甚至很差[2-6]。早期Viola和Jones提出的Haar-Like與AdaBoost級聯(lián)的方法[7]在檢測速度方面取得了很大的提升,但在多尺度、姿態(tài)多樣等情形下的檢測效果非常不理想。
隨著深度學(xué)習(xí)不斷的發(fā)展和完善,卷積神經(jīng)網(wǎng)絡(luò)(convolutional neural network,CNN)提取特征逐漸成為主流。CNN在提取圖像特征的過程中利用感受野(receptive field)表示卷積神經(jīng)網(wǎng)絡(luò)每一層輸出的特征圖上的像素點(diǎn)在原始圖像上映射區(qū)域的大小,依據(jù)其多樣化、魯棒性更好等特性在圖像識別及目標(biāo)檢測等領(lǐng)域已經(jīng)得到了廣泛應(yīng)用。
隨著特征提取網(wǎng)絡(luò)層層數(shù)的不斷加深,特征圖會越來越小。因此,越高層的特征圖對應(yīng)原始圖像的范圍越大,含有人臉信息更高的特征;越低層的特征圖對應(yīng)原始圖像的范圍越小,包含的特征更趨向于局部信息的細(xì)節(jié)。根據(jù)提取特征方式的差異,人臉檢測器主要分為基于區(qū)域的人臉檢測器(regionbased face detector)和基于錨的人臉檢測器(anchorbased face detector)[8-10]。而基于區(qū)域的人臉檢測器[11]存在兩個(gè)主要問題:候選區(qū)域中背景相對人臉區(qū)域占比非常大,使得分類器訓(xùn)練正負(fù)樣本的比例不均勻,過度判斷樣本中的每個(gè)候選區(qū)域,導(dǎo)致檢測速度較慢[12];每個(gè)區(qū)域特征提取的過程比較粗糙,增加了對小尺度人臉的檢測難度[13]。
文獻(xiàn)[14]將人臉檢測與人臉關(guān)鍵點(diǎn)檢測結(jié)合,網(wǎng)絡(luò)層數(shù)淺、檢測速度快但精度較低;HyperFace[15]的研究展示了從不同層進(jìn)行特征融合可以提高分類和定位的準(zhǔn)確率;通過置信度[16]和損失函數(shù)[17]進(jìn)行二次抑制的檢測器則緩解了類別失衡問題,但速度與精度不同步;另一些研究則通過引入3D人臉建模[18]或預(yù)處理[19]來提高檢測精度,但同時(shí)也提升了模型的復(fù)雜度,而且模型訓(xùn)練需要分階段進(jìn)行。
DSFD(dual shot face detector)模型[10]可以在精度和速度之間進(jìn)行權(quán)衡:當(dāng)強(qiáng)調(diào)速度時(shí),該模型可以使用單層的特征映射進(jìn)行快速檢測,從而保持相對高的性能;如果重視精度,該模型可以使用多層次的復(fù)雜特征映射,以適中的速度獲得更高精度的檢測器。
針對以上分析,本文提出了二分支神經(jīng)檢測器匹配的人臉檢測算法。首先,根據(jù)五官位置關(guān)系構(gòu)建人臉模板框架;其次,依據(jù)構(gòu)建的模板在DSFD人臉檢測器的特征增強(qiáng)模塊層實(shí)現(xiàn)對樣本人臉區(qū)域的提取及標(biāo)記;最后,對提取、標(biāo)記的人臉區(qū)域進(jìn)行相關(guān)匹配。在人臉數(shù)據(jù)集FDDB、Face Detection Data Set and Benchmark、WIDER FACE上均取得了較好的效果,有效地兼顧了檢測過程中的速度和精度。
2.1.1 模板架構(gòu)
由于人臉五官的多樣性,為了使構(gòu)造的人臉模板具備較好的泛化能力,采用傳統(tǒng)的構(gòu)建模式即利用隨機(jī)、多個(gè)人臉樣本取平均構(gòu)成模板。具體步驟詳見文獻(xiàn)[2]。
2.1.2 人臉匹配
傳統(tǒng)模板檢測算法的基本思路是:使用各個(gè)模板通過滑動窗口(sliding window)等方式對所有可能尺度和形狀(寬高比,aspect ratio)的圖像區(qū)域進(jìn)行匹配,將滿足一定條件并達(dá)到匹配閾值的圖像區(qū)域作為候選人臉區(qū)域。圖1給出了模板匹配的示意圖。

Fig.1 Template matching圖1 模板匹配
設(shè)T(m,n)為模板,Sij是待檢測圖像中被模板覆蓋的區(qū)域,i、j為該區(qū)域的坐標(biāo);搜索范圍1 ≤i≤W-w,1 ≤j≤H-h。
采用誤差法即衡量T和Sij的誤差作為評判匹配效果的準(zhǔn)則函數(shù),形式如下:

當(dāng)E(i,j)取最優(yōu)解時(shí)即為匹配目標(biāo)。
在匹配階段模板越大,匹配速度越慢;模板越小,匹配速度越快。因此,取誤差閾值E0,當(dāng)E(i,j)>E0時(shí)終止該區(qū)域并繼續(xù)計(jì)算下一區(qū)域,以此提升計(jì)算速度。
基于傳統(tǒng)模塊的人臉在構(gòu)建人臉時(shí)一般會受到檢測樣本中存在的角度差、光照等因素的影響,致使構(gòu)建的模板在進(jìn)行匹配時(shí)存在很難對樣本中的人臉位置進(jìn)行定位等困難。提出的采用DSFD檢測網(wǎng)絡(luò)在依據(jù)模板進(jìn)行特征提取時(shí),通過模板與錨在特征提取階段存在的關(guān)系,解決模板匹配階段受模板構(gòu)造波動性影響限制匹配階段速度及因外界干擾導(dǎo)致檢測效果差等問題。
具體解決方案詳見第3章。
DSFD是Li等人[10]提出的解決尺度、模糊、遮擋等姿態(tài)各異的人臉樣本的雙分支人臉檢測器。從三方面改進(jìn)了檢測器的性能:
(1)特征增強(qiáng)模塊(feature enhance module,F(xiàn)EM),改進(jìn)了原始特征映射將單一神經(jīng)網(wǎng)絡(luò)檢測器擴(kuò)展到雙分支檢測器。
(2)漸進(jìn)式錨損失(progressive anchor loss,PAL)則通過兩個(gè)不同的錨集合有效地簡化了特征。
(3)改進(jìn)錨匹配(improved anchor matching,IAM),使錨分配策略與數(shù)據(jù)增強(qiáng)一體化,給回歸器提供了更好的初始化。
DSFD的網(wǎng)絡(luò)框架如圖2所示。圖2中的(1)Original Feature Shot(原始特征分支)在前饋VGG/ResNet體系結(jié)構(gòu)的頂層上使用(2)Feature Enhance Module(特征增強(qiáng)模塊)生成(3)Enhanced Feature Shot(增強(qiáng)特征分支),同時(shí)伴隨兩個(gè)損失層分別命名為原始特征階段的第一分支PAL(first shot PAL)以及增強(qiáng)特征的第二分支PAL(second shot PAL)。
在漸進(jìn)式錨損失中上述兩個(gè)分支的損失分別為:


Fig.2 Network architecture of DSFD圖2 DSFD網(wǎng)絡(luò)結(jié)構(gòu)

其中,Nconf和Nloc分別表示正負(fù)錨數(shù)量;Lconf是兩類上(人臉vs.背景)的softmax loss;Lloc是介于使用錨ai的預(yù)測框ti和真實(shí)框gi參數(shù)的smoothL1 loss;β是平衡兩項(xiàng)影響的權(quán)重因子;sa表示在第一分支層的最小錨;λ是權(quán)衡兩個(gè)分支的權(quán)重因子;
對于DSFD網(wǎng)絡(luò)而言,主要通過兩部分網(wǎng)絡(luò)結(jié)構(gòu)進(jìn)行特征提取。在原始特征分支后增加了特征增強(qiáng)模塊,改進(jìn)網(wǎng)絡(luò)的特征提取性能,因此在對傳統(tǒng)方法和DSFD網(wǎng)絡(luò)的融合中,主要將構(gòu)建的模板應(yīng)用在原始特征分支即第一分支PAL上,保留第二分支PAL的網(wǎng)絡(luò)結(jié)構(gòu)。
為了將傳統(tǒng)方法的優(yōu)勢放大,本文在檢測網(wǎng)絡(luò)的特征提取階段進(jìn)行了改進(jìn),步驟如下:
改進(jìn)算法:特征提取階段

在第一分支中通過錨與構(gòu)建模板之間對于提取特征過程中存在的相關(guān)關(guān)系進(jìn)行一定的改進(jìn),即預(yù)先設(shè)置錨保證了每一個(gè)特征映射能夠?qū)崿F(xiàn)對不同樣本圖像中存在的不同尺度及寬高比的人臉框提取進(jìn)行規(guī)律、適時(shí)的調(diào)整;構(gòu)建的模板則通過設(shè)置特定閾值根據(jù)人臉位置差異等波動自適應(yīng)地改變模板的大小。因此,在第一分支錨與模板的結(jié)合能夠?qū)崿F(xiàn)改進(jìn)算法對不同尺度人臉位置的定位及特征的提取。
從人臉數(shù)據(jù)集上的實(shí)驗(yàn)結(jié)果可以看出,傳統(tǒng)方法對于小尺度人臉檢測性能較差,但對大尺度具備很好的魯棒性。在第一分支中加入模板的目的在于細(xì)化特征提取網(wǎng)絡(luò)對候選區(qū)域的選擇,錨匹配則使一系列錨和人臉在回歸器中更好地初始化;構(gòu)造的模板具備一定的自適應(yīng)性即閾值介于大尺度和小尺度人臉的較大范圍區(qū)間內(nèi)。
DSFD在特征增強(qiáng)模塊與其他特征提取網(wǎng)絡(luò)的不同在于當(dāng)前特征映射單元層和向上特征映射層的鄰域是交互的。如圖3所示。

Fig.3 Feature enhance module圖3 特征增強(qiáng)模塊
改進(jìn)特征增強(qiáng)模塊利用包括當(dāng)前層的非定位神經(jīng)單元nc(i-?,j-?,l),nc(i-?+1,j-?+1,l),…,nc(i+?,j+?,l)和上層的原始神經(jīng)單元oc(i,j,l)等不同維度的信息進(jìn)行特征增強(qiáng),使原始特征具備更好的魯棒性和判別能力。增強(qiáng)的神經(jīng)單元ec(i,j,l)表示形式為:

其中,c(i,j,l)表示位于l層(i,j)坐標(biāo)的特征映射單元;f定義為一組基本的擴(kuò)展卷積、元素內(nèi)積、上采樣或級聯(lián)操作。
特征增強(qiáng)模塊的提出來源于特征金字塔(feature pyramid network,F(xiàn)PN)[20]及感受野塊(receptive field block,RFB)[21]的實(shí)際應(yīng)用效果。首先,利用1×1的卷積核對特征映射進(jìn)行正則化;其次,對上層特征映射執(zhí)行與當(dāng)前層點(diǎn)對點(diǎn)內(nèi)積的上采樣;最后,將特征映射通過包含不同級聯(lián)卷積層的3個(gè)子網(wǎng)進(jìn)行分割操作。實(shí)驗(yàn)驗(yàn)證了此階段增強(qiáng)原始特征使特征的判別特性和魯棒性得到提升。
表1給出了DSFD網(wǎng)絡(luò)中2分支中含有的6個(gè)原始/增強(qiáng)特征步長、特征映射大小、錨尺度、比率和數(shù)量等參數(shù)的大小及范圍。

Table 1 Size and range of 6 parameters in 2 shots表1 2分支6個(gè)參數(shù)的大小及范圍
表1中,ef_i、of_i(i=1,2,…,6)表示增強(qiáng)特征和原始特征的對應(yīng)層數(shù)。
相比傳統(tǒng)神經(jīng)網(wǎng)絡(luò)的網(wǎng)絡(luò)層數(shù)及參數(shù)分配的差異,從表1可以看出,基于人臉尺度的統(tǒng)計(jì)基礎(chǔ)DSFD設(shè)置錨比率為1.5∶1,并且原始特征的錨尺度是增強(qiáng)特征的一半;在參數(shù)設(shè)置上原始特征和增強(qiáng)特征具有相同的大小尺度,第二分支檢測層依據(jù)SSD-style(single shot detector-style)框架構(gòu)造。特殊之處在于輸入訓(xùn)練圖像的大小是640,意味著最低層到最高層的特征映射的大小從160遞減到5。利用基于錨的采樣可以隨機(jī)在圖像中選擇人臉區(qū)域,抓取包含人臉的子圖像,設(shè)置尺度比例640/rand(16,32,64,128,256,512)使其介于子圖像和選定人臉之間。為了改善人臉圖像的召回率同時(shí)確保錨分類的能力,設(shè)置IOU(intersection-over-union)閾值為0.4實(shí)現(xiàn)錨到背景人臉的分配比例。
在FDDB[22]數(shù)據(jù)集和AFW[23]數(shù)據(jù)集上驗(yàn)證模型的精度,AFW包含205張圖片,468張人臉。FDDB和WIDER FACE數(shù)據(jù)集擁有多樣的背景,豐富的人臉尺度、角度、遮擋、表情、光照等情況,滿足訓(xùn)練的需求。
算法的主體DSFD框架通過Pytorch實(shí)現(xiàn)。DSFD網(wǎng)絡(luò)設(shè)置使用權(quán)重衰減為0.000 5,動量為0.9的隨機(jī)梯度下降調(diào)整模型。批大小設(shè)置為16,與SSD網(wǎng)絡(luò)參數(shù)相似,在前4×104迭代中使用的學(xué)習(xí)率為10-3,之后分別使用10-4和10-5再各訓(xùn)練4×104次。
訓(xùn)練集為WIDER FACE[24]數(shù)據(jù)集,包含3個(gè)類別子集Easy、Medium、Hard。該數(shù)據(jù)集包含32 203張圖像,393 703個(gè)人臉。數(shù)據(jù)集包含尺度大小各異的樣本集,適合訓(xùn)練本文構(gòu)建的檢測模型。
4.3.1 融合模型合理性驗(yàn)證
在特征增強(qiáng)階段,通過原始特征映射的分類和回歸的性能驗(yàn)證模型的合理性。以基于FSSD(face single shot detector)VGG16作為基線的特征增強(qiáng)模塊與基于VGG16的感受野塊在相同數(shù)據(jù)集及實(shí)驗(yàn)環(huán)境下進(jìn)行比較,即均采用VGG16作為基線,利用特征增強(qiáng)模塊(FEM)和感受野塊(RFB)兩者的差異,驗(yàn)證融合算法的合理性。
從表2可以看出,F(xiàn)EM優(yōu)于RFB,因此基于改進(jìn)特征增加模塊的融合模型具備一定的實(shí)用性。

Table 2 FEM vs.RFB on WIDER FACE表2 FEM和RFB在WIDER FACE上的比較 %
4.3.2 與其他算法的比較
由于本文算法是基于DSFD檢測器算法的改進(jìn)方法,為了驗(yàn)證提出算法的有效性,本文在相同實(shí)驗(yàn)環(huán)境和相同數(shù)據(jù)集上與幾類較為流行的檢測算法進(jìn)行了比較。對比結(jié)果顯示:在檢測的精度和速度方面,本文算法相比其他方法有了一定的提高。
表3提供了基于VGG16網(wǎng)絡(luò)的幾種算法在實(shí)驗(yàn)環(huán)境近似一致的情況下,在數(shù)據(jù)集3種類別下的實(shí)驗(yàn)效果。對比實(shí)驗(yàn)Easy類別下的Recall-Precision曲線如圖4所示。

Table 3 MAP experimental results of various methods表3 各類方法的MAP實(shí)驗(yàn)結(jié)果 %

Fig.4 Recall-Precision curve in WIDER FACE of Val Easy圖4 WIDER FACE of Val Easy召回率-精度曲線
從表3和圖4可以看出,改進(jìn)算法相比其他幾類算法具備一定的優(yōu)勢。即在相近實(shí)驗(yàn)環(huán)境下和相同數(shù)據(jù)集測試下,改進(jìn)算法優(yōu)于其他幾類算法在3種類別下的均值平均精度(mean average precise,MAP)。
FDDB數(shù)據(jù)集包含2 845張圖像,5 171個(gè)不同分辨率、角度、模糊度的人臉。本文算法在FDDB數(shù)據(jù)集上的離散情況下的測試結(jié)果如圖5所示,連續(xù)情況下的測試結(jié)果如表4所示。在離散和連續(xù)兩者下的ROC曲線,DSFD檢測器實(shí)現(xiàn)了stats-of-the-art性能,即當(dāng)FP=1 000(false positives,F(xiàn)P)時(shí)分別達(dá)到的精度為99.1%和86.2%。
綜上,在WIDER FACE和FDDB數(shù)據(jù)集中,改進(jìn)算法在相同時(shí)間內(nèi)達(dá)到了相比其他幾種算法較好的精度;在精度相差不大的情況下,改進(jìn)算法在速度上有了較好的提升。

Fig.5 Discontinuous ROC curve in FDDB圖5 FDDB離散ROC曲線

Table 4 Continuous ROC curve in FDDB表4 FDDB連續(xù)ROC曲線
尺度、角度等因素下的檢測效果如圖6所示。對存在尺度、角度、遮擋、表情、光照等非理想情況下人臉樣本,改進(jìn)算法得到了較好的檢測效果。
針對改進(jìn)算法對不同尺度等因素影響下的檢測魯棒性可以通過圖6的檢測結(jié)果看出:算法不再局限于對大尺度、無角度偏差等檢測效果的高效魯棒性;算法對小尺度、遮擋等因外界因素影響較強(qiáng)的人臉區(qū)域仍得到了較好的魯棒性。即改進(jìn)算法在DSFD網(wǎng)絡(luò)的基礎(chǔ)上,通過與模板匹配理論知識的結(jié)合,對尺度、角度、遮擋等非理想情況下人臉檢測實(shí)現(xiàn)了較好的魯棒性。

Fig.6 Detection results under scale,pose and other factors圖6 尺度、角度等因素下的檢測效果
針對傳統(tǒng)匹配方法和基于神經(jīng)網(wǎng)絡(luò)檢測器算法在檢測的速度和精度存在的不足,本文提出融入模板匹配的二分支神經(jīng)網(wǎng)絡(luò)檢測器。與基于神經(jīng)網(wǎng)絡(luò)檢測器的算法相比,在特征提取階段,改進(jìn)的算法以構(gòu)建的模板為基線實(shí)現(xiàn)了提升速度的同時(shí)保證了檢測的精度。
因此,本文算法能夠有效地解決傳統(tǒng)方法對小尺度人臉缺乏魯棒性的不足及利用神經(jīng)網(wǎng)絡(luò)算法不能快速定位人臉區(qū)域的缺陷。從實(shí)驗(yàn)階段可以看出,傳統(tǒng)方法在解決某些特定問題時(shí)仍然具備很好的理論基礎(chǔ),接下來的研究目的是在實(shí)際應(yīng)用中增強(qiáng)傳統(tǒng)方法改進(jìn)檢測算法的貢獻(xiàn)率。