韋艷柳,王 旭,陳 斌
(南京工業(yè)大學(xué),江蘇 南京 211816)
利用膚色信息和幾何特征的人臉檢測(cè)算法研究
韋艷柳,王 旭,陳 斌
(南京工業(yè)大學(xué),江蘇 南京 211816)
針對(duì)光照條件對(duì)人臉檢測(cè)的影響,文章提出一種基于膚色信息和幾何特征的面部檢測(cè)算法。首先對(duì)圖像做光照補(bǔ)償,然后在膚色類聚良好的YCbCr空間建立膚色模型。最后依據(jù)皮膚顏色信息和人臉幾何特點(diǎn)檢測(cè)出面部區(qū)域。
人臉檢測(cè);光照補(bǔ)償;膚色模型;幾何特征
近年來,人們開始重視人臉檢測(cè)技術(shù)在視覺監(jiān)測(cè)、模式識(shí)別、人機(jī)交互等諸多領(lǐng)域的作用。同時(shí),人臉檢測(cè)的應(yīng)用范圍僅僅局限于人臉識(shí)別、表情識(shí)別,其在智能安全監(jiān)控、電子商務(wù)、虛擬現(xiàn)實(shí)等方面也有著更為廣泛的應(yīng)用前景[1]。
已有的人臉檢測(cè)算法如:(1)幾何拓?fù)浞╗2]:主要利用人臉的幾何形狀以及臉部器官的比例關(guān)系來定位人臉。(2)隱馬爾可夫模型法[3]:采用概率統(tǒng)計(jì)和奇異值特征轉(zhuǎn)化為向量序列的方法,對(duì)于不同角度和不同光照下的人臉檢測(cè)效果較好,但是識(shí)別效果取決于特征定位算法的準(zhǔn)確性。(3)模板匹配法[4]:使用模板在所要檢測(cè)的圖像中逐點(diǎn)掃描計(jì)算匹配度,根據(jù)匹配度來判斷是否有人臉。逐點(diǎn)計(jì)算對(duì)于背景復(fù)雜的圖像來說檢測(cè)速度和效率都較低。(4)利用膚色信息來定位人臉:計(jì)算量小,穩(wěn)定性好,適于實(shí)時(shí)檢測(cè),但較容易受到亮度的影響。
本文先依據(jù)膚色信息和幾何特征的方法進(jìn)行人臉檢測(cè),針對(duì)輸入圖像亮度在檢測(cè)過程產(chǎn)生的色彩偏差問題采用光照補(bǔ)償?shù)姆椒?,再結(jié)合膚色信息、人臉幾何特征[5]、閾值法等確定人臉的具體位置。
2.1 基于白平衡算法的光照補(bǔ)償
各種應(yīng)用情景中采集人臉圖像時(shí)可能會(huì)由于光線條件偏暗、鏡頭污染或者臉部汗?jié)n等導(dǎo)致圖像質(zhì)量不佳。為了充分適應(yīng)不同質(zhì)量的人臉圖像在光照強(qiáng)度、成像系統(tǒng)等方面存在的差異性,本文采取光照補(bǔ)償解決此類問題[6]。光照補(bǔ)償主要有灰度世界算法[7]和動(dòng)態(tài)閾值白平衡算法[8]兩種算法。
灰度世界算法利用均值作為估算未知光源的關(guān)鍵統(tǒng)計(jì)量,并假設(shè)自然界景物對(duì)光線的反射均值在總體上是個(gè)定值,近似為灰色。灰色的選擇是關(guān)鍵,可以假設(shè)這個(gè)灰色就是事實(shí)上的灰色,反射光譜均衡;也可以盡量尋找大范圍的數(shù)據(jù),計(jì)算其均值作為灰度。
根據(jù)VonKries對(duì)角模型[9],調(diào)整圖像中每個(gè)像素P的RGB分量:
可以看出上述算法對(duì)圖像進(jìn)行無分別的共同處理,對(duì)于重要區(qū)域缺乏針對(duì)性,因此本文采用效果更好的動(dòng)態(tài)閾值白平衡法。
拍攝設(shè)備不具有人眼的適應(yīng)性,在不同的光線下會(huì)造成彩色圖像的失真,白平衡算法將圖像分塊,尋找接近白色的區(qū)域,再確定參考白點(diǎn),然后通過VonKries模型來調(diào)整圖像白平衡。具體如下:
(1)為了更加準(zhǔn)確地檢測(cè)圖像中的白點(diǎn),需要將原圖轉(zhuǎn)換到Y(jié)CbCr空間[10],為了達(dá)到較好的效果,本文采用動(dòng)態(tài)閾值來確定參考白點(diǎn)。
(2)分塊。
(3)計(jì)算每塊的Cb,Cr分量的平均值Mb,Mr和方差Db,Dr。
N表示每個(gè)區(qū)域中的像素?cái)?shù)。如果一個(gè)區(qū)域的Db,Dr過小,說明沒有足夠色彩變化。此塊丟棄,以避免大面積統(tǒng)一色調(diào)對(duì)圖像造成影響。
(4)接下來通過下面的公式來得到近似白色區(qū)域的像素點(diǎn):
根據(jù)亮度值,選擇接近白色區(qū)域中的前10%作為參考白點(diǎn)。
(5)在白點(diǎn)確定后,利用亮度的最大值Ymax來估計(jì)信道增益。先計(jì)算得到白色參考點(diǎn)對(duì)應(yīng)的R,G,B 3通道均值,再
計(jì)算每個(gè)通道的增益:
(6)根據(jù)VonKvies model來調(diào)整原彩色圖像各通道的顏色值:
(7)將調(diào)整后圖像的R,G,B三分量值大于255的值調(diào)整為255。
光線補(bǔ)償效果對(duì)比如圖1所示。
圖1 光線補(bǔ)償效果
2.2 膚色模型
人臉具有穩(wěn)定的膚色特征,盡管由于地域、性別、年齡等差異致使人臉膚色看起來不同,但這種不同很大程度反映在亮度上。在去除亮度的顏色空間中,不同人臉膚色分布具有聚類性。選擇合適的顏色空間建立膚色模型來描述人臉特征,區(qū)分皮膚區(qū)域和非皮膚區(qū)域。廣泛應(yīng)用的顏色空間有RGB,YIQ,HSV和YCbCr等。YCbCr顏色空間中的Y分量代表顏色亮度,Cr和Cb分別代表紅色和藍(lán)色的色度。人臉的膚色作為色彩之一,因?yàn)楦黝伾臻g有各自的適用范圍,使得不同的顏色空間的表達(dá)會(huì)對(duì)膚色產(chǎn)生不同的聚類效果。本文選膚色聚類特性較好,計(jì)算效率高的YCbCr色彩空間建立膚色模型。這樣的顏色空間能夠把亮度和色度信息快速地分離開來。具體過程如下:
D在YCbCr空間中歸一化色度直方圖后,假定膚色滿足二維高斯模型M=(m, C),其中m=E(x)為均值,x=(Cb, Cr)T,C為協(xié)方差矩陣,C=E[(x-m)(x-m)],通過這個(gè)膚色模型估算每一個(gè)像素為膚色概率為:
大量的基于膚色的人臉檢測(cè)實(shí)驗(yàn)都可以證明這個(gè)模型能夠效區(qū)分皮膚與非皮膚部分。
2.3 結(jié)合幾何特征的人臉區(qū)域提取
由于噪聲的影響,人臉區(qū)域時(shí)常會(huì)出現(xiàn)獨(dú)立黑點(diǎn),為了對(duì)圖像進(jìn)行平滑去噪并且考慮到速度和效果,取目標(biāo)像素為中心的一個(gè)子矩陣窗口(這里取5×5),對(duì)一幅圖像的像素矩陣進(jìn)行灰度排序,按此操作遍歷圖像,即完成中值濾波。
2.3.1 人臉初次分割
(1)利用膚色相似度矩陣中的最大值Pmax=(Cb, Cr)對(duì)相似度矩陣進(jìn)行歸一,(α=P/Pmax且α∈(0,1)),結(jié)果如圖2所示。
圖2 歸一化結(jié)果
(2)考察每一個(gè)像素點(diǎn)的a值,選定閾值a0,得到皮膚區(qū)域。
結(jié)果為1則判定為皮膚區(qū)域,為0判定為非皮膚區(qū)域,膚色分割結(jié)果如圖3所示。
圖3 分割結(jié)果
2.3.2 人臉邊界的確定
初次分割環(huán)節(jié)可以將人臉區(qū)域粗略檢測(cè)出來,但是會(huì)存在一些類膚色區(qū)域,如脖子和四肢同樣也會(huì)被誤判成人臉的一部分,同時(shí)如果背景和膚色的相似度極高也會(huì)被誤判。因此要準(zhǔn)確地檢測(cè)和定位出人臉,需要在初次分割基礎(chǔ)上做人臉邊界的確定。因?yàn)槿四槾嬖诿黠@的幾何特征,可以以此判定可能的人臉區(qū)域。
本文把人臉看作一個(gè)長和寬具有固定的比例的矩形,通過正常光照條件下對(duì)100幅人臉圖像的采集分析,認(rèn)為人臉的長寬比應(yīng)該接近1.2,如圖4所示。
這個(gè)比值過大或過小時(shí)都可以確定為非人臉。具體如下:
(1)投影確定左右邊界。在垂直(豎直)方向上對(duì)人臉區(qū)域投影,求得最大值,并歸一化其他列的投影值(即頻度)。豎直方向投影圖如圖5所示。
圖4 人臉長寬比分布
圖5 豎直方向投影
因?yàn)槿四槄^(qū)域往往具有更高的亮度,所以人臉?biāo)趨^(qū)域使得投影曲線形成具有一定寬度的凸峰。將凸峰的上升沿梯度值最大的點(diǎn)作為人臉的左邊界,凸峰的下降沿梯度值最小的點(diǎn)作為人臉的右邊界。本文取閾值0.2。分別從頻度最大向左(向右)尋找頻度減小到閾值0.2的那一列作為左(右)邊界。左右邊界差值W。
(2)同理,在水平方向投影求頻度進(jìn)而確定上邊界。
(3)人臉的長寬比約為1.2。由前兩個(gè)步驟結(jié)果可求得下邊界。
下邊界=上邊界-1.2×W
經(jīng)過上述步驟得到可能的人臉邊緣區(qū)域,效果如圖6所示。
圖6 人臉邊界的確定
人臉檢測(cè)總體框架設(shè)置如圖7所示。
圖7 人臉檢測(cè)總體框架
基于上述方法,本文準(zhǔn)備了100幅人臉圖像進(jìn)行測(cè)試,都能取得較好效果。90%的檢測(cè)圖像都能很好地完成人臉的初步檢測(cè)效果,如圖8所示。
圖8 成功定位人臉案例
檢測(cè)效果不佳的圖像多是由于人臉角度的偏轉(zhuǎn),人面部表情或者光線影響引起,如圖9(a)所示,因手部存在無法得到檢測(cè)結(jié)果,二值化結(jié)果為圖9(b);圖9(c)因臉部偏轉(zhuǎn),檢測(cè)結(jié)果右邊界不準(zhǔn)。
圖9 臉部檢測(cè)不理想案例
本文采用的白平衡光線補(bǔ)償算法在一定程度上解決了在采集膚色圖像信息遇到的色彩偏差問題。而因?yàn)楣庹昭a(bǔ)償?shù)哪芰τ邢?,使得本文算法存在一定局限性。但本文基于膚色信息和人臉幾何特征的算法具備較好的適應(yīng)性和魯棒性,能很好地完成膚色分割及人臉邊緣的提取,迅速并準(zhǔn)確地檢測(cè)出人臉并確定人臉區(qū)域,節(jié)省了運(yùn)算時(shí)間。
[1]孫怡,吳艷冬,胡家升.復(fù)雜背景中的人臉檢測(cè)與定位[J].計(jì)算機(jī)工程與應(yīng)用,2003(1):88-90.
[2]姜賀.基于幾何特征的人臉識(shí)別算法的研究[D].大連:大連理工大學(xué),2008.
[3]李杰.隱馬爾可夫模型的研究及其在圖像識(shí)別中的應(yīng)用[D].北京:清華大學(xué),2004.
[4]祁航.人臉特征分析與人臉區(qū)域定位研究[D].上海:上海交通大學(xué),2010.
[5]曾素娣,李一民,羅明剛.融合邊緣和膚色信息的人臉定位新方法[J].計(jì)算機(jī)與數(shù)字工程,2007(5):116-117.
[6]談磊,田其樹.光照補(bǔ)償在基于膚色的人臉檢測(cè)中的應(yīng)用[J].工業(yè)控制計(jì)算機(jī),2016(7):102-103.
[7]徐曉昭,蔡軼珩,劉曉民,等.改進(jìn)灰度世界顏色校正算法[J].光子學(xué)報(bào),2010(3):559-564.
[8]金黃斌.自動(dòng)白平衡算法研究及軟硬件實(shí)現(xiàn)[D].杭州:杭州電子科技大學(xué),2011.
[9]袁興生,王正志.亮度補(bǔ)償變換矩陣的顏色恒常性算法[J].中國圖象圖形學(xué)報(bào),2012(9):1055-1060.
[10]周虹.基于YCbCr高斯膚色模型和形態(tài)學(xué)的人臉檢測(cè)技術(shù)研究[J].柳州師專學(xué)報(bào),2014(2):136-139.
Face detection algorithm based on skin color information and geometric features
Wei Yanliu, Wang Xu, Chen Bin
(Nanjing University of Technology, Nanjing 211816, China)
Aiming at the effect of illumination on face detection, this paper proposes a face detection algorithm based on skin color information and geometric features. Firstly, image illumination compensation, and then establish the skin color model in the color clustering good YCbCr space. Finally based on skin color information and the geometrical characteristics of human face detection facial area.
face detection; illumination compensation; skin color model; geometric feature
韋艷柳(1994— ),女,廣西河池。