束 平,桑慶兵,唐曉東
(1.江蘇聯合職業技術學院 鹽城生物工程分院,江蘇 鹽城224051;2.江南大學 物聯網學院,江蘇 無錫214122;3.鹽城機械工業職工中等專業學校 江蘇 鹽城224000)
一種復雜環境下魯棒的精確人臉檢測算法
束 平1,桑慶兵2,唐曉東3
(1.江蘇聯合職業技術學院 鹽城生物工程分院,江蘇 鹽城224051;2.江南大學 物聯網學院,江蘇 無錫214122;3.鹽城機械工業職工中等專業學校 江蘇 鹽城224000)
結合Viola-Jones人臉檢測框架和CLM(Constrained Local Model)模型,建立了一種對光照和姿態變化魯棒的人臉檢測算法。該算法首先對不同狀態下的訓練集使用AdaBoost算法建立一組狀態相關的強分類器和相應的CLM模型。然后通過采用多層級聯結構分類器對圖像中存在的人臉進行檢測并對檢測到的人臉進行光照和姿態變化的分析。最后,選擇合適的CLM模型對檢測到的人臉進一步進行定位,從而得到精確的人臉位置信息。通過在CMU-PIE人臉數據庫上進行實驗,驗證了該算法的有效性。
人臉檢測;局部約束模型;AdaBoost;Haar特征;級聯結構
人臉檢測,是指在任意一幅輸入圖像中確定所有人臉(如果存在)的位置、大小和位姿的過程[1]。人臉檢測作為自動人臉識別系統中的第一步,對后續的人臉特征抽取和人臉識別起著至關重要的作用。因此,尋找一種快速、魯棒的人臉檢測算法成為人臉識別技術中一個重點關注的問題和研究熱點。
伴隨著自動人臉識別技術的發展,人臉檢測方法也日漸成熟[1-2]。現在的人臉檢測算法大致有:基于膚色特征的檢測算法、基于圖像分割的檢測算法、基于可變形模板的檢測算法、基于啟發式模型的檢測算法、基于人工神經網絡的檢測算法以及基于統計學方法的檢測算法等等[3-7]。這些算法在不同程度上都受到運算效率、檢測精度、背景環境以及人臉姿態等的影響。
2001年,Viola和Jones提出了一種實時、魯棒的目標檢測算法[8-9],該算法又被稱為Viola-Jones框架。Viola-Jones框架采用了一種矩形特征--Haar特征并使用積分圖 (Integral Image)的方法來對Haar特征進行快速計算。計算得到的每一個Haar特征被看作為一個弱分類器,通過在一個大的“人臉”和“非人臉”樣本集上使用AdaBoost算法進行學習,得到一個由若干弱分類器組成的強分類器。這些強分類器通過級聯的方式能夠很快地把一副圖像中存在的人臉檢測出來。為了進一步提高該框架的檢測結果,過去的研究主要集中在對分類器的結構進行改進和對AdaBoost算法的改進上。如李等人提出的ADAdaBoost算法,該算法采用了一種新的計算弱分類器權重參數的算法,大大提高了負樣本的檢測率[10,14]。Lin等人提出了一種多類的MBHBoosting算法能夠很好的對存在遮擋和旋轉的人臉進行檢測[11]。這些算法在一定程度上都大大提高了原始經典算法的檢測結果和檢測效率。但是這些算法得到的人臉區域往往不夠精確,而且對光照和姿態的變化比較敏感。
為了提高Viola-Jones框架在姿態光照變化下的魯棒性,并得到一個更加精確的檢測結果,文中建立了一種多層結構的分類器,并通過這個分類器確定人臉的姿態和光照狀態,然后使用相應的CLM(Constrained Local Model)模型[12]對人臉區域進行精確匹配,從而得到精確的人臉區域。
Viola-Jones人臉檢測框架中的分類器采用了Haar特征,每個Haar特征就是一個弱分類器。這些特征主要有3種類型:邊緣型,線性型以及對角線型,如圖1所示。給定一個24*24的矩形窗口,通過變換不同特征的大小和位置,我們可以得到超過160 000個不同的Haar特征[8]。計算Haar特征是通常采用白色區域的所有像素灰度值減去黑色區域和所有像素灰度值。

