李揚,曹著明
(1.天津中德應用技術大學軟件與通信學院,天津 300350;2.北京電子科技職業學院,北京100029;3.天津職業技術師范大學,天津 300222)
基于膚色和AdaBoost算法的人臉檢測
李揚1,3,曹著明2,3
(1.天津中德應用技術大學軟件與通信學院,天津 300350;2.北京電子科技職業學院,北京100029;3.天津職業技術師范大學,天津 300222)
為了避免光照和復雜背景造成的多人臉誤檢漏檢問題,提出一種基于膚色和AdaBoost算法相結合的多人臉檢測算法,本文首先本章首先應用CbCrCg空間下基于最小二乘擬合的膚色聚類模型作為人臉檢測的預處理過程,然后需要進一步將該區域作為輸入圖像依次通過AdaBoost級聯分類器進行人臉檢測,進一步去除膚色區域中的非人臉區域,最后實現更精確的人臉定位。
人臉檢測;膚色;AdaBoost;CbCrCg空間;最小二乘
人臉檢測技術涉及的內容非常廣泛,其檢測過程實際上是對人臉模式特征進行綜合判定的過程。從不同角度劃分,人臉檢測方法有不同的分類方法。但一般是采用多種模式特征綜合的方式來進行人臉檢測居多。膚色是人臉的重要特征信息,不依賴于人臉面部特征細節,對于姿態、表情等變化具良好的穩定性,并且在大多數情況下與背景顏色存在明顯區別。基于膚色特征的人臉檢測方法擁有速度優勢,常常被應用于構建快速的人臉檢測系統中。
1995年Freund和Schapire在Boosting基礎上進行改進,提出了AdaBoost(Adaptive Boosting)算法[5]。該方法是一種迭代算法,它克服了Boosting算法對弱學習算法先驗知識的要求,而且運算效率很高。2001年,Paul Viola等人第一次將AdaBoost算法應用到人臉檢測過程中,提出了積分圖像的概念和基于AdaBoost訓練人臉檢測分類器的方法,建立了第一個真正實時的人臉檢測系統。
本文應該膚色模型和AdaBoost算法的優勢,首先應用膚色模型建立具有一定魯棒性的人間膚色模型,然后應用AdaBoost算法建立人臉檢測分類器并進行訓練,最后在人臉圖片上檢測該算法的有效性。
所謂膚色建模和其他數學建模一樣,即用一種代數的(解析的)或查找表形式來表達哪些像素色彩屬于膚色,或者表征出某一像素的色彩與膚色的相似度。目前圖像處理研究中常用的膚色模型有區域模型,高斯模型,混合高斯模型和直方圖模型[6]。根據膚色在空間CbCrCg的三個投影平面的映射分布情況不難發現,膚色在該空間的聚類性良好,并且膚色映射區域基本存在于類似橢圓區域內,所以本文選擇空間CbCrCg進行膚色模型的建立,為避免因簡單降維造成膚色與非膚色重疊,選擇在三維空間CbCrCg內實現對膚色進行三維建模。具體做法如下:
首先將膚色樣本投影映射的笛卡爾坐標系取整轉化到256×256的圖像分布矩陣中,然后在膚色平面采用直接最小二乘擬合擬合聚類的方法建立膚色模型,具體數學模型如下:
二次曲線方程在一定約束條件下可以表示為橢圓:

其約束條件是:

式中:

可將直接最小二乘法擬合問題轉化為下面的問題:

其約束條件為:

由膚色樣本點的分布情況可知,膚色點處于一個橢圓區域內并不分布在一條直線,根據R.Halif等人[7]提出的一種高效魯棒性能好的數值穩定直接最小二乘法橢圓擬合算法可以保證保證是一個非奇異矩陣,可以將(4)式轉化為下邊的式子:

由上式可以得到,進而確定橢圓方程。
根據膚色投影分布橢圓邊緣確定的橢圓方程形式,以CbCg膚色投影分布為例對于給定的像素點進行膚色判別的準則如下:

其中abg,bbg,cbg,dbg,ebg,fbg是對CbCg膚色投影分
類似,Cr-Cg和Cb-Cr平面可以通過同樣的方法確定各平面的膚色分布擬合橢圓方程及其膚色判別規則。
2.1 基于膚色與AdaBoost算法的人臉檢測的不足
膚色是人臉的主要特征信息,其對旋轉,表情變化具有一定的穩定性。因此基于膚色特征的人臉檢測算法具有復雜度低,檢測速度快的特點,尤其是對于多人臉檢測過程中不同姿態表情的變化有很好的魯棒性。但是膚色易受光照變化及類膚色信息干擾,一部分膚色信息由于光照影響處于高光區或者陰影區域造成漏檢,一部分類膚色信息則由于膚色建模的原因被誤檢為膚色。在這種情況下,膚色區域常常出現不連續的空洞,或者大片類膚色信息。而且基于膚色的人臉驗證手段對膚色檢測的每步操作精度要求很高,僅僅依靠一些幾何特征或者簡單的模板,往往造成較高的人臉誤檢漏檢情況。另外對于當圖像中存在人臉重疊現象時,幾何特征等驗證方法也會失去作用。
類Haar特征提取及積分圖計算提高了AdaBoost算法的檢測速度,級聯分類器的構建過程則在保障檢測速度基礎上提高人臉檢測性能,因而AdaBoost算法是構建實時人臉檢測系統的有效方法。但是該方法在提高檢測率的同時也增加了誤檢率,而且在一定情況下增加了訓練樣本所需時間。研究表明基于AdaBoost的人臉檢測對于單人臉正面圖像的檢測效果較好,但是對于多人臉情況下多姿態多表情的人臉檢測率低,漏檢率高。
2.2 基于膚色和AdaBoost算法結合的人臉檢測
人臉是一個復雜的結構體,對于人臉的檢測需要考慮很多的因素。研究表明單一的檢測方法可靠性是有限的,不管是基于膚色的人臉檢測還是基于AdaBoost的人臉檢測,各有優點,但是在適用范圍存在很大的局限性。如果將多種人臉檢測方法有效結合,那樣將會獲得更高的檢測率。
針對基于膚色和基于AdaBoost人臉檢測算法各自的優缺點,為了綜合利用二者的優點,盡可能避免單一方法的缺點對檢測結果的干擾,本文首先應用CbCrCg空間下基于最小二乘擬合的膚色聚類模型作為人臉檢測的預處理過程,在減少人臉檢測的搜索范圍同時有效保障避免因為光照等因素造成的人臉膚色漏檢。在經過準確的人臉膚色分割后,待檢測圖像被劃分為含人臉的膚色區域和不含人臉的膚色區域,然后需要進一步將該區域作為輸入圖像依次通過AdaBoost級聯分類器進行人臉檢測,進一步去除膚色區域中的非人臉區域,實現更精確的人臉定位。
3.1 人臉庫的選取
美國FERET人臉庫共包括11338幅人臉圖像,圖像涵蓋了人臉水平方向各個角度的變化。如圖所示為部分人臉圖像:

圖1 美國FERET人臉庫姿態變化圖像
CAS-PEAL-R1人臉庫是由中科院建立的目前亞洲最大的人臉數據庫,共有1040個人的30863幅人臉圖像。其中正面子集包括人臉表情飾物背景光照等變化,非正面人臉子集包括1040個人21個角度姿態變化的姿態子集圖像。

圖2 中科院CAS-PEAL-R1人臉庫姿態變化圖像
在進行AdaBoost訓練之前將所有圖像統一歸一化19×19大小,從而構建了多姿態人臉樣本庫。
3.2 人臉檢測結果
為驗證該方法的有效性,文章從Inter網選取了200張圖像,包括多人臉圖像和單人臉圖像,其中涵蓋了光照,復雜背景,及人臉姿態表情變化等因素。實驗中對這些圖像按照單人臉和多人臉圖像進行分組實驗,實驗結果如圖所示:

圖3 本文方法的檢測效果
實驗基于構建的226張訓練圖像,共計502個人臉,正面人臉397個,平面偏轉人臉105個。分別采用基于直接最小二乘擬合膚色聚類模型人臉檢測方法和基于傳統AdaBoost算法的人臉檢測方法與本文方法進行性能對比,三種人臉檢測方法性能對比情況如表1所示:

表1 三種人臉檢測方法性能對比情況
本文方法通過最小二乘擬合膚色模型與AdaBoost算法的有效結合,有效克服了光照、復雜背景及人臉姿態等因素的影響,最終在復雜環境下實現很好的人臉檢測效果。
本文提出了將膚色檢測與AdaBoost算法結合起來的人臉檢測方法。該方法可以有效解決膚色檢測誤檢率較高和AdaBoost方法漏檢的問題,從而在提高檢測率的同時降低誤檢率,實現更準確的人臉定位。
[1]趙麗紅,劉紀紅,徐心如.人臉檢測方法綜述[J].計算機應用研究,2004(9):1-4.
[2]Yang MH,Kricgman D,Ahuja N.Detecting Faces in Images:A Survey[C].IEEE Trans Pattern Analysis and Machine Intelligence,2002,24(1):34-58.
[3]李剛,高政.人臉自動識別方法綜述[J].計算機應用研究,2003(8):4-9.
[4]梁路宏,艾海舟,徐光佑.人臉檢測研究綜述[J].計算機學報.2002,5(25):449-456.
[5]FreundY,Schapire R E,A Decision-Theoretic Generalization of Online Learning and an Application to Boosting[J].Journal of Computer and System Sciences,1997,55(l):119-139.
[6]Sung K,Poggio T.Example-Based Learning for View Based Human Face Detection[J].IEEE Trans Pattern Analysis and Machine Intelligence,1998,20(1):39-51.
[7]RADIM HAL,J FLUSSER.Numerically Stable Direct Least Squares Fitting of Ellipses[J].The Sixth International Conference in Central Europe on Computer Graphics and Visualization 1998,21(5):125-132.
Face Detection Based on Skin Color and AdaBoost Algorithm
LI Yang1,3,CAO Zhu-ming2,3
(1.College of Software and Communication,Tianjin Sino-German University of Applied Stiences,Tianjin 300350;2.Beijing Electronic Science&Technology Vocational College,Beijing 100029;3.Tianjin University of Technology and Education,Tianjin 300222)
To avoid the illumination and complex background of the multi face detection error detection problem,puts forward a kind of color and AdaBoost algorithm based on the combination of multi face detection algorithm based on skin color clustering model of least squares fitting as the pretreatment process of face detection,firstly applies the CbCrCg space,then need to further transform the area as input the image face detection through AdaBoost cascade classifier,further removal of non face regions in the skin region,finally achieves face location more accurate.
Face Detection;Skin Color;AdaBoost;CbCrCg Space;Least Squares
1007-1423(2017)05-0077-04
10.3969/j.issn.1007-1423.2017.05.018
2016-10-25
201-02-10