摘要:提出一種基于改進的膚色分割和距離變換的快速人臉檢測算法。該算法對傳統膚色分割進行了改進,使得膚色分割更加可靠,而且能夠對圖像中的多個人臉進行快速定位。實驗證明該方法是有效的。
關鍵詞:人臉檢測; 膚色模型; 距離變換
中圖分類號:TP391文獻標志碼:A
文章編號:1001-3695(2008)04-1079-02
目前,圖像中的人臉檢測技術在通信、軍事、公安等許多領域有著廣泛的應用,而且人臉檢測也是人臉識別的關鍵步驟。從目前的研究來看,人臉檢測主要有以下幾種方法:a)基于膚色模型的方法[1];b)基于臉部特征的模板匹配方法[2];c)基于小波分析的方法[3];d)基于支持向量機的方法[4];e)基于神經網絡的檢測方法[5]。通常,不同的應用背景對人臉檢測算法有著不同的要求。對于一些實時性強的應用就會要求人臉檢測算法有相當高的速度。從目前的研究來看,人臉檢測的實時性還有待進一步提高。上述方法中,方法b)~d)由于算法復雜、計算量較大而導致速度較慢,不適合實時應用。方法a)和e)檢測速度較快,但是a)由于利用統計結果,在某些特殊情況下可靠性和適應性會有所下降;而方法e)需要進行大量的訓練,檢測結果也受訓練樣本影響,具體應用仍然有困難。所以,上述算法不能很好地適應實時應用。本文的研究目的是在保證人臉檢測正確性的同時,進一步提高檢測的速度,滿足實時應用,同時能夠適應多個人臉的情況。
1基于膚色特征的人臉分割改進
1.1基于膚色特征的分割
在人臉檢測的應用中,人臉的膚色是一個比較有效的特征。研究表明,臉部的顏色在YCbCr顏色空間中,Cb和Cr分量在某一數值周圍呈現明顯的聚類分布。即使不同人種的膚色,也有這種特點。人們通過大量的統計實驗發現,膚色在Cb-Cr空間中,近似以某點為中心的高斯分布,如圖1所示。
利用Gauss統計模型可以計算每個像素屬于皮膚的概率,從而進行人臉分割[6]。這種方法也是目前眾多利用膚色特征的人臉檢測算法的基本出發點。然而在某些條件下,臉部的膚色可能會有一定的偏差,如圖像采集設備存在差異,不同的年齡、性別等。在這種情況下,單純利用統計的結論計算相似度不一定能得到較好的結果。
1.2基于膚色分割的改進
傳統的基于膚色的臉部分割方法在很大程度上依賴統計得到的膚色Cb、Cr分量的分布中心。本文提出一種改進算法,采用兩次分割,利用第一次分割的結果,調整Cb、Cr的分布中心,使得分布中心能夠更加接近當前圖像的膚色顏色的真實情況。算法過程如圖2所示。而且,為了加快計算速度,本文采用像素顏色特征向量和分布中心的歐氏距離來評價像素是否屬于皮膚,避免了文獻[6]中求相似度而進行的復雜運算。
2基于距離變換的人臉定位
2.1距離變換
距離變換是對二值圖像的一種形態學運算,它將二值圖像變換為同樣大小的灰度圖像,像素的灰度為該像素與最近背景點的距離[7]。圖4為距離變換的示意圖。其中:(a)為二值圖像,設黑色像素為背景,白色像素為前景;(b)為(a)經過距離變換后的圖像。
2.2基于距離變換的人臉定位
由于圖像中的人臉大都以類圓或橢圓的形態存在。如果人臉區域內被較好地分割出來,那么經過距離變換,在人臉的中心附近產生一個顯著的極大值,這一點從圖4可以看出。檢測這些極大值的位置,根據值的大小判斷是否為一個人臉中心。由于距離變換算法簡單,且執行速度快,本文算法可以快速檢測出人臉的個數、中心的位置以及臉部區域的尺寸。
設圖像高為H,寬為W。算法基本步驟如下:
a)按本文上述改進的膚色分割方法進行人臉的區域分割;得到二值圖像BW。
b)采用下述方法將BW變換成另一個二值圖像FMAP。相比BW,FMAP圖像尺寸成倍減小且不存在孔洞,這樣便于應用距離變換,而且降低了處理時間。
(a)將圖像BW分成m×m大小的塊,對圖像邊界部分可以忽略。本文m的取值為8的倍數,具體大小要根據圖像的大小確定,這樣便于與視頻編碼相結合;然后,計算每個塊中所有位置像素值的代數和得到離散函數S(i, j),i∈[1,H/m], j∈[1,H/m]。這里,i, j分別表示塊在圖像平面上的縱坐標和橫坐標。
(b)根據S(i, j)按式(3)確定FMAP(i, j),i∈[1,H/m], j∈[1,H/m]。這里FMAP為二值函數。
FMAP(i, j)=0S(i, j) (c)將函數FMAP視為二值圖像,對其進行一次圖像膨脹操作,填補FMAP中存在的孔洞。在圖3(c)的基礎上得到的處理結果如圖5所示。 c)對二值函數FMAP(i, j)進行距離變換,得到DT(i, j)。圖6為5經過距離變換后的函數圖像。 d)檢測變換后函數DT的極大值。如果該極大值大于閾值T,則認為該點為人臉的中心。閾值T是為了排除一些小團塊噪聲的影響,取值根據圖像的大小而定。 e)計算人臉區域的寬(faceW)和高(faceH)。由距離變換的特點可知,如果對一個橢圓進行距離變換,那么橢圓中心的變換值近似等于橢圓短軸的一半。由于人的臉型近似橢圓,據此可以利用距離變換結果計算人臉區域的寬度;再根據人臉的寬高比例系數可以計算人臉區域的高度。計算公式如下所示: faceW=2DT×mfaceH=faceW×α(4) 其中:α為人臉寬高比例系數;m為步驟b)中的分塊大小。由于FMAP尺寸為原圖的1/m,計算寬度時要乘上m。 3算法實現及結果分析 3.1算法實現 本文算法采用VC++ 6.0實現。實驗硬件平臺為Pentium 4 1.7 GHz,256 MB內存;軟件平臺為Windows XP Professional。算法流程如圖7所示。 3.2實驗結果分析 1)多人臉檢測結果 本文算法對多人臉情況的檢測結果如圖8所示。其中:(a)為原圖,最終檢測結果在圖中用橢圓標出;膚色分割和距離變換后的結果如(b)所示。 (a)多人臉檢測結果(b) 距離變換結果 圖8檢測結果 2)算法計算效率結果 為證明算法的適應性,本文選擇100幅單人臉圖片和50幅多人臉圖片進行實驗。實驗圖片中包括不同年齡、性別和不同背景環境下的人臉圖片,圖片大小均為640×480。表1中顯示了本文算法的正確率和平均運行時間。 4結束語 本文針對現有人臉檢測算法實時性不好的問題,在傳統膚色分割方法的基礎上提出改進算法,增加了膚色分割的可靠性。在人臉定位方面,提出基于距離變換的定位方法,該算法運算速度快,能夠對多個人臉進行定位。實驗證明,本文的人臉檢測算法具有較高正確率,同時檢測速度能夠滿足實時應用。 參考文獻: [1]WU H, CHEN Q, YACHIDA M. Face detection from color images using a fuzzy pattern matching method [J]. IEEE Trans on Pattern Analysis and Machine Intelligence, 1999,21(6):557-563. [2]梁路宏,艾海舟,何克忠,等. 基于多關聯模板匹配的人臉檢測[J]. 軟件學報, 2001,12(1):94-102. [3]馬秀紅,曹繼平,董晟飛,等.小波分析及其應用[J].微機發展,2003,13(8):58-61. [4]馬勇, 丁曉青. 基于層次型支持向量機的人臉檢測[J]. 清華大學學報:自然科學版 , 2003,43(1):35-38. [5]ROWLEY H A,BALUJA S, KANADE T. Neural network-based face detection[J]. IEEE Trans on Pattern Analysis and Machine Intelligence, 1998,20(1):23-38. [6]ZHANG Yu-jin, YAO Yu-rong, HE Yun. Automatic face segmentation using color cues for coding typical videophone scenes[C]//Proc of SPIE. 1997:468-479. [7]PAGLIERONI D W. Distance transforms: properties and machine vision applications[J]. Computer Vision, Graphics, and Image Processing: Graphical Models and Image Processing, 1992,54(1):57-58. “本文中所涉及到的圖表、注解、公式等內容請以PDF格式閱讀原文”