石學(xué)超, 周亞同, 韓衛(wèi)雪
(河北工業(yè)大學(xué)電子信息工程學(xué)院, 天津 300401)
人臉檢測是人臉分析的關(guān)鍵步驟,在人臉建模、人臉矯正、人臉識別、頭部姿態(tài)跟蹤、性別和年齡識別中均具有重要意義[1-3]。如今比較流行的人臉檢測方法大致有特征臉、支持向量機(jī)(SVM)、AdaBoost法、和卷積神經(jīng)網(wǎng)絡(luò)(CNN)等幾種。特征臉方法[4]是利用主成分分析重構(gòu)原理,將任意輸入圖像通過特征臉空間重構(gòu)進(jìn)行人臉檢測。文獻(xiàn)[5]提出用SVM檢測人臉,但SVM有限的建模能力使其在處理自然場景下的檢測問題時顯得不足。文獻(xiàn)[6-8]提出的AdaBoost法第1次實(shí)現(xiàn)了人臉實(shí)時檢測,并且能夠保證較高的檢測率和較小的誤檢率。
卷積神經(jīng)網(wǎng)絡(luò)CNN是深度學(xué)習(xí)領(lǐng)域里一種常見的網(wǎng)絡(luò)結(jié)構(gòu),文獻(xiàn)[9]提出基于CNN的多角度人臉檢測方法,此方法沒有對輸入圖像進(jìn)行預(yù)處理,利用未經(jīng)過處理圖像的灰度值保留圖像的原始信息進(jìn)行分類,實(shí)現(xiàn)了特征的自動提取,但此網(wǎng)絡(luò)僅是端到端的單級5層網(wǎng)絡(luò),復(fù)雜自然場景下的人臉檢測效果較差。文獻(xiàn)[10]提出了1種緊湊級聯(lián)卷積神經(jīng)網(wǎng)絡(luò)的人臉檢測算法,但此算法為追求速度而在設(shè)計(jì)網(wǎng)絡(luò)結(jié)構(gòu)時使用了較少的網(wǎng)絡(luò)參數(shù),導(dǎo)致檢測精度大幅降低。文獻(xiàn)[11]提出基于多視點(diǎn)卷積神經(jīng)網(wǎng)絡(luò)的人臉檢測算法,通過對人臉進(jìn)行多角度劃分的方法提高檢測效果,但此算法的網(wǎng)絡(luò)簡單,對于很小的人臉圖像需進(jìn)行尺寸放大操作,極大增加了計(jì)算負(fù)擔(dān)。文獻(xiàn)[12]提出使用Faster R-CNN實(shí)現(xiàn)人臉檢測,此算法利用區(qū)域建議網(wǎng)絡(luò)RPN來實(shí)現(xiàn)人臉邊框的預(yù)測,但由于候選窗口的尺寸和長寬比是預(yù)先隨機(jī)設(shè)定的,因此很難處理大形態(tài)變化的圖像。
基于上述工作,本文提出1種自然場景下基于4級級聯(lián)全卷積神經(jīng)網(wǎng)絡(luò)的人臉檢測算法。所提算法是對傳統(tǒng)AdaBoost的深度卷積網(wǎng)絡(luò)的實(shí)現(xiàn),充分結(jié)合了傳統(tǒng)級聯(lián)結(jié)構(gòu)和深度卷積網(wǎng)絡(luò)的優(yōu)勢。和AdaBoost方法一樣,本文算法包含了多個分類器,這些分類器采用級聯(lián)結(jié)構(gòu)相結(jié)合,不同的是本文算法采用全卷積神經(jīng)網(wǎng)絡(luò)FCNN[13]作為每級的分類器,而不是像AdaBoost通過多個弱分類器組合成強(qiáng)分類器,不存在單獨(dú)的特征提取過程,特征提取與分類由每級FCNN完成。另外加入了邊框校準(zhǔn)和非極大值抑制NMS等環(huán)節(jié),確保了復(fù)雜自然場景下人臉檢測的速度與精度,增強(qiáng)了檢測的魯棒性。
本文的研究意義在于:利用卷積神經(jīng)網(wǎng)絡(luò)特性,嘗試構(gòu)建4級級聯(lián)網(wǎng)絡(luò)結(jié)構(gòu),并獲得有區(qū)分性功能的深度網(wǎng)絡(luò),可提高人臉檢測精度;每級網(wǎng)絡(luò)采用全卷積網(wǎng)絡(luò)結(jié)構(gòu),能接受任意尺寸圖像的輸入,可提高人臉檢測效率;采用自舉法進(jìn)行每級全卷積網(wǎng)絡(luò)模型的優(yōu)化訓(xùn)練,可提高訓(xùn)練樣本的利用率。
為了提高復(fù)雜自然場景下人臉檢測的速度和準(zhǔn)確性,本文提出4級級聯(lián)全卷積神經(jīng)網(wǎng)絡(luò)的人臉檢測算法:前3級全卷積網(wǎng)絡(luò)為15步長滑窗分類網(wǎng)絡(luò)(15c-net)、30步長滑窗分類網(wǎng)絡(luò)(30c-net)、60步長滑窗分類網(wǎng)絡(luò)(60c-net),用于人臉與非人臉的分類,最后1級60步長滑窗矯正網(wǎng)絡(luò)(60c-calibration-net)用于人臉區(qū)域邊框的回歸校準(zhǔn)。每級網(wǎng)絡(luò)均采用了全卷積神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)進(jìn)行檢測,可以接受任意尺寸圖像的輸入,同時在每級網(wǎng)絡(luò)后面接非極大值抑制NMS,消除高度重疊輸出冗余窗口。
1.2.1 第1級全卷積網(wǎng)絡(luò)15c-net
15c-net的網(wǎng)絡(luò)結(jié)構(gòu)示意見圖1。15c-net網(wǎng)絡(luò)只包含3個卷積層,無全連接層,為全卷積網(wǎng)絡(luò)FCNN,此網(wǎng)絡(luò)結(jié)構(gòu)可以接受任意尺寸圖像的輸入,嘗試用不同尺寸的輸入進(jìn)行訓(xùn)練,如12×12、18×18 px等,經(jīng)多組測試得出15×15 px輸入效果最佳,所以此級網(wǎng)絡(luò)的輸入控制為15×15 px的大小,相當(dāng)于15×15 px的檢測窗口,同時對應(yīng)的滑動窗口的步長設(shè)置為5個像素,對于輸入大小為W×H的圖像上進(jìn)行滑窗,可以等效地看作此15c-net利用15×15 px的滑動窗口遍歷W×H整張圖像得到[(W-15)/5+1]×[(H-15)/5+1]個置信度等分點(diǎn),此15c-net可以密集掃描整張圖像,拒絕80%以上的非人臉窗口,從而大幅減小下級網(wǎng)絡(luò)的負(fù)擔(dān)。
圖1 15c-net的網(wǎng)絡(luò)結(jié)構(gòu)示意
1.2.2 第2級全卷積網(wǎng)絡(luò)30c-net
30c-net為第2級的二分類卷積網(wǎng)絡(luò),目的是進(jìn)一步減少傳入到下級網(wǎng)絡(luò)的檢測窗口。經(jīng)15c-net輸出的檢測窗口,由于通過的人臉與非人臉窗口之間更加難以區(qū)分,因此第2級30c-net將輸入的圖像尺寸增大到30×30 px,以利用圖像更多的信息,另外,考慮檢測的時間效率,15c-net同樣設(shè)計(jì)成比較淺的網(wǎng)絡(luò),但相比于第1級網(wǎng)絡(luò)增大了網(wǎng)絡(luò)的復(fù)雜程度,進(jìn)而增加網(wǎng)絡(luò)對圖像的判別性,30c-net的網(wǎng)絡(luò)結(jié)構(gòu)示意見圖2。
圖2 30c-net的網(wǎng)絡(luò)結(jié)構(gòu)示意
1.2.3 第3級全卷積網(wǎng)絡(luò)60c-net
60c-net是最后一級二分類全卷積網(wǎng)絡(luò)FCNN,60c-net設(shè)計(jì)了相對于前兩層網(wǎng)絡(luò)更深的網(wǎng)絡(luò)結(jié)構(gòu),包含5層卷積層,最后輸出只含有1個邊框的人臉窗口,另外60c-net和30c-net相同,進(jìn)一步增大輸入圖像的大小到60×60 px獲得更多的圖像信息,增加網(wǎng)絡(luò)結(jié)構(gòu)的判決性,60c-net的網(wǎng)絡(luò)結(jié)構(gòu)示意見圖3。
圖3 60c-net的網(wǎng)絡(luò)結(jié)構(gòu)示意圖
1.2.4 第4級全卷積網(wǎng)絡(luò)
60c-calibration-net網(wǎng)絡(luò)在60c-net網(wǎng)絡(luò)之后,用于對輸出人臉檢測窗口的矯正,可以將最后輸出偏移的人臉框校準(zhǔn)到正確人臉的位置。矯正方式使用3個偏移量:水平方向偏移量xn,豎直方向偏移量yn,邊框?qū)捀呖s放比值系數(shù)值kn,其中(x,y)表示檢測邊框的左上點(diǎn)坐標(biāo)位置,(w,h)分別為輸出邊框的寬度與高度,60c-net輸出的人臉檢測窗口經(jīng)過60c-calibration-net矯正網(wǎng)絡(luò)校準(zhǔn)調(diào)整為
( 1 )
此級網(wǎng)絡(luò)結(jié)構(gòu)中設(shè)計(jì)有N=3×3×3=27種模式,用于輸出窗口的矯正,通過設(shè)定3個變量參數(shù)矯正。其中,水平偏移量xn對應(yīng)(-0.1,0,0.1)3種變量值;豎直方向偏移量yn對應(yīng)(-0.1,0,0.1)3種偏移變量值;邊框?qū)捀呖s放比值系數(shù)值kn對應(yīng)(0.8,1.0,1.2)3種偏移變量值。60c-calibration-net的網(wǎng)絡(luò)結(jié)構(gòu)見圖4。
圖4 60c-calibration-net的網(wǎng)絡(luò)結(jié)構(gòu)示意
此外,利用60c-calibration-net網(wǎng)絡(luò)輸出的置信度向量分?jǐn)?shù)[c1c2c3…cn]對3個偏移量參數(shù)取平均值,進(jìn)一步精確矯正輸出,方式為
( 2 )
( 3 )
1.2.5 非極大值抑制NMS
為了消除冗余的檢測窗口,本文算法在每一級網(wǎng)絡(luò)的輸出都加入了非極大值抑制NMS操作,選定 1個窗口重疊面積的比例(IOU)閾值?,將每級全卷積網(wǎng)絡(luò)輸出的人臉檢測窗口按照得分由高到低進(jìn)行排序。選中得分最高的窗口,再進(jìn)行遍歷計(jì)算,若IOU大于開始設(shè)置的閾值?,則將窗口刪除。再從剩余的窗口中選中1個得分最高的,重復(fù)上面的過程,直至所有窗口都被處理完成,得到單一沒有冗余的人臉檢測窗口。
本文制作了6萬多張正樣本(人臉圖像)和20萬張負(fù)樣本(非人臉圖像)訓(xùn)練網(wǎng)絡(luò)。另外為了有效地解決復(fù)雜自然場景的遮擋、不同角度等影響,采用隨機(jī)平移、翻轉(zhuǎn)、旋轉(zhuǎn)及人工加入遮擋物等操作,擴(kuò)充正負(fù)樣本的多樣性。
2.1.1 訓(xùn)練正樣本制作
正樣本來自AFLW、FERET等人臉數(shù)據(jù)庫和網(wǎng)上下載的圖片。在生成人臉正樣本時,主要是將原有的矩形框進(jìn)行隨機(jī)比對操作,若得到的矩形框和原來矩形框的相交面積比值大于設(shè)定好的閾值0.65,則采樣得到1個正樣本;如果存在遮擋或夸張姿態(tài)的情況,則增加“采樣”次數(shù),防止遺漏這些樣本,最終得到2萬多張人臉正樣本。另外,對網(wǎng)上下載的圖片用手工裁剪方式生成單張人臉正樣本圖像,此操作共生成4萬多張人臉正樣本。最終制作了訓(xùn)練所需的不同膚色、遮擋、姿態(tài)等正樣本圖像6萬多張。部分正樣本圖像見圖5。
圖5 部分正樣本圖像
2.1.2 訓(xùn)練負(fù)樣本制作
負(fù)樣本是從1萬張不包含人臉的圖像生成,這些圖像涵蓋了餐廳、建筑、臥室、衣服和動物等復(fù)雜場景。在利用收集的圖像進(jìn)行制作負(fù)樣本時,首先對開始準(zhǔn)備的1萬張圖像進(jìn)行隨機(jī)滑窗操作,窗口大小和滑動步長根據(jù)圖片的大小確定,平均每張圖像滑動產(chǎn)生150個窗口,經(jīng)過閾值設(shè)定每張圖像,最終得到20個左右負(fù)樣本,此時1萬張圖像總共產(chǎn)生20萬張負(fù)樣本。部分負(fù)樣本圖像見圖6。
圖6 部分負(fù)樣本圖像
考慮到每級網(wǎng)絡(luò)人臉檢測的召回率和準(zhǔn)確率,還有對負(fù)樣本復(fù)雜程度的利用和填充,本文采用自舉法Bootstrap[14]增加訓(xùn)練過程中負(fù)樣本的多樣性來訓(xùn)練分類器。
2.2.1 第1級全卷積網(wǎng)絡(luò)15c-net訓(xùn)練
15c-net采用非監(jiān)督學(xué)習(xí)進(jìn)行訓(xùn)練,所用的正負(fù)樣本的比例為1∶3,采用6萬張正樣本和18萬張負(fù)樣本進(jìn)行優(yōu)化訓(xùn)練15c-net。此外,設(shè)定的目標(biāo)函數(shù)為均方差MSE(Mean Square Error)函數(shù)[15],表示為
( 4 )
式中:w,b分別為對應(yīng)的權(quán)值、偏置項(xiàng);m為訓(xùn)練有m個樣例。激活函數(shù)采用ReLU激活函數(shù)[16],為
f(z)=max(0,z)
( 5 )
ReLU可由f(x)=In(1+ez)逼近,另外懲罰系數(shù)取值λ=10-6,動量項(xiàng)系數(shù)設(shè)置為β=0.9,學(xué)習(xí)率從0.01開始下降,每訓(xùn)練100 000次降低10倍。由于訓(xùn)練數(shù)據(jù)較大,訓(xùn)練的迭代次數(shù)設(shè)為300 000次。最后訓(xùn)練測試的準(zhǔn)確率曲線和損失曲線見圖7。
(a)準(zhǔn)確率曲線 (b)損失曲線圖7 15c-net的訓(xùn)練結(jié)果曲線
由圖7可見,在訓(xùn)練15c-net分類網(wǎng)絡(luò)的訓(xùn)練次數(shù)在達(dá)到20 000次時,訓(xùn)練測試的準(zhǔn)確率曲線達(dá)到飽和,訓(xùn)練測試準(zhǔn)確率達(dá)到最大值;損失曲線在20 000次左右就基本不變,損失不再下降。
2.2.2 第2級全卷積網(wǎng)絡(luò)30c-net訓(xùn)練
30c-net的訓(xùn)練方式和對應(yīng)各參變量與第1級15c-net一樣。此級網(wǎng)絡(luò)利用自舉法Bootstrap增加非人臉負(fù)樣本的多樣性:利用已經(jīng)訓(xùn)練好的15c-net在原始準(zhǔn)備的1萬張負(fù)樣本上進(jìn)行滑窗檢測,得到誤檢為人臉的艱難樣本6萬張。取原來的20萬張負(fù)樣本中的12萬張與用Bootstrap生成的新的6萬張樣本合在一起,用正負(fù)樣本1∶3的比例訓(xùn)練30c-net,訓(xùn)練的迭代次數(shù)為300 000次。訓(xùn)練測試的準(zhǔn)確率曲線和損失曲線見圖8。
(a)準(zhǔn)確率曲線 (b)損失曲線圖8 30c-net的訓(xùn)練結(jié)果曲線
由圖8可知,訓(xùn)練次數(shù)在達(dá)到10 000次時,30c-net訓(xùn)練測試的準(zhǔn)確率曲線達(dá)到飽和,訓(xùn)練測試準(zhǔn)確率達(dá)到最大值;損失曲線在10 000次左右基本不變,不再下降。
2.2.3 第3級全卷積網(wǎng)絡(luò)60c-net訓(xùn)練
第3級分類網(wǎng)絡(luò)60c-net,訓(xùn)練方式和對應(yīng)各參變量與前兩級網(wǎng)絡(luò)設(shè)置相同。60c-net也利用了自舉法Bootstrap進(jìn)一步增加訓(xùn)練非人臉負(fù)樣本的多樣性,利用已經(jīng)訓(xùn)練好的15c-net與30c-net在原始準(zhǔn)備的1萬張負(fù)樣本上進(jìn)行滑窗檢測,得到誤檢為人臉的艱難樣本4萬張。取原來的20萬張負(fù)樣本中的14萬張與用Bootstrap生成的新的4萬張樣本合在一起,用正負(fù)樣本1∶3的比例訓(xùn)練60c-net,訓(xùn)練的迭代次數(shù)為300 000次。訓(xùn)練測試的準(zhǔn)確率曲線和損失曲線見圖9。
(a)準(zhǔn)確率曲線 (b)損失曲線圖9 60c-net的訓(xùn)練結(jié)果曲線
由圖9可知,訓(xùn)練次數(shù)在達(dá)到10 000次時,60c-net訓(xùn)練測試的準(zhǔn)確率曲線達(dá)到飽和,訓(xùn)練測試準(zhǔn)確率達(dá)到最大值;損失曲線在30 000次左右就基本不變,不再下降。
2.2.4第4級全卷積矯正網(wǎng)絡(luò)60c-calibration-net訓(xùn)練
第4級矯正網(wǎng)絡(luò)60c-calibration-net的訓(xùn)練同樣采用非監(jiān)督學(xué)習(xí)的訓(xùn)練方式。60c-calibration-net在矯正輸出檢測邊框時使用的是分類而不是回歸,即通過預(yù)先訓(xùn)練好的神經(jīng)網(wǎng)絡(luò)得到對于檢測邊框位置的預(yù)測,輸出27維位置的預(yù)測向量。在正樣本準(zhǔn)備方面,對開始準(zhǔn)備的6萬張正樣本中的1萬張樣本進(jìn)行對應(yīng)27維位置的手工制作裁剪,得到含有27維位置信息的樣本約20萬張。60c-calibration-net取得的20萬張正樣本和最開始的20萬張負(fù)樣本按照1∶1的比例進(jìn)行訓(xùn)練,訓(xùn)練測試的準(zhǔn)確率曲線和損失曲線見圖10。
(a)準(zhǔn)確率曲線 (b)損失曲線圖10 60c-calibration-net的訓(xùn)練結(jié)果曲線
由圖10可知,在訓(xùn)練60c-calibration-net矯正網(wǎng)絡(luò)時,由于要訓(xùn)練27分類的網(wǎng)絡(luò),訓(xùn)練樣本比較復(fù)雜,因此在訓(xùn)練過程中準(zhǔn)確率曲線和損失曲線波動都比較大,最終訓(xùn)練次數(shù)在達(dá)到350 000次時,訓(xùn)練測試的準(zhǔn)確率曲線達(dá)到飽和,訓(xùn)練測試準(zhǔn)確率達(dá)到最大值;損失曲線在20 000次左右就基本不變,不再下降。
為驗(yàn)證本文算法的性能,設(shè)置兩組實(shí)驗(yàn)進(jìn)行測試分析。第1組實(shí)驗(yàn)基于國際權(quán)威的FDDB公開測試集進(jìn)行本文算法的性能測試,并通過ROC曲線展示本文算法的性能;第2組為與傳統(tǒng)Adaboost算法的對比實(shí)驗(yàn)。實(shí)驗(yàn)在GPU 1.2 GHz顯存12 G的WinFast gs4800服務(wù)器上進(jìn)行訓(xùn)練,在CPU 3.6 GHz內(nèi)存8 G的預(yù)裝Windows 10旗艦版64位操作系統(tǒng)的個人計(jì)算機(jī)上進(jìn)行測試,深度學(xué)習(xí)框架為Caffe,軟件編程環(huán)境為Python2.7.5。
本實(shí)驗(yàn)的目的是測試和展現(xiàn)本文的人臉檢測算法的性能。FDDB測試集是由美國馬薩諸塞大學(xué)計(jì)算機(jī)系維護(hù)的全世界權(quán)威的人臉檢測測試集,可用于研究各種非控條件下的人臉檢測問題。FDDB測試集內(nèi)容豐富,包含了5 171張人臉的2 845張圖片,涵蓋各種復(fù)雜自然場景下的正面人臉圖像、遮擋人臉圖像和多姿態(tài)人臉圖像等。本文算法在FDDB測試集的部分檢測結(jié)果見圖11。
圖11 FDDB測試集的部分檢測結(jié)果
在實(shí)驗(yàn)中本文算法檢測出5 171個人臉目標(biāo)中的4 291個,真正率為82.98%,其中漏檢880個,檢測過程中有756個誤檢,誤檢率為14.62%。將本文算法與目前常見的深度學(xué)習(xí)卷積網(wǎng)絡(luò)人臉檢測算法Cascade CNN[17]、Joint Cascade[18]、Head Hunter[19]等進(jìn)行比較。在對比實(shí)驗(yàn)中,所有的測試均使用FDDB測試集。實(shí)驗(yàn)對比結(jié)果的受試者特征曲線(ROC曲線)見圖12。圖12中本文算法用紅色曲線表示,其他算法曲線來自于FDDB官網(wǎng)公開結(jié)果數(shù)據(jù)。由圖12可見,本文算法在假正率較低時真正率可達(dá)到82.98%。相比于傳統(tǒng)算法如Viola-Jones、Pico、Zhu et al有較高的檢測精度優(yōu)勢;且其精度與目前流行的深度學(xué)習(xí)卷積網(wǎng)絡(luò)Cascade CNN、Joint Cascade差別不大。
圖12 FDDB測試集實(shí)驗(yàn)對比ROC曲線
另外,將本文算法與傳統(tǒng)的Viola-Jones[20]、性能較好的深度學(xué)習(xí)Cascade CNN、Join Cascade進(jìn)行時間效率的對比實(shí)驗(yàn)。在本地CPU下,取FDDB的2 845張圖像測試每張圖像的檢測時間,檢測結(jié)果如表1所示,相比于Cascade CNN,本文所提算法的檢測效率略低,因?yàn)楸疚乃惴ㄇ?級分類網(wǎng)絡(luò)的卷積層個數(shù)均比Cascade CNN方法多,網(wǎng)絡(luò)相應(yīng)較深,因此比Cascade CNN方法的卷積計(jì)算過程多,但本文算法在CPU上每張圖片的檢測速度可達(dá)到96 ms,每秒中可達(dá)到10 fps以上,基本可以滿足一些視頻監(jiān)控中人臉檢測實(shí)時性的要求。
表1 檢測時間效率對比實(shí)驗(yàn)
為進(jìn)一步驗(yàn)證本文所提算法的性能,進(jìn)行各種復(fù)雜自然場景下人臉圖像的檢測,并將本文算法和傳統(tǒng)Adaboost檢測算法進(jìn)行對比。測試數(shù)據(jù)來自部分網(wǎng)上下載的圖片與自己拍攝采集的圖片。實(shí)驗(yàn)分別給出了復(fù)雜姿態(tài)、部分遮擋和光照變化等情形下的檢測結(jié)果,實(shí)驗(yàn)中Adaboost設(shè)置檢測人臉的最小尺寸為24×24像素;尺度變化值設(shè)置在1.1~1.4倍之間。部分檢測結(jié)果對比見圖13,其中a1和a3為本算法的檢測結(jié)果,a2和a4為Adaboost的檢測結(jié)果;b1和b3為本算法的檢測結(jié)果,b2和b4為Adaboost的檢測結(jié)果;c1和c3為本算法的檢測結(jié)果,c2和c4為Adaboost的檢測結(jié)果。
(a)復(fù)雜姿態(tài)
(b)部分遮擋
(c)光照變化圖13 本文算法與傳統(tǒng)Adaboost算法的部分檢測結(jié)果對比
由圖13中a1,a3,b1,b3的檢測效果圖可見,在復(fù)雜姿態(tài)與部分遮擋這兩種復(fù)雜場景下,本文算法均準(zhǔn)確地檢測出人臉的位置,而由圖13中a2,a4,b2,b4的檢測效果圖可知,Adaboost算法在這兩種場景下未能檢測到人臉,本文算法有著較好的檢測效果,原因在于:盡管人臉目標(biāo)整體有較大變化,但對深度學(xué)習(xí)卷積網(wǎng)絡(luò),人臉的局部區(qū)域特征仍然是存在的,因而人臉檢測受到的干擾較?。环粗珹daboost是利用全局特征來檢測人臉,當(dāng)人臉整體變化較大時,比較容易漏檢。對于光照較差的情形,本文算法檢測結(jié)果不如Adaboost算法,因?yàn)锳daboost算法具有比較好的光照不變性,可以較好地去除光照的干擾。
為了更好地突顯本文算法的優(yōu)越性,對多人臉圖像進(jìn)行了檢測。圖像取自本人生活的照片,能有效地反映實(shí)際復(fù)雜的自然場景。圖像涵蓋了正面、側(cè)臉、夸張表情等情況,檢測結(jié)果見圖14。
(a) 本文算法 (b) Adaboost算法圖14 本文算法與傳統(tǒng)Adaboost算法多人臉檢測對比
由圖14可見,所檢測的圖中共含有28個人臉,Adaboost算法的檢測結(jié)果為:正檢人臉數(shù)20個,漏檢人臉數(shù)8個,誤檢人臉數(shù)0個;本文算法的檢測結(jié)果為:正檢人臉數(shù)28個,漏檢人臉數(shù)0個,誤檢人臉數(shù)0個。此外,從檢測效果可以看出,本文算法人臉框定的位置比Adaboost算法準(zhǔn)確。Adaboost算法的框定位置有明顯的偏移不準(zhǔn)現(xiàn)象,因此從實(shí)驗(yàn)結(jié)果可以看出,本文算法在復(fù)雜姿態(tài)和部分遮擋等情形下的檢測準(zhǔn)確性和魯棒性更好。
針對于自然場景下人臉檢測存在的多種表情姿態(tài)、遮擋和光照等問題,提出1種基于4級級聯(lián)全卷積神經(jīng)網(wǎng)絡(luò)的人臉檢測算法。該算法將深度學(xué)習(xí)卷積網(wǎng)絡(luò)與級聯(lián)思想相結(jié)合,同時采用全卷積的網(wǎng)絡(luò)結(jié)構(gòu),建立了高效深度卷積模型來實(shí)現(xiàn)復(fù)雜自然場景下的人臉檢測。實(shí)驗(yàn)表明,本文算法對于自然場景下的人臉檢測具有較強(qiáng)的魯棒性,在復(fù)雜姿態(tài)部分遮擋場景下具有較高的檢測準(zhǔn)確率。下一步的工作將對光照不變性進(jìn)行研究,以增強(qiáng)算法在光照變化情況下人臉檢測的魯棒性。