裴珍,許忠仁
(遼寧石油化工大學信息與控制工程學院,遼寧撫順113001)
人臉檢測(Face Detection)是指在對于任意一幅給定圖像中,采用一定的策略對其進行搜索以確定其中是否含有人臉,如果有則返回人臉的位置、大小、姿態[1]。隨著人臉檢測在電視會議、圖像搜索、數字視頻處理、視頻檢測、視頻壓縮編碼等領域的廣泛應用,人臉檢測的研究也日益成熟。然而人臉檢測存在以下幾個問題:1)人臉存在膚色、外貌、表情等差異,具有模式可變性;2)人臉上有時會有眼鏡、胡須和頭部飾物以及其他的東西等附屬物;3)光源和成像角度會對人臉產生反射和陰影等影響。
目前已有很多學者相繼提出了使用AdaBoost與其他特征相融合來檢測人臉圖像[2-3]。文獻[4]提出的膚色檢測方法適用于背景環境簡單的人臉檢測,然而復雜的背景下僅僅依靠膚色檢測會有會很大的誤差,產生比較高的誤檢率。文獻[5]提出的改進的AdaBoost和膚色特征相結合的算法采用了改進的權重,有效避免增益現象。文獻[6]提出的膚色模型和小波變換結合的算法實現了復雜背景中單人臉快速、準確定位,與傳統的YCbCr空間的膚色檢測相比,提高了檢測精度。
本文為了復雜背景下多人臉檢測率以及人臉檢測速度,提出了一種基于改進AdaBoost、膚色檢測和2DPCA的人臉檢測方法,該方法首先通過金字塔結構的檢索方法將圖像分成不同尺寸的子圖像,然后通過分類器對這些子圖像進行判斷,進而判斷是否為人臉,接著對歸類出的人臉使用膚色分割算法快速提取圖像中膚色區域,最后根據人臉幾何位置的特征,對膚色區域內定位到的人眼部位進行2DPCA檢測,繼而解決了復雜背景下多人臉檢測和計算量大的問題,使檢測結果更加精確。
改進的人臉檢測方法由改進的AdaBoost算法、膚色檢測和2DPCA的眼睛檢測等部分組成,流程圖如圖1所示。
AdaBoost算法的主要原理是:由大量的弱分類器形成一個強分類器,通常這種算法對于難以分類樣本予以分配很高的權值,最終造成增益現象[7]。而改進的AdaBoost算法是在提出了一種金字塔結構的搜索方法,將原始圖像分成若干不同大小不同尺寸的子圖像,然后利用了基于類人臉特征訓練的分類器逐一對這些子圖像進行判斷是否為人臉。

圖1 人臉檢測流程圖Fig.1 Flow diagram of the face detection
1.1.1 人臉子圖像的數量
設人臉圖像大小為X×Y,人臉子圖像的初始大小為x0×y0及縮放因子為r,搜索歩長是x及y方向的Sx和Sy。則第一輪搜索按初始子圖像大小x0×y0搜索,得到子圖像的數量如式(1):

同理,第二輪搜索按初始圖像r倍即r·x0×r·y0,則子圖像的數量如式(2):

以此類推,第n+1輪按初始圖像的rn倍即rn·x0×r·y0,則子圖像的數量如式(3):

于是,每一輪搜索得到的子圖像的數量形成具有規律的數列,如式(4):

設金字塔搜索的最高級數為n+1,由于最大搜索子圖像尺寸rn·x0和rn·y0不大于待檢測圖像X和Y,故得到式(5):

由(4)式,該n+1項表達式構成了等比數列。因此有:

式(6)為金字塔結構的最終子圖像總數量。其中,x0和y0的大小大約為20個像素,搜索步長sx和Sy在1~5之間,縮放因子r則在1.1~1.4之間。
1.1.2 分類器訓練
該方法根據人臉的灰度分布特征訓練分類器,基于先驗知識了解人臉特征采用的矩形特征,此特征反映的是局部人臉灰度分布模型,即眼睛和臉頰灰度值較高,如圖2所示。