圖1 Haar特征示例
當Haar特征的數量很大時,窮舉計算需要大量的時間,導致算法的效率低下。為了更快的計算Haar特征值,Viola-Jones框架采用了積分圖(integral image)的計算方法。對于一幅輸入圖像i(x,y),對應的積分圖可以定義為:

即積分圖ii(x,y)在點(x,y)處的取值為該點左上方所有像素點的灰度值之和。通常采用下述遞推公式快速計算積分圖ii(x,y):

其中 s(x,-1)=ii(-1,y)=0,s(x,y)為點(x,y)上方一列像素點的灰度值之和。通過式(2)和式(3)計算得到輸入圖像的積分圖之后可以對圖像中任意一個矩形區域內部的像素點的灰度值之和進行快速計算。
在Viola-Jones人臉檢測框架中,積分圖的引入大大提高了計算Haar特征的效率,從而我們可以對一個足夠大的“人臉”和“非人臉”的正負樣本進行訓練。其中,每一個Haar特征可以看作為一個弱分類器:

其中x為24*24的子窗口,f表示相應的Haar特征,p=±1表示不等式的方向,θ為閾值。由于人臉空間的變化是在一個高維空間內,僅僅使用一個或幾個由Haar特征構成的弱分類器無法得到很好的分類結果。因此通過AdaBoost算法對得到的全部的弱分類器進行訓練,通過調整每個弱分類器的權重比例,從而建立起一個強分類器。AdaBoost的算法流程如下:
1)給定一組訓練樣本(x1,y1)…(xN,yN),其中 x為觀測值,y=0,1為“非人臉”和“人臉”的標記;
2)分別為“非人臉”和“人臉”樣本初始化權重系數為w1,n=1/2m or 1/2l,其中m為“非人臉”樣本的個數,l為人臉樣本的個數;
3)對t=1…T:
②通過計算迭代誤差

③更新權重系數:
wt+1,n←wt,n(εt/(1-εt))1-en,當分類正確時en=0,當分類錯誤時en=1。
4)建立強分類器:

其中αt=log((1-εt)/εt)。
經典的Viola-Jones框架中通過將訓練得到的強分類器組成級聯結構,并對待檢測圖像進行逐級縮放,然后讓縮放后的圖像中所有可能的24*24的子窗口逐級通過級聯分類器,從而進一步檢測出圖像中所有的人臉區域。由于采取了級聯的結構,很多“非人臉”的窗口可以在前期被過濾掉,因此級聯分類器的效率非常高,如圖2(a)所示。但是當輸入圖像中的人臉存在姿態和光照變化時,這種級聯結構得到的人臉檢測的結果往往不是非常精確。因此,本文提出了一種多層結構的分類器。首先通過不同姿態和光照的“人臉”正樣本和相同的 “非人臉”的負樣本采用AdaBoost算法建立相應的強分類器,然后讓待分類的全部子窗口依次通過這個多層結構的分類器。最后通過相應姿態和光照的分類器被確定為人臉區域,并判斷出相應的姿態和光照狀態,如圖2(b)所示。這種多層結構可能對相同的區域輸出多個不同的光照和姿態的狀態信息。我們進一步通過對不同光照和狀態下的“人臉”訓練樣本做出成分分析,得到不同的人臉子空間,然后再對重復的區域做重構,選擇最小的重構誤差的姿態和光照信息作為最終輸出。
通過使用多層結構以及子空間重構得到輸入圖像中的人臉區域和姿態、光照信息后。我們通過“人臉”訓練集建立不同光照和姿態下的CLM模型并對人臉做進一步的精確匹配。CLM模型包括兩個部分:形狀模型和局部紋理模型。其中形狀模型中的形狀可以表示為:

