基于新的膚色模型的人臉檢測(cè)方法
0 引言
人臉檢測(cè)一直是一個(gè)研究熱點(diǎn),它涉及到模式識(shí)別、圖像處理、計(jì)算機(jī)視覺(jué)以及神經(jīng)網(wǎng)絡(luò)等許多交叉學(xué)科,在數(shù)字視頻處理、視覺(jué)監(jiān)測(cè)等方面有著重要的應(yīng)用價(jià)值。目前國(guó)內(nèi)外的研究中,圍繞彩色圖像中膚色這一特征的算法越來(lái)越多,同時(shí)利用膚色進(jìn)行定位和分割也比較快速準(zhǔn)確,簡(jiǎn)單直觀,這使得彩色圖像處理與人類(lèi)視覺(jué)感受自然而然地結(jié)合了起來(lái)。膚色是人臉的重要信息,具有相對(duì)的穩(wěn)定性并可和大多數(shù)背景物體的顏色相區(qū)別,也與物體的大小、伸縮及姿態(tài)基本上無(wú)關(guān)。
1 Hsu R L膚色檢測(cè)算法
Hsu R L在論文中提出了一種可變光照及復(fù)雜背景下的膚色檢測(cè)算法,該算法應(yīng)用于人臉檢測(cè)中可以取得較好的效果。
Hsu R L首先采用一種光照補(bǔ)償算法。它將整個(gè)圖像中所有像素的亮度從高到低進(jìn)行排列,然后取前5%的像素,如果這些像素的數(shù)目足夠多,就將它們的亮度作為“參考白” (Reference Wlaite),即將它們的色彩的R、G、B分量值都調(diào)整為最大的255。整幅圖像的其它像素點(diǎn)的色彩值也都按這一調(diào)整尺度進(jìn)行變換膚色檢測(cè)時(shí),由于在Hsu R L采用的YCbCr色度空間中,色度值CbCr對(duì)亮度值Y總是存在著一定的非線(xiàn)性的依賴(lài)關(guān)系,這種依賴(lài)關(guān)系在很大程度上影響了膚色的檢測(cè),所以,Hsu R L在論文中提出了一種非線(xiàn)性變換方法,以消除色度對(duì)亮度的依賴(lài)關(guān)系。其非線(xiàn)性變換公式如下:
式中,Ci表示Ch或是Cr,WCk=46.97,WLCb=23,WHCb=14,WCr=38.76,WLCr=20,WHCr=10,Kl=125,Kh=188,這些參數(shù)均是Hsu R L由大量訓(xùn)練樣本中估計(jì)取得的。
Hsu R L對(duì)Heinich—Hertz—Institute(HHI)圖像庫(kù)圖片中的膚色點(diǎn)進(jìn)行了統(tǒng)計(jì),圖1所示是膚色點(diǎn)在非線(xiàn)性變換后的yCb′C′r空間分布圖。在變換后,其Cb′Cr′區(qū)域中采用橢圓模型描述膚色分布,其橢圓模型可表示如下:
上式中,根據(jù)膚色在Cb′Cr′空間內(nèi)的分布形狀,可取cx=109.38,cy=152.02,θ=2.53,ecx=1.60,ecy=2.4l,a=25.39,b=14.03。最后,便可對(duì)圖像中的每個(gè)像素進(jìn)行檢測(cè),若其變換后的Cb′Cr′值在橢圓區(qū)域之內(nèi),則視為膚色像素點(diǎn),否則,為非膚色像素點(diǎn)。
2 新的膚色算法
Hsu R L的方法雖然可以較好進(jìn)行人臉膚色檢測(cè),但是,Hsu R L的橢圓模型則是根據(jù)大量膚色點(diǎn)在Cb′Cr′區(qū)域的分布規(guī)律建立起來(lái)的,不一定適合每張輸入圖像。對(duì)每幅圖像來(lái)說(shuō),膚色點(diǎn)的聚類(lèi)分布范圍很小,而且位置分布不同。如在圖2所示的膚色分布中,其有些區(qū)域(如紅色),相對(duì)于膚色點(diǎn)來(lái)說(shuō),范圍就擴(kuò)大了,以至于HsuR L的橢圓模型很容易將非膚色點(diǎn)也包含進(jìn)來(lái),從而導(dǎo)致膚色點(diǎn)的“過(guò)檢測(cè)”。而有時(shí),背景中的一些區(qū)域也可能被檢測(cè)為膚色像素點(diǎn),比如圖2(c)所出現(xiàn)的情況。
為此,本文在Hsu R L方法的基礎(chǔ)上,提出了一種基于單幅圖像自身膚色分布特征的新的檢測(cè)算法。該新算法即考慮到膚色在某個(gè)特定的膚色空間中所具有的統(tǒng)計(jì)特征,同時(shí)又考慮到光線(xiàn)變化的影響。
本膚色檢測(cè)算法主要是針對(duì)單幅圖像中人臉的膚色分布來(lái)進(jìn)行區(qū)域分割,同時(shí)結(jié)合膚色信息,自動(dòng)選取類(lèi)似的區(qū)域作為膚色區(qū)域,從而克服了傳統(tǒng)通過(guò)大量膚色樣本統(tǒng)計(jì)得到的膚色模型來(lái)進(jìn)行膚色檢測(cè)容易導(dǎo)致的過(guò)檢測(cè)問(wèn)題。該檢測(cè)算法的流程圖如圖3所示。
3 新算法的實(shí)現(xiàn)
新算法的具體實(shí)現(xiàn)步驟可以分為顏色空間變換。
3.1 顏色空間變換
新算法首先將圖像的色度空間由RGB轉(zhuǎn)換為YCbCr空間,并按式(1)~(4)進(jìn)行非線(xiàn)性變換。這是因?yàn)榉蔷€(xiàn)性變換后的顏色空間Cb′Cr′受到亮度的影響較小,能更好地利用色彩空間的顏色信息進(jìn)行建模。
3.2 CbCr二維直方圖
統(tǒng)計(jì)每個(gè)像素的Cb′Cr′值并取其對(duì)數(shù)值,以形成一個(gè)Cb′Cr′值的二維直方圖。通過(guò)實(shí)驗(yàn)發(fā)現(xiàn),由于正常光照下的某個(gè)特定人臉的絕大部分區(qū)域的顏色都具有很強(qiáng)的一致性,其膚色點(diǎn)Cb′Cr′分量的二維直方圖通常都呈一定的峰狀。
3.3 標(biāo)記及直方圖分割
提取二維直方圖中的峰值時(shí),為便于消除干擾,應(yīng)引入一個(gè)參數(shù)K:
其中,S表示從峰值到鄰近峰谷的最短距離,H表示峰值的高,圖4所示是進(jìn)行標(biāo)記的示意圖。
做標(biāo)記時(shí),首先檢測(cè)二維直方圖中的各個(gè)峰值區(qū)域,并將參數(shù)K大于閾值的峰值作為標(biāo)記(閾值為10%),以便于下一步的膚色檢測(cè)。
本文采用了一種水平面下移的方法來(lái)對(duì)二維直方圖區(qū)域進(jìn)行分割,即將二維直方圖看成位于水平面以下的峰谷,然后調(diào)整水平面,使之逐步下移,這樣,各個(gè)山峰便依次顯露出來(lái)。通??上仍O(shè)定水平面高度H,然后下調(diào)水平面d,對(duì)高于水平面(H-d)的峰值點(diǎn)分配一個(gè)唯一的標(biāo)記,再接著調(diào)整水平面的高度,檢測(cè)位于H-2d與H-d之間的像素值。若該像素是一個(gè)新的峰值點(diǎn),則分配新的標(biāo)記;否則,在其周?chē)鷮ふ揖嚯x最近且已經(jīng)標(biāo)記過(guò)的像素,并給它分配相同的標(biāo)記。直到給定高度上所有像素都分配到一個(gè)標(biāo)記為止。圖5所示是水平面下移算法流程圖。
3.4 膚色分割
直方圖分割后,可得到若干區(qū)域,然后根據(jù)膚色模型(即Hsu R L方法中的橢圓模型)來(lái)確定可能為膚色點(diǎn)的區(qū)域??蓪su R L的橢圓模型的中心點(diǎn)設(shè)為標(biāo)準(zhǔn)中心點(diǎn),然后比較各個(gè)區(qū)域的峰值點(diǎn)與標(biāo)準(zhǔn)中心點(diǎn)的距離,距離越近,為膚色區(qū)域的可能性越大,可將其保留。最后,對(duì)輸入圖像的每個(gè)像素進(jìn)行檢測(cè),若其在YCb′Cr′空間中的Cb′Cr′分量屬于膚色區(qū)域,則定義為膚色值,否則為非膚色值。
4 實(shí)驗(yàn)結(jié)果分析
筆者對(duì)總共100幅圖像進(jìn)行了實(shí)驗(yàn)。每幅圖像均包含人臉膚色區(qū)域,人臉大小與光照變化范圍均比較大,且背景復(fù)雜。測(cè)試時(shí),可使用如下三個(gè)準(zhǔn)則來(lái)評(píng)價(jià)分割結(jié)果:
(1)膚色檢測(cè)結(jié)果好,可去除絕大多數(shù)背景;
(2)膚色檢測(cè)結(jié)果一般,結(jié)果中仍有較多的背景;
(3)膚色檢測(cè)結(jié)果差,結(jié)果中去除了較多膚色區(qū)域。
表l所列是對(duì)這100幅圖像進(jìn)行膚色檢測(cè)算法的實(shí)驗(yàn)結(jié)果。
由表1的結(jié)果可以看出,Hsu R L方法檢測(cè)出的結(jié)果有許多類(lèi)似膚色的像素點(diǎn),且不能檢測(cè)圖像的高光部分,而本文的算法則能準(zhǔn)確地找到膚色分布區(qū)域,且對(duì)高光部分也不敏感。
5 結(jié)束語(yǔ)
由于本文算法是基于單幅圖像的顏色分布,并不是采用某種固定的膚色模型,故能很好的適應(yīng)光線(xiàn)的變化,從而提高了膚色的有效分割率和檢測(cè)效果。