王昊鵬,劉澤乾
(中國人民解放軍空軍航空大學(xué) 軍械系,吉林 長春 130022)
文中從實用性和易于實現(xiàn)的角度出發(fā),研究了基于面部特征提取的人臉檢測的方法。首先,粗布確定人臉區(qū)域,然后利用數(shù)字圖像處理圖像,從而確定人臉候選區(qū)域。膚色分割得到的候選區(qū)域中,有的是人臉區(qū)域,有的是非人臉區(qū)域。因此,提出利用面部特征從候選區(qū)域中去除非人臉區(qū)域,確定人臉位置。
針對人臉圖像的表情,少許遮掩和位移問題,可以借助小波變換和Fourier變換的特性,利用頻譜臉的方法提取人臉特征[1],達(dá)到人臉識別的目的。
人臉圖像頻譜臉特征表達(dá)方法是:首先對人臉圖像進(jìn)行降維表達(dá),即采用某一種具有一定光滑度、緊支和正交的小波函數(shù)[2],對人臉圖像矩陣作若干層二維小波分解,并取低頻的子圖像作為其低頻近似表達(dá),然后對選擇出來的低維特征圖像作Fourier變換,以其振幅譜信息作為人臉圖像的特征表達(dá)。簡稱為頻譜臉(Spectroface)。
在訓(xùn)練階段,選擇每個人具有典型特征的一張人臉圖像Xn(n代表不同的人),利用Daubechies小波函數(shù)基作m層小波分解[3],獲得低頻子圖像 X'n;對 X'n作 Fourier變換,采用其振幅作為圖像的頻譜表達(dá)Sn,存入人臉數(shù)據(jù)庫中作為各人的人臉識別依據(jù)。
頻譜臉的方法采用二維小波變換[4]對人臉圖像進(jìn)行分解,用低頻子圖像作為原圖像的表達(dá),可以平滑同一個人因表情變化和少許遮掩帶來的空間信息差異,并達(dá)到了降維的效果。然而,過度層數(shù)的小波分解必然會模糊不同人臉部特征。適當(dāng)層數(shù)小波變換的選擇對頻譜臉方法是非常重要的。
Harmon[5]曾指出16×16的圖像對于人臉圖像是最基本的。通過實驗表明,作適當(dāng)?shù)男〔ǚ纸獗炔蛔餍〔ǚ纸庥休^好的識別效果,而且對于表情變化和少許遮掩的識別問題,都有較好的識別效果;分解后的低頻子圖像為16×16的分解層為最低有效識別分解層,低頻子圖像尺寸小于16×16后,分解的層數(shù)越大,識別的效果越差;對于一般的人臉圖像數(shù)據(jù)庫,分解后的低頻子圖像為32×32或64×64的分解層有最佳的識別效果。
Fisherface方法又稱為線性判別分析方法(Linear Discriminant Analysis, LDA)。 Fisherface方法[6]利用類別歸屬信息得到的特征向量,強調(diào)了不同人臉之間的差別,同時弱化了同一人臉由于光照、方向以及表情所產(chǎn)生的變化。這種方法的最終目的就是從高維特征空間里提取出最具有判別能力的低維特征,這些特征能幫助將同一個類別的所有樣本聚集在一起,不同類別的樣本盡量的分開,找到一些特征使得類間離散度和類內(nèi)離散度的比值最大[6]。
先對圖像進(jìn)行膚色分割,會產(chǎn)生一定的噪聲,在確定備選人臉區(qū)域之前,需要去除這些噪聲和明顯的非人臉區(qū)域,這里采用數(shù)學(xué)形態(tài)學(xué)方法和連通區(qū)域的特性來確定候選人臉區(qū)域。在進(jìn)行膚色檢測之前,研究了濾波和光照補償?shù)阮A(yù)處理。接著,根據(jù)人臉膚色呈高斯分布的規(guī)律,通過統(tǒng)計和分析建立了膚色的高斯模型;另一方面又參考一種在彩色空間利用色度與亮度成非線性變換規(guī)律,對YcbCr空間進(jìn)行非線性轉(zhuǎn)換[7],建立了基于橢圓的膚色模型。利用這兩種膚色模型分別對圖像進(jìn)行膚色分割,通過對比結(jié)果發(fā)現(xiàn),由于后者考慮了色度與亮度存在非線性關(guān)系的現(xiàn)實,所以能更精確地分割出膚色區(qū)域。最后,根據(jù)人臉區(qū)域成矩形的特點,采用合適的高寬比,確定了人臉的候選區(qū)域。
利用人臉特征的人臉檢測是基于特征提取和基于先驗知識的啟發(fā)式的人臉檢測方法之一。在人臉的各種面部特征中,嘴巴、眼睛、眉毛和鼻子等,都是人臉檢測和識別中常用的特征[8-10]。為了排除形狀和顏色都與人臉類似的“非人臉”,文章采用在色度圖像中,先分別檢測眼睛和嘴巴,然后利用它們呈三角形的幾何特征來精確定位人臉。算法流程圖如圖1所示。
文中利用膚色模型分割出膚色區(qū)域,再利用膚色區(qū)域的形狀特征(合適的比例)確定候選人臉區(qū)域。由于圖像背景的復(fù)雜程度,或是檢測出人體其它部位的皮膚區(qū)域,都有可能滿足以上候選區(qū)域的特征,所以,需要進(jìn)一步利用其他信息來排除誤檢測出來的非膚色區(qū)域和非人臉的膚色區(qū)域。這部分的檢測原理如圖2示。
圖1 人臉?biāo)惴鞒虉DFig.1 Flow chart of face algorithm
圖2 檢測原理Fig.2 Detection principle
在人臉定位中,人眼的準(zhǔn)確定位具有非常重要的意義。這是因為人眼瞳孔的間距受光照或表情變化的影響最小,比較穩(wěn)定,雙眼中心連線的方向隨人臉的偏轉(zhuǎn)而偏轉(zhuǎn),可以作為圖像旋轉(zhuǎn)的依據(jù)。所以常被用于幾何特征或人臉尺寸的歸一化標(biāo)準(zhǔn)[11-12]。
2.3.1 人眼模型的建立
人眼檢測的方法很多,例如邊緣特征分析法、Hough變換法、投影變換法和變形模板法等。Rein-Lien Hsu等人通過同時在色度空間中建立眼睛模板進(jìn)行眼睛檢測。其原理如下述[13]。
色度模型:由于在色度空間內(nèi),眼睛區(qū)域的幾分量比Cr分量明顯要高,所以建立如下的色度空間眼睛模型:
灰度模型:在灰度圖像中,利用眼睛區(qū)域中間存在黑色像素周圍存在白色像素的特征,建立如下的灰度空間眼睛模板:
對色度空間的模板先進(jìn)行直方圖均衡化,然后再和灰度空間的模板相與,結(jié)合成一幅圖像,從而能達(dá)到突出眼睛區(qū)域同時又抑制面部其他部位。
模型的改進(jìn):以上模型對眼睛特別清晰的圖像檢測能取得較好的效果,可是實踐中,由于圖像分辨率低、人臉尺寸較小或者采集圖像位置遠(yuǎn)離人臉等原因,圖像的眼睛區(qū)域在灰度圖像中,一般會表現(xiàn)為人臉部分灰度最暗區(qū)域,而瞳孔周圍的白色像素可能并不十分明顯,導(dǎo)致膨脹的效果并不明顯。針對這一點,對以上灰度圖像模板提出了改進(jìn),擯棄了同時膨脹和腐蝕結(jié)合的方法,只利用腐蝕建立眼睛模型。具體步驟為:
l)利用如圖3所示的結(jié)構(gòu)算子g(x,y)對灰度圖像進(jìn)行腐蝕運算。
圖3 對灰度圖像進(jìn)行腐蝕的結(jié)構(gòu)算子g(x,y)Fig.3 Operator g(x,y)of grayscale image structure of the corrosion
運算的結(jié)果由圖4可見,眼睛區(qū)域一般是人臉部分最暗的區(qū)域之一。
圖4 腐蝕后的圖像Fig.4 Corrosion image
2)分別對每個候選區(qū)域的灰度進(jìn)行直方圖統(tǒng)計得到EyeHist[K]i,下標(biāo)i表示候選人臉區(qū)域的個數(shù)。
3)利用直方圖統(tǒng)計,取每個候選區(qū)域內(nèi)灰度最低的2%個像素作為眼睛的候選區(qū)域,并將其灰度置為255,其它像素值的區(qū)域設(shè)為0。并且面積很小的區(qū)域當(dāng)作“假眼”去除掉,如圖5所示。
4)由于鼻孔和嘴巴在灰度圖像中同樣會顯示為較暗的區(qū)域,有時可能會成為面部區(qū)域最黑暗的區(qū)域之一,從而使真正的眼睛區(qū)域不包含在最低灰度值的2%范圍內(nèi)。為了避免這種情況,我們根據(jù)眼睛在人臉的位置的特點,采用迭代的算法,對人臉區(qū)域從上到下的2/5范圍內(nèi)檢測出來的眼睛候選區(qū)域內(nèi)統(tǒng)計候選眼睛的數(shù)量k,如圖6中h表示候選人臉區(qū)域的高度。當(dāng)k<2時,我們就把3/5范圍內(nèi)檢測出來的區(qū)域在腐蝕圖像中置為高亮度,然后重復(fù)步驟2);如果k≥2時,則說明至少檢測出了一對候選眼睛,可以進(jìn)行后續(xù)步驟。
圖5 標(biāo)定候選人眼Fig.5 Calibration candidate eye
圖6 眼睛嘴巴在人臉候選區(qū)域的位置Fig.6 Area of eyes and mouth in the position face candidate
5)利用色度模板與灰度模板相與,當(dāng)在4)的結(jié)果中像素值為255的點,同時,其在色度模板中的值大于一個閉值Tc,則認(rèn)為其是候選的眼睛區(qū)域像素。盡管第5)步利用眼睛在色度空間的特性,能夠排除灰度空間檢測出來的一些假眼睛,但是也存在以下問題,圖7是在膚色檢測出的人臉候選區(qū)域內(nèi)建立的眼睛色度模板,通過觀察可知:①色度空間的模板中,眼睛區(qū)域并不一定是值最大的區(qū)域,眉毛,鼻子,嘴巴,耳朵及人臉邊緣附近等同樣會產(chǎn)生一些值和眼睛區(qū)域值相當(dāng)?shù)膮^(qū)域;②Tc的取值也是一個需要重視的問題,這就相當(dāng)于在色度模板中取一個合適的二值化閉值,所以第5)步在文中并不是一個必要步驟。如果能尋找到很好的解決以上問題的途徑,該步驟才能體現(xiàn)其獨特的價值[13]。
圖7 眼睛的色度模板Fig.7 Template of eyes chroma
2.3.2 眼睛對的匹配
建立眼睛模板后,會在候選區(qū)域內(nèi)檢測出若干候選的眼睛區(qū)域。在我們檢測的圖像中,由于人臉的眼睛都是成對出現(xiàn)的,并且成對的兩只眼睛還具有一定的約束條件,所以我們在每一個候選人臉區(qū)域匹配眼睛對的過程如下:
l)按從左到右,由上致下的順序,對每一個候選人臉區(qū)域內(nèi)的候選眼睛都編上號為:1、2、3……n;
2)依次按標(biāo)號順序,把標(biāo)號為i的候選眼睛作為成為eye1,保存該區(qū)域中心點的坐標(biāo)為(x1,y1);
3)在與eye1同一候選人臉的區(qū)域內(nèi),把標(biāo)號從j=i+1開始的候選眼睛作為eye2,保存e界2的中心坐標(biāo)(x2,y2);
4)把搜索到的候選眼睛對進(jìn)行保存EyePairi。使j逐次加1,然后重復(fù)步驟3),直至j=n為止。
5)使 i逐次加 l,再重復(fù)步驟 2)。
2.4.1 嘴巴模型的建立
N是圖像中每個候選人臉區(qū)域的像素總數(shù),參數(shù)η是C2r的均值與Cr/Cb的均值的比,并且和 Cr/Cb是歸一化到[0,255]的值,n=2。同樣考慮到圖像在一般情況下,嘴唇的紅色度不一定會很明顯,所以,我們根據(jù)嘴唇紅色度對模板的影響效果,對n做了相應(yīng)的調(diào)整。
2.4.2 嘴巴的分割
具體步驟如下:
l)初始化k=1,n=2k,對人臉候選區(qū)域進(jìn)行計算,得到的結(jié)果如圖8所示;
2)分別對每個人臉候選區(qū)域的灰度進(jìn)行直方圖統(tǒng)計得到MouthHist[K]i,下標(biāo)i表示人臉候選區(qū)域的個數(shù)。
3)由圖8觀察,很容易發(fā)現(xiàn)嘴巴區(qū)域一般是人臉候選區(qū)域中最亮的區(qū)域,所以采用與檢測眼睛相似的方法,利用直方圖統(tǒng)計,取每個候選區(qū)域內(nèi)灰度最高的1%個像素作為嘴巴的候選區(qū)域,并將其灰度置為255,其它像素值的區(qū)域設(shè)為0。
4)接著對圖像高度1/2以下,距離底部1/6以上的范圍,統(tǒng)計檢測出來的目標(biāo)數(shù)l,當(dāng) l=0時,則使n=2k+1,并使該范圍之外搜索出來的區(qū)域設(shè)為 0,返回前面2),繼續(xù)統(tǒng)計,直到Rhl>0為止,然后對圖像分割出來的候選嘴巴保存成Mouth。
5)對分割出來的結(jié)果計算每個連通區(qū)域的面積,把面積很小或特別大的區(qū)域作為噪聲去除,把剩下的連通區(qū)域作為候選嘴巴,并保存其中心的坐標(biāo)(xi,yi)。
圖8 嘴巴模板Fig.8 Mouth template
基于模板匹配的方法一般是在圖像灰度的層次上直接比較目標(biāo)模板和候選圖像區(qū)域之間的相似性,而基于特征的匹配方法是比較從圖像中抽取的一定特征的相似性,對人臉檢測而言,特征包括眼睛、鼻、嘴等。模板匹配方法具有簡單、直觀的特點,與特征匹配方法相比具有較強的適應(yīng)性,原因在于通常特征抽取依賴于圖像的質(zhì)量,易受噪音影響而不穩(wěn)定[12]。文中針對特征提取的不穩(wěn)定,對已經(jīng)提取的人臉特征,結(jié)合模板匹配的方法來確定人臉的,并且為了適應(yīng)圖像尺寸不一樣,眼睛模板和三角形模板都是可變模板。眼睛和嘴巴在人臉面部的構(gòu)造是穩(wěn)定且明顯的特征,于是本文用眼睛和嘴巴構(gòu)成三角形的特征來最終精確定位人臉。
三角模板如圖9所示,模板與上式中EyePair_y,Mouth_y分別指候選眼睛對連線中點和候選嘴巴中心點的縱坐標(biāo)值,第一個式子約束了嘴巴的位置必須在眼睛的下方;dis_EyeMouth是眼睛對中心點連線的中點到嘴巴區(qū)域中心點的距離,Rl,Rh分別是比例的下限,約束了嘴巴和眼睛的相對距離,它們不能太分散也不能太集中;是|angle_EyeMouth|眼睛連線中點與嘴巴中心點連線和眼睛連線中垂線的夾角,angle是夾角的上限,式(3)約束了嘴巴與眼睛連線的中垂線不能偏離太大。
圖9 三角模板Fig.9 Triangle template
人臉識別的功能框圖如圖10所示。
圖10 人臉識別功能框圖Fig.10 Face recognition function diagram
根據(jù)上述人臉識別系統(tǒng)流程圖,進(jìn)行人臉識別的大致過程為:對采集到的人臉圖像先進(jìn)行人臉檢測判斷圖像中是否存在人臉,如無人臉則整個識別過程結(jié)束;否則,隨即進(jìn)行人臉的定位或者跟蹤以確定人臉在圖像中的位置盡可能精確地定位并提取出人臉。然后對人臉圖像進(jìn)行灰度變化和大小歸一化預(yù)處理,提取出人臉圖像進(jìn)行人臉識別。一般通過特征提取獲得人臉信息進(jìn)行身份驗證,整個人臉識別過程隨即結(jié)束。
本實驗的結(jié)果如圖11、12所示。
圖11 原始圖像Fig.11 Original image
圖12 識別結(jié)Fig.12 Recognition results
文中對一百多張圖片進(jìn)行了試驗。這些圖片包括黃膚色和白膚色,正面無旋轉(zhuǎn)人臉,上下左右偏轉(zhuǎn)人臉,2人以上5人以下多人臉和5人以上群體的多人臉。表1說明了試驗采用人臉圖像的分類和檢測結(jié)果的正確率。
表1 試驗圖像的統(tǒng)計Tab.1 Statistics of test image
根據(jù)以上結(jié)果可以做出如下分析并得出相關(guān)結(jié)論:
1)該算法對膚色能做到較精確的分割,當(dāng)圖像具有類膚色的背景時,也能較準(zhǔn)確地分割出皮膚區(qū)域;
2)該算法對檢測的圖像有一定的約束性,如圖像中必須能較清晰地觀察到眼睛和嘴巴,不然只能分割出皮膚區(qū)域,但不能確定是否人臉;
3)當(dāng)圖像中人臉較多而不容易檢測出眼睛和嘴巴的時候,該算法中的膚色分割可以較準(zhǔn)確地確定候選人臉區(qū)域;
4)由于眉毛和眼睛在灰度圖像中顯示的灰度值較相近,所以在檢測眼睛時,經(jīng)常會檢測出眉毛作為候選眼睛,所以個別情況構(gòu)造的三角形可能會以眉毛作為三角形的一個點;
5)檢測眼睛和嘴巴的時候,一般會檢測出其附近的與它們特性相似的點,當(dāng)用三角形匹配時,會在同一候選區(qū)域匹配到基本重合的多個三角形。針對最后兩點,我們可以通過判斷重疊三角形是否屬于同一候選人臉區(qū)域及它們重疊的區(qū)域大小,判斷其是否為同一個人臉。
從建立自動人臉識別系統(tǒng)的兩個主要技術(shù)環(huán)節(jié),人臉圖像的檢測與定位和人臉圖像的特征提取與識別入手,深入研究了當(dāng)前國內(nèi)外在人臉檢測和人臉識別方面的研究進(jìn)展。通過仔細(xì)分析各種人臉檢測和人臉識別方法的優(yōu)缺點,提出了一種人臉識別的新方法。試驗證明本文提出的人臉識別的方法是合理的,具有一定的實用價值和理論價值。
[1]彭群生,鮑虎軍,金小剛.計算機真實感圖形的算法基礎(chǔ)[M].北京:科學(xué)出版社,1999.
[2]李建平,唐遠(yuǎn)炎.小波分析方法的應(yīng)用[M].重慶:重慶大學(xué)出版社,1999.
[3]秦前清,楊宗凱.實用小波分析[M].西安:西安電子科技大學(xué)出版社,1994.
[4]崔景泰,程正興.小波分析導(dǎo)論[M].西安:西安交通大學(xué)出版社,1995.
[5]Terrillon J C.Comparative performance of different skin chrominance models and chrominance spaces for the automatic detection of human faces in color images[C].France,F(xiàn)ourth IEEEInter-national Conference on Automatic Face and Gesture Recognition,2000:26-30.
[6]Jones M M,Rehg J M.Statistical color models with application to skin detection[C]//Proc.IEEE Conf.Comp uter Vision and Pattern Recognition,1999:274-280.
[7]Phung S L,Chai D,Bouzerdounm A.A novel skin color model in YCrCb color space and its application to human face detection[C].USA:IEEE International Conference on Image Processing (ICIP/2002),2002:22-25.
[8]Horprasert T,Yacoob Y,Davis L S.Computing3-D head orientation from a monocular images[C]//Proc.Int’l Conf.Automatic Face and Gesture Recognition,1996:242-247.
[9]Nikolaidis A,Pitas I.Facial fature extraction and determination of pose[J].Pattern Recognition,2000(5):1783-1791.
[10]Yow K C,Cipolla R.Feature-based human face detection[J].Image and Vision Computing,1997,15(2):713-735.
[11]Brunelir,Pogglot.Feature recognition:Features versus templates[J].IEEE Transactions on pattern Analysis and Machine Intelligence,1993,15(10):1042-1052.
[12]Hafed Z M,Levine M D.Face recognition using the discrete cosine transform[J].International journal of Computer Vision,2001,43(3):167-288.
[13]Hsu R L,Mottaleb M A,Jain A K.Face detection in color images[J].IEEE Trans.Pattern Analysis Machine Intelligence,2002,24(5):696-706.