周品 李先祥
基于膚色分割的人臉檢測算法
周品 李先祥
(佛山科學技術學院)
研究一種基于膚色分割的人臉檢測算法。首先將圖像色彩空間由RGB轉(zhuǎn)化為YCbCr;其次根據(jù)膚色點在色彩空間的聚類性能建立膚色區(qū)域模型和簡單高斯模型;最后通過計算膚色相似度得到膚色似然圖,經(jīng)過平滑濾波、形態(tài)學處理和閾值分割等圖像處理過程,確定人臉位置。實驗結(jié)果表明,該算法能夠較好地實現(xiàn)人臉檢測。
人臉檢測;YCbCr色彩空間;高斯模型;膚色似然圖
近年來,人臉檢測在安全訪問控制和視覺監(jiān)測等領域應用廣泛。人臉檢測是人臉識別的初級階段,具體過程是判斷給定的視頻或圖像中是否存在人臉,存在幾個人臉,并最終返回人臉所在的具體位置和分割出人臉圖像。目前人臉檢測的方法主要有基于先驗知識、機器學習、模板匹配和神經(jīng)網(wǎng)絡等[1]。其中,基于先驗知識的膚色檢測算法因膚色不受形狀、大小和姿態(tài)等因素影響,且在特定的色彩空間表現(xiàn)出聚類特性,提高了基于膚色的人臉檢測技術在實際應用中的魯棒性。
為把膚色區(qū)域和非膚色區(qū)域分離,需使用可靠的色彩空間。常用的色彩空間有RGB、YCbCr和HSV等。其中RGB色彩空間中色調(diào)、亮度及飽和度3個分量無法分開,導致顏色細節(jié)難以數(shù)字化處理,不適用于膚色建模[2]。HSV和YCbCr色彩空間滿足色度和亮度分離的要求,但HSV色彩空間低飽和度范圍膚色的緊湊性不夠好[3],且計算量也較YCbCr色彩空間大。因此,本文選擇YCbCr色彩空間進行膚色建模和人臉檢測。
待檢測圖像由RGB色彩空間轉(zhuǎn)換到Y(jié)CbCr色彩空間的公式如式(1)所示,效果圖如圖1所示。
人臉檢測算法按圖像輸入預處理、算法實現(xiàn)和圖像輸出的順序執(zhí)行。
本文采用公開的LFW數(shù)據(jù)集圖像。為規(guī)范待檢測圖像,同時方便操作,需對圖像進行尺寸歸一化處理。尺寸歸一化處理過程:選取一個定值,通過式(2)得到歸一化系數(shù);圖像按系數(shù)有比例地縮放。
其中,為圖像的縱向像素點;為圖像的橫向像素點。
算法實現(xiàn)包括建立膚色高斯模型、圖像二值化和形態(tài)學處理、去除虛假區(qū)域等過程。
2.2.1建立膚色高斯模型
膚色在YCbCr色彩空間具有較好的聚類特性和相對穩(wěn)定性,且呈高斯分布統(tǒng)計規(guī)律。本文利用高斯分布對膚色進行建模[4]。
根據(jù)膚色在色彩空間的高斯分布,利用圖像中某個像素點在高斯分布模型中距離中心的遠近表示膚色相似度。函數(shù)(,)是高斯概率密度函數(shù),通過它來確定每個像素點的膚色相似度,其計算公式[5]為
膚色的高斯模型(,)描述為
通過統(tǒng)計樣本的膚色色度分量,可得到樣本均值與方差為
= [117.4316 148.5599]
= [260.1301 12.1430; 12.1430 150.4574]
2.2.2圖像二值化和形態(tài)學處理
二值圖像可由圖像中的像素值通過式(6)選取適當?shù)拈T限值轉(zhuǎn)變而來。
其中,,,分別表示圖像中某個點的像素值;為待檢紅色像素點;為待檢綠色像素點;為亮度。
根據(jù)式(7)所示的范圍,可判斷該像素點是否為皮膚像素點區(qū)域。其中皮膚和非皮膚區(qū)域的像素值分別用0和1表示,將待檢測圖像轉(zhuǎn)換為二值化圖像。
判斷像素點是否為皮膚區(qū)域的具體流程如圖2所示。首先對待檢測圖像進行尺寸歸一化處理;然后根據(jù)式(3)計算每一個像素點的高斯概率密度,確定該區(qū)域的膚色相似度分布;再根據(jù)膚色相似度分布確定膚色閾值;最后根據(jù)閾值對圖像進行二值化處理及形態(tài)學去燥。形態(tài)學去噪效果如圖3、圖4所示。
2.2.3去除虛假區(qū)域并標記人臉區(qū)域
經(jīng)過以上步驟,基本可以確定圖像中所有疑似人臉皮膚的區(qū)域。接下來進一步排除非人臉部位的皮膚區(qū)域(虛假區(qū)域),如裸露在外面的軀干或手臂等區(qū)域。
圖2 判斷是否為皮膚區(qū)域的流程圖
圖3 原圖和二值化圖
圖4 先腐蝕后膨脹效果圖
本文基于膚色分割的人臉檢測算法去除虛假區(qū)域規(guī)則:1)人臉區(qū)域的長寬比在[0.8, 2]區(qū)間,若某區(qū)域太過狹長或太過寬扁都可以確定為非人臉部位;2)設填充率=/(為實際膚色區(qū)域面積;為檢測出的皮膚區(qū)域的矩形面積)。經(jīng)過多次實驗可知:若>0.85可能為裸露的皮膚區(qū)域(如胸和背部);若<0.5可能是手掌或單一的局部皮膚區(qū)域;只有在[0.50, 0.85]區(qū)間時,才被判定為人臉區(qū)域。
根據(jù)本論文確定的算法思路,所得到的具體圖片輸出效果如圖5所示。
實驗平臺采用Matlab;操作系統(tǒng)為Win10,CPU 2.5 G。實驗數(shù)據(jù)采用LFW人臉數(shù)據(jù)集。從該數(shù)據(jù)集中隨機選取500張單人臉圖像進行測試。同時,為說明算法的有效性,從日常生活中選取85張含有多個人臉(共計273個人臉)的圖像進行測試。測試結(jié)果如表1所示。
圖5 人臉檢測效果圖
表1 實驗結(jié)果統(tǒng)計表
表1中檢測準確率是指檢測出來的人臉數(shù)占所檢人臉總數(shù)的比值;誤檢率是指誤檢的人臉數(shù)占所檢人臉總數(shù)的比值。
表1中的數(shù)據(jù)說明了該算法在檢測人臉過程中,對于單人臉圖像和多人臉圖像的檢測準確率比較高且相差不大;單人臉圖像誤檢率比多人臉圖像誤檢率高約5%,是因為單人臉圖像來自LFW人臉數(shù)據(jù)集,該數(shù)據(jù)集的圖像背景多樣,亮度變化較大;而多人臉圖像來自生活合照,背景相對單一。
本文研究了基于膚色分割的人臉檢測算法,該算法具有計算量小、抗噪能力強及對姿態(tài)不敏感等特點。算法測試結(jié)果表明,人臉圖像的正確檢測率可達92.22 %。但由于YCbCr色彩空間的局限性,只能對彩色圖像進行檢測。接下來可在圖像預處理過程中,通過加入光照補償?shù)姆绞?,減少光照對圖片的干擾。
[1] 張新景,蘭育飛,史穎剛.基于膚色特征的人臉檢測[J].信息技術與信息化,2019(4):37-39.
[2] 李智勇,田貞.基于膚色模型的人臉檢測研究[J].現(xiàn)代電子技術,2011,34(3):131-133.
[3] 秦立峰,何東健.基于膚色分割的人臉檢測算法研究[J].計算機工程與設計,2009,30(19):4461-4464.
[4] 周滿,羅浩,尉宇.基于膚色分割與幾何特征的人臉檢測[J].信息技術,2018(2):100-103,109.
[5] 胡曉燕,張宇.基于膚色的人臉檢測算法研究[J].合肥工業(yè)大學學報(自然科學版),2012,35(7):908-912.
Face Detection Algorithm Based on Skin Color Segmentation
Zhou Pin Li Xianxiang
(Foshan University)
A face detection algorithm based on skin color segmentation is studied. Firstly, the color space of image is transformed from RGB to YCbCr; secondly, the skin color region model and simple Gaussian model are established according to the clustering performance of skin color points in color space; finally, the skin color likelihood map is obtained by calculating skin color similarity, and the face position is determined through image processing such as smooth filtering, morphological processing and threshold segmentation. The experimental results show that the algorithm can achieve face detection well.
Face Detection; YCbCr Color Space; Gauss Model; Skin Likelihood Map
周品,男,1993年生,在讀碩士,主要研究方向:機器學習與圖像處理。E-mail:1115013416@qq.com
李先祥,男,1965年生,碩士生導師,教授,主要研究方向:電力電子與運動控制。