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