林景亮,唐 杰
(廣西師范大學(xué) 職業(yè)技術(shù)師范學(xué)院,廣西 桂林 541004)
人臉檢測作為人臉信息處理的一個重要內(nèi)容,在人臉識別中占有非常重要的地位。目前,人臉檢測的主要方法一般有4類:(1)基于知識的自頂向下方法。用先驗知識把人臉歸結(jié)成一些復(fù)雜程度由簡至繁的規(guī)則,如眼睛對稱,灰度圖像中眼睛區(qū)域要比其他地方暗等,然后根據(jù)這些特點進(jìn)行判別;(2)基于人臉特征的自底向上方法。用各種方法對圖像進(jìn)行處理提取某些特征,然后利用此特征與人臉共性特征進(jìn)行比較來判斷是否為人臉,如輪廓、紋理等;(3)基于模板匹配的方法。首先建立并存儲一些人臉模板作為標(biāo)準(zhǔn),利用算法計算待檢測區(qū)域與模板的相似度或相關(guān)性,確定其是否為人臉;(4)基于人臉外觀(表象)的方法。利用大量人臉的整體外觀,用結(jié)構(gòu)化方法來訓(xùn)練人臉檢測分類器,如神經(jīng)網(wǎng)絡(luò)、支持向量機(jī)(SVM)等。
膚色是人臉的重要信息,不依賴人臉的細(xì)節(jié)特征,對旋轉(zhuǎn)、表情等具有相對穩(wěn)定性,且在圖像像素比較低的情況下都能使用,這是基于Haar特征的方法所不具有的。但在多人情況下,基于Haar特征的方法卻有很好的檢測效果。本文結(jié)合兩種方法的優(yōu)點,提出了一種融合膚色和Haar特征的人臉檢測方法。
對于彩色人臉圖像,人的膚色經(jīng)常會受到環(huán)境的影響而在整體上偏離本質(zhì)色彩向某一方面移動,圖像在生成、傳輸?shù)冗^程中也會受到各種噪聲源的干擾而使圖像質(zhì)量變差。為此,在建立膚色模型前需利用光線補(bǔ)償來抵消圖像的色彩偏差并且通過平滑處理來消除圖像的噪點。
平滑處理可以用加權(quán)平均的方法消除。設(shè)圖像大小為 H×W,g(x,y)為圖像上任意一點坐標(biāo),以該點為中心取出一個n×n的窗口(鄰域),經(jīng)平均后輸出的該中心像素灰度值為 g*(i,j),并設(shè)加權(quán)平均數(shù)以 M(i,j)表示,則加權(quán)鄰域平均表示為:
通常n越大平滑效果越好,但計算量也越大,考慮到這兩方面,本文采用的鄰域為3×3的窗口。經(jīng)過預(yù)處理后就可以獲得質(zhì)量較好的圖像。為了避免在RGB色
將AdaBoost算法與基于積分圖的Haar-like特征結(jié)合起來實現(xiàn)對人臉檢測的方法是2001年由VIOLA P和JONE M首先提出的[4]。該方法用Haar-like特征表示人臉,采用“積分圖”實現(xiàn)特征值的快速及時提取,同時利用AdaBoost機(jī)器學(xué)習(xí)算法訓(xùn)練最能代表人臉的矩形特征 (弱分類器),按照加權(quán)投票的方式構(gòu)造成強(qiáng)分類器,再用級聯(lián)的方式將多個分類器組成更為復(fù)雜的分類器,從而快速排除背景區(qū)域來獲取人臉。典型的Haar-like特征如圖3所示。
2002年 LIENHART R等人[5]將 Haar特征進(jìn)行了擴(kuò)彩空間中色度信息和亮度信息混合在一起對膚色分割不利,參考文獻(xiàn)[1]直接使用RGB色彩空間通過線性變換得到的YCbCr色彩空間進(jìn)行膚色聚類。但簡單地排除Y分類在二維的Cb-Cr子平面中尋求膚色的聚類區(qū)域是不可行的,需對YCbCr色彩格式進(jìn)行非線性分段色彩變換,以得到Y(jié)CbCr色彩空間[2]。
基于膚色模型,對圖像進(jìn)行膚色分割,如圖1所示,將非膚色的區(qū)域和膚色區(qū)域分開。但在背景復(fù)雜的圖像中,與膚色相似的區(qū)域非常多且形狀大小不一。為了降低誤檢率,本文使用了快捷有效的人臉區(qū)域分割算法[3]進(jìn)行處理。此外,為了提高人臉區(qū)域提取算法的速度,本文采用掃描的方法對圖像進(jìn)行遍歷,將與非膚色像素點相鄰的膚色像素點提取出來作為膚色區(qū)域的邊界。顯然,經(jīng)過了膚色分割以及去噪處理后的圖像提取出來的邊界都是各自閉合的,其點與點之間的相鄰關(guān)系遵循四連通原則。為了獲得準(zhǔn)確的人臉區(qū)域,還需對其進(jìn)行歸并處理:對于大矩形內(nèi)部的小矩形,用大矩形將其包含;對于兩個相交的矩形,用一個大的矩形將其包含。經(jīng)過歸并處理后,最終輸出的矩形就是人臉區(qū)域,如圖2所示。展,引入了旋轉(zhuǎn)特征,擴(kuò)展了目標(biāo)識別的手段,且擴(kuò)展后的Haar特征同樣適用于積分圖計算。積分圖計算即在圖像處理的初期建立一個積分圖像(Integral Image),它是一種數(shù)字圖像表示方法,對于任意像素點 P(x,y),積分圖就是其左上方所有像素灰度值之和:
利用式(2)、式(3)遍歷圖像便可以計算出整個積分圖矩陣,各區(qū)域的計算為:1點的數(shù)值是矩形A的像素和,2點的數(shù)值是A+B,3點的數(shù)值是 A+C,4點的數(shù)值是 A+B+C+D。所以D區(qū)域的像素和為4+1-(2+3),如圖4所示。
獲得積分圖的矩形特征,利用AdaBoost對其進(jìn)行訓(xùn)練來構(gòu)建強(qiáng)分類器,具體算法流程可參考文獻(xiàn)[4]。每層的強(qiáng)分類器經(jīng)過閾值調(diào)整,被上層分類器錯誤接受的非人臉應(yīng)被下層分類器正確地排除,同時保證人臉通過所有的分類器來提高檢測率。對于人臉檢測,AdaBoost選擇權(quán)重最高的幾個矩形特征。第一個特征關(guān)注的是包含眼睛的區(qū)域總是比鼻子和面頰的矩形區(qū)域亮度上更暗(亮度值小于某個閾值)。這個特征與人臉大小以及位置無關(guān)。第二個特征表示的是眼睛所在的區(qū)域總是比鼻梁所在的區(qū)域亮度更暗。
基于Haar特征的方法是目前人臉檢測最有效的方法之一,但亦存在著幾個明顯的缺點:(1)對于背景中與人臉結(jié)構(gòu)類似的物體常被誤檢為人臉;(2)對于有遮擋的不完整人臉常被漏檢;(3)對于圖像像素較低的圖像漏檢情況非常嚴(yán)重,甚至出現(xiàn)無法檢測的現(xiàn)象。
膚色信息作為人臉的重要特征,不但可以用于人臉檢測的前期預(yù)處理,還能作為后驗證方法來排除錯檢的非人臉區(qū)域。在圖像像素較低時,基于膚色模型的方法依然具有很好的魯棒性,且對人臉姿態(tài)、表情等具有很好的穩(wěn)定性。但由于區(qū)域分割使用了歸并處理,在多人圖像人臉靠得比較緊密時,其漏檢和錯檢的概率大大增加。而基于Haar特征的方法卻能在多人檢測時表現(xiàn)出良好的檢測性能。文本基于膚色模型和Haar特征的兩種方法的優(yōu)點,提出了一種融合兩種方法且用膚色進(jìn)行后驗證處理的新方法。算法步驟如下:
(1)輸入圖像;
(2)判斷圖像像素Ω;
(3)若像素 Ω〈閾值 δ,則進(jìn)行膚色檢測,輸出檢測結(jié)果,檢測結(jié)束;
(4)若像素 Ω〉閾值 δ,則進(jìn)行 Haar特征檢測;
(5)膚色后驗證,輸出檢測結(jié)果,檢測結(jié)束。
該算法在檢測之前首先對圖像像素數(shù)進(jìn)行判斷,對于像素較低的人臉圖像,使用基于膚色模型的方法進(jìn)行檢測。此外,對單人和多人圖像用進(jìn)行人工分類,使用基于Haar特征方法對多人人臉圖像進(jìn)行檢測。在輸出檢測結(jié)果前,用膚色信息進(jìn)行后驗證處理,排除錯檢的非人臉區(qū)域,從而得到最終輸出的人臉矩形區(qū)域。
本文在Intel(R)Core(TM)2 Duo T5670@1.80 GHz CPU,2 GB內(nèi)存,Windows Vista Home Basic 32位操作系統(tǒng)環(huán)境下,使用VS C++2008進(jìn)行編程,在 Caltech Faces 1999 Databas人臉檢測庫和自建人臉庫上進(jìn)行實驗。
不同像素下的檢測結(jié)果如圖5所示。實驗利用Caltech Faces 1999 Databas進(jìn)行測試時,基于膚色模型的方法檢測率達(dá)到100%,基于Haar特征的人臉檢測方法檢測率亦高達(dá)100%,但同時有6%的誤檢率,且其中有8張圖片出現(xiàn)重復(fù)檢測的現(xiàn)象,如圖5(a)所示。當(dāng)將圖片像素減低時,如從 896×592變換為 300×264,基于 Haar特征的方法無法檢測人臉區(qū)域,如圖5(d)所示,而基于膚色模型的方法卻能準(zhǔn)確檢測,如圖5(c)所示,這也證明了本文利用基于膚色模型的方法檢測低像素圖像人臉區(qū)域的可行性。
為了進(jìn)一步驗證算法在不同像素下對人臉圖像的檢測情況,在Caltech Faces 1999 Databas中隨機(jī)選用8張圖像,將每一張圖像像素值修改為 50×50、100×100、200×200、250×250 和 300×300 5種格式共 40 張圖像,此外還收集了10張不同人數(shù)和背景的多人圖像進(jìn)行實驗,實驗結(jié)果如表1所示。由實驗結(jié)果可見,本文算法的總體檢測結(jié)果明顯優(yōu)于參考文獻(xiàn)[4]中的方法。
表1 不同檢測方法的實驗結(jié)果
本文針對彩色圖像提出了一種融合膚色和Haar特征的人臉檢測方法。這種方法綜合利用了人臉的膚色信息和基于Haar特征的正面人臉結(jié)構(gòu),組成了一個能用于低像素圖像和單人、多人圖像下的有效檢測方法。該方法在Caltech Faces 1999 Databas人臉檢測庫實驗和低像素圖像實驗中都取得了良好的檢測效果,但由于沒有有效的多人人臉檢測庫,本文自建庫多人樣本有限。下一步的工作,將致力于復(fù)雜背景下對人臉區(qū)域快速有效的檢測方法研究。
[1]SINGH S K,CHAUHAN D S,VATSA M,et al.A robust skin color based face detection algorithm[J].International Tamkang Journal ofScience&Engineering,2003,6(4):227-234.
[2]HSU R L,MOTTALEB M,JAIN A K.Face detection in color images[C].IEEE Transactions on Pattern Analysis and Machine Intelligence,2002,24(5):696-706.
[3]求實科技,張宏林.精通Visual C++數(shù)字圖像模式識別技術(shù)及工程實踐[M].北京:人民郵電出版社,2008.
[4]VIOLA P,JONES M.Robust real-time object detection[J].International Journal of Computer Vision,2002,57(2):137-154.
[5]LIENHART R,MAYDT J,An extended set of Haar-like features for rapid object detection[C].IEEE ICIP 2002,2002,1(9):900-903.