鄧 鋒胡志勇肖偉明鐘衛(wèi)為
(1.武漢郵電科學(xué)研究院 武漢 430074)(2.武漢虹信技術(shù)服務(wù)有限責(zé)任公司 武漢 430074)
經(jīng)過(guò)多年的發(fā)展,人臉識(shí)別技術(shù)已經(jīng)廣泛地應(yīng)用于人們的日常生活當(dāng)中,例如乘坐高鐵時(shí)刷臉進(jìn)站、在店買(mǎi)東西直接刷臉付款等。而且相對(duì)于眾多生物識(shí)別技術(shù)而言,人臉識(shí)別技術(shù)可以最大可能地做到在不影響人們的情況下就完成了數(shù)據(jù)采集[1~2],所以其可以被人們廣泛接受,這對(duì)如何快速準(zhǔn)確地從復(fù)雜環(huán)境中提取出人臉提出了較高的要求。
當(dāng)前的人臉檢測(cè)技術(shù)可以分為三類(lèi):基于幾何特征的人臉檢測(cè)方法、基于膚色模型的方法、基于統(tǒng)計(jì)理論的方法[3~4]。基于幾何特征的人臉檢測(cè)方法就是利用人臉的器官在現(xiàn)實(shí)生活中表現(xiàn)出來(lái)的幾何特征來(lái)進(jìn)行人臉檢測(cè),其中的代表有:基于先驗(yàn)知識(shí)的人臉檢測(cè)方法[5]、Leung[6]等提出任意圖匹配的方法、層次模板匹配的方法[7]?;谀w色模型的方法則是利用人的膚色在色度空間表現(xiàn)出來(lái)的聚合性來(lái)檢測(cè)人臉。基于統(tǒng)計(jì)理論的方法則是在對(duì)大量樣本統(tǒng)計(jì)的基礎(chǔ)上來(lái)檢測(cè)人臉的方法,它主要包含子空間方法、支持向量機(jī)方法、神經(jīng)網(wǎng)絡(luò)方法以及Boost方法。
在眾多檢測(cè)方法當(dāng)中,Boost方法具有深厚的理論和實(shí)踐的基礎(chǔ),Adaboost則是其中較為成功的代表之一[8],但是其計(jì)算量相較于其他算法一般比較大,所以對(duì)其的進(jìn)一步研究具有一定的現(xiàn)實(shí)意義。本文中提出了一種膚色分割預(yù)處理的方法,將疑似人臉區(qū)域從背景圖片中取出來(lái),減少Adaboost算法需要處理的數(shù)據(jù)量,來(lái)達(dá)到提速的目的。
作為一種重要的人體特征,通過(guò)膚色來(lái)將人和背景圖片分割開(kāi)來(lái)一直是一個(gè)經(jīng)典課題。經(jīng)過(guò)研究表明,在生物和物理上,膚色分布具有一致性[9]。對(duì)于不同的人種,從雙色差或者色調(diào)飽和度上來(lái)看,膚色的變化差異并不大,但是從亮度上來(lái)看,膚色的差異就比較明顯。因此,我們可以利用膚色在色度方面表現(xiàn)的一致性將膚色從周邊的環(huán)境中摳出來(lái),便于進(jìn)行膚色分割。
由于膚色的差異更多在于亮度而不在于色度,所以可以選擇合適的色度空間建立合適的膚色模型,剔除亮度對(duì)于膚色分割的影響。顏色空間有許多種,例如:歸一化的RGB、CIE-XYZ、CIE-Yxy、CMYK、CMY、HSL、HSV、YUV、YCbCr等。由于YCbCr[10]既具有將亮度和色度分離出來(lái)的優(yōu)點(diǎn),又具有計(jì)算簡(jiǎn)單的特點(diǎn),因此在本文中,將對(duì)圖片進(jìn)行YCbCr顏色空間的色度空間轉(zhuǎn)換,其公式如下:
其中,Y為亮度,Cb為藍(lán)色色度,Cr為紅色色度。
完成色度空間的轉(zhuǎn)換后,我們接下來(lái)的工作就是根據(jù)色度的分布將落在膚色色度范圍內(nèi)的點(diǎn)找出了,這里可以建立一個(gè)膚色模型。一般情況下,膚色模型可以分為三種:1)統(tǒng)計(jì)直方圖模型;2)高斯模型;3)混合高斯模型。考慮到統(tǒng)計(jì)直方圖模型的建立需要大量的膚色數(shù)據(jù)、混合高斯模型計(jì)算過(guò)于復(fù)雜,在本文中選取依據(jù)高斯模型來(lái)進(jìn)行膚色分割。在YCbCr色度空間中,高斯模型認(rèn)為人的膚色的分布是呈現(xiàn)正態(tài)分布的,其概率密度為
由于上一步分割出來(lái)的膚色區(qū)域會(huì)有一些不連貫性,為了得到更好的效果,我們需要對(duì)膚色區(qū)域做一些預(yù)處理。具體步驟如下:
1)對(duì)膚色連通區(qū)域進(jìn)行標(biāo)記,幾位Pi(i=0,…,N);
2)估算每個(gè)連通區(qū)域大小,并取平均值B;
3)由公式r= Bπ計(jì)算出圓形結(jié)構(gòu)半徑。
LBP[11~13](Local Binary Pattern)是 一 種 局 部 二值模式的算子,它最早由T.Ojala,M.Pietikainen和D.harwood于1994年提出來(lái),用于紋理特征的提取。如今,它廣泛應(yīng)用于紋理分類(lèi)領(lǐng)域和人臉識(shí)別領(lǐng)域,早已成為這兩個(gè)領(lǐng)域重要的特征提取方式之一。其具有旋轉(zhuǎn)不變性和灰度不變性等特點(diǎn),當(dāng)它應(yīng)用于人臉檢測(cè)時(shí),可以有效避免光照等因素的影響。提取LBP特征可以分為以下幾個(gè)步驟:
1)首先對(duì)于一張圖片,我們需要將它劃分為一個(gè)一個(gè)的小方塊,通常取16*16的小區(qū)域;
2)區(qū)域劃分完成后,是對(duì)每個(gè)區(qū)域的操作,對(duì)位于其中的每個(gè)像素點(diǎn)求出它的LBP值。首先,將目標(biāo)像素相鄰的8個(gè)像素的灰度值與其進(jìn)行比較,若周?chē)袼刂荡笥谥行南袼刂?,則該像素點(diǎn)的位置被標(biāo)記為1,否則為0。這樣就可以得到一個(gè)二進(jìn)制數(shù),這個(gè)二進(jìn)制數(shù)數(shù)就是我們要得到的LBP值;
3)雖然得到每個(gè)像素的LBP值,但是卻不好直接用它來(lái)描述圖片的特征,需要對(duì)它進(jìn)行下一步的處理。一般我們會(huì)采用統(tǒng)計(jì)學(xué)的方式,計(jì)算出每個(gè)小區(qū)域的直方圖,然后對(duì)該直方圖進(jìn)行歸一化處理;
4)最后將每個(gè)統(tǒng)計(jì)直方圖整合成為一個(gè)特征向量,這就是我們需要的整幅圖的LBP紋理特征向量。
為了使用AdaBoot算法訓(xùn)練出最終的強(qiáng)分類(lèi)器,需要根據(jù)LBP紋理特征向量建立一些弱分類(lèi)器。對(duì)于每一個(gè)弱分類(lèi)器g(x′,f,θ,p),其可以由一個(gè)LBP特征f,判定閾值θ和指示不等式方向的p組成,其公式如下:
其中x′表示待檢測(cè)的圖片,f(x′)是對(duì)待檢測(cè)圖片進(jìn)行LBP特征提取后所得到的統(tǒng)計(jì)直方圖經(jīng)過(guò)相似度函數(shù)判斷后的相似度,當(dāng)相似度滿足我們要求是取值為1,否則為0。
AdaBoot[14~15](Adaptive Boosting)是一種迭代算法。該算法的核心思想是針對(duì)同一個(gè)訓(xùn)練集訓(xùn)練不同的分類(lèi)器,一般我們稱(chēng)這些分類(lèi)器為弱分類(lèi)器,然后將這些弱分類(lèi)器按照不同的權(quán)重整合到一起,這樣就構(gòu)成了最終的強(qiáng)分類(lèi)器。弱分類(lèi)器的構(gòu)成我們可以采取多種方法,由于我們提取的是圖片的LBP特征,所以我們采用基于LBP特征構(gòu)建的弱分類(lèi)器,這里AdaBoot算法就相當(dāng)于一個(gè)弱分類(lèi)器加工廠,通過(guò)有限次數(shù)的迭代,最終得到一個(gè)在檢測(cè)率和誤檢率都表現(xiàn)不錯(cuò)的最終強(qiáng)分類(lèi)器。算法具體的過(guò)程如下:
1)選取一組訓(xùn)練樣本(x1,y1),…,(xn,yn)用于分類(lèi)器的訓(xùn)練,其中當(dāng)樣本不是人臉時(shí)yn=0,否則yn=1,N則為樣本數(shù)目;
2)為每個(gè)樣本授予權(quán)值,第一次我們?cè)O(shè)每一個(gè)樣本的權(quán)值為1 N;
3)進(jìn)行迭代,通過(guò)弱分類(lèi)器對(duì)樣本集來(lái)進(jìn)行比對(duì)。對(duì)于每個(gè)弱分類(lèi)器,分別計(jì)算出其在樣本集中的分類(lèi)誤差率,其中hj(xi)表示第j個(gè)弱分類(lèi)器判斷樣本i是否正確,ωi表示第i個(gè)樣本的權(quán)值)。取其中誤差率最小的弱分類(lèi)器為基本分類(lèi)器G1(x),其在最終分類(lèi)器中的系數(shù)為
4)為每個(gè)樣本從新授予權(quán)值(目的是加大弱分類(lèi)器Gj(x)識(shí)別錯(cuò)誤的樣本的權(quán)值,降低識(shí)別正確樣本權(quán)值),公式如下:
其中ωm+1,i表示第i個(gè)樣本在第m+1次迭代中的權(quán)值,;
5)不斷重復(fù)步驟3)、4),直到達(dá)到指定迭代次數(shù)T,或者檢測(cè)準(zhǔn)確率、誤差率達(dá)到設(shè)計(jì)要求;
6)將每次迭代選出的基本分類(lèi)器整合起來(lái),得到最終的強(qiáng)分類(lèi)器:
本論文最終在1000張圖片上檢測(cè)算法的準(zhǔn)確性(812張包含人臉(200張含多人臉),188非人臉圖片),并將它與膚色檢測(cè)方法和基于LBP的Adaboost方法做了比較。檢測(cè)結(jié)果統(tǒng)計(jì)如表1。
表1 人臉集檢測(cè)結(jié)果比較
從實(shí)驗(yàn)結(jié)果來(lái)看,基于膚色的檢測(cè)方法無(wú)論是檢測(cè)單張人臉還是檢測(cè)多張人臉,都具有最高的檢測(cè)率和最短的檢測(cè)時(shí)間,但是由于其較高的誤檢率一直影響著它在實(shí)際中的應(yīng)用。對(duì)于Adaboost算法而言,其在檢測(cè)率方面的表現(xiàn)也非常令人滿意,而且相較于膚色方法它的誤檢個(gè)數(shù)明顯減少了,但是其檢測(cè)速度方面表現(xiàn)稍差。本文提出的檢測(cè)方法,結(jié)合兩種算法的優(yōu)勢(shì),最終在實(shí)驗(yàn)中表現(xiàn)出較高的檢測(cè)率,最關(guān)鍵的是相對(duì)于膚色檢測(cè)其誤檢率也降低了不少。同時(shí),就檢測(cè)時(shí)間而言,其相比與Adaboost算法有了明顯的縮短,表明該方法在正面人臉檢測(cè)中取得了較好的效果,是一種有效的人臉檢測(cè)方法。
本文提出了一種基于LBP算子的Adaboost算法之上改進(jìn)的算法,通過(guò)膚色分割預(yù)處理,將疑似人臉區(qū)域提取出來(lái)(并未破壞人臉的特征信息),可以有效減少LBP算子的掃描區(qū)域,使整個(gè)算法更加關(guān)注于自己需要判斷的數(shù)據(jù),從而提高了處理的效率。實(shí)驗(yàn)結(jié)果表明:該算法可以準(zhǔn)確快速地檢測(cè)出人臉。