基于膚色分割結(jié)合模板匹配的人臉檢測改進方法解析
0 引言
本文引用地址:http://butianyuan.cn/article/199499.htm在人臉檢測領(lǐng)域,人臉特征的選取是基礎(chǔ)與核心。目前主要的人臉檢測方法可以分為基于特征的方法和基于統(tǒng)計的方法兩大類?;谔卣鞯姆椒梢蕴幚磔^大尺度和視角變化的人臉檢測問題,但其最大的困難在于很難找到相對穩(wěn)定的特征,因為圖像的顯示特征容易受到光照、噪聲等的影響;基于統(tǒng)計的方法可以避免特征提取和分析過程,但存在計算量大,以及非人臉樣本收集和樣本訓(xùn)練難的問題。
為此,本文對基于膚色分割結(jié)合模板匹配的人臉檢測方法進行了改進,提出基于“光照預(yù)處理+膚色模型+模板匹配”的人臉檢測解決思路,即在光照預(yù)處理的前提下,利用膚色特征建立膚色模型;根據(jù)膚色模型進行膚色檢測和閾值分割;在對分割區(qū)域特征分析的基礎(chǔ)上,將篩選出的人臉候選區(qū)域與人臉模板相匹配;最后將匹配較好的區(qū)域在原圖像中用矩形框標(biāo)示出來。
1 膚色模型
人臉的膚色不依賴于面部的其他特征,對于人臉姿態(tài)和表情的變化不敏感,具有較好的穩(wěn)定性,而且明顯區(qū)別于大多數(shù)背景物體的顏色。大量實驗證明,不同膚色的人臉對應(yīng)的色調(diào)是比較一致的,其區(qū)別主要在于灰度。人臉的膚色特征主要通過膚色模型來描述。膚色模型是在一定色彩空間描述膚色分布規(guī)律的數(shù)學(xué)模型。本文選用備受青睞的高斯模型。
1.1 色彩空間
一般說來,色調(diào)和飽和度相對亮度來說,是相互獨立的。在不同的光照條件下,雖然物體顏色的亮度會產(chǎn)生很大的差異,但是它的色度在很大范圍內(nèi)具有恒常性,基本保持不變。研究表明,人類的膚色在YCbCr色彩空間的分布相對比較集中(被稱為膚色的聚類特性),不同種族之間膚色的差異主要是由亮度引起,而與顏色屬性無關(guān)。利用此特性,將圖像像素分為膚色和非膚色像素兩類,這樣可以大大提高人臉檢測的效率和正確性。
在YCbCr色彩空間中,Y表示亮度,Cb和Cr是顏色差別信號,代表色度。因此,本文的膚色模型只選用YCbCr色彩空間的Cb和Cr色度分量,并用這兩個分量建立色度分布圖。實驗中,需要先將普遍采用RGB色彩空間描述的圖像轉(zhuǎn)換到Y(jié)CbCr色彩空間。
1.2 建立膚色樣本
建立膚色模型需要使用大量包含不同膚色、不同大小人臉的RGB圖像。本文從互聯(lián)網(wǎng)、人臉庫和日常的生活照中選用了100幅膚色各不相同的人臉圖像,然后從中裁剪出人臉皮膚區(qū)域的一小部分,作為膚色樣本。接著將其從RGB色彩空間轉(zhuǎn)換為YCrCb色彩空間。
經(jīng)過色彩空間轉(zhuǎn)換之后,人臉圖像不可避免地會出現(xiàn)噪聲。本文采用滑動窗口為3×3的二維中值濾波器來去除椒鹽噪聲,并在速度和效果上都取得了很好的結(jié)果。
1.3 建立膚色模型
濾除噪聲后,先用二維高斯分布來描述這種Cb-Cr的色度分布,然后對膚色樣本進行訓(xùn)練,以此得到一個分布中心,再根據(jù)所觀察的像素離該中心的遠近來得到一個膚色的相似度。最后利用均值和方差計算得到高斯分布模型,這就是實驗中的膚色模型。二維高斯分布的表達式為:
2 人臉檢測
2.1 光照預(yù)處理
由于受外界光照環(huán)境的影響,尤其是光源顏色,采集來的彩色圖像經(jīng)常會發(fā)生彩色偏移。本文使用Gray World彩色均衡方法來消除這種彩色偏移。該方法首先通過圖像的R,G,B三個分量中各自的平均值avgR,avgG,avgB確定出圖像的平均灰度值avgGray,然后調(diào)整每個像素的R,G,B值,使得調(diào)整后圖像的R,G,B三個分量中各自的平均值都趨于平均灰度值avgGray。實驗結(jié)果表明,消除彩色偏移能有效提高算法的檢測率和準(zhǔn)確率。
2.2 類膚色檢測
本文算法最為關(guān)鍵的一步便是人體皮膚區(qū)域的粗檢測。檢測方法是計算圖像像素與膚色模型的相似度,這個值描述了像素與膚色的相似程度。相似度計算公式為:
通過計算圖像中每個像素與膚色模型的相似度,生成一幅類膚色灰度圖像,如圖1所示。
2.3 閾值分割
由于人體皮膚區(qū)域的像素與膚色模型的相似程度較高,計算得到的相似度值就比較大,因此在類膚色灰度圖中,皮膚區(qū)域顯得比其他部分更亮。這樣一來,通過選取合適的閾值即可分割出膚色區(qū)域。
本文實驗選擇的閾值以0.1為間隔從0.65逐漸減小到0.05。通過對選擇的相鄰兩個閾值的圖像相減,可以找到分割區(qū)域數(shù)量變化最小的閾值取值點,這個閾值就是最佳闞值。根據(jù)這個閾值,就可以將類膚色灰度圖轉(zhuǎn)換為二值圖。
圖2為轉(zhuǎn)換后的二值圖。
2.4 區(qū)域特征分析
由于閾值分割得到的二值圖中包含多個類膚色區(qū)域,這就需要先對這些區(qū)域進行標(biāo)記,以便逐個處理。為了不影響對人臉整體形狀的檢測,采用形態(tài)學(xué)操作對標(biāo)記后的膚色區(qū)域進行特征分析,以決定該區(qū)域是否包含一個人臉。這些特征主要包括孔洞、質(zhì)心坐標(biāo)、方向角、面積和高寬比。
由于人臉上包含有眼睛、眉毛、鼻子和一張嘴,因此在分割出來的人臉區(qū)域中至少包含一個孔洞,而且人臉的高寬比值通常接近1,這個特征參數(shù)就可以排除掉大部分的非人臉區(qū)域。實驗中的高寬比值限定在0.6~1.2之間,當(dāng)檢測區(qū)域的高寬比值落在該區(qū)間時,則認(rèn)為該區(qū)域是一個人臉候選區(qū)域。
3 模板匹配
模板匹配就是將預(yù)先建立的人臉模板與篩選出來的人臉候選區(qū)域進行相關(guān)性匹配。匹配時,首先根據(jù)候選區(qū)域的大小、質(zhì)心坐標(biāo)和方向角度調(diào)整人臉模板的尺寸、方向和位置,然后才進行匹配。預(yù)先建立的人臉模板如圖3所示。首先用16個不同的人臉灰度圖像計算得到一張平均臉,然后從中分割出人臉的主要部分,作為實驗中使用的人臉模板。
模板匹配常用的一種測度為模板與原圖像對應(yīng)區(qū)域的誤差平方和。確定這個值的一種方法便是使用歸一化互相關(guān)系數(shù)(以下簡稱相關(guān)系數(shù))。
兩個圖像矩陣的相關(guān)性匹配通過計算式(3)得到:
經(jīng)過多次測試發(fā)現(xiàn),當(dāng)相關(guān)系數(shù)取值大約為0.6時,兩個矩陣匹配較好。如果人臉模板矩陣和人臉候選區(qū)域矩陣的相關(guān)系數(shù)是0.6或者更高,則認(rèn)為該區(qū)域包含一個人臉。測試完所有的膚色區(qū)域后,在原圖中用矩形框標(biāo)示檢測到的每個人臉。檢測結(jié)果如圖4所示。
4 結(jié)語
實驗中用包含有60個不同人臉(包括黑人、白人和黃色人種)的20幅圖像對算法進行測試,其中相關(guān)系數(shù)和高寬比值都選擇最佳值。測試結(jié)果表明,本文算法對實際生活中人臉圖像的正確檢測率達到了84%,對姿態(tài)和表情同樣具有較高的魯棒性,基本上達到了預(yù)期的目標(biāo)。
評論