李 嵐,張 云
(蘭州文理學院 數(shù)字媒體學院,甘肅蘭州 730000)
人臉識別與虛擬現(xiàn)實技術(shù)相結(jié)合是目前非常活躍的課題,在出入安全檢測、個人信息驗證、人機交互、目標跟蹤等領(lǐng)域有很好的實用價值[1]。雖然人臉識別的準確性要低于虹膜、指紋的識別,但是由于它的無侵害性和對用戶最自然、最直觀的方式,使人臉識別成為最容易被接受的生物特征識別方式。人臉識別通常包含兩部分內(nèi)容:一是人臉檢測,二是人臉識別。正確的人臉檢測就是指對于任意一幅給定的圖像,采用一定的策略對其進行搜索,確定是否存在人臉,如果有則返回人臉所在的位置、姿態(tài)、大小。
典型的人臉檢測方法有模板法、基于示例的學習法、基于器官特征的方法、神經(jīng)網(wǎng)絡法等[2]。由于膚色信息對方向、位置的無關(guān)性,因此基于膚色的人臉檢測和基于灰度圖像的人臉檢測[3]相比,可以很好地縮短檢測時間,提高檢測的實時性和魯棒性。但是膚色信息也有自身的缺點,如環(huán)境光照、膚色種類、遮擋、旋轉(zhuǎn)、胡須等客觀因素的影響,也會加大檢測的難度。
針對以上出現(xiàn)的問題本文進行了探討和測試,先將人臉檢測的過程劃分為三步。第一步:建立顏色空間——對顏色進行光照補償,對比膚色模型,找出對膚色具有更好的聚類的顏色空間,在一定程度上可以消除日照、光源等客觀環(huán)境的影響?;谖墨I[4],在RGB三基色顏色空間對受光不好的圖像進行光線補償,修復色彩偏移問題;通過空間變換,在YCgCr空間上對輸入圖像進行膚色分割,盡可能減少搜索區(qū)域。第二步:建立膚色模型——采用高斯膚色混合模型,將YCgCr膚色空間中的Cg、Cr通道分離,并結(jié)合Y分量建立混合高斯膚色模型,將膚色區(qū)域從背景圖像中分割出來,并利用膚色相似度等知識粗選人臉區(qū)域。第三步:人臉分割——利用Blob分析人臉上的眼、嘴幾何信息和彩色信息,用來檢測候選人臉的特征部位,根據(jù)分割結(jié)果進行檢測和定位人臉,確定人臉的位置,整個過程如圖1所示。
圖1 人臉檢測流程圖
YCgCr色彩空間的高斯檢測模型,具有和人視覺感知的一致性、對膚色聚類效果好以及亮度和色度相互獨立的特點,對光照、旋轉(zhuǎn)、遮擋有很好的魯棒性,所以本文采用YCgCr顏色空間進行膚色初檢測。再通過Blob分析算法,找出連通區(qū)域,結(jié)合人臉的特征,確定出準確的人臉位置。實驗結(jié)果表明,該算法能夠快速、準確檢測人臉,為人臉識別與跟蹤做好準備。
膚色檢測中最常用的色彩空間是三基色RGB色彩空間,在該色彩空間中,顏色被定義為由R、G、B 3種色光按照不同的比例相加混合得到,這3個分量都包含亮度信息,他們之間存在著很大的相關(guān)性,不利于膚色的檢測和分割。其他膚色空間用來進行人臉檢測,有歸一化RGB色彩空間和YCbCr、YUV、HSI等色彩空間。YCbCr色彩空間是由YUV空間派生出來的一種,與人類對顏色的感知能力非常接近[5]。
YCbCr空間中的Cb分量反映的是RGB空間中藍色分量與亮度分量之間的差值,而在人的膚色中藍色分量所占比重比較小,Cb分量不利于膚色分割。后來De Dios提出了YCgCr空間[5],其中Cg分量表示綠色分量與亮度Y的差,可以很好地分離出膚色特生。文獻[6]驗證了膚色在YCgCr色彩空間比在YCbCr色彩空間具有更好的聚集性,所以本文采用了YCgCr色彩空間。其中,YCgCr空間與RGB空間的轉(zhuǎn)換公式如式(1)。
高斯膚色模型是在忽略亮度的情況下,色度分量都趨于一致,利用正態(tài)分布來擬合膚色的概率密度分布,近似地呈現(xiàn)二位高斯模型。其核心內(nèi)容是:在設(shè)定的條件下,比如光照條件一定,膚色之間的差異在于概率密度,而與顏色無關(guān),膚色的分布是屬于正態(tài)分布[7]。在YCgCr空間下,建立高斯膚色模型的具體步驟如下:
Step1收集海量的帶膚色的彩色圖像,采用相關(guān)方法進行光照補償,然后再進行剪裁,得到膚色圖片。
Step2將Step1的膚色圖片從RGB色彩空間轉(zhuǎn)換到Y(jié)CgCr色彩空間,統(tǒng)計每個膚色圖片的像素點的Cg、Cr值。通過統(tǒng)計出來的Cg、Cr值,確定出二維高斯模型G=(m,C)中的參數(shù),其中m表示均值,C表示協(xié)方差矩陣,具體計算公式如下:
根據(jù)上述建立好的高斯膚色模型,輸入待檢測圖像,再根據(jù)式(1)中YCgCr空間與RGB空間的轉(zhuǎn)換,將輸入圖像從RGB空間轉(zhuǎn)換到Y(jié)CgCr空間,對Cg和Cr應用Mahalanobis距離,通過考察各像素點的Cg和Cr值距離其均值的遠近得到圖像每個像素屬于膚色的相似度,其相似度計算公式為
計算完成之后,對所求得的每個P(Cg,Cr)值進行歸一化處理,使得各像素點的相似度值在[0,1]之間,并且屬于膚色區(qū)域的亮度值更高。其中,相似度值越大,表示屬于膚色的可能性越大,反之越小。
在本文中采用Blob分析[8]算法,其思想是模仿人的視覺處理過程,在一塊圖像區(qū)域內(nèi),通過分割圖像,得到若干互不相交的封閉區(qū)域,然后再對這些區(qū)域進行處理,區(qū)域中的像素在空間上連通并且具有相似的特征,這個連通區(qū)域稱為Blob。復雜背景下,膚色分割得到的人臉待選區(qū)域中,可能會存在很多和人臉膚色相近或相同的其他區(qū)域,也有可能裸露的手臂或脖頸被誤判為人臉。二值圖像Blob分析方法能夠計算每個連通成分的形狀參數(shù),提供連通區(qū)域的數(shù)量、位置、形狀等,因而可用于剔除非人臉區(qū)域。本方法采用的具體判定依據(jù)及過程如下:
(1)空洞數(shù)(1>h):根據(jù)圖像分割結(jié)果,應用Blob分析眼睛和唇部的顏色同人臉膚色對比度比較大,在進行膚色分割時必然產(chǎn)生人臉內(nèi)部的空洞,故只有空洞數(shù)大于1的區(qū)域才可能是人臉區(qū)域;
(2)長短軸比(0.8<r<1.6):根據(jù)大量的實驗,人臉輪廓呈橢圓狀,其長短軸比例在一定的范圍內(nèi),而其他人體膚色區(qū)域的長寬比顯然比人臉大;
(3)傾斜角(-90 °<θ<90°):在一般情況下,人臉中的中軸線(臉可以對稱分為兩部分的線)不應該是向下傾斜的。
具體實現(xiàn)中,r和θ采用橢圓擬和方法計算。值得注意的是,為獲得準確的擬和參數(shù),需填補待選區(qū)域中的空洞。若記像素坐標為(xi,yi),則區(qū)域C的最佳擬和橢圓參數(shù)重心、傾斜角 θ、短軸a和長軸b如下:
根據(jù)θ,可對候選區(qū)域進行校正得到接近豎直的人臉區(qū)域。
通過膚色高斯模型將人臉與背景區(qū)域分割,這時候會產(chǎn)生類膚色區(qū)域,結(jié)合Blob算法,根據(jù)人臉上的特征,最后確定出人臉區(qū)域。具體步驟如下:
(1)輸入圖像進行光照補償;(2)根據(jù)膚色信息,將RGB色彩轉(zhuǎn)換到Y(jié)CgCr空間;(3)根據(jù)顏色空間中Cg、Cr值建立二維膚色高斯模型,求出顏色均值m和方差C;(4)應用Mahalanobis距離公式求出Cg、Cr的相似度值,進行歸一化處理,其值在范圍[0,1]之間的顏色即為膚色;(5)應用Blob分析,結(jié)合人嘴、眼特征確定空洞數(shù),再根據(jù)人臉的長寬比例確定出正確人臉。
本文建立了一個具有光照和復雜背景的彩色人臉庫(600×480),其中包含單人臉和多人臉圖片,也包含旋轉(zhuǎn)角度較大、姿態(tài)和表情變化較大的人臉圖片。本文實驗硬件環(huán)境采用Intel Pentium Dual-coreTM2.8HZ的PC機上進行的實驗。將圖像形成兩個測試集:(1)簡單測試集,包括頭肩部圖像、人臉面積,無背景或者較簡單背景,光照有變化,人臉旋轉(zhuǎn)角度任意;(2)復雜測試集,有類膚色復雜背景存在,人臉個數(shù)、大小、位置未知,光照有變化,人臉多姿態(tài)、旋轉(zhuǎn)角度較大。實驗分別用本文方法與文獻[4]進行了比較,表1和表2是兩種方法對兩個測試集的實驗結(jié)果數(shù)據(jù)。
測試中分別選取170張人臉圖片和90張人臉圖片,通過表1和表2的實驗結(jié)果數(shù)據(jù)可以看出,對于簡單測試集,本文提出的方法檢測結(jié)果很好;對于復雜測試集,膚色檢測時,應用Blob分析方法后,有5個人臉漏檢,是因為遮擋嚴重并旋轉(zhuǎn)幅度太大而漏檢,同時誤檢人臉數(shù)極大減少。
表1 測試集(1)單獨膚色YCgCr檢測方法和本文方法比較
表2 測試集(2)單獨膚色YCgCr檢測方法和本文方法比較
圖2 本文算法單人臉檢測結(jié)果
圖3 單獨的YCgCr膚色模型多人臉檢測結(jié)果
圖4本文算法多人臉檢測結(jié)果
圖2 、圖3、圖4是實驗結(jié)果的部分實例。圖中矩形框指示了檢測到的人臉的位置和大小。圖2是利用本文提出的方法針對單人臉,有背景的圖像進行檢測的結(jié)果;圖3是采用文獻3進行的多人臉的簡單環(huán)境檢測結(jié)果,圖中胡子特別多的2個人臉被漏掉了;圖4是本文算法,結(jié)合了Blob分析,提高檢測的準確率??梢钥吹?,本文提出的方法很好地解決了多角度人臉檢測的間題。與單獨的膚色檢測相比較,本文算法在復雜場景的檢測具有更好的魯棒性。
本文利用Blob分析算法獲取目標圖像中所有Blob的位置、周長、面積及外接矩形參數(shù)。然后再根據(jù)Blob的位置及外接矩形等先驗知識,將非人臉區(qū)域濾除,最終實現(xiàn)目標區(qū)域的提取工作。
針對復雜背景的彩色圖像,本文提出了一種融合膚色與Blob分析的人臉檢測方法。該算法首先利用了膚色信息在顏色空間YCgCr中對彩色圖像進行分割,然后通過高斯膚色模型計算人臉候選區(qū)域,結(jié)合Blob分析對旋轉(zhuǎn)角度人臉進行檢測與定位。實驗結(jié)果表明,本文改進的方法有效地解決了多角度旋轉(zhuǎn)人臉的檢測問題,能夠?qū)Σ煌庹窄h(huán)境、不同遮擋、姿態(tài)變化的人臉有較好的檢測效果,在膚色檢測過程中,有可能形成人臉與背景相似而產(chǎn)生真正人臉丟失的現(xiàn)象,我們下一步的工作是在該工作基礎(chǔ)上,解決更加復雜人臉區(qū)域準確判定的問題,提高檢測的正確率。