顧偉,劉文杰,朱忠浩,許凱
一種基于膚色模型和模板匹配的人臉檢測算法
顧偉,劉文杰,朱忠浩,許凱
近年來,隨著人機識別技術的日益發展,人臉檢測問題越來越受到重視,而人臉檢測技術的關鍵在于準確率和檢測速度。為了有效提高人臉檢測的效率,提出了一種基于膚色分割和模板匹配算法的人臉檢測方法。首先,建立顏色模型,利用顏色信息對圖像進行粗檢測,得到粗檢測結果,然后,采用模板匹配技術確定人臉。該算法克服了單用模板匹配法的時間延遲,提高了檢測精度和速度。
人臉檢測;膚色模型;模板匹配
人臉檢測是人臉識別技術[1]的第一步,是模式識別領域和計算機視覺方向的重要研究課題和研究熱點之一。人臉檢測的要求是判斷圖像中是否存在類似人臉的區域,若有則進一步確定人臉的位置、方向等屬性。傳統的人臉檢測技術多用單一方法,一般要求背景簡單,人臉姿態變化幅度不大,主要的方法有:模板匹配法[2][3],基于統計特征的方法[4]及人工神經網絡[5]等。簡單的模板匹配法早已證明是不能很好地解決尺度、姿態和形狀變化等問題,它的改進方法—可變模板法可以較好地解決上述問題,但這種方法最大的缺點是對初始位置的敏感。基于特征的方法是比較從圖像中抽取的一定特征的相似性,用匹配的方法進行檢測,但是特征的提取有一定困難。利用人工神經網絡方法能得到較好的檢測效果,但是人工神經網絡需要大量的訓練樣本,而且學習時間長。有研究指出同種人的皮膚顏色有一定的特性,與其他物體的顏色分布有較明顯的差異,并且顏色不隨物體大小、姿態而變化,因此利用膚色聚類特性建立模型對人臉圖像進行粗定位,成為了目前人臉檢測與跟蹤領域的主流方法。當然僅僅利用膚色模型進行人臉檢測是不夠的,因為自然界存在著大量與人臉膚色類似的物體,因此幾乎所有采用了膚色特征的方法都需要利用其他的人臉特征做進一步驗證。本文采用了一種膚色模型與模板匹配技術相結合的算法[6],首先建立合適膚色模型,根據膚色模型對圖像進行分割,然后根據模板匹配方法定位人臉位置,算法流程如圖1所示:

圖1 算法流程
1.1 膚色模型的建立[8]
光在頻域分布中的不同波段對應了各種顏色,光譜中可見區域段光是人可以感知到的顏色。當我們將兩種不同的顏色按一定比例混合可以生成另一種顏色,通過混合3種不同的顏色我們就可以得到我們想要的顏色,這就是三基色顏色模型的基本原理。顏色模型有很多種,顏色空間的轉換常用的顏色模型主要有:RGB、YCrCb、HSI、YUV等。
為了把人臉區域從整個圖像中分割出來,需要建立對于不同膚色和光照條件下具有一定魯棒性的膚色模型[9],常用的RGB色彩空間不適合用來建立膚色模型,因為在RGB空間中三基色(r、g、b)不僅代表顏色,還表示了亮度,周圍環境光照的變化會使人臉的檢測變得更加復雜,因此RGB色彩空間用于膚色分割過程是不可靠的。為了建立可用于膚色分割的色彩模型,需要把顏色表達式中的色度和亮度信息分開,這樣就能利用膚色的聚類特性進行膚色分割。本文選用YCrCb空間作為膚色分布統計的映射空間,在YCbCr色彩空間中膚色聚類特性比較好,受光照亮度的影響較小,并且是二維獨立分布,能較好地限制膚色區域的分布。YCrCb顏色模型共有三個分量,其中Cr分量和Cb分量分別表示紅色色度和藍色色度,并且YCrCb顏色模型將亮度信息分離了出來。YCrCb顏色模型與RGB色彩空間具有線性關系,可以由RGB模型換算得到,因此YCrCb顏色模型在圖像分割領域得到了廣泛的應用。因此降低光照對膚色分割的影響,本文采用YCrCb顏色模型[10]。
首先對目標圖像進行顏色空間轉換,將目標圖像由常用的RGB空間轉換到亮度與色彩獨立的YCrCb空間,轉換公式如公式(1):