其中(xv,yv)表示第v個特征點的坐標,V表示人臉形狀的特征點的個數。通過手動標定一系列訓練集的人臉得到形狀訓練樣本后,首先進行歸一化處理,然后建立相應的形狀模型:

其中s0為平均形狀,si為對應第i個特征值的形狀特征向量,通過對減去平均形狀后的訓練集做主成分分析得到。

圖2 級聯結構的分類器
對應每一個形狀中的特征點,我們可以在該點周圍的鄰域中選取一塊N*N的紋理塊作為該點附近的局部紋理特征gv,從而建立相應的局部紋理模型:

其中g0為平均紋理,gj為對應第j個特征值的局部紋理特征向量,通過主成分分析方法得的。圖3給出了某個姿態和光照下通過訓練集圖像提取人臉區域樣本用于AdaBoost建立強分類器,并提取相關的形狀和局部紋理信息建立CLM模型。

圖3 CLM模型
對一幅輸入圖像,首先通過本文中多層結構的人臉檢測器確認人臉的初始位置和相關的形狀和姿態信息,從而選取相應光照和姿態變化下的CLM模型進行初始化,然后使用該CLM模型對輸入圖像中的人臉進行精確匹配,從而得到人臉關鍵特征點的具體位置,并進一步精確得到人臉的真實區域。CLM模型的匹配算法請參考文獻[4],這里不再贅述。
為了驗證本文算法的有效性,我們選擇CMUPIE人臉數據庫進行實驗[13,15]。CMU-PIE數據庫包含68個不同的個體,每個個體有13種姿態、43種光照和4種表情變化。由于表情變化對檢測結果影響不大,我們這里不區分表情變化。選擇7種不同的姿態(C22、C25、C37、C27、C11、C32和C34)和5種不同的光照變化用來實驗,其中隨機選擇50個人的人臉圖像作為訓練集,剩下的18個人作為測試集。
我們首先測試本文算法對光照和姿態變化估計的正確率。實驗中采用經典Viola-Jones檢測到的人臉區域和PCA重構的方法作為對照組,測試的結果如表1所示。由于新的多層結構能夠首先給定相應的估計信息,并且能夠獲得較為精確的人臉檢測區域,因此本文算法估計出的姿態和光照的準確率遠遠高于對照組。

表1 姿態和光照估計準確率

圖4 人臉檢測結果示例
圖4展示了某種姿態和光照變化下的人臉檢測結果。圖4(a)為原始的Viola-Jones人臉檢測器得到的人臉檢測區域,圖4(b)為本文多層結構檢測的區域,圖4(c)為使用相應的CLM模型匹配得到的人臉特征點,圖4(d)是根據CLM精確匹配后的結果修正的人臉檢測結果。可見本文算法不僅對在人臉存在光照和姿態變化的情況下能夠得到較好的檢測效果,而且通過CLM精確匹配后能夠得到更多的人臉特征信息,從而為后續的人臉特征抽取和識別工作提供支持。

