提出了一種基于膚色檢測和人眼定位的人臉檢測方法。使用基于“基準(zhǔn)白色”的色彩平衡方法歸一化彩色圖像,將圖像在HSV 空間進行膚色分割,確定候選人臉,采用形態(tài)學(xué)濾波器對其降噪。在獲得虹膜位置的基礎(chǔ)上,使用Susan 算子定位兩個眼角點,從而實現(xiàn)眼睛的精確定位。實驗證明提出的方法能夠很好的檢測人臉、定位人眼,尤其對存在人臉旋轉(zhuǎn)和光照異常的人臉圖像有很高的精確度和魯棒性。
1 引言
人臉檢測是指處理分析輸入的圖像,判斷其中是否有人臉,如果有則找到人臉的位置,并將人臉從背景中分離出來。近年來出現(xiàn)了大量人臉檢測方法,主要分為基于特征的和基于圖像的等兩種方法。前者以某種特征如膚色、臉型、鼻子和嘴巴等為最小處理單元;后者以圖像中的像素為處理單元,把人臉檢測看成典型的模式識別問題,使用訓(xùn)練算法區(qū)分人臉和非人臉區(qū)域。
基于膚色的人臉檢測,很容易受光照異常的影響,因此本文首先對圖像進行色彩平衡;實驗中發(fā)現(xiàn)膚色提取后的圖像仍然存在許多噪聲點,直接影響了檢測精確度,因此本文對膚色提取后的圖像采用形態(tài)學(xué)濾波器進行降噪,獲得很好的效果。在精確定位人眼上,比較了幾種邊緣提取的算子,發(fā)現(xiàn)Susan 算子更適合提取人眼區(qū)域特征,因此本文采用該算子定位眼角點。
2 膚色檢測
膚色是人臉最重要的特征之一,不依賴于面部的細節(jié)特征,對于旋轉(zhuǎn)、表情等變化情況都適應(yīng),具有相對的穩(wěn)定性并且與大多數(shù)背景物體的顏色相區(qū)別。
Angelopolou 的研究成果證明在生物和物理上膚色分布的一致性,指出盡管人的膚色因人種的不同而不同,呈現(xiàn)出不同的顏色,但是排除了亮度等對膚色的影響后,皮膚的色調(diào)基本一致,這也為利用膚色信息進行皮膚檢測的可能性提供了有利的證據(jù)。
2.1 色彩空間選擇
色彩空間的選擇直接影響著膚色檢測的結(jié)果,用于膚色檢測的常用色彩空間有HIS、YIQ、YUV 和YCbCr 等。徐俊等使用YCbCr 色彩空間求出每個像素點屬于膚色的隸屬度,在復(fù)雜背景中獲得很好的人臉檢測效果。但是在YCbCr 色彩空間中,膚色聚類是呈紡錘形狀的,Y 值較大或較小的部分,膚色聚類區(qū)域也隨之縮減,簡單的排除Y 分量是不可行的,必須考慮三個分量,從而增加了工作量。
Zarit 等證明HSV 色彩空間檢測膚色像素性能最好。Sobottka 等[4]認為:使用H 和S 就足夠?qū)⒛w色和背景分割開,除了不需要考慮V 外,其對光照和陰影的影響也有較高的穩(wěn)定性。因此本文使用HSV 色彩空間。圖1 為膚色在HSV 色彩空間的分布圖。
圖1 膚色像素在HSV 色彩空間分布圖
從圖1 可以看出,圖像投影到HSV 空間,膚色區(qū)域(紅色)色調(diào)H 分布在19-240 區(qū)間中。設(shè)定膚色像素閾值,圖像像素H 值在T 內(nèi)的認定為膚色像素。
2.2 色彩平衡
實驗發(fā)現(xiàn),有色光干擾、色溫偏高等非正常光照會引起圖像色彩按一定的規(guī)律變化,使得正常膚色可能檢測不到,同時許多非膚色呈現(xiàn)膚色狀態(tài),導(dǎo)致膚色檢測失效。所以本文使用基于“基準(zhǔn)白色”的色彩平衡技術(shù)歸一化彩色圖像。具體步驟如下:
(1) 將圖像像素P 按亮度降序排列{Pl1,Pl2 ……Pln },n 為像素個數(shù), li 為像素對應(yīng)的亮度值, 其中l(wèi)1》 l2 》 ……》ln;
(2) 選取
作為基準(zhǔn)白色,即選取亮度降序集的前5%個;
(3) 計算基準(zhǔn)白色R、G、B 分量各自的均值meanR、menaG和meanB;(4) 采用Gray World 假說。計算R、G、B 分量的調(diào)整系數(shù)。
其中meanI 是圖像的平均灰度值;
(5) 調(diào)整R、G、B 分量: R’=R*aR,G‘=G*aG ,B’=B*aB;(6) 將R‘ 、G’ 、B‘ 分量值大于255 的調(diào)整為255.
圖2 色彩平衡前后膚色檢測結(jié)果。
3 眼睛定位
3.1 形態(tài)學(xué)圖像處理
色彩平衡后,圖像中仍然存在一些噪聲點(主要在背景中)。噪聲的存在顯然會使后續(xù)的操作更復(fù)雜。為了既能把圖像中的噪聲點去掉又能保留有用的信息,本文使用形態(tài)學(xué)濾波器對人臉候選區(qū)域進行除噪。通過形態(tài)學(xué)處理不但可以過濾掉由于噪聲或者其它原因?qū)е碌囊恍┹^小的非人臉區(qū)域,減少候選區(qū)域和提高檢測速度,而且可以填補膚色區(qū)域內(nèi)的較小空洞,防止這些空洞被誤認為人臉器官。
圖3 人臉粗檢測。
圖3(b)為經(jīng)過色彩平衡后膚色提取的圖像,圖3(c)為形態(tài)學(xué)濾波后的圖像,可以很明顯的看出,形態(tài)學(xué)濾波可以有效去除誤檢為膚色的區(qū)域,提高人臉粗檢測的準(zhǔn)確度。
3.2 人眼精確定位
經(jīng)過以上步驟,可以在很短的時間內(nèi)初步確定人臉的位置。在給定范圍內(nèi)搜索眼睛等器官的位置,大大降低了定位的錯誤率。
首先在人臉區(qū)域內(nèi)尋找虹膜的位置。虹膜輪廓與圓類似,因此可以使用Hough 變換對其進行檢測。在獲得兩瞳孔位置的基礎(chǔ)上,以兩眼瞳孔為中心劃定眼部區(qū)域,然后對眼部區(qū)域進行處理,定位內(nèi)外眼角點。
本文采用自適應(yīng)二值化方法確定門限閾值,獲得眼部區(qū)域的自動二值化圖像,在此基礎(chǔ)上對眼部區(qū)域圖像使用Susan 算子得到眼睛的邊緣圖像。
Susan 算子的原理是:以像素半徑為r(本文實驗中取r=5)的圓形區(qū)域(面積覆蓋π*r 2像素位置)為掩模,考察圖像中的每個點在該區(qū)域范圍內(nèi)的所有點的像素值與當(dāng)前點的值的一致程度,如式(1)所示。
其中t 為像素間差異閾值,一般可設(shè)為27;代表掩模面積值,面積越小邊緣強度越大;g 為幾何門限,設(shè)定為
經(jīng)過上述算法獲得的眼部區(qū)域邊緣圖像如圖4(b),在此基礎(chǔ)上對圖像中的黑色邊緣曲線進行角點提取即可獲得準(zhǔn)確的兩眼內(nèi)外眼角點位置,如圖4(c)所示。根據(jù)Susan 算子的特性,它既可以用來檢測邊緣,又能夠提取角點。因此與Sobel、Canny 等邊緣檢測算子相比較,Susan 算子更適合進行眼部的特征提取,尤其對兩個眼角點的自動定位。并且通過適當(dāng)?shù)恼{(diào)整Susan 算子的參數(shù)r 或者閾值t 和g 的大小,對不同質(zhì)量的人臉圖像都可以取得很好的效果。
圖4 人眼區(qū)域處理圖。
5 結(jié)論
本文針對人臉檢測中的膚色檢測和人眼精確定位問題,給出了一種快速準(zhǔn)確的方法,有助于提高人臉識別算法的識別率。膚色分割前先對圖像進行色彩平衡,采用形態(tài)學(xué)濾波器對候選人臉進行降噪,這些步驟都大大提高了人臉檢測的精確度,而且并沒有花費很多時間。在人眼精確定位上,采用更適合提取眼部特征的Susan 算子精確定位眼角點。實驗證明該方法可以很好的應(yīng)用于人臉檢測。
4 實驗結(jié)果
本文使用本實驗室建立的人臉庫,包括每個人10張(不同表情、光照、旋轉(zhuǎn)角度等)共200 張人臉圖像,大小為180?200.
在正面人臉的圖像上測試,人眼的內(nèi)外角點定位準(zhǔn)確率達到98.4%,在側(cè)臉小角度(左右旋轉(zhuǎn)以內(nèi))人臉圖像上測試,準(zhǔn)確率達到90.2%.人臉檢測平均時間為2s,定位虹膜和內(nèi)外角點平均時間為10.4s.
圖5 人臉、瞳孔及眼角點定位。
圖5(a)圖為人臉檢測結(jié)果,圖5(b)為瞳孔及眼角頂定位結(jié)果,其中紅色為瞳孔位置,黃色為右側(cè)眼角點,粉紅色為左側(cè)眼角點。實驗結(jié)果證明本文提出的方法可以很好的檢測定位人臉。