崔曉琳, 蔡燦輝, 朱建清
人臉檢測是計算機視覺及相關領域的關鍵技術[1-2]?;贏daBoost算法的人臉檢測算法是目前最快、最有效的人臉檢測算法之一[3-4]。在視頻監(jiān)控的應用中通常將運動檢測和膚色檢測置于人臉檢測之前[5-7],以較少的計算代價縮減人臉檢測的搜索區(qū)域,提高整體的檢測速度。為了便于敘述按其模塊級聯(lián)順序稱之為MSF(Motion detection, Skin detection and Face detection)算法。但是,在高光或低照度條件下膚色與非膚色難于區(qū)分,通常會使膚色檢測失敗,導致以膚色檢測為前置處理的人臉算法的失?。z)。因此,一個光照自適應的膚色檢測方案對于人臉檢測算法的光照魯棒性來說是非常必要的。
如果把前置的膚色檢測改進為根據(jù)亮度自適應的膚色檢測,那么它就只能依據(jù)整幅圖片的平均亮度或者運動區(qū)域的平均亮度來作為是否信任膚色檢測的標準,在人臉區(qū)域平均亮度與整幅圖片平均亮度有較大差異時,這種判斷會造成較大誤差;再加上傳統(tǒng)的膚色檢測是通過投影直方圖完成的,它會受到周圍類膚色背景的影響而導致分割出的膚色區(qū)域過大或過小,這都可能對后續(xù)的人臉檢測帶來不良影響。
針對這種情況,提出一種后置自適應膚色驗證的人臉檢測算法。為了便于敘述按其模塊級聯(lián)順序稱其為MFAS(Motion detection, Face detection and Adaptive Skin verification)算法,把膚色檢測的功能由減少搜索區(qū)域轉化為對人臉檢測的結果進行膚色驗證,以人臉候選區(qū)的亮度作為是否啟用膚色驗證的依據(jù)。實驗結果表明,該算法與傳統(tǒng)MSF算法相比具有更好的光照魯棒性。
傳統(tǒng)的人臉檢測算法通常將運動檢測和膚色檢測置于人臉檢測之前,用較小的計算代價減小人臉檢測搜索區(qū)域,提高整體的檢測速度。在簡單場景和正常光照下,該算法能有效地排除干擾,提高人臉檢測的性能,但在復雜場景或非正常光照下,該算法的膚色檢測環(huán)節(jié)容易出現(xiàn)兩大問題:①在高亮度或低亮度條件下膚色與非膚色難于區(qū)分,經(jīng)常會導致膚色檢測失敗,很難分割出完整的膚色區(qū)域。圖1給出了非正常亮度下膚色分割的結果。如果不采取有效措施,前置的膚色檢測失敗將丟棄人臉區(qū)域,導致人臉檢測失?。z人臉);②采用直方圖投影的方法確定膚色區(qū)域有可能過大或過小(如圖2所示,圖中紅色框為膚色檢測出的膚色區(qū)域),這都可能影響人臉檢測的效果。
圖1 非正常光照下的膚色分割效果
圖2 直方圖投影失敗示意
針對問題①,可以考慮引入自適應的膚色檢測方案,當處于低光照或高光照條件時關掉膚色檢測,直接在運動區(qū)域內進行人臉檢測,簡稱之為 MASF(Motion detection, Adaptive Skin detection and Face detection)。由于它只能依據(jù)整幅圖片的平均亮度或者運動區(qū)域的平均亮度來作為是否信任膚色檢測的標準,在人臉區(qū)域平均亮度與整幅圖片平均亮度有較大差異時,這種判斷就會造成較大誤差。針對問題②,可以通過其他算法確定膚色區(qū)域(如連通域標記等),但這類算法都是基于形態(tài)學處理,不能保證完整分割出膚色區(qū)域。
為了提高人臉檢測算法在復雜背景和光照變化下的性能,文中提出一種后置自適應膚色驗證的人臉檢測算法——MFAS(Motion Detection, Face Detection and Adaptive Skin verification)。首先進行運動檢測提取目標運動區(qū)域,然后在運動區(qū)域中使用 AdaBoost人臉檢測算法檢測人臉,在正常亮度下,啟用膚色驗證作為為后處理以排除紋理干擾。整個人臉檢測流程如圖3所示。各模塊具體如下。
圖3 MFAS人臉檢測算法流程
可以采用多種方式對運動目標進行檢測[8],所提MFAS算法采用對稱差分算法來實現(xiàn)運動檢測[7],其基本過程如下:首先對相同間隔的三幅圖像兩兩相減得到絕對差分圖像,然后二值化得到的兩個差分圖像,進行“與”操作,得到對稱差分二值圖像,即運動目標從背景中分離的初步結果,再對該差分圖進行形態(tài)學處理后即可得到運動目標。檢測到運動目標后采用直方圖投影法來提取目標區(qū)域[7]。
基于 AdaBoost算法的人臉檢測算法是目前較成功的算法之一。2001年 Viola等[3]提出的基于AdaBoost算法的級聯(lián)型(Cascade)人臉檢測器使人臉檢測的速度得到了實質性的提高。文獻[7]采用OpenCV自帶的人臉分類器,它使用 Gentle AdaBoost結合級聯(lián)結構的訓練方式得到的分類器包括22層強分類器,包含2 135個Haar特征。為了保證人臉檢測算法的一致性,MFAS采用與文獻[7]同樣的分類器。由于 Haar特征值是通過計算原圖在Haar模板中白色區(qū)域和黑色區(qū)域的灰度值的差值得到的,因此它對光照具有較好的魯棒性,基于Haar特征的 AdaBoost人臉檢測算法在較大范圍的光照條件下都有很高的檢測率[3],然而這種算法易受到紋理等干擾造成誤檢率較高(圖4(a)和圖4 (b)所示為AdaBoost人臉檢測算法的部分檢測效果,圖4 (c)和圖4 (d)是出現(xiàn)誤檢的情況),因此需要引入其他特征來排除虛警。
圖4 AdaBoost人臉檢測效果示意
所提算法采用 Hsu等[9]提出的膚色檢測算法來對人臉檢測出的候選區(qū)域進行膚色確認以排除紋理干擾,降低誤檢率。人臉候選區(qū)平均亮度在正常范圍內時,如果人臉候選區(qū)中膚色像素個數(shù)占候選區(qū)域總像素的比例低于門限值,則認為人臉檢測發(fā)生誤檢,排除該候選人臉候選區(qū)。其中,門限值經(jīng)由大量實驗測定,實驗中設定為0.5。這種采用像素值比例的方式比直方圖投影更加直觀,而且只需在人臉檢測出的候選區(qū)進行判斷,不會受到周圍類膚色背景的干擾,因此膚色確認結果更加可信。通過大量的實驗統(tǒng)計發(fā)現(xiàn)易發(fā)生誤檢的亮度區(qū)間是 Y ∈ [ 0,70]和Y∈ [ 200,235],所以設定這兩個區(qū)間分別為低亮度區(qū)間和高亮度區(qū)間,其他區(qū)間為正常亮度區(qū)間。對平均亮度不在正常范圍內的候選區(qū)域則不進行膚色驗證,直接將AdaBoost人臉檢測結果作為人臉輸出。
實驗所用測試序列來自一些常用序列和USB攝像頭拍攝,實驗運行環(huán)境是:OS—Window XP SP3,CPU—Intel(R) Pentium(R) D CPU,RAM—3.39 GB。程序運行平臺是:Microsoft Visual Studio 2008/Open CV 1.0。
為了驗證所提算法對光照變化的魯棒性,在復雜環(huán)境和變化光照中拍攝的序列 A(分辨率352x288),上對比了MSF算法[7]、MASF算法和所提MFAS算法的性能。該序列共有700幀,其中1~300幀處于低亮度區(qū)間,301~500幀處于正常亮度區(qū)間,501~700幀處于高亮度區(qū)間。圖5展示了三種算法的部分檢測效果。
圖5 MSF算法[7]、MASF算法和所提算法對序列A的部分測試結果
從圖5中可以看出,當人臉處于非正常亮度區(qū)間時,膚色分割失敗,導致無條件信任膚色檢測的MSF算法[7]漏檢,而MASF和所提MFAS算法此時放棄膚色檢測,大大提高了檢測率;正常光照條件下,三種算法都能檢測到人臉,無論膚色前置還是后置都能具備一定的排除干擾能力;然而當亮度值處于臨界點周圍時,特別是當人臉區(qū)域與運動區(qū)域的平均亮度出現(xiàn)偏差時,采用運動區(qū)域的平均亮度作為評判標準的MASF算法會出現(xiàn)誤差(如第80幀所示,此時人臉區(qū)域平均亮度值處于低亮度區(qū)間,所提 MFAS算法判斷放棄膚色驗證,而運動區(qū)域平均亮度值在正常區(qū)間,MASF算法仍采信于膚色檢測,這種錯誤的信任導致算法漏檢;而第514幀的情況恰恰相反)。整體來看,所提算法對亮度值的判斷更加直觀準確,具有更好的光照魯棒性。從檢測速度上來說,MASF算法的速度最快,但所提算法仍能保證平均12 ms/frame的速度,能完全滿足實時要求。
為了驗證所提算法的抗干擾能力,在正常光照下拍攝的序列B(分辨率352x288,共800幀)上對比了MSF算法[7]、僅用人臉檢測算法和所提MFAS算法的性能(因為處于正常光照條件,所以此時MASF=MSF)。圖6展示了3種算法的部分檢測結果,圖6中可以看出,MSF算法[7]和所提算法都能有效排除紋理干擾(如第387幀所示),然而在MSF算法[7]中,通過直方圖投影得到的膚色區(qū)域有可能過大或過小,這會給人臉檢測帶來不良影響,而所提算法只需對人臉候選區(qū)進行膚色像素比例的判斷,能更有效地排除紋理干擾(如第395幀所示,由于人臉和衣服H分量值相近,導致直方圖投影法確定的膚色區(qū)域過大,此時人臉檢測出現(xiàn)誤檢,而所提算法則有效地排除了這類虛警)。
圖6 僅用人臉檢測算法、MSF算法[7]和所提算法對序列B的部分測試效果
文中提出一種后置自適應膚色驗證的快速人臉檢測算法,利用運動檢測為前置處理減小人臉檢測搜索范圍,然后使用AdaBoost人臉檢測算法得到人臉候選區(qū),最后根據(jù)人臉候選區(qū)的平均亮度自適應地確定是否啟用膚色驗證作為后處理以排除虛警。相比于傳統(tǒng)的多特征檢測算法,所提算法具有更好的光照魯棒性,能夠滿足復雜壞境變化中實時人臉檢測的要求。
[1] 劉偉,朱浩,劉吉邦,等.基于Gabor小波和神經(jīng)網(wǎng)的人臉檢測[J].通信技術,2009,42(02):191-192.
[2] 權懷煒,何明一,景濤.一種復雜背景下快速人臉檢測算法[J].信息安全與通信保密,2008(07):70-72.
[3] VIOLA P, JONES M J. Robust Real-time Face Detection[J].International Journal of Computer Vision,2004,57(02):137-154.
[4] 李晨軒,齊開悅,陳凱,等.基于 AdaBoost的文字檢測方法[J].信息安全與通信保密,2010(04):59-61.
[5] ZHANG L, LIANG Y. A Fast Method of Face Detection in Video Images[C]//Proceedings of the Advanced Computer Control (ICACC). Shen Yang, China:[s.n.],2010:490-494.
[6] GE K B, WEN J, FANG B. Adaboost Algorithm based on MB-LBP Features with Skin Color Segmentation for Face Detection[C]//Proceedings of the Wavelet Analysis and Pattern Recognition (ICWAPR). Gui Lin,China:[s.n.],2011:40-43.
[7] 徐顯日.人臉檢測算法的研究及其在 DSP上的實現(xiàn)[D].福建泉州: 華僑大學, 2007.
[8] 楊錦彬,石敏.一種新型的視頻序列運動目標檢測方法[J].通信技術,2011,44(10):49-51.
[9] HSU R L, ABDEL-MOTTALEB M, JAIN A K. Face Detection in Color Images[J]. Pattern Analysis and Machine Intelligence, IEEE Transactions on, 2002, 24(05):696-706.