圖5 CLM定位誤差比較
為了進一步測試多層結構分類器的有效性,我們使用經典的Viola-Jones框架結合CLM模型進行人臉精確定位,并與本文算法比較。圖5為每次迭代后的形狀的誤差,該誤差為每次迭代后的形狀和真實形狀之差均方根誤差。可以看出由于采取了多層結構的模型,獲得較好的初始化位置和光照、姿態的估計。基于文中算法的CLM模型不僅在初始狀態具有較小的誤差,且能夠獲得更精確的最終定位結果。
人臉檢測是人臉自動識別、驗證和分析的重要步驟之一。文中首先對不同光照和姿態下的訓練集使用AdaBoost算法建立相應的強分類器和CLM模型,然后使用多層次的級聯結構對人臉區域進行初始定位和光照、姿態估計,最后再選擇相應的CLM模型對人臉區域進行精確匹配從而得到精確的人臉檢測結果。實驗結果表明,本文算法對輸入圖像中人臉存在光照和姿態變化的情況下能夠得到很好的檢測結果。
[1]梁路宏,艾海舟,徐光,等.人臉檢測研究綜述[J].計算機學報,2002,25(5):449-458.
[2]Hjelm?s E,Low BK.Face detection:A survey[J]. Computer Vision and Image Understanding,2001,83(3):236-274.
[3]齊永峰,火元蓮.一種基于膚色的人臉檢測和定位方法[J].計算機應用,2009,29(3):785-788.
[4]艾海舟,梁路宏,徐光佑,等.基于膚色和模板的人臉檢測[J].軟件學報,2001,12(12):1784-1792.
[5]Haj M,Bagdanov A,Gonzalez J,et al.Robust and efficient multipose face detection using skin colorsegmentation[J].Pattern Recognition and Image Analysis,2009:152-159.
[6]Tsao WK,Lee AJT,Liu YH,et al.A data mining approach to face detection[J].Pattern Recognition,2010,43(3):1039-1049.
[7]Vadakkepat P,Lim P,De Silva LC,et al.Multimodalapproach to human-face detection and tracking[J].IEEE Trans.on Industrial Electronics,2008,55(3):1385-1393.
[8]Viola P,Jones M.Rapid object detection using a boosted cascade of simple features[C].CVPR,2001:511-518.
[9]Viola P,Jones M.Robust real-time object detection[J].International Journal of Computer Vision,2004,57(2):137-154.
[10]李闖,丁曉青,吳佑壽.一種改進的AdaBoost算法-AD AdaBoost[J].計算機學報,2007,30(1):103-109.
[11]Lin YY,Liu TL.Robust face detection with multiclass boosting[C]//CVPR,2005,1:680-687.
[12]Cristinacce D,Cootes T.Feature detection and tracking with constrained local models[C]//British Machine Vision Conference,2006:929-938.
[13]Terence Sim,Simon Baker,Maan Bsat.The CMU Pose,illumination and expression database[J]. IEEE Trans.on Pattern Analysis and Machine Intelligence,2003,25(12):1615-1618.
[14]張洪明,趙德斌,高文.基于膚色模型、神經網絡和人臉結構模型的平面旋轉人臉檢測[J].計算機學報,2002(25):1250-1256.
[15]Cristinacce D,Cootes T.Automatic feature localization with constrained local models [J].Pattern Recognition,2008(41):3054-3067.
A robust and accurate face detection algorithm under complex variations
SHU Ping1,SANG Qing-bing2,TANG Xiao-dong3
(1.JiangsuUnionTechnicalInstituteYanchengBiologicalEngineeringHigherVocationalTechnologySchool,Yancheng 224051,China;2.School of IoT Engineering,Jiangnan University,Wuxi 214122,China;3.Yancheng Machinery Industry Worker Secondary Specialized School,Yancheng 224000,China)
A robust and accurate face detection algorithm to illumination and pose variations based on Viola-Jones face detection framework and Constrained Local Models(CLM)is proposed.This algorithm builds a set of variation-specific strong classifiers using AdaBoost algorithm and corresponding CLM for different illumination and pose variations.Then a multi-layer cascade classifier is adopted to determine the rough location of the face region and estimate the illumination and pose conditions of each face in input images.At last,a suitable CLM is selected to obtain accurate landmarks of faces in input images. Experimental results on CMU PIE face database show the efficiency of this proposed algorithm.
face detection;constrained local model;AdaBoost;haar features;cascade
TP317.4
:A
:1674-6236(2017)03-0005-04
2016-03-19稿件編號:201603248
國家自然科學基金(60875036)
束 平(1983—),女,江蘇鹽城人,碩士。研究方向:圖像處理。