劉在英,朱琳玲,楊 平
(上海杉達學院信息科學與技術(shù)學院,上海 201209)
人臉檢測作為人臉信息處理的重要內(nèi)容,已廣泛應(yīng)用于視頻監(jiān)控等諸多領(lǐng)域。目前的人臉檢測算法總體上分為基于顯性特征的方法和基于隱性特征的方法?;陲@示特征[1-2]的方法是指由人通過肉眼觀察,總結(jié)出人臉的特征,如膚色、臉部輪廓等,然后根據(jù)被檢測區(qū)域是否滿足這些人臉特征來判定該區(qū)域是否包含人臉。而基于隱式特征的方法將人臉區(qū)域看成一類模式,使用大量人臉、非人臉樣本訓練[3-4],構(gòu)造分類器,通過判別圖像中所有可能區(qū)域是否屬于人臉模式的方法來實現(xiàn)人臉檢測。由于基于顯性特征的人臉檢測速度快、易于實現(xiàn),已有多種算法,但面臨的主要問題是對于背景復雜,待檢測圖片上人臉大小不一等情況,其檢測率較低。為此,本文提出一種改進的基于膚色模型和中線定位的人臉檢測算法。
膚色特征[5]是人臉檢測中可以應(yīng)用的一個重要特征,對于膚色檢測,目前國內(nèi)外提出了很多膚色空間模型,主要包括HIS、YCrCb和RGB空間比率等模型。復雜背景是膚色檢測中不可回避的一個問題,這些類膚色區(qū)域若不能很好地被排除,后續(xù)的檢測工作將很難進行。主要的類膚色包括:黃色,橙色,紅色等。文獻[6]提出進行類膚色區(qū)域排除的方法,但使用類似方法進行膚色檢測會增加候選區(qū)域。本文采用RGB空間分布模型[7],可以較好地克服上述缺點,大大減少類膚色區(qū)域。實際上,人臉膚色模型中的R值一定會超過70,這是因為人的膚色會表現(xiàn)出血液的顏色,所以可以通過R的不同取值范圍來調(diào)整G、B以及三者之間的差值,以獲得真正的膚色區(qū)域。判定方法如下:
其中,P( x, y)是圖像某點的像素值。膚色區(qū)域判定條件如圖1所示。若圖像中某一像素的R、G、B3個分量以及它們之間的差值全部滿足圖中某一行的限定范圍,則認為該點為膚色點。
圖1 膚色區(qū)域判定條件
人臉檢測是一個比較精細的過程,因此,對于前期的處理工作和后期的判別定位同等重要。
前期處理部分是人臉檢測的初步準備階段,首先通過預(yù)處理操作獲得處理后的圖片,此時的圖片被分為了很多個候選區(qū)域,再憑借人臉的特征把預(yù)處理后圖片的非人臉膚色區(qū)域排除掉。
前期處理操作主要根據(jù)人臉的一些顯性特征入手,這里面主要采用的顯性特征包括臉部的孔洞特征、長寬比特征、面積大小以及邊緣檢測后人臉部分的變化劇烈程度特征等。
3.1.1 孔洞區(qū)域的取得與判定
人臉檢測流程如圖2所示。
圖2 人臉檢測流程
各個特征判定條件的參數(shù)選取可以通過圖 2獲得。由于人臉的五官特征,經(jīng)過處理后的圖片,人臉部分會出現(xiàn)很多的孔洞[8],它們分別對應(yīng)人的雙眼、鼻子、嘴部,通過該特征可排除大部分非人臉膚色區(qū)域。得到空洞區(qū)域的操作流程如下:
(1)將膚色檢測后的圖片進行開操作,分離膚色區(qū)域,然后對各個區(qū)域進行孔洞填充。
(2)對原始圖像(灰度)用 Canny算法進行邊緣檢測,找到圖像中的邊緣部分,因為人臉的五官與周圍的膚色反差很大,所以在人臉部分將會形成一個邊緣區(qū)域。
(3)對步驟(1)和步驟(2)的處理結(jié)果進行一個與操作,以獲得膚色區(qū)域的內(nèi)外圍邊界。
(4)去掉步驟(3)中各個候選區(qū)域的外層邊緣,然后再統(tǒng)計各個候選區(qū)域內(nèi)的孔洞數(shù),在統(tǒng)計孔洞的時候,可以采用行掃描的方法,看其是否出現(xiàn)0到1、1到0的變化(指灰度圖象中像素值的變化),若出現(xiàn),則認為該區(qū)域存在空洞。
3.1.2 其他判定特征說明
人臉部分由于五官的影響,其區(qū)域內(nèi)部變化會很劇烈,這個特征是其他膚色區(qū)域和類膚色區(qū)域所不具備的。它的實現(xiàn)過程可以添加到空洞判別過程的步驟(3)中,作為空洞特征一個很好的補充[9]。
臉部長寬比例和面積大小特征是在孔洞填充后采用的,這種方法比較普遍,其參數(shù)的選取規(guī)則如下:
(1)長寬比例特征
人臉通常是橢圓形的,對于一個正面或是稍微傾斜的人臉而言,其長寬的比值是>1的,因此,可通過長寬比來排除一些不符合條件的區(qū)域,本文采用的比例關(guān)系是0.7~2.0,在此范圍之內(nèi)的區(qū)域被保留。
(2)面積大小特征
人臉檢測作為人臉識別的前提,研究不能分辨人物特征的人臉是沒有價值的,所以,在檢測的過程中要把過小的候選區(qū)排除,能被分辨出人物特征的人臉大小應(yīng)在20×20像素以上,因此,面積的閾值設(shè)定為400,只有大于該閾值的區(qū)域才被保留。
本文采用“中線定位”的方法,該法主要利用人臉五官附近在邊緣檢測后會出現(xiàn)很大的邊緣特征[10],通過在水平方向上的投影,得到連續(xù)的非 0區(qū)域峰值。在一個正面或是傾斜的人臉上面,在邊緣檢測后,沿著鼻子和嘴的投影值最大,利用該特性可以確定人臉的中線位置。其確定過程如下:
(1)首先進行水平投影,然后確定最大水平投影值的位置,表達式為:
其中,Hi表示第i個區(qū)域的水平投影數(shù)組;cen( w)表示取得最大的投影值,它對應(yīng)的實際橫坐標為3×w。
(2)孤立極點的消除,規(guī)則為:
(3)由于鼻子與嘴都有一定的寬度,因此為了保證中線位置的中心性,對中線位置進行微調(diào):
(4)嘴和鼻子的寬度的確定:中線的周圍會有很多的亮點,對應(yīng)鼻子和嘴邊緣檢測結(jié)果,以中線為中心,從該區(qū)域的頂端開始到底端,水平在(w?5,w+5),高度為 5個像素的范圍內(nèi)的積分,找到積分最大值max_mouth,若積分最大值左右的積分值大于0.5×max_mouth,則認為這個位置就是嘴的水平坐標,否則認為此點是噪聲,應(yīng)去除,重新取得最大值。確定嘴和鼻子的寬度(w_mouth)的方法與嘴的橫坐標的確定方法相似,只要改變水平積分為范圍即可。
(5)通過得到的嘴的寬度來確定人臉的高度,w_face=w_mouth×2,這樣人臉的粗略位置已經(jīng)得到定位。
(6)按照左、右、上、下的順序進行微調(diào):
其中,top、bottom、left、right表示初步定位的人臉的上部、下部、左部和右部;Higi表示第i個候選區(qū)域的人臉的高度;area表示人臉初步定位區(qū)域的水平積分值。同理,對其他3個邊界進行微調(diào)。
(7)重新獲得人臉的4個邊界,對定位好的人臉進行最后的驗證:
If((right?left)/(bottom ?top)>1.5||(right?left)×(bottom ?top)< 400)
清除標記區(qū)域內(nèi)的亮點,返回步驟(4),進行二次掃描重新得到嘴和鼻子的寬度以及嘴的橫坐標。
else 返回步驟(1)進行下一個候選區(qū)域的人臉定位。
在實驗中,人臉圖像主要來源于 Internet,包括不同環(huán)境、不同復雜背景的人臉圖像,圖像大小范圍從120×120像素到600×480像素不等,中線定位法檢測結(jié)果如圖3所示。
圖3 中線定位法檢測結(jié)果
本文對50幅黑色頭發(fā)單人臉圖像,50幅棕色頭發(fā)單人臉和80幅多人臉(共200張人臉)進行測試,測試系統(tǒng)是基于Microsoft Visual C++6.0和Matlab 6.5編程實現(xiàn),在Intel酷睿2.8 GHz雙核CPU、2 GB內(nèi)存的機器上運行,單人臉檢測結(jié)果(棕發(fā))、單人臉檢測結(jié)果(黑發(fā))、多人臉檢測結(jié)果的平均檢測速度分別為39 ms/幀、39 ms/幀、41 ms/幀,實驗結(jié)果如表1所示。
表1 本文算法的檢測率、漏檢率和誤檢率 (%)
由表1可知,該算法能實現(xiàn)多姿態(tài)人臉的快速檢測,且定位率較高。但隨著圖像中人臉數(shù)目的增加,人臉提取算法錯誤率上升,其原因是隨著人臉數(shù)目的增加,人臉面積會變小,人臉五官特征會模糊,預(yù)處理的部分算法會失效,導致人臉候選區(qū)域被排除。
本文提出一種基于膚色模型和中線定位的人臉檢測算法。采用基于膚色模型的預(yù)處理技術(shù)排除非人臉區(qū)域,對圖像進行邊緣檢測與腐蝕操作,在此基礎(chǔ)上,采用中線定位法進行人臉的檢測與定位。實驗結(jié)果表明,該算法對于不同的人臉具有較高的檢測率,較強的魯棒性,且檢測速度快,基本達到實時人臉檢測的要求。下一步的工作重點是將其與基于隱性特征的方法結(jié)合,進一步提高檢測率,并在大規(guī)模樣本庫中進行仿真驗證。
[1]Hu Wu-Chih, Yang Ching-Yu, Huang Deng-Yuan, et al.Feature-based Face Detection Against Skin-color Like Backgrounds with Varying Illumination[J].Journal of Information Hiding and Multimedia Signal Processing,2011, 2(2): 123-132.
[2]章毓晉.圖像理解與計算機視覺[M].北京: 清華大學出版社, 2000.
[3]驅(qū)仕茹, 熊 波.基于 Gabor濾波和神經(jīng)網(wǎng)絡(luò)的人臉檢測方法研究[J].西北工業(yè)大學學報, 2011, 29(5): 690-694.
[4]梁路宏, 艾海舟, 徐光佑, 等.人臉檢測研究綜述[J].計算機學報, 2002, 25(5): 449-458.
[5]Yang Ming-Hsuan, Driegman D J, Ahuja N.Detecting Faces in Images: A Survey[J].IEEE Transactions on Pattern Analysis and Machine Intelligence, 2002, 24(1):34-58.
[6]Chiunhsiun L, Fan Kuo-Chin.Triangle-based Approach to the Detection of Human Face[J].Pattern Recognition,2001, 34(6): 1271-1284.
[7]侯建黨.復雜背景下的多人臉檢測[D].大連: 大連理工大學, 2007.
[8]黃福珍, 蘇劍波.人臉檢測[M].上海: 上海交通大學出版社, 2006.
[9]王文寧, 李慧嫻.一種基于顏色和形狀特征的人臉檢測方法[J].計算機系統(tǒng)應(yīng)用, 2008, 32(7): 58-61.
[10]Hsu R L, Abdel M M, Jain A K.Face Detection in Color Images[J].IEEE Transactions on Pattern Analysis and Machine Intelligence, 2002, 24(5): 696-706.