馮輝宗,謝 靜,蔣建春
(重慶郵電大學汽車電子與嵌入式系統(tǒng)研究所,重慶 400065)
人臉檢測(face detection)作為人臉識別、表情鑒別和提取面部信息的首要步驟和關(guān)鍵技術(shù),現(xiàn)在已經(jīng)成為模式識別和機器視覺領(lǐng)域的一個研究熱點。同時,由于采集人臉信息是非接觸式的,采集途徑簡便且易于安裝。近幾年,在車輛疲勞駕駛檢測、交通安全自動監(jiān)控以及人車交互等方面有著日益廣泛的應用。
一般在人臉檢測過程中主要考慮2個問題:一是人臉檢測的速度;二是人臉檢測的精度[1]。現(xiàn)存的幾種人臉檢測的方法都無法使這2個方面同時達到理想的效果。目前,常用的人臉檢測方法主要有以下幾種:一是基于幾何特征的方法,該方法判定條件直觀,但卻很難將人類知識轉(zhuǎn)換為明確的定義;二是基于統(tǒng)計的方法,精確度較高,不易受環(huán)境影響,但檢測速度慢,實時性差;三是基于膚色特征的方法,具有檢測速度快,對姿勢不敏感等優(yōu)點,但易受光照影響。
考慮到人臉檢測的對象是車輛駕駛員,則要求檢測算法實時性好,適應不同旋轉(zhuǎn)角度以及精度較高。由于膚色聚類的人臉檢測技術(shù)是基于人類的膚色,具有良好的聚類特性,即不同的人臉只是亮度不同,但色度信息基本一致。滿足實時性好、精度高以及對姿勢不敏感等要求。因此,用該方法來進行對駕駛員和乘車人員的人臉檢測具有一定的現(xiàn)實意義。
目前,也有很多學者運用基于膚色聚類的人臉檢測算法進行人臉檢測。大致方法有三類:1)在原有圖像的顏色空間下建立顏色分類器[2];2)改善原有圖像的RGB顏色空間,利用范化的顏色空間建立膚色模型[3];3)采用本身色度和亮度分離的色彩空間,在該空間下建立膚色模型[4]。
本文在分析以上方法,同時考慮實際環(huán)境和檢測對象的特有情況后,提出了采用空間的膚色聚類算法。首先對原圖像采用改進后的多尺度Retinex算法進行光照補償;然后建立高斯膚色模型后對膚色區(qū)域進行自適應閾值選取;最后根據(jù)駕駛室的特定環(huán)境和其他先驗知識標出人臉,實現(xiàn)完整的人臉檢測算法。算法流程圖如圖1所示。

圖1 算法流程圖Fig 1 Flow chart of algorithm
基于膚色聚類特性的人臉檢測算法最大的缺陷就是易受光照影響。同時,由于駕駛室光照不充足的特殊情況也導致所采集的原圖像必然存在光照不均的問題。基于以上2個原因,對圖像進行的光照補償就顯得十分重要。它直接關(guān)系到人臉檢測的準確度。在進行光照補償?shù)臅r候要考慮到膚色的恒常性,即膚色在光照發(fā)生變化時,人們對其顏色的知覺保持不變。膚色聚類是依據(jù)膚色色度不變特性為核心條件的,所以,在光照補償?shù)臅r候一定要保證原圖像的顏色不能發(fā)生變化。
Land E提出的視網(wǎng)膜皮層Retinex算法,實質(zhì)是通過對圖像進行某種高斯平滑提取亮度圖像,其目的是從圖像中提取物體的反射性質(zhì)分量[5]。該算法能夠在灰度動態(tài)范圍、邊緣增強以及顏色恒常性3個方面達到平衡,所以,很好地解決了以上的難題。多尺度Retinex算法認為圖像可以簡單的表示為

其中,S為圖像的低頻分量,反映圖像的光照特性;R為圖像的高頻分量,反映圖像的反射特性,決定圖像的內(nèi)在特性。在Retinex算法理論中認為R分量比S分量對I圖像造成更大的影響[6,7]。如果能夠從I圖像中估計出照度S并將其去除,就可以在不考慮光照的情況下還原圖像本身。多尺度Retinex算法數(shù)學形式如下



其中,cn為第n個尺度;kn為歸一化因子。
基于這種思想,本文設(shè)計了一種新的基于HSV空間的彩色圖像光照補償算法。僅對V分量進行光照補償就可以既保證色彩的恒常性,又能使光照得到一定程度的調(diào)整。光照補償算法流程如圖2。

圖2 光照補償算法流程圖Fig 2 Flow chart of illumination compensation algorithm
算法首先將原圖像從RGB顏色空間轉(zhuǎn)換到能夠使亮度分離的HSV空間。保持H和S分量不變,對明度分量V經(jīng)過三級小波分解,得到圖像的高頻成分VH和低頻成分VL。由于低頻圖像VL主要體現(xiàn)亮度分布和基本面貌,故對其進行多尺度Retinex光照處理。最后將補償后的VL分量和原圖像的VH分量重構(gòu),得到新的V分量再還原圖像。將算法的運行空間放在HSV空間中的V分量是因為對V分量的操作不會影響到原圖像的色度和飽和度,有利于保持膚色的恒常性,進而保證了膚色聚類算法的可行性。圖3為光照補償后的效果圖。

