劉志波,周石琳,閆軍偉
(1.國防科學技術大學電子科學與工程學院,長沙 410073;2.武警石家莊士官學校通信二系,石家莊 050050)
隨著計算機和現代傳感技術的發(fā)展,人機交互技術日益成為人工智能領域中的研究熱點,其中人臉檢測已成為計算機視覺中一個備受關注的研究方向,在視頻監(jiān)視、人機交互、人臉識別等應用中起著非常重要的作用。人臉檢測就是確定輸入圖像中是否存在人臉,如果存在則定位出每個人臉的位置、大小以及姿態(tài)。
目前,人臉檢測方法大致可分為4類:基于知識的方法、基于特征不變量的方法、模板匹配方法和基于表象的方法[1-2]。其中基于特征不變量法和基于表象的方法較為常用。基于特征不變量法立足于不隨光線、表情、視角等變化的結構特征,例如膚色、臉部特征紋理等[3],此方法主要用在人臉定位上。通常來說這種方法處理速度較快。缺點是由于噪聲和遮擋等使圖像特征被破壞,人臉的特征被弱化,可能使得檢測算法的性能下降甚至失效?;诒硐蟮姆椒ǖ闹饕枷胧菍W習大量的人臉樣本,從而抓住人臉的典型表象來實現人臉的檢測,如神經網絡、支持向量機(SVM)、Ada-Boost算法等[4-5]。其中基于 AdaBoost學習算法的人臉檢測方法實現了實時的正面人臉檢測,并且能達到較高的檢測率和較好的實時性,因此在實際中得到了廣泛運用。但該方法由于需要對所有可能的檢測窗口進行窮舉搜索,所以計算復雜度很高,而且在訓練過程中存在過增益現象[6]。為了充分利用了膚色檢測的速度和AdaBoost算法檢測的高檢測率,本文將膚色檢測和AdaBoost算法結合起來,并針對傳統(tǒng)的AdaBoost算法訓練過程中的過增益缺陷進行了改進,對其算法權重的更新規(guī)則進行了調整,增加了構建層疊分類器訓練過程。實驗結果表明,改進后的方法在檢測性能上得到了明顯提高。
膚色是人臉重要信息,它不依賴于面部的細節(jié)特征,且對于旋轉、表情變化都具有相對穩(wěn)定性。膚色檢測方法可以很快在圖像中搜索到包含人臉的膚色區(qū)域。大量的結果表明,膚色之間的差異主要是由于亮度信息引起的,為利用皮膚顏色在色度空間的聚類性,需要把圖像中表達顏色的色度信息與亮度信息分開,因此選擇一個更適合于膚色分割的彩色空間很重要。目前,常用的彩色空間有 RGB、HSI、YUV、YCbCr等。YCbCr色彩空間和人的視覺預處理過程有著相似的結構規(guī)則,特別是人臉檢測在YCbCr空間有著較好的聚類效果。De Dios[7]提出將YCgCr色彩空間用于人臉檢測,它同 YCbCr空間比較相似。Wang[8]證實,對于膚色,YCgCr空間比YCbCr空間有著更好的聚類性。因此,本文采用YCgCr色彩空間檢測可能的人臉區(qū)域。RGB空間可按式(1)轉換到YCgCr空間。
膚色檢測即通過特定的算法獲取可能的膚色區(qū)域,包括膚色提取和膚色分割。本文采用高斯模型來提取和分割被檢圖像的膚色。YCgCr空間將亮度信息和色度信息分開,這樣可以降低亮度的影響,膚色點在Cg和Cr分量上存在一個比較穩(wěn)定的聚類分布。確定膚色點在Cg和Cr二維空間中的二維高斯模型[9]為:
其中:x為每個像素點的色度分量;Cg為第1個分量;Cr為第2個分量;M和C分別為統(tǒng)計出來的均值和協(xié)方差。
對于輸入圖像,按照式(1)將其從RGB色彩空間轉換到YCgCr色彩空間,然后按照上面的高斯膚色模型計算其中任何像素屬于膚色區(qū)域的概率,即根據該點與高斯分布中心的距離得到其與膚色的相似度[9],計算公式為
P(Cg,Cr)體現了各像素與膚色的相似程度。P(Cg,Cr)值越大表示屬于膚色的可能性也越大,反之越小。
根據膚色相似度,采用閾值化技術將圖像轉換成二值圖像來獲取膚色區(qū)域。然后,對膚色二值圖利用數學形態(tài)學運算濾除噪聲,去除小的不相關區(qū)域,再通過對圖像的連通域搜索、二值圖像的孔洞信息等條件進行篩選,得到一個比較平滑的人臉區(qū)域,如圖1所示。
圖1 膚色分割結果
AdaBoost算法[10]的基本思想是集合大量的弱分類器來形成一個強分類器。這種算法的缺點是[11]當訓練集包含少數難以分類的樣本時,Ada-Boost算法會聚焦于這些特殊樣本,給這些樣本分配很高的權值,最終由于反復迭代導致權重分布嚴重扭曲,產生過增益現象。
為避免訓練過程中的過增益現象,本文采用了一種新的權重更新方法[11],基本思想是對每次循環(huán)設置一個權重閾值,當樣本被錯誤分類并且其當前權值小于閾值時,則增加樣本權值,否則減小其權值。同時在訓練過程中構建級聯(lián)分類器,這樣就不需要再單獨構建分類器[12]。算法描述如下:
給定訓練樣本{(x1,y1),(x2,y2),…,(xn,yn)},其中真假樣本的數量分別為 m和 h,yi={0,1},i=1,2,…,n 分別對應樣本的假和真。
1)首先,需要確定強分類器的數量P和強分類器的平均錯誤率RP、RP是序列遞減的。
2)初始化權重。設 ωt,i為t次循環(huán)中第 i個樣本的誤差權重,如果 yi=1,則 ωt,i=1/2m;否則ωt,i=1/2h。
3)進行迭代操作。
②采用弱分類器算法,從確定的弱分類器中找出一個具有最小錯誤εt的弱分類器ht;
③設訓練過程中的權重閾值為
④更新樣本權重:
其中:βt=εt/(1 - εt),vt是使的一化因子;
⑤t=t+1。
4)計算當前強分類器的平均錯誤率。
①集合最優(yōu)弱分類器形成強分類器
②計算強分類器的平均錯誤率
③如果ε≥Rp,進入步驟3),其他情況進入步驟5)。
5)輸出強分類器,更新樣本進入步驟2)。
集合所有強分類器形成級聯(lián)分類器,采用改進的權重更新規(guī)則,進而有效地避免了過增益現象。
膚色檢測具有較快的速度,但由于光照的影響,那些不包括人臉的膚色區(qū)域以及和膚色相似的背景區(qū)域容易被錯誤地認為是人臉區(qū)域,因此造成高虛警率。為了在提高檢測速度和檢測率的同時降低虛警率,本文將膚色檢測算法和改進的AdaBoost算法相結合來實現人臉檢測?;舅枷胧?將候選人臉區(qū)域從被檢圖像中分割出來,然后輸入到AdaBoost分類器中進行檢測。這樣就不需要對整個圖像進行掃描,因此,檢測速度可以明顯提高。圖2和圖3給出了每一步的檢測結果。
圖2 組合算法的單個人臉檢測結果
本文的訓練樣本采用 Bao face database[13]數據庫中的人臉圖像,真假樣本數量分別為2 439和4 381。測試環(huán)境為 P4,3GHz CPU,2G 內存,操作系統(tǒng)為 Windows XP,在VC++6.0平臺上編程實現。部分檢測結果如圖4所示。表1是檢測率比較。表2是檢測速度比較。實驗結果表明,本文的算法較能有效避免傳統(tǒng)的AdaBoost算法中的過增益現象,充分利用了膚色檢測的快速性和Ada-Boost算法的準確性,在檢測速度和檢測率上都比基于傳統(tǒng) AdaBoost算法的人臉檢測方法有所提高。
圖3 組合算法的單個人臉檢測結果
圖4 部分檢測結果
表1 比較檢測率和虛警率
表2 比較檢測速度 ms
將膚色檢測和改進AdaBoost算法檢測相結合,提出了一種新的人臉檢測方法。首先,利用膚色檢測方法確定被檢圖像中可能的人臉區(qū)域。然后,針對傳統(tǒng)AdaBoost算法在訓練過程中的過增益現象進行了改進,通過新的權重更新方法,使其有效避免過增益現象,提高檢測率,降低誤識率。最后,將膚色檢測結果輸入到改進AdaBoost分類器中進行檢測,確定人臉。實驗結果表明,這種方法具備了膚色檢測的高速性和改進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)控視頻的人臉檢測與實時跟蹤提?。跠].南京:南京理工大學,2009.
[3]徐錦.人臉檢測的自適應膚色分割算法研究[J].貴州大學學報:自然科學版,2007,24(2):171 -174.
[4]任成娟,胡淑芳,劉崇文.子模式局部保持映射人臉識別算法[J].重慶理工大學學報:自然科學版,2011,25(6):84-89.
[5]張彤,盧雯雯,肖南峰.基于BP網絡的人臉朝向識別方法[J].重慶理工大學學報:自然科學版,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]趙明華.人臉檢測和識別技術的研究[D].成都:四川大學,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.