基于新的膚色模型的人臉檢測方法
為此,本文在Hsu R L方法的基礎(chǔ)上,提出了一種基于單幅圖像自身膚色分布特征的新的檢測算法。該新算法即考慮到膚色在某個特定的膚色空間中所具有的統(tǒng)計特征,同時又考慮到光線變化的影響。
本膚色檢測算法主要是針對單幅圖像中人臉的膚色分布來進行區(qū)域分割,同時結(jié)合膚色信息,自動選取類似的區(qū)域作為膚色區(qū)域,從而克服了傳統(tǒng)通過大量膚色樣本統(tǒng)計得到的膚色模型來進行膚色檢測容易導(dǎo)致的過檢測問題。該檢測算法的流程圖如圖3所示。
3 新算法的實現(xiàn)
新算法的具體實現(xiàn)步驟可以分為顏色空間變換。
3.1 顏色空間變換
新算法首先將圖像的色度空間由RGB轉(zhuǎn)換為YCbCr空間,并按式(1)~(4)進行非線性變換。這是因為非線性變換后的顏色空間Cb′Cr′受到亮度的影響較小,能更好地利用色彩空間的顏色信息進行建模。
3.2 CbCr二維直方圖
統(tǒng)計每個像素的Cb′Cr′值并取其對數(shù)值,以形成一個Cb′Cr′值的二維直方圖。通過實驗發(fā)現(xiàn),由于正常光照下的某個特定人臉的絕大部分區(qū)域的顏色都具有很強的一致性,其膚色點Cb′Cr′分量的二維直方圖通常都呈一定的峰狀。
3.3 標記及直方圖分割
提取二維直方圖中的峰值時,為便于消除干擾,應(yīng)引入一個參數(shù)K:
其中,S表示從峰值到鄰近峰谷的最短距離,H表示峰值的高,圖4所示是進行標記的示意圖。
做標記時,首先檢測二維直方圖中的各個峰值區(qū)域,并將參數(shù)K大于閾值的峰值作為標記(閾值為10%),以便于下一步的膚色檢測。
本文采用了一種水平面下移的方法來對二維直方圖區(qū)域進行分割,即將二維直方圖看成位于水平面以下的峰谷,然后調(diào)整水平面,使之逐步下移,這樣,各個山峰便依次顯露出來。通??上仍O(shè)定水平面高度H,然后下調(diào)水平面d,對高于水平面(H-d)的峰值點分配一個唯一的標記,再接著調(diào)整水平面的高度,檢測位于H-2d與H-d之間的像素值。若該像素是一個新的峰值點,則分配新的標記;否則,在其周圍尋找距離最近且已經(jīng)標記過的像素,并給它分配相同的標記。直到給定高度上所有像素都分配到一個標記為止。圖5所示是水平面下移算法流程圖。
3.4 膚色分割
評論