圖3 光照補償最終效果圖Fig 3 Final effect diagram of the illumination compensation
結(jié)合駕駛室的應用環(huán)境,該算法采取YCbCr色彩空間,它有以下幾個優(yōu)勢:1)該色彩空間將亮度分量Y單獨提取出來,使亮度和色度分開。由于膚色具有不受色度僅受亮度影響的特性,亦即不同人的膚色在色度上往往是相近的,因此,選用此類亮度信息與色度信息分開的色彩空間更為合適。2)根據(jù)Jain Anil K.的實驗結(jié)果發(fā)現(xiàn),膚色在色度分量Cr色彩和飽和度Cb色彩分量中具有較好的聚類性。3)YCbCr色彩空間是離散空間,易于實現(xiàn)聚類算法,而其他能夠?qū)⒘炼扰c色度分開的同類色彩空間基本上都是連續(xù)的,不利于實現(xiàn)聚類算法。4)YCbCr是感知均勻的色彩空間,同其他色彩空間相比,YCbCr色彩空間膚色聚類性更好。
由于攝像頭所采集的圖像資源都是在RGB空間的,因此,要進行色彩空間的轉(zhuǎn)換,轉(zhuǎn)換公式如下

此外,根據(jù)Jainden Anil K等人的仿真結(jié)果,Y取不同的值時,在CbCr平面內(nèi)所得到的膚色投影也是不同的。也就是說,在CbCr平面內(nèi)找尋膚色的聚類區(qū)域時,也要考慮亮度信息Y分量的影響。為了解決這一問題,需要對YCbCr進行非線性變換,以此來限制膚色聚類空間,使其可以很好地適應過明或過暗的區(qū)域,保證膚色模型的魯棒性[2]。
膚色模型是在一定顏色空間中描述膚色分布規(guī)律的數(shù)學模型,它的建立直接影響到檢測的精確度,是膚色檢測的前提。常用的膚色模型有3種:直方圖膚色模型、膚色范圍模型、高斯分布模型。直方圖膚色模型是一種非參數(shù)模型,利用該模型實現(xiàn)的算法,實時性會受到計算量大小的影響;膚色范圍模型是用一種用數(shù)學表達式明確規(guī)定膚色范圍的模型,利用該模型實現(xiàn)的算法簡單直觀,但是不具有自適應性;高斯分布模型是利用正態(tài)分布來擬合膚色的概率密度分布,對膚色進行參數(shù)化建模而形成的一種模型。該模型依據(jù)人類膚色之間的差異主要取決于膚色的概率密度并不是顏色本身,而膚色的概率密度在一定的光照下是服從正態(tài)分布的。這種分布形態(tài)與所選的顏色空間有關(guān),不同的顏色空間建模的效果都不相同。YCbCr顏色空間可以很好地反映膚色分布,同時反映出膚色聚類特性[2,3]。基于上述因素的考慮,本文采用高斯分布膚色模型來實現(xiàn)算法。
原圖像中每個像素屬于膚色的概率為

其中,x為經(jīng)過非線性變換后Cr,Cb矩陣,即

而m為x的均值,C為x的協(xié)方差,即

建立膚色模型后則是進行閾值分割,即對原圖像的各個像素進行判斷,得到膚色似然概率圖。由于皮膚區(qū)域的像素與膚色模型的相似程度較高,計算得到的相似度值比較大,因此,在類膚色灰度圖中,皮膚區(qū)域比其他部分更亮。因此,通過選取合適的閾值即可分割出膚色區(qū)域。本文采用自適應閾值法得到最初的膚色區(qū)域二值圖像,具體方法為設(shè)定閾值范圍為(0.005,0.8),使閾值從高到低依次遞減0.05,并記錄下每次閾值變化時屬于膚色像素數(shù)量的變化,然后找出屬于膚色像素數(shù)量變化最小時的那個閾值作為最優(yōu)化閾值,若發(fā)現(xiàn)在從0.50減少到0.30區(qū)間時膚色像素數(shù)量增加最少,則優(yōu)化后的閾值為0.40。
在經(jīng)過閾值分割后的二值圖像中包含許多不同的類膚色區(qū)域。為了提高檢測精度,可以先對二值圖像進行形態(tài)學處理,除去明顯的非膚色的類膚色區(qū)域,然后根據(jù)約束條件選定人臉區(qū)域。根據(jù)駕駛室的特定環(huán)境和人臉特征主要有以下2個約束條件:
1)人臉寬高比
根據(jù) GB 10000—88標準可以算出人臉的寬高比為0.81,考慮到遮擋物、頸部區(qū)域、光照等其他因素干擾的情況,在進行多次實驗仿真后,最終確定類膚色區(qū)域?qū)捀弑仍冢?.6 2.0]區(qū)域內(nèi)可能是人臉區(qū)域。
2)類人臉所占面積
由于該檢測方法是針對機動車駕駛員的人臉檢測應用,而在駕駛室內(nèi)駕駛員的活動范圍具有一定的空間限制,因此,該環(huán)境具有很強的約束性。利用這個特殊條件,估算出人臉區(qū)域可能在圖像采集中占得的面積比,以此作為一個判定人臉區(qū)域的條件。
機動車駕駛證申領(lǐng)和使用規(guī)定,申請中型客車準駕車型的,身高為150cm以上。另外,一般駕駛員胸部與方向盤之間至少保持25cm的距離。如不能保持該最小距離,發(fā)生事故時安全氣囊將不能發(fā)揮保護作用,可能嚴重致傷或致死。根據(jù)機動車尺寸的測量方法和標準流程,即SAE標準可知,駕駛位最遠距離方向盤約為70cm左右。利用以上數(shù)據(jù),可以大約算出人臉所占采集圖像的面積比。反復試驗后,選定類膚色的聯(lián)通區(qū)域作為區(qū)域特征選擇的另一個重要條件,即當圖像中某聯(lián)通區(qū)域在整幅圖像面積的40%以上時,認定該區(qū)域為人臉區(qū)域。圖4是人臉距離攝像頭25 cm和70 cm時的檢測效果圖。

