摘 要: 針對AdaBoost人臉檢測算法易受到紋理干擾而造成誤檢的情況,提出了一種結合自適應膚色驗證的快速人臉檢測算法CMFS。該算法首先用運動檢測為前置處理減小人臉檢測搜索范圍,然后用AdaBoost算法檢測出人臉候選區(qū),最后根據人臉候選區(qū)的平均亮度自適應地選擇是否啟用膚色驗證作為后處理以排除虛警。實驗結果表明,提出的CMFS檢測算法在保證檢測率的同時,提高了檢測速度,并大大降低了誤檢率。
關鍵詞: 人臉檢測;膚色檢測;多特征融合
人臉檢測是計算機視覺及相關領域的關鍵技術,在智能人機交互、視頻會議、安全監(jiān)控等方面都有著廣闊的應用前景。目前人臉檢測方法主要有基于知識的方法和基于統計學習的方法[1]。其中,基于知識的檢測算法首先抽取灰度、紋理、集合形狀等特征,然后根據一些特定的知識規(guī)則判斷圖像中是否含有人臉,該類方法速度快但精度較差,多適用于人臉的粗檢測。基于統計學習的方法是將人臉檢測轉化為模式識別中的二分類問題,通過學習人臉樣本集和非人臉樣本集得到一組模型參數,再利用該參數來判斷圖像中的每個子窗口是否為人臉。該類算法可為兩大類[1]:(1)使用統計的方式進行特征提取,如主成分分析、流行方法等;(2)使用統計的方法進行分類,如神經網絡、支持向量機(SVM)、貝葉斯決策、Boosting方法等。其中,基于AdaBoost算法的人臉檢測算法是目前最快、最有效的人臉檢測算法之一[2],能較好地完成實時人臉檢測。
然而,基于AdaBoost的人臉檢測算法易受到紋理干擾而造成誤檢,所以可以考慮引入其他信息來提高人臉檢測算法的性能??紤]到在視頻監(jiān)控的應用中,人們往往更加關心運動的物體,因此可以結合這一應用特點引入運動和膚色信息來排除復雜背景對人臉檢測的影響,進而提高檢測速度。為了提高視頻序列中人臉檢測算法的性能,降低誤檢率,本文提出一種結合運動檢測、AdaBoost人臉檢測和膚色確認的級聯式多特征人臉檢測算法CMFS(Cascade Motion Detection,Face Detection and Skin Verification)。該算法首先進行運動檢測提取目標運動區(qū)域,以較小的計算代價縮減人臉檢測的搜索范圍;然后在運動區(qū)域中使用AdaBoost人臉檢測算法檢測人臉;最后再根據亮度情況自適應地選擇是否啟用膚色驗證作為后處理,以排除紋理干擾。實驗證明,本文提出的CMFS檢測算法在保證檢測率的同時大大降低了人臉檢測算法的誤檢率,提高了檢測速度,能滿足復雜壞境變化中實時人臉檢測的要求。
1 AdaBoost人臉檢測算法
2001年,VIOLA P和JONES M[3]提出的實時人臉檢測框架真正讓人臉檢測走向成熟,該算法使用Boosting的方法將多個弱分類器組合成強分類器,并利用Cascade的結構加快處理速度,使人臉檢測的速度得到了實質性的提高。參考文獻[3]主要有三大貢獻:(1)利用Haar特征構造弱分類器,并提出“積分圖”的概念快速計算Haar特征值;(2)利用AdaBoost算法,從很大的特征集中選出很少的特征線性組合形成非常高效的節(jié)點分類器;(3)利用人臉檢測是一個極度不對稱的分類問題,把節(jié)點分類器級聯起來,由粗到精迅速排除非人臉區(qū)域,顯著提高了檢測速度。
其中,v是Haar特征值;pt代表偏置,用于控制不等號的方向;θt代表分類閾值。弱分類器是錯誤率稍低于50%的分類器,在固定的樣本集中挑選出錯誤率最低的弱分類器后,可以通過AdaBoost算法把在不同樣本集中訓練得到的弱分類器集合起來,構成一個強分類器。
1.2 Adaboost算法
AdaBoost的主要思想是:在每次弱學習后更新樣本集的權重分布,即重新調整每個樣本的權重,減小被正確分類的樣本權重,加大被錯誤分類的樣本權重,使得后續(xù)的學習能更“關注”那些被錯誤分類的樣本。
2 多特征融合的快速人臉檢測算法CMFS
基于AdaBoost的人臉檢測算法具有快速、檢測率高的優(yōu)點,但它易受到紋理等干擾而導致誤檢。在視頻監(jiān)控的應用中,可以加入運動和膚色信息來排除非人臉干擾,提升人臉檢測算法的性能。本文提出的CMFS人臉檢測算法流程圖如圖3所示,它有運動檢測模塊、人臉檢測模塊以及膚色驗證模塊3個基本模塊。首先進行運動檢測提取目標運動區(qū)域,縮減人臉檢測的搜索范圍;然后在運動區(qū)域中使用AdaBoost人臉檢測算法檢測人臉;最后根據亮度情況自適應地選擇是否啟用膚色驗證作為為后處理,以排除紋理干擾。
2.2 膚色驗證
本文采用HSU R L等[6]提出的膚色檢測算法來對人臉檢測出的候選區(qū)域進行膚色確認。在YCbCr顏色空間中,HSU R L等把色度分量Cb和Cr作為亮度分量Y的函數Cb(Y)和Cr(Y),對YCbCr顏色空間進行非線性變換,得到新的顏色空間YCb′Cr′,并在YCb′Cr′顏色空間提出一個橢圓膚色模型。把橢圓內部的點判定為膚色點,橢圓外部的點判定為非膚色點[6]。
膚色是對人臉來說是很有效的特征,能有效降低人臉檢測的虛假率,但膚色特征存在對光照變化敏感的缺點。由于膚色檢測易受到光照變化影響,在高亮度或低亮度條件下較難分割出完整的膚色區(qū)域,如圖5所示,因此膚色確認的結果并不總是可信。對此,采用自適應的方式對人臉候選區(qū)進行膚色確認。具體來說,即在得到人臉檢測候選區(qū)后,CMFS算法會根據人臉候選區(qū)平均亮度自適應地開啟膚色驗證。如果人臉候選區(qū)的平均亮度很高或很低,則不啟用膚色驗證,直接判定經過人臉檢測的人臉候選區(qū)為最終結果;反之,則啟用膚色驗證,并采納膚色驗證的結果。具體地說,膚色驗證就是:如果人臉檢測得到的人臉候選區(qū)中膚色像素個數占的比例很低(本文中設定為0.5),則認為人臉檢測發(fā)生誤檢,排除該候選人臉候選區(qū)。本文通過大量的實驗統計發(fā)現,易發(fā)生誤檢的亮度區(qū)間是Y∈[0,70]和Y∈[190,235],所以設定這兩個區(qū)間分別為低亮度區(qū)間和高亮度區(qū)間,其他區(qū)間為正常亮度區(qū)間。
3 實驗結果及分析
本文選取一些常用的測試視頻序列并用USB攝像頭拍攝多段視頻作為測試序列,測試了本文所提CMFS算法的檢測性能,并與目前應用最廣泛的AdaBoost人臉檢測算法進行了比較。實驗運行環(huán)境是:Windows XP SP3操作系統,Intel(R)Pentium(R)D CPU,3.39 GB內存。程序運行平臺是:Microsoft Visual Studio 2008/OpenCV 1.0,AdaBoost人臉檢測算法取自OpenCV。
為了測試本算法對光照的適應性,拍攝了低亮度、高亮度和正常亮度下的3段序列A、B、C,分別包含500幀和500張人臉,在其上測試了僅用人臉檢測算法、結合非自適應膚色驗證的人臉檢測算法和本文CMFS算法的性能,在3種算法前都不作運動檢測處理以保證有無膚色驗證為唯一變量。圖6展示了3種算法對A、B、C序列的部分檢測效果。從圖6可以看出,在低亮度和高亮度情況下,膚色檢測已經失效(如(d)膚色分割圖所示),此時如果仍信任膚色,則會造成漏檢(如序列A和C的(b)所示),而自適應后置膚色驗證算法在非正常亮度下自動關閉膚色驗證,故能保證人臉檢測的檢測率;在正常光照時,膚色驗證能有效地排除紋理干擾,降低誤檢率(如序列B所示,可以看到衣服處的膚色像素值不足50%,判定為非人臉,排除此干擾)。結合運動檢測,本文所提出的人臉檢測算法能達到平均11.6 ms/frame,完全滿足實時要求。
為了測試本文算法對復雜環(huán)境的魯棒性,在較為復雜的場景下用攝像頭拍攝了一段亮度正常的視頻序列D(分辨率為352×288,共840幀,平均亮度范圍為[70,190],該序列背景包括書架、門、箱子等)。表1為僅用人臉檢測的算法與本文算法的性能比較,圖7為部分檢測結果。從表1可以看出,本文算法在保證檢測率的同時,大大降低了人臉檢測的誤檢率,提高了檢測速度。這是因為本文所提出的CMFS算法能通過前置的運動檢測減小人臉檢測搜索范圍,提高檢測速度,并結合后置的膚色確認,有效地排除各種紋理和非膚色虛警(如圖7第133幀中的衣服條紋、第122和380幀中的非膚色物體干擾)。
本文提出一種新的多特征融合人臉檢測算法,利用運動檢測為前置處理減小人臉檢測搜索范圍,然后使用AdaBoost人臉檢測算法得到人臉候選區(qū),最后根據人臉候選區(qū)的平均亮度自適應地確定是否啟用膚色驗證作為后處理,以排除虛警。相比于僅用人臉檢測的算法,本文提出的CMFS算法在保證檢測率的同時提高了檢測速度,并大大降低了誤檢率,能滿足復雜壞境變化中實時人臉檢測的要求。
參考文獻
[1] 郭志波.人臉快速檢測和特征抽取方法的研究[D].南京:南京理工大學,2007.
[2] JONES M J, VIOLA P. Robust real-time object detection[C]. Proceedings of the Workshop on Statistical and Computational Theories of Vision, 2001.
[3] VIOLA P, JONES M. Rapid object detection using a boosted cascade of simple features[C]. Proceedings of the Computer Vision and Pattern Recognition, 2001 CVPR 2001 Proceedings of the 2001 IEEE Computer Society Conference on, 2001: 511-518.
[4] SCHAPIRE R E, SINGER Y. Improved boosting algorithms using confidence-rated predictions[J]. Machine Learning, 1999, 37(3): 297-336.
[5] 徐顯日.人臉檢測算法的研究及其在DSP上的實現[D].廈門:華僑大學,2007.
[6] HSU R L, ABDEL-MOTTALEB M, JAIN A K. Face detection in color images [J]. IEEE Transactions on Pattern Analysis and Machine Intelligence, 2002, 24(5):696-706.