任民宏, 魯秋菊
(陜西理工大學(xué) 數(shù)學(xué)與計算機(jī)科學(xué)學(xué)院, 陜西 漢中 723000)
基于高斯混合模型自適應(yīng)膚色識別算法
任民宏, 魯秋菊
(陜西理工大學(xué) 數(shù)學(xué)與計算機(jī)科學(xué)學(xué)院, 陜西 漢中 723000)
膚色識別是色情圖像識別、人臉檢測等圖像處理技術(shù)的關(guān)鍵步驟,膚色識別效果的好壞直接影響相關(guān)圖像處理技術(shù)的效果。圖像中存在干擾因素時基于單高斯模型的膚色識別效果不佳,為了解決這個問題,在YCbCr色度空間基礎(chǔ)上,提出了基于高斯混合模型自適應(yīng)膚色識別算法。實驗表明該算法識別效率較高,能較好地識別存在干擾因素圖像中的膚色,具有一定的實用性。
高斯混合模型; 自適應(yīng); 膚色識別
膚色是人體表面最顯著的特征之一,被廣泛應(yīng)用于色情圖像識別、人臉檢測和手勢識別等。文獻(xiàn)[1]詳細(xì)討論了膚色在YCbCr色度空間上具有良好的聚類特性,適合使用高斯模型作為膚色模型,膚色識別的過程就是計算圖像在YCbCr色度空間上關(guān)于(Cb,Cr)分量的高斯分布概率密度函數(shù)值,如果該值大于給定的閾值,則認(rèn)為(Cb,Cr)是膚色像素,否則不是膚色像素。高斯模型分為單高斯模型和高斯混合模型,單高斯模型計算量小,識別效率高,因而在膚色識別中通常采用單高斯模型。但是當(dāng)圖像中存在干擾因素時,基于單高斯模型的膚色識別效果不佳。人類的膚色因不同人種有一定的差異,如果閾值取得太大,許多皮膚區(qū)域?qū)o法檢出,造成漏檢;若閾值取得太小,膚色的數(shù)量就會增加,并有部分非膚色像素加入,起不到排除非膚色點(diǎn)的作用[1]。針對這些情況,本文在YCbCr色度空間基礎(chǔ)上,提出了基于高斯混合模型自適應(yīng)膚色識別算法,既解決了單高斯模型的膚色識別效果不佳的問題,又避免了采用固定閾值過大或過小造成的錯檢或漏檢。
膚色識別必須選擇合適的色度空間,本文算法采用YCbCr色度空間。YCbCr色度空間中Y、Cb、Cr分量與RGB色度空間中的R、G、B分量的關(guān)系如下:
(1)
實驗表明,在YCbCr色度空間上,膚色在CbCr平面的分布呈現(xiàn)良好的聚類特性,且統(tǒng)計分布滿足[2]
77≤Cb≤127,
133≤Cr≤173,
膚色這種聚類特性符合高斯分布特征,可用高斯模型來描述。單高斯模型雖然計算量小,識別效率高,但是當(dāng)圖像中存在干擾因素時,基于單高斯模型的膚色識別效果不佳,因而在本文的算法中采用高斯混合模型。
在YCbCr色度空間上,像素X(Cb,Cr)在膚色分布空間中是膚色的概率為
(2)
(3)
式中Uj為第j個單高斯模型的均值向量,Cj為第j個單高斯模型的協(xié)方差矩陣。
要根據(jù)式(2)計算像素X(Cb,Cr)在膚色分布空間中是膚色的概率,必須確定式(2)中的參數(shù)Wj、Uj、Cj。通常,采用EM(期望值最大)算法進(jìn)行參數(shù)估計,假設(shè)訓(xùn)練樣本中像素數(shù)量為N,其步驟如下:
(1)用K-均值聚類算法對訓(xùn)練樣本聚類,各類的均值作為Uj的初值,并計算各類的協(xié)方差矩陣,作為Cj的初值,各類樣本數(shù)占總訓(xùn)練樣本數(shù)的比例作為Wj的初值;
(2)分別按照式(4)—(6)更新權(quán)值、均值和協(xié)方差矩陣:
(4)
(5)
(6)
用高斯混合模型計算出每個像素是膚色的概率后,就要根據(jù)閾值確定哪些像素是膚色像素,哪些像素不是膚色像素。當(dāng)一個像素是膚色的概率大于閾值時,認(rèn)為是膚色像素,否則認(rèn)為不是膚色像素。合適的閾值是正確識別膚色的關(guān)鍵,人類的膚色因不同人種或受外界光線的影響存在一定的差異,如果采用固定的閾值,勢必會造成膚色像素的錯檢或漏檢,目前國內(nèi)外學(xué)者針對這一問題做了大量的研究。文獻(xiàn)[1]提出了自適應(yīng)閾值法,確定閾值的方法是讓閾值在一定范圍內(nèi)變化,并記錄下每次閾值變化時屬于膚色像素數(shù)量的變化,然后找出屬于膚色像素數(shù)量變化最小時的那個閾值作為最優(yōu)閾值。這種確定閾值的方法雖然能確定出最優(yōu)閾值,但要多次計算膚色像素數(shù)量,會影響識別膚色的效率。筆者在實驗中發(fā)現(xiàn),不同人種的膚色或膚色受外界光線的影響后,像素是膚色的概率值會有所變化,因而可以根據(jù)整幅圖像所有像素是膚色的概率平均值確定閾值,當(dāng)這個概率平均值處于一個范圍時,指定一個閾值。實驗選用了200多幅黃色人種膚色圖片作為訓(xùn)練樣本,經(jīng)多次試驗,確定的閾值如下:當(dāng)概率平均值大于0.000 5時閾值取0.000 012,否則當(dāng)概率平均值大于0.000 055時閾值取0.000 000 001 2,否則閾值取0.000 000 000 000 001 2。
3.1 圖像預(yù)處理
由于圖像容易受高頻噪音的影響,因而在膚色識別前應(yīng)對圖像進(jìn)行降噪處理,一般采用低通濾波器進(jìn)行濾波處理達(dá)到降噪目的,低通濾波器的沖擊響應(yīng)矩陣為
另外,如果圖像受環(huán)境光的影響,彩色圖像經(jīng)常發(fā)生彩色偏移,這時直接應(yīng)用高斯混合模型來識別膚色,結(jié)果會出現(xiàn)較大偏差。本文采用Gray World彩色均衡方法[3]來消除這種彩色偏移,該方法的步驟如下:
(1)計算圖像3個分量R、G、B各自的平均值,分別記為avgR、avgG、avgB;
(2)計算圖像的平均灰度值
;
IR=IR×aR,IG=IG×aG,IB=IB×aB;
3.2 膚色區(qū)域分割
膚色識別的目的就是要將膚色區(qū)域從圖像中分割出來,膚色區(qū)域分割就是在YCbCr空間中判斷圖像中哪些像素是膚色,哪些像素不是膚色,并把膚色像素用1表示,非膚色像素用0表示。其過程如下:
(1)按照3.1中描述的圖像預(yù)處理方法對彩色圖像進(jìn)行預(yù)處理;
(2)按照式(1)將預(yù)處理后的彩色圖像轉(zhuǎn)換為YCbCr空間中的圖像;
(3)按照式(2)計算圖像中的每個像素是膚色的概率,并計算整幅圖像所有像素是膚色的概率平均值;
(4)根據(jù)第(3)步中計算的膚色的概率平均值確定閾值;
(5)如果一個像素是膚色的概率不小于第(4)步確定的閾值,則該像素為膚色像素,用1表示,否則該像素不是膚色像素,用0表示;
(6)將膚色區(qū)域面積較小的部分過濾掉(膚色區(qū)域面積過小的部分通常是由顏色與膚色接近的背景、衣服和毛發(fā)等產(chǎn)生的)。
在Intel Core i5 CPU、4.0GB RAM的環(huán)境下,采用MATLAB 7.0分別編程實現(xiàn)基于單高斯模型的膚色識別算法和本文提出的基于高斯混合模型自適應(yīng)膚色識別算法(實驗中由6個單高斯模型構(gòu)成高斯混合模型),以能識別裸露皮膚區(qū)域的95%以上為正確識別的標(biāo)準(zhǔn),對百度圖庫中400幅圖像(150幅女性圖像、150幅男性圖像、100幅風(fēng)景圖像)進(jìn)行膚色識別,前者算法正確識別圖像328幅,正檢率為82.00%,識別每幅圖像的平均時間為0.31 s,后者算法正確識別圖像343幅,正檢率為85.75%,識別每幅圖像的平均時間為0.33 s。對個別圖像的識別效果進(jìn)行了對比,如圖1所示。
實驗結(jié)果表明,采用本文提出的基于高斯混合模型自適應(yīng)膚色識別算法,無論正檢率還是識別效果都比基于單高斯模型的膚色識別算法要好,能有效排除環(huán)境光、人像背景等對膚色識別的影響。
(a) 原始圖像 (b) 采用前者算法識別結(jié)果 (c) 采用后者算法識別結(jié)果
(d) 原始圖像 (e) 采用前者算法識別結(jié)果 (f) 采用后者算法識別結(jié)果圖1 采用不同算法識別膚色效果對比
[1] 王航宇.基于YCbCr高斯膚色模型的人臉檢測技術(shù)研究[J].現(xiàn)代電子技術(shù),2008(22):102-105.
[2] CHAI D,NGAN K N.Locating facial region of a head-and-shoulders color image[C]//Proceedings of the 3rd International Conference on Automatic Face and Gesture Recognition,Nara,Japan,1998:124-129.
[3] 雷明,張軍英,董濟(jì)楊.一種可變光照條件下的膚色檢測算法[J].計算機(jī)工程與應(yīng)用,2002(24):123-125.
[4] 胡春華,馬旭東,戴先中,等.一種基于標(biāo)準(zhǔn)混合高斯模型的快速人臉檢測方法[J].東南大學(xué)學(xué)報:自然科學(xué)版,2007,37(3):389-394.
[5] 黃建筑,馮桂,夏麗娟.基于混合膚色模型的快速人臉檢測算法[J].微型機(jī)與應(yīng)用,2010,29(18):48-51.
[6] 宗蘇.人類膚色識別中高斯模型的應(yīng)用[J].中小企業(yè)管理與科技,2011(22):273.
[7] 吳要領(lǐng).基于YCrCb色彩空間的人臉檢測算法的設(shè)計與實現(xiàn)[D].成都:電子科技大學(xué),2013.
[8] 任民宏,郭偉鋼.基于膚色特征的色情圖像識別算法[J].陜西理工學(xué)院學(xué)報:自然科學(xué)版2014,30(1):38-41.
[9] 桂振文,劉越,陳,等.一種適用于智能手機(jī)的圖像識別算法[J].電子學(xué)報,2014,42(8):1487-1494.
[10] 胡正平,宋淑芬.基于全局和分離部件融合的雙L1稀疏表示人臉圖像識別算法[J].模式識別與人工智能,2012,25(2):256-261.
[11] 孫菊芳.一類混合高斯模型參數(shù)的優(yōu)化估計[D].成都:西南石油大學(xué),2015.
[12] 胡伏原,張艷寧,張廣鵬.膚色檢測研究[C]//中國體視學(xué)學(xué)會圖像分析分會.信號與信息處理技術(shù)第三屆信號與信息處理全國聯(lián)合學(xué)術(shù)會議論文集,2004:6.
[13] 張遠(yuǎn)鵬,董海,周文靈.計算機(jī)圖像處理技術(shù)基礎(chǔ)[M].北京:北京大學(xué)出版社,1998:89-92.
[責(zé)任編輯:魏 強(qiáng)]
Adaptive algorithm for skin color recognition based on Gaussian mixture model
REN Min-hong, LU Qiu-ju
(School of Mathematics and Computer Science, Shaanxi Sci-Tech University, Hanzhong 723000, China)
Skin color recognition is the key step in the image processing technology such as pornographic image recognition, face detection, and so on. The effect of skin color recognition affects the effect of related image processing technology. In order to solve the poor effect of skin color recognition based on the single Gaussian model when the interference factors exist in the image, adaptive algorithm for skin color recognition based on Gaussian mixture model is presented on the basis of YCbCr color space in this paper. The experiment shows that recognition efficiency of the algorithm is higher, and skin color in image with the interference factors being better recognized with this algorithm and the algorithm has certain practicality.
Gaussian mixture model; self-adaption; skin color recognition
1673-2944(2016)06-0053-04
2016-07-29
2016-09-18
陜西省教育廳專項科研計劃項目(15JK1134)
任民宏(1970—),男,陜西省洋縣人,陜西理工大學(xué)副教授,主要研究方向為計算機(jī)圖形圖像處理;魯秋菊(1982—),女,陜西省漢中市人,陜西理工大學(xué)講師,碩士,主要研究方向為計算機(jī)圖形圖像處理。
TP391.41
A