劉志波,周石琳,閆軍偉
(1.國防科學(xué)技術(shù)大學(xué)電子科學(xué)與工程學(xué)院,長沙 410073;2.武警石家莊士官學(xué)校通信二系,石家莊 050050)
隨著計算機和現(xiàn)代傳感技術(shù)的發(fā)展,人機交互技術(shù)日益成為人工智能領(lǐng)域中的研究熱點,其中人臉檢測已成為計算機視覺中一個備受關(guān)注的研究方向,在視頻監(jiān)視、人機交互、人臉識別等應(yīng)用中起著非常重要的作用。人臉檢測就是確定輸入圖像中是否存在人臉,如果存在則定位出每個人臉的位置、大小以及姿態(tài)。
目前,人臉檢測方法大致可分為4類:基于知識的方法、基于特征不變量的方法、模板匹配方法和基于表象的方法[1-2]。其中基于特征不變量法和基于表象的方法較為常用?;谔卣鞑蛔兞糠⒆阌诓浑S光線、表情、視角等變化的結(jié)構(gòu)特征,例如膚色、臉部特征紋理等[3],此方法主要用在人臉定位上。通常來說這種方法處理速度較快。缺點是由于噪聲和遮擋等使圖像特征被破壞,人臉的特征被弱化,可能使得檢測算法的性能下降甚至失效?;诒硐蟮姆椒ǖ闹饕枷胧菍W(xué)習(xí)大量的人臉樣本,從而抓住人臉的典型表象來實現(xiàn)人臉的檢測,如神經(jīng)網(wǎng)絡(luò)、支持向量機(SVM)、Ada-Boost算法等[4-5]。其中基于 AdaBoost學(xué)習(xí)算法的人臉檢測方法實現(xiàn)了實時的正面人臉檢測,并且能達到較高的檢測率和較好的實時性,因此在實際中得到了廣泛運用。但該方法由于需要對所有可能的檢測窗口進行窮舉搜索,所以計算復(fù)雜度很高,而且在訓(xùn)練過程中存在過增益現(xiàn)象[6]。為了充分利用了膚色檢測的速度和AdaBoost算法檢測的高檢測率,本文將膚色檢測和AdaBoost算法結(jié)合起來,并針對傳統(tǒng)的AdaBoost算法訓(xùn)練過程中的過增益缺陷進行了改進,對其算法權(quán)重的更新規(guī)則進行了調(diào)整,增加了構(gòu)建層疊分類器訓(xùn)練過程。實驗結(jié)果表明,改進后的方法在檢測性能上得到了明顯提高。
膚色是人臉重要信息,它不依賴于面部的細節(jié)特征,且對于旋轉(zhuǎn)、表情變化都具有相對穩(wěn)定性。膚色檢測方法可以很快在圖像中搜索到包含人臉的膚色區(qū)域。大量的結(jié)果表明,膚色之間的差異主要是由于亮度信息引起的,為利用皮膚顏色在色度空間的聚類性,需要把圖像中表達顏色的色度信息與亮度信息分開,因此選擇一個更適合于膚色分割的彩色空間很重要。目前,常用的彩色空間有 RGB、HSI、YUV、YCbCr等。YCbCr色彩空間和人的視覺預(yù)處理過程有著相似的結(jié)構(gòu)規(guī)則,特別是人臉檢測在YCbCr空間有著較好的聚類效果。De Dios[7]提出將YCgCr色彩空間用于人臉檢測,它同 YCbCr空間比較相似。Wang[8]證實,對于膚色,YCgCr空間比YCbCr空間有著更好的聚類性。因此,本文采用YCgCr色彩空間檢測可能的人臉區(qū)域。RGB空間可按式(1)轉(zhuǎn)換到Y(jié)CgCr空間。
膚色檢測即通過特定的算法獲取可能的膚色區(qū)域,包括膚色提取和膚色分割。本文采用高斯模型來提取和分割被檢圖像的膚色。YCgCr空間將亮度信息和色度信息分開,這樣可以降低亮度的影響,膚色點在Cg和Cr分量上存在一個比較穩(wěn)定的聚類分布。確定膚色點在Cg和Cr二維空間中的二維高斯模型[9]為:
其中:x為每個像素點的色度分量;Cg為第1個分量;Cr為第2個分量;M和C分別為統(tǒng)計出來的均值和協(xié)方差。
對于輸入圖像,按照式(1)將其從RGB色彩空間轉(zhuǎn)換到Y(jié)CgCr色彩空間,然后按照上面的高斯膚色模型計算其中任何像素屬于膚色區(qū)域的概率,即根據(jù)該點與高斯分布中心的距離得到其與膚色的相似度[9],計算公式為
P(Cg,Cr)體現(xiàn)了各像素與膚色的相似程度。P(Cg,Cr)值越大表示屬于膚色的可能性也越大,反之越小。
根據(jù)膚色相似度,采用閾值化技術(shù)將圖像轉(zhuǎn)換成二值圖像來獲取膚色區(qū)域。然后,對膚色二值圖利用數(shù)學(xué)形態(tài)學(xué)運算濾除噪聲,去除小的不相關(guān)區(qū)域,再通過對圖像的連通域搜索、二值圖像的孔洞信息等條件進行篩選,得到一個比較平滑的人臉區(qū)域,如圖1所示。
圖1 膚色分割結(jié)果
AdaBoost算法[10]的基本思想是集合大量的弱分類器來形成一個強分類器。這種算法的缺點是[11]當(dāng)訓(xùn)練集包含少數(shù)難以分類的樣本時,Ada-Boost算法會聚焦于這些特殊樣本,給這些樣本分配很高的權(quán)值,最終由于反復(fù)迭代導(dǎo)致權(quán)重分布嚴(yán)重扭曲,產(chǎn)生過增益現(xiàn)象。
為避免訓(xùn)練過程中的過增益現(xiàn)象,本文采用了一種新的權(quán)重更新方法[11],基本思想是對每次循環(huán)設(shè)置一個權(quán)重閾值,當(dāng)樣本被錯誤分類并且其當(dāng)前權(quán)值小于閾值時,則增加樣本權(quán)值,否則減小其權(quán)值。同時在訓(xùn)練過程中構(gòu)建級聯(lián)分類器,這樣就不需要再單獨構(gòu)建分類器[12]。算法描述如下:
給定訓(xùn)練樣本{(x1,y1),(x2,y2),…,(xn,yn)},其中真假樣本的數(shù)量分別為 m和 h,yi={0,1},i=1,2,…,n 分別對應(yīng)樣本的假和真。
1)首先,需要確定強分類器的數(shù)量P和強分類器的平均錯誤率RP、RP是序列遞減的。
2)初始化權(quán)重。設(shè) ωt,i為t次循環(huán)中第 i個樣本的誤差權(quán)重,如果 yi=1,則 ωt,i=1/2m;否則ωt,i=1/2h。
3)進行迭代操作。
②采用弱分類器算法,從確定的弱分類器中找出一個具有最小錯誤εt的弱分類器ht;
③設(shè)訓(xùn)練過程中的權(quán)重閾值為
④更新樣本權(quán)重:
其中:βt=εt/(1 - εt),vt是使的一化因子;
⑤t=t+1。
4)計算當(dāng)前強分類器的平均錯誤率。
①集合最優(yōu)弱分類器形成強分類器
②計算強分類器的平均錯誤率
③如果ε≥Rp,進入步驟3),其他情況進入步驟5)。
5)輸出強分類器,更新樣本進入步驟2)。
集合所有強分類器形成級聯(lián)分類器,采用改進的權(quán)重更新規(guī)則,進而有效地避免了過增益現(xiàn)象。
膚色檢測具有較快的速度,但由于光照的影響,那些不包括人臉的膚色區(qū)域以及和膚色相似的背景區(qū)域容易被錯誤地認(rèn)為是人臉區(qū)域,因此造成高虛警率。為了在提高檢測速度和檢測率的同時降低虛警率,本文將膚色檢測算法和改進的AdaBoost算法相結(jié)合來實現(xiàn)人臉檢測?;舅枷胧?將候選人臉區(qū)域從被檢圖像中分割出來,然后輸入到AdaBoost分類器中進行檢測。這樣就不需要對整個圖像進行掃描,因此,檢測速度可以明顯提高。圖2和圖3給出了每一步的檢測結(jié)果。
圖2 組合算法的單個人臉檢測結(jié)果
本文的訓(xùn)練樣本采用 Bao face database[13]數(shù)據(jù)庫中的人臉圖像,真假樣本數(shù)量分別為2 439和4 381。測試環(huán)境為 P4,3GHz CPU,2G 內(nèi)存,操作系統(tǒng)為 Windows XP,在VC++6.0平臺上編程實現(xiàn)。部分檢測結(jié)果如圖4所示。表1是檢測率比較。表2是檢測速度比較。實驗結(jié)果表明,本文的算法較能有效避免傳統(tǒng)的AdaBoost算法中的過增益現(xiàn)象,充分利用了膚色檢測的快速性和Ada-Boost算法的準(zhǔn)確性,在檢測速度和檢測率上都比基于傳統(tǒng) AdaBoost算法的人臉檢測方法有所提高。
圖3 組合算法的單個人臉檢測結(jié)果
圖4 部分檢測結(jié)果
表1 比較檢測率和虛警率
表2 比較檢測速度 ms
將膚色檢測和改進AdaBoost算法檢測相結(jié)合,提出了一種新的人臉檢測方法。首先,利用膚色檢測方法確定被檢圖像中可能的人臉區(qū)域。然后,針對傳統(tǒng)AdaBoost算法在訓(xùn)練過程中的過增益現(xiàn)象進行了改進,通過新的權(quán)重更新方法,使其有效避免過增益現(xiàn)象,提高檢測率,降低誤識率。最后,將膚色檢測結(jié)果輸入到改進AdaBoost分類器中進行檢測,確定人臉。實驗結(jié)果表明,這種方法具備了膚色檢測的高速性和改進AdaBoost算法的高檢測率,達到了較好檢測效果。
[1]Cha Zhang,Zhengyou Zhang.A Survey of Recent Advances Face Detection[J].Tech Rep,Microsoft Research,2010(3):125 -127.
[2]王展飛.基于監(jiān)控視頻的人臉檢測與實時跟蹤提?。跠].南京:南京理工大學(xué),2009.
[3]徐錦.人臉檢測的自適應(yīng)膚色分割算法研究[J].貴州大學(xué)學(xué)報:自然科學(xué)版,2007,24(2):171 -174.
[4]任成娟,胡淑芳,劉崇文.子模式局部保持映射人臉識別算法[J].重慶理工大學(xué)學(xué)報:自然科學(xué)版,2011,25(6):84-89.
[5]張彤,盧雯雯,肖南峰.基于BP網(wǎng)絡(luò)的人臉朝向識別方法[J].重慶理工大學(xué)學(xué)報:自然科學(xué)版,2010,24(6):61-65.
[6]Paul Viola,Michael J.Jones.Robust Real-time Object Detection[M].Cambridge:Cambridge Research Laboratory,2001:1 -24.
[7]De Dios J,Garcia N.Face Detection Based on a New color Space YCgCr[C]//Proceedings of International Conference on Image Processing.USA:[s.n.],2003:909-912.
[8]Jian-Guo Wang,Yu-Sheng Lin,Jing-Yu Yang.First Faceregion Location Based on a Novel Color Space YcgCr[J].Computer Science,2007,34(5):228 -233.
[9]趙明華.人臉檢測和識別技術(shù)的研究[D].成都:四川大學(xué),2006.
[10]Paul Viola,Michael Jones.Rapid Object Detection using a Boosted Cascade of Simple Features[C]//IEEE CVPR.USA:[s.n.],2001.
[11]Xiong Sheng-wu,Zong Xin-lu,Zhu Guo-feng.Improved face detection method based on AdaBoost algorithm[J].Application Research of Computers,2007,24(11):298-300.
[12]Lin Peng.Study And Implementation of Face Detection Based on AdaBoost Algorithm[D].Xi’an:Xi’an University of Technology,2007:24 -28.
[13]Frischholz R.Bao face database at the face detection homepage[EB/OL].[2010 - 08 - 11].http://www.facedetection.com.