圖4 人臉與攝像頭不同距離實驗效果Fig 4 Experimental images of different distance between face and camera
利用上述改進后的算法,基本可以較準確地檢測出駕駛室內(nèi)駕駛員的人臉。
仿真實驗是在PC機上實現(xiàn)的,實驗環(huán)境為Matlab 7.1。本文創(chuàng)建了一個具有變光照和不同角度的彩色人臉數(shù)據(jù)庫。圖像資源來源于相機拍攝和Internet下載2種渠道,共計150幅圖片,分辨率為800×640;采集對象為不同的車輛駕駛?cè)藛T;采集環(huán)境為車輛駕駛室內(nèi)部。該數(shù)據(jù)庫中包含大量旋轉(zhuǎn)角度較大的人臉圖片,也包含尺度、姿態(tài)和表情變化。運用本文改進后的人臉檢測算法,實現(xiàn)的人臉定位效果如圖5所示。

圖5 駕駛室內(nèi)的人臉檢測Fig 5 Face detection in vehicle cabs
由上述實驗過程可知,本文所闡述的人臉檢測方法針對駕駛室這種特殊環(huán)境中是可以實現(xiàn)的。
利用這150幅圖像,與目前疲勞駕駛檢測系統(tǒng)中使用的傳統(tǒng)膚色聚類人臉算法進行比對實驗,實驗結(jié)果如表1所示。

表1 改進后的算法實驗結(jié)果與傳統(tǒng)方法的對比Tab 1 Comparison of experimental results about the traditional method and the improved algorithm
以上數(shù)據(jù)證明:本文在引入新的光照補償算法之后較傳統(tǒng)膚色聚類人臉檢測方法正確率有了一定的提高。雖然檢測時間增長,但還是在可接受的范圍內(nèi)。所以,本文采用的改進算法既保證了算法的實時性,同時提高了原有算法的準確性。
本文針對疲勞駕駛檢測系統(tǒng),同時考慮駕駛室特定環(huán)境,選擇了基于膚色聚類的人臉檢測方法,并針對算法本身和駕駛室光照不均的缺陷提出了一種新的多尺度Retinex算法。本文的算法可實現(xiàn)對不同人、光照變化、頭旋轉(zhuǎn)不確定的人臉檢測,能夠滿足實時性要求,易于實現(xiàn),對駕駛室內(nèi)彩色人臉圖像的檢測有很高的準確率。因此,有較強的適應性和應用價值。當然算法還存在一定的缺陷,若背景中存在類似膚色的部分則會造成對人臉誤檢。因此,在區(qū)域特征選取方面還有待改善。
[1] 周 杰,盧春雨,張長水,等.人臉自動識別方法綜述[J].電子學報,2000,28(4):103 -103.
[2] 張爭珍,石躍祥.YCrCb顏色空間的膚色聚類人臉檢測-計算機工程與應用,2009,45(22):163 -165.
[3] 吳暾華,周昌樂.快速人臉檢測系統(tǒng)的設(shè)計與實現(xiàn)[J].計算機應用,2005,25(10):163 -165.
[4] 徐 翠,李 然.基于YCbCr空間的高斯膚色模型的人臉檢測[J].軟件導刊,2009,8(2):179 -181.
[5] Lei Ling,Zhou Yinqing,Li Jingwen.Investigation of Retinex algorithms for image enhancement[J].Journal of Electron,2007,24(5):696-700.
[6] 韓麗娜,熊 杰,狄國華,等.利用HSV空間的雙通道同態(tài)濾波真彩圖像增強[J].計算機工程與應用,2009,45(27):18-20.
[7] Jain A K.Face detection in color images[J].IEEE Trans on PAMI,2002,24(5):696 -706.