有研究指出[11]:盡管不同人的膚色可能有很大的不同(尤其是不同的人種之間),但相對于它們在亮度上的差異而言,它們在色度上的差異要小得多,也就是說對于不同的人,他們的膚色在色度值上很接近,而在亮度值上差異較大,因此可以歸納為不同人的膚色滿足2D Gaussian模型如公式(2):

1.2 基于顏色模型的粗檢測
膚色模型建立以后,首先根據膚色模型,將目標圖像轉換到YCrCb色彩空間,然后根據相似度計算公式判斷目標圖像的每一個像素與膚色的相似度,相似度計算公式如如公式(3):

計算相似度后,通過選取合適的閥值,將相似度計算得到的灰度圖像進一步轉換為二值圖像,二值圖像中0表示屬于膚色,1則表示屬于非膚色區域。
由于存在噪聲干擾,得到的二值圖像一般存在邊緣模糊的現象,并且由于人臉中存在眼睛、眉毛、嘴等非膚色部分,使得二值圖像中人臉往往沒有被完全填充,為了降噪、增強邊緣以及眉眼等非膚色器官的影響,需要對二值圖像做進一步的預處理,每一步的處理結果分別如圖2所示:

圖2 膨脹腐蝕處理后的圖像
在自然界中,有可能存在著很多和人類皮膚顏色相似的物體,因此在復雜背景下,預處理后的二值圖像中可能存在著手、胳膊等非人臉區域,為了降低后續處理的難度,根據人臉的幾何特征對目標圖像做進一步的處理,如剔除一些很小的區域和一些狹長型的區域,提高檢測結果的精度。
2.1 模板匹配算法
模板匹配是機器識別領域常用的方法。所謂模板匹配就是在目標圖像中搜索與已知模式相匹配的結果。
模板匹配過程如下:設模板為T,目標圖為S,以圖來形容模板匹配的過程就是將模板T放在目標S上進行平移,此時,將模板T覆蓋的目標圖S上的區域稱為子圖j為子圖的左上角象素點在目標圖S中的坐標,稱為參考點,如圖3所示:

圖3 模板匹配過程

將公式(4)展開如公式(5):


對公式(6)進行歸一化處理如公式(7):

2.2 生成模板[13]
本文構造模板的方法是選取多個樣本并取平均的方法,首先選取大量的人臉圖像(本文使用的是芬蘭奧盧大學的人臉庫,該人臉庫包含不同光照及不同膚色的125個人的人臉圖像共兩千多幅),根據經驗在選擇的每個人臉圖像中劃出人臉的區域作為人臉的樣本。通過這種方法得到的人臉樣本存在不一樣的尺度和不同的灰度分布,因此第二步需要對樣本作灰度分布標準化和尺度變換,最后將所有樣本壓縮到指定的尺度并取灰度平均,這樣就得到了原始模板。得到原始模板之后的主要工作是尺度變換和灰度分布標準化。
圖像的灰度分布有兩個參量,分布是灰度平均值和方差,為了消除采集樣本時光照等因素對圖像的影響,我們將這兩個參量設置為給定的值,這樣就將灰度平均均值和方差兩個關鍵特征一致化。我們認為這種灰度分布標準化方法比常用的直方圖均衡化方法更為有效。對于尺度變換,我們采用基于線性插值的重采樣方法,具體操作本文不再贅述。

圖像的灰度分布方差由公式(9):

對每個樣本圖像做如下變換,將每個樣本圖像的灰度平均值和方差變換到事先設定的灰度平均值和方差如公司(10):

2.3 基于模板匹配的細檢測[14]
在利用膚色模型粗檢測之后,將檢測到的膚色區域灰度標準化,然后進行相似度計算。設輸入圖像區域的灰度矩陣為R[M][N],其灰度均值和均方差分別為和模板的灰度矩陣為T[M][N],其灰度均值和均方差分別為和則兩者之間的相關系數和對應象素灰度值的平均偏差可以表示為公式(11)、(12):


其中α為權重系數,經驗值為35。
我們使用本文的算法進行了實驗測試,實驗所用的樣本圖像來源于相機拍攝及網上下載的各種圖像,樣本圖像涵蓋了不同環境、不同背景的各種人臉圖像,實驗證明該算法檢測速度和準確性都較好如圖4所示:

圖4 多人臉圖像檢測結果
圖4(a)、圖4(b)為單人臉圖片的檢測結果,圖4(c)為復雜背景下多人臉圖片的檢測結果,圖中正常姿態人臉均能被準確檢測,僅有少量人臉由于姿態變化較大或重要部分被遮擋沒能被檢測出來,根據實驗結果統計,正確率達到97.3%。
對于實用的人臉檢測算法,不但要有很高的準確率,對于檢測速度也有很高的要求。傳統的模板匹配算法中,匹配度的計算是最占用時間的。本文算法結合了膚色模型粗檢測,只對膚色區域作匹配,這樣大大減少了匹配區域,提高了檢測速度。傳統模板匹配法和本文所述算法的數據比較,所述算法在正確率和效率上都得到了較大提升,如表1所示:

表1 兩種算法實驗數據對比
本文描述了一種膚色模型與模板匹配算法相結合的人臉檢測算法, 這種算法利用膚色特性,縮小了模板匹配的區域,提高了檢測效率,且不受光照條件和面部表情變化的影響,檢測精度較高,具有很好的魯棒性。
[1] 楊萬振.人臉識別技術概述[J] .計算機光盤軟件與應用.2012(05) .
[2] Yang G.Human Face Detection in a Complex Background.[J]Pattern Recognition.1994,27(10):53-63.
[3] Hao Li,Hai-Bin Duan,Xiang-Yin Zhang. A novel image template matching based on particle filtering optimization[J]. Pattern Recognition Letters . 2009 (13)
[4] Sung K.Poggio T.Example-based learning for view-based human face detection: [J]IEEE Trans pattern Analysis and Machine Intelligence.1998,18(1):39-51.
[5] Rowley H A, Baluja S, Kannde T.Neural network based face detection[J]:IEEE Trans on PAMI, 1998,20(1):23-28.
[6] 朱正平,孫傳慶,王陽萍.基于膚色與模板匹配的人臉檢測的方法研究[J].自動化與儀器儀表,2008,2008( 6) :91-93,105.
[7] 王紅,韓宇星.膚色信息在人臉檢測中的應用[J].計算技術與自動化.2008(04)
[8] 李嵐,朱林杰,張云.膚色與梯度互補的人臉檢測研究[J].計算機應用與軟件,2013,30(2):280-282.
[9] 李智勇,田貞.基于膚色模型的人臉檢測研究[J].現代電子技術.2011(03)
[10] 張爭珍,石躍祥.YCgCr顏色空間的膚色聚類人臉檢測法[J].計算機工程與應用,2009,45(22):163-165.
[11] Yang J, Lu W, Waibe A. Skin-color modeling and adaptation[R]. Pittsburgh:CMU-CS, 1997. 97-146.
[12] .梁路宏,艾海舟,何克忠等.基于多關聯模板匹配的人臉檢測[J].軟件學報,2001,12(1):1784-1792.
[13] 由霖,修春波.基于模板匹配的目標識別算法[C].2011年中國智能自動化學術會議論文集(第一分冊).2011.
[14] 盧緒軍,趙勛杰.一種基于膚色和模板匹配的人臉檢測方法[J].計算機應用與軟件.2011(07)
A Face Detection Method Based on Skin-Color Model and Template Matching
Gu Wei1,2, Liu Wenjie1,2, Zhu Zhonghao2, Xu Kai2
(1.Jiangsu Engineering Center of Network Monitoring, Nanjing University of Information Science & Technology, Nanjing 210044, China; 2. School of Computer & Software, Nanjing University of Information Science & Technology, Nanjing 210044, China)
Nowadays, with the development of face identification technology, face detection has been paid more and more attention. The key of face detection technology is accuracy and detection speed. In order to effectively improve the efficiency of face detection, we proposed a method of face detection which based on skin-color model and template matching. First we set up the skin-color model and detect the image by the color information roughly, and then we can identify the face by template matching. This method improves the disadvantage of traditional template matching method and increase the accuracy and speed of the detection.
Face Detection; Skin-Color Model; Template Matching
TP391
A
1007-757X(2014)07-0013-04
2014.07.20)
國家自然科學基金青年科學基金(61103235);南京信息工程大學教改課題(12JY041);南京信息工程大學實驗開放項目(13KF037)
顧 偉(1983-),男,南京信息工程大學計算機與軟件學院,實驗師,碩士研究生,研究方向:模式識別與圖像處理,南京 210044劉文杰(1979-),男,南京信息工程大學計算機與軟件學院,副教授,博士,研究方向:智能計算、網絡計算、量子算,南京 210044朱忠浩(1990-),男,南京信息工程大學計算機與軟件學院,在校大學生,研究方向:計算機科學與技術,網絡工程,南京 210044許 凱(1993-),男,南京信息工程大學計算機與軟件學院,在校大學生,研究方向:計算機科學與技術,網絡工程,南京 210044