圖2 人臉檢測的矩形特征Fig.2 Rectangular feature of face detection
假設n個訓練樣本(x1,y1),(x2,y2),…(xn,yn),其中i=1,2,n,yi=0代表非人臉樣本,yi=1代表人臉樣本。訓練樣本中包含m個非人臉樣本,l個人臉樣本。
弱分類器ht,j如下
pj:表示不等式方向的偏置(有±1兩種情況)。
fj:表示樣本k維特征,即fj(·)(1≤j≤k),則i個樣本xi,特征為f1(xi),f2(xi),…,fj(xi),…,fk(xi),且每一個特征fj有一個簡單二值分類器。
θj:表示閾值。
算法步驟:
①初始化權重:設第t次循環中第i個樣本的誤差權重為wt,i,初始化權重:當yi=0時,w1,i=1/(2m);當yi=1時,w1,i=1/(2l)。
③選取最小εt的弱分類器:首先對于每個特征j,訓練出其弱分類器。即確定閾值θj和偏置pj,使權重誤差εt=minf,p,θ|最小。最后最小錯誤εt選取弱分類器ht。
④調整權重:wt+1=wt,i
最后,將
作為人臉檢測函數來判斷圖像中是否包含人臉。
1.2.1 膚色空間轉換
在YCbCr色彩空間中膚色有較好的色度聚類特性,可以從復雜的背景中分割出膚色區域。本文采用YCbCr空間作為膚色檢測的映射空間,Y為亮度信息,Cb和Cr為藍色和紅色的色度。將圖像從RGB轉換到顏色分量互不相關的空間,轉換公式如式(7):

1.2.2 膚色建模
選定色彩空間之后,下面開始建立與YCbCr色彩空間相對應的膚色模型。膚色模型是在一定的顏色空間中描述膚色分布規律的數學模型,它可以采用代數或查表等形式來表示哪些像素屬于膚色,也可以表示像素點的色彩與膚色的相似程度。盡管同一人種的膚色存在差異,但是這種差別對于亮度信息是微不足道的,因此膚色二維的高斯(Gaussion)模型G(m,v2)如式(8)。

2DPCA的主要原理是[9]矩陣通過線性變換直接投影到一個新的低維空間,從而得到低維的投影特征。2DPCA先利用二維圖像矩陣直接構建一個協方差矩陣,求出該協方差矩陣的特征值和特征向量,然后根據信息閾值的設定,得到對應于最大幾個特征值的特征向量來構建坐標系,最后將每個圖像矩陣投影到這個坐標系上,從而提取出圖像的分類特征。2DPCA方法應用到眼睛識別,包括眼睛定位、眼睛圖像的特征提取以及眼睛分類方法。
首先研究眼睛特征提取,設眼睛圖像訓練樣本A1、A2,……,AN,N為訓練樣本個數,每個樣本都是m×n的矩陣,計算訓練樣本的平均值和協方差矩陣,并對協方差舉證進行特征值分解,選取d個最大特征值所對應的標準正交特征向量所構成的投影向量組P=[U1,U2,…,Ud],即是投影矩陣。再利用投影矩陣進行特征提取。假設Y(i)1、Y(i)2,……,Y(i)d是訓練樣本Ai的前d個二維主成分,Y(i)1、Y(i)2,……,Y(i)d是其對應的特征向量,將待檢測樣本圖像如上述向P作投影,得到檢測眼睛圖像的特征矩陣。
最后研究眼睛圖像的分類,本文采用最近鄰分類器來進行分類,任意兩個特征矩陣Bi=[Y(i)1、Y(i)2,…,Y(i)d]和Bj=[Y(i)1、Y(j)2,…,Y(j)d],計算距離:

本文的訓練樣本主要采用CMU人臉數據庫和網上下載的人臉圖像,其中有170張來自CMU人臉數據庫,照片主要選擇不同光照、多姿態、不同背景和不同表情的人臉;此外,95張網絡下載的人臉圖像,共包含265個人臉。測試環境為Pentium(R)Dual-Core CPU 2.99GHz,1.99 GB的內存,操作系統為Windows XP,在VC++6.0平臺上編程實現,檢測結果如表1所示,人臉檢測方法實現流程圖如圖3所示,部分檢測結果如圖4所示。

圖3 基于改進的AdaBoost、膚色和2DPCA的人臉檢測方法的流程圖Fig.3 Flow chart of face detection method based on the improved AdaBoost,skin color and 2DPCA
從上述仿真結果[10]圖可以看出,本文提出來的算法能夠在復雜背景下多姿態、不同光照等情況下的人臉檢測,可以準確的檢測出我們期望的結果。

圖4 多人臉檢測結果Fig.4 Many face detection result

表1 傳統算法與本文算法比較Tab.1 Traditional algorithm and the algorithmin this paper
本文提出一種基于改進的AdaBoost、膚色和2DPCA結合的人臉檢測方法。該方法利用AdaBoost算法快速搜索待檢測圖像,排除非人臉區域,然后通過膚色檢測方法對于候選區域進行膚色像素分析,分割出復雜背景下的人臉區域,最后采用2DPCA對人臉幾何特征定位的人眼進行分類。該算法降低了不同光照、不同表情和不同姿態等情況下人臉檢測率不高的問題,避免了AdaBoost算法因計算量大而導致的低速。因此該算法具有很好的實用價值。
[1] Yang MH,Kriegman D,Ahuja N.Detecting faces in images:a survey[J].IEEE Trans.Pattern Analysis and Machine Intelligence,2002,24(1):34-58.
[2] ZHANG Cha,ZHANG Zheng-you.A survey of recent advances in face detection[J].Microsoft Technical Report,2010,26(2):1-17.
[3] SrisukS,Kurutach W.A New Robust Face Detection in Color Images[C]//Int Conf on Aut Face and Ges Rec.Washington:IEEE,2002:291-296.
[4] 王小華,徐蕙素,吳海虹.基于YCbCr顏色空間的不良圖像膚色檢測[J].計算機應用與軟件,2011,28(4):150-153.WANG Xiao-hua,XU Hui-su,WU Hai-hong.Objectionable image skin colour detection based on YCbCr colour space[J].Computer Applications and Software,2011,28(4):150-153.
[5] Yang J,Zhang D,Frangi A F,et a1.Two-dimensional PCA:a new approach to appearance-based face repre-sentation and recognition[J].IEEE Transactions 0n PAMI,2004,26(1):131-137.
[6] John W,Arvind G,Zhou Z H,et a1.Robust face recognaition via sparse representation[J].IEEE International Conference on Automatic Face and Gesture Recog-nation,2008,31(2):210-227.
[7] XIONG Sheng-wu,ZONG Xin-lu,ZHU Guo-feng.Improved face detection method based on AdaBoost algorithm[J].Application Research of Computers,2007,24(11):298-300.
[8] 趙明華.人臉檢測和識別技術的研究[D].成都:四川大學,2006.
[9] 李玉鑑,王利娟.基于PCA的眉毛識別方法研究[J].計算機工程與科學,2008,30(11):28-30.LI Yu-jian,WANG Li-juan.Eyebrow recognition based on principal component analysis[J].Computer Engineering&Science,2008,30(11):28-30.
[10] 張國飛,崔志勝,徐廣鑫,等.基于瞬時無功功率理論的APF諧波補償能力的仿真研究[J].陜西電力,2012(11):77-81.ZHANG Guo-fei,CUI Zhi-sheng,XU Guang-xin,et al.Instantaneous reactive power theory-based simulation of harmonics compensation performance of active power filter[J].Shaanxi Electric Power,2012(11):77-81.