王 茹,賀興時(shí)
(西安工程大學(xué)理學(xué)院,陜西西安 710048)
基于生物特征的識(shí)別是計(jì)算機(jī)視覺(jué)、機(jī)器學(xué)習(xí)和圖像處理等研究領(lǐng)域的一個(gè)熱門(mén)課題.人臉識(shí)別、指紋識(shí)別、語(yǔ)音識(shí)別等基于生物特征的識(shí)別已經(jīng)大規(guī)模應(yīng)用于實(shí)際生活中.比如許多門(mén)禁系統(tǒng)、攝像監(jiān)視系統(tǒng)、身份辨識(shí)、支付系統(tǒng)等都以人臉作為識(shí)別依據(jù).然而,有些問(wèn)題也正是因?yàn)橐匀四樧鳛樯锾卣髟斐傻?,如光照條件、遮擋(口罩、墨鏡等)等外界因素,年齡等自身因素都會(huì)對(duì)人臉識(shí)別產(chǎn)生一定影響.人臉檢測(cè)作為人臉識(shí)別的重要階段,是改善識(shí)別能力的一個(gè)關(guān)鍵環(huán)節(jié),在檢測(cè)過(guò)程中減少、排除外界因素及自身因素干擾將提高識(shí)別的準(zhǔn)確率.因此,為解決人臉檢測(cè)階段外界因素干擾導(dǎo)致的識(shí)別結(jié)果不理想問(wèn)題,許多學(xué)者針對(duì)傳統(tǒng)檢測(cè)算法對(duì)各類(lèi)干擾魯棒性差的特點(diǎn)做了改進(jìn).如:李新戰(zhàn)[1]改進(jìn)了基于Haar-Like特征的Adaboost人臉檢測(cè)算法存在漏檢率和誤檢率較高、檢測(cè)效率較低等不足,通過(guò)改變?nèi)醴诸?lèi)器的權(quán)重更新規(guī)則,級(jí)聯(lián)構(gòu)建成強(qiáng)分類(lèi)器,實(shí)現(xiàn)對(duì)傳統(tǒng)Adaboost人臉檢測(cè)算法的改進(jìn)[1-2];何芳州[3]利用色度和亮度特征融合的方法提高了存在色度和亮度差異的彩色人臉識(shí)別的準(zhǔn)確率;文獻(xiàn)[4-5]分別通過(guò)構(gòu)建特征顯著點(diǎn)對(duì)人臉區(qū)域進(jìn)行檢測(cè);隨著深度學(xué)習(xí)的完善,基于神經(jīng)網(wǎng)絡(luò)的人臉檢測(cè)算法[6]逐步成為檢測(cè)的主流算法.在實(shí)際應(yīng)用中發(fā)現(xiàn),以往基于特征的人臉檢測(cè)算法對(duì)正面人臉的檢測(cè)效果明顯,對(duì)存在角度、干擾因素的人臉檢測(cè)效果一般,泛化能力較弱.因此,本文提出基于黃金分割的人臉檢測(cè)算法,利用黃金分割對(duì)人臉五官進(jìn)行劃分,構(gòu)建比例關(guān)系,從而實(shí)現(xiàn)人臉檢測(cè);利用Biometrics Ideal Test人臉數(shù)據(jù)庫(kù)和FDDB人臉數(shù)據(jù)庫(kù)進(jìn)行對(duì)比試驗(yàn),考察檢測(cè)效果.
黃金分割在數(shù)學(xué)上被定義為把一條線段分割為兩部分,使較大部分與全長(zhǎng)的比值等于較小部分與較大部分的比值,則這個(gè)比例(近似比為1∶0.618)即為黃金分割.在不同領(lǐng)域,已廣泛借助了黃金分割方法嚴(yán)格的比例性、藝術(shù)性、和諧性的特點(diǎn).如在藝術(shù)領(lǐng)域,希臘雅典的帕薩農(nóng)神廟、達(dá)·芬奇的《維特魯威人》及《蒙娜麗莎》等都應(yīng)用了基于黃金矩形的構(gòu)圖理念;在數(shù)學(xué)領(lǐng)域,解決了譬如十等分、五等分圓周等數(shù)學(xué)難題;在軍事領(lǐng)域,利用黃金分割控制器實(shí)現(xiàn)了對(duì)無(wú)人機(jī)姿態(tài)的控制等[7];在圖像識(shí)別領(lǐng)域,景立森等[8]通過(guò)在BP神經(jīng)網(wǎng)絡(luò)改進(jìn)中加入黃金分割提升了網(wǎng)絡(luò)對(duì)手寫(xiě)字體識(shí)別的收斂速度和泛化能力.因此,本次研究利用黃金分割劃分人臉、抓取顯著特征實(shí)現(xiàn)人臉檢測(cè),以此提升對(duì)存在角度、干擾樣本中人臉檢測(cè)的泛化能力.
人臉檢測(cè)算法已取得了一定成果,如經(jīng)典的Viola-Jones(稱(chēng)VJ)算法,因檢測(cè)高效、快速至今仍被廣泛使用.VJ[9]算法使用haar特征與Adaboost算法對(duì)分類(lèi)器進(jìn)行訓(xùn)練,以此建立級(jí)聯(lián)分類(lèi)器,并提出了積分圖,能夠?qū)aar特征進(jìn)行更快速運(yùn)算.雖然實(shí)時(shí)過(guò)程表現(xiàn)出色,但大量研究也表明,該算法在實(shí)際應(yīng)用中的檢測(cè)效率會(huì)顯著降低.因此,提升檢測(cè)階段的泛化能力,即使在處理受多變因素影響的人臉樣本時(shí),算法仍可以保持較好的魯棒性.
現(xiàn)實(shí)生活中對(duì)人臉的檢測(cè)不存在理想狀態(tài),往往受多種因素影響,如光照、角度、遮擋[10]等.因此,在檢測(cè)過(guò)程中就需要抓取人臉在視覺(jué)上能夠迅速引起“觀察者”注意的一種“突出性”即顯著特征,這種“突出性”很難受到外界干擾而發(fā)生改變,如五官位置、尺度不變性和旋轉(zhuǎn)不變性[11]等,可為抓取顯著特征提供相對(duì)穩(wěn)定的基礎(chǔ),使得對(duì)可變因素具有相對(duì)的把控能力,也使構(gòu)建的算法框架在檢測(cè)過(guò)程中具有較好的魯棒性[12].
本次研究利用黃金分割法分割五官,抓取特征顯著的區(qū)域?qū)崿F(xiàn)人臉檢測(cè).研究思路來(lái)源于達(dá)·芬奇創(chuàng)作的世界著名素描——挪威魯威人(圖1).這幅由鋼筆和墨水繪制的手稿主要描繪了一個(gè)男人在同一位置上的“十”字形和“火”字形姿態(tài),這兩種姿態(tài)被分別嵌入到一個(gè)矩形和一個(gè)圓形中,形成了完美的黃金矩形[13].由此,構(gòu)建人臉檢測(cè)的大體框架:人臉識(shí)別窗口(矩形窗口)、人臉(類(lèi)橢圓)及分割線,見(jiàn)圖2.其中,藍(lán)色矩形為人臉檢測(cè)窗口,黑色橢圓為人臉,紅色實(shí)線為分割線,綠色為輔助線(后期在測(cè)試中加入了以中心交點(diǎn)為圓心,半徑為參數(shù)的輔助圓).
圖1 達(dá)·芬奇挪威魯威人Fig.1 Da Vinci’s Vitruvian man
圖2 人臉檢測(cè)框架Fig.2 Framework of face detection
Step1:讀取待檢測(cè)人臉樣本;
Step2:檢測(cè)并標(biāo)示樣本中出現(xiàn)的人臉數(shù)量并繪制分割線;
Step3:輸出檢測(cè)結(jié)果及交點(diǎn)坐標(biāo)(px,py).
其中,步驟2實(shí)現(xiàn)對(duì)算法框架的構(gòu)建,即在檢測(cè)算法提取樣本中的人臉區(qū)域并用矩形窗口標(biāo)注后,通過(guò)對(duì)標(biāo)注后的人臉窗口進(jìn)行分割完成對(duì)框架的構(gòu)建.
由于人臉樣本之間存在姿態(tài)差異,在檢測(cè)過(guò)程中需要自適應(yīng)地更改矩形檢測(cè)窗口的大小以標(biāo)示人臉,依據(jù)矩形檢測(cè)窗口進(jìn)行相應(yīng)分割[14].這個(gè)階段需要通過(guò)大量訓(xùn)練,不斷完善檢測(cè)過(guò)程,從而解決算法中可能存在的問(wèn)題,使檢測(cè)到的人臉在分割后抓取的特征之間可以形成嚴(yán)格的比例關(guān)系.
將分割線及輔助線形成的交點(diǎn)作為檢測(cè)原點(diǎn),再以分割后的五官相對(duì)差異作為檢測(cè)依據(jù),完成檢測(cè).
設(shè)第k個(gè)檢測(cè)到的人臉中心交點(diǎn)坐標(biāo)為(x(k),y(k));矩形檢測(cè)框的長(zhǎng)為l(k),寬為w(k),面積為S(l(k),w(k));輔助線與眼左、右兩個(gè)交點(diǎn)的坐標(biāo)分別為(x1,y1),(x2,y2),與嘴左、右兩個(gè)交點(diǎn)坐標(biāo)分別為(x3,y3),(x4,y4).令
其中:αk為相關(guān)性因子;d(k)(xk,yk)為中心交點(diǎn)分別到4個(gè)交點(diǎn)的距離;S(l(k),w(k))為矩形檢測(cè)框的面積.
設(shè)定閾值threshold約束分割后的準(zhǔn)則函數(shù).若J(i,j)>threshold,則分割后的檢測(cè)效果較好;反之,分割效果較差,即未提取到人臉區(qū)域[15-16].對(duì)比每一次檢測(cè)的結(jié)果可知,分割效果顯著的樣本在檢測(cè)速度上同樣具備明顯優(yōu)勢(shì).因此,提升本文提出的算法在分割階段的優(yōu)勢(shì)會(huì)大大提高檢測(cè)速度,同時(shí)也可提升整體算法的檢測(cè)性能.
本文試驗(yàn)的運(yùn)行環(huán)境為Windows 10操作系統(tǒng)下python 3.6的OpenCV開(kāi)源計(jì)算機(jī)視覺(jué)庫(kù).數(shù)據(jù)集分為訓(xùn)練集和測(cè)試集.其中,訓(xùn)練集為開(kāi)源程序中提供的訓(xùn)練人臉數(shù)據(jù),試驗(yàn)最終呈現(xiàn)的效果是樣本中4張人臉被準(zhǔn)確檢測(cè)并標(biāo)注,然后實(shí)現(xiàn)分割得出檢測(cè)結(jié)果.由于是小樣本訓(xùn)練,得到的檢測(cè)效果也比較理想.測(cè)試集分別為Biometrics Ideal Test人臉數(shù)據(jù)庫(kù)和FDDB人臉數(shù)據(jù)庫(kù).在Biometrics Ideal Test人臉數(shù)據(jù)庫(kù)中的待檢測(cè)樣本為一個(gè)人不同角度的人臉數(shù)據(jù),主要是通過(guò)測(cè)試了解算法對(duì)于不同角度人臉檢測(cè)的效果;在FDDB人臉數(shù)據(jù)庫(kù)中測(cè)試了100個(gè)待檢測(cè)樣本,其中每個(gè)待檢測(cè)樣本中人臉數(shù)目各異,檢測(cè)目的主要是了解算法對(duì)Faces in the Wilds的檢測(cè)效果.通過(guò)對(duì)這兩種人臉數(shù)據(jù)庫(kù)的測(cè)試,了解算法在對(duì)不同角度或in the wilds檢測(cè)人臉的優(yōu)異性,驗(yàn)證算法在實(shí)際應(yīng)用中的檢測(cè)性能.
圖3 訓(xùn)練集及檢測(cè)結(jié)果Fig.3 Training sets and results
分別選取訓(xùn)練集和測(cè)試集中的個(gè)例演示算法的檢測(cè)效果.
1)訓(xùn)練集人臉數(shù)據(jù)的檢測(cè)結(jié)果見(jiàn)圖3.從訓(xùn)練集的檢測(cè)結(jié)果可以看出,4張待檢測(cè)人臉均被檢測(cè)出來(lái),并且算法的分割得到了較好的效果.由于檢測(cè)樣本臉部存在的角度差較小,并沒(méi)有對(duì)檢測(cè)效果產(chǎn)生影響.因此,選取的測(cè)試集數(shù)據(jù)可以很好地驗(yàn)證算法對(duì)不同角度、光照、遮擋等人臉檢測(cè)的效果.
2)在Biometrics Ideal Test人臉數(shù)據(jù)對(duì)其中某一樣本測(cè)試得到的結(jié)果見(jiàn)圖4.測(cè)試集1的原圖為兩個(gè)人各4張存在光照和角度差異的8張人臉樣本.檢測(cè)結(jié)果顯示:第1行的4張人臉檢測(cè)分別呈現(xiàn)出一定的角度差并且存在光照差異,提取的人臉區(qū)域分割之后得到了比較好的效果;第2行相比第1行中增加了角度的影響,試驗(yàn)結(jié)果給出前3張的檢測(cè)和分割效果較好,而第4張則未被檢測(cè)出來(lái).
3)在FDDB(Face Detection Data Set and Benchmark)人臉數(shù)據(jù)中對(duì)某一樣本進(jìn)行測(cè)試得到的結(jié)果見(jiàn)圖5.測(cè)試集2的原圖中存在4張人臉樣本,其中存在人臉部分區(qū)域被遮擋的樣本.測(cè)試結(jié)果顯示,4張人臉均被成功檢測(cè)和分割;檢測(cè)和劃分的效果較為顯著.
圖4 測(cè)試集1及檢測(cè)結(jié)果Fig.4 Test sets 1 and results
圖5 測(cè)試集2及檢測(cè)結(jié)果Fig.5 Test sets 2 and results
對(duì)于人臉檢測(cè)算法來(lái)說(shuō),評(píng)價(jià)其是否優(yōu)異的一個(gè)重要標(biāo)準(zhǔn)是是否具有較高的正確檢測(cè)率和較小的漏檢率.其中,正確檢測(cè)率(Correct Detection Rate)
其中:nc和nf分別為正確檢測(cè)到的人臉數(shù)量和漏檢人臉數(shù)量;N為待檢測(cè)人臉數(shù)量.
兩個(gè)數(shù)據(jù)集的檢測(cè)結(jié)果見(jiàn)表1.結(jié)果顯示:不同角度的人臉均可以被檢測(cè)出來(lái)并進(jìn)行分割,但有個(gè)別測(cè)試樣本由于角度問(wèn)題未被檢測(cè)出來(lái),即漏檢人臉樣本.在in the wilds中影響人臉檢測(cè)的因素較多,如眼鏡、雙下巴等遮擋,但仍具備較好的檢測(cè)和分割效果.因此,接下來(lái)需要改進(jìn)的方向就是訓(xùn)練算法對(duì)于角度、光照、遮擋等外界因素的魯棒性,使得每一張人臉可以快速被檢測(cè)并得到分割.
光照強(qiáng)度及遮擋影響下的檢測(cè)對(duì)比見(jiàn)圖6.由圖6可見(jiàn):在光照影響下,隨著光照強(qiáng)度的增加,傳統(tǒng)檢測(cè)算法檢測(cè)的正確率急劇下降;由本文提出的檢測(cè)算法在光照強(qiáng)度影響下的正確檢測(cè)率折線可以看出變化較為緩慢,說(shuō)明算法對(duì)光照影響具有一定的魯棒性.相比傳統(tǒng)算法漏檢率隨著人臉遮擋面積的增加而劇烈遞增的劣勢(shì),本文算法則保持著70%以下的漏檢率.因此,相比傳統(tǒng)檢測(cè)算法,本文提出的算法對(duì)光照、遮擋等因素影響的人臉的檢測(cè)性能較好.
通過(guò)試驗(yàn)可知基于黃金分割的人臉檢測(cè)算法在人臉數(shù)據(jù)庫(kù)中的檢測(cè)效果:在單張人臉不同角度及遮擋條件下的檢測(cè)效果均比較理想;每一次檢測(cè)后對(duì)人臉的分割比較理想,達(dá)到了預(yù)期效果;算法存在的不足是對(duì)含多張人臉圖像的檢測(cè)效果存在一定的瑕疵,魯棒性較差;對(duì)某些不可控遮擋(如大面積遮擋、角度嚴(yán)重變形)等表現(xiàn)欠佳.完善檢測(cè)的每一個(gè)步驟,使算法構(gòu)建的分割框架可以在檢測(cè)到人臉之后能夠完成分割人臉并抓取特征點(diǎn)是本文算法的核心思想,也是改進(jìn)傳統(tǒng)檢測(cè)算法的緣由.因此,本文提出的檢測(cè)算法還需要不斷增強(qiáng)算法的學(xué)習(xí)機(jī)能,使每次檢測(cè)都能快速檢測(cè)到人臉區(qū)域并進(jìn)行有效分割.未來(lái)的研究方向是在優(yōu)化算法的同時(shí),提高算法的泛化能力,即對(duì)不同人臉數(shù)據(jù)集中的人臉樣本均可以達(dá)到較高的速度和精度.
圖6 光照強(qiáng)度及遮擋影響下的檢測(cè)對(duì)比Fig.6 Detection comparison under the influence of light intensity and occlusion