鄒奉天
(南京理工大學(xué) 南京 210000)
皮膚檢測(cè)是計(jì)算機(jī)視覺(jué)領(lǐng)域的重要研究?jī)?nèi)容之一,有著廣泛的應(yīng)用前景。長(zhǎng)期以來(lái),它在諸如人體識(shí)別、色情圖片識(shí)別、人臉識(shí)別、皮膚病診斷等領(lǐng)域有著廣泛的應(yīng)用。皮膚檢測(cè)過(guò)程是基于像素的顏色分類(lèi)器,在不同的顏色空間下,通過(guò)圖形分割,前景提取,顏色判斷等方式,提取出皮膚區(qū)域。為了找出分類(lèi)器的最佳組成和顏色空間對(duì)皮膚檢測(cè)的影響,Vezhnevets等做了廣泛的研究和測(cè)試。Zarit等在CIE Lab,F(xiàn)leck hs,HSV,歸一化RGB,Ycrcb五種顏色空間上,使用査表法與Baves決策法來(lái)檢測(cè),并比較了檢測(cè)結(jié)果。
人體檢測(cè)、定位和跟蹤過(guò)程中膚色是一種有特點(diǎn)和區(qū)別的圖像特征。就像其他計(jì)算機(jī)視覺(jué)研究領(lǐng)域一樣,成像條件如光照變化、陰影和高光都使皮膚檢測(cè)過(guò)程更加復(fù)雜化。此外不同種族的膚色可能有所不同。此外對(duì)于同一個(gè)人,膚色在身體不同部位如臉和手和日照時(shí)間如長(zhǎng)時(shí)日照后會(huì)出現(xiàn)顯著差異。
細(xì)胞學(xué)習(xí)自動(dòng)機(jī)(CLA)是由簡(jiǎn)單元素組成的系統(tǒng)模型。這些簡(jiǎn)單的元素基于它們的鄰近元素行為和先前的經(jīng)驗(yàn)來(lái)提高他們的性能。它們可以根據(jù)它們之間的相互作用來(lái)識(shí)別復(fù)雜的行為。像素間的鄰域特性使得細(xì)胞學(xué)習(xí)自動(dòng)機(jī)成為不錯(cuò)的圖像處理選擇。
RGB空間由紅,綠,藍(lán)三種顏色為原色在三維直角坐標(biāo)系中構(gòu)成顏色空間,是當(dāng)前最為廣泛運(yùn)用的顏色空間[1]。由peeretal的研究表明,人體的膚色在RGB空間中符合下列的規(guī)律。
在室內(nèi)白光下:
(R>95)AND(G>40)AND(B>20)AND(max(R,G,B)-max(R,G,B)>15)AND(|R-G|>15)AND(R>G)AND(R>B)
在通常日光下:
(R>220)AND(G>210)AND(B>170)AND(|R-G|≤15)AND(R>G)AND(R>B)
通過(guò)上述對(duì)RGB分量的閾值分割,我們可以得到皮膚檢測(cè)的區(qū)域。
YCbCr顏色空間是一種常用的膚色檢測(cè)的色彩模型,其中Y代表亮度,Cr代表光源中的紅色分量,Cb代表光源中的藍(lán)色分量[2]。人的膚色在外觀上的差異是由色度引起的,不同人的膚色分布集中在較小的區(qū)域內(nèi)。膚色的YCbCr顏色空間CbCr平面分布在近似的橢圓區(qū)域內(nèi),通過(guò)判斷當(dāng)前像素點(diǎn)的CbCr是否落在膚色分布的橢圓區(qū)域內(nèi),就可以很容易地確認(rèn)當(dāng)前像素點(diǎn)是否屬于膚色。圖1為橢圓區(qū)域。
圖1 橢圓區(qū)域
根據(jù)經(jīng)驗(yàn)?zāi)滁c(diǎn)的CrCb值滿足:133≤Cr≤173,77≤Cb≤127那么該點(diǎn)被認(rèn)為是膚色點(diǎn),其他的就為非膚色點(diǎn)。
YCrCb和RGB互相轉(zhuǎn)換的公式如下:
通過(guò)將圖像轉(zhuǎn)化到Y(jié)CbCr空間并且在CbCr平面進(jìn)行投影,采集膚色的樣本點(diǎn)并且投影后,再進(jìn)行相應(yīng)的非線性K-L變換,遍歷轉(zhuǎn)換后的像素點(diǎn),可得到皮膚區(qū)域。
元胞自動(dòng)機(jī)(CA)被廣泛應(yīng)用于空間擴(kuò)展物理系統(tǒng)的動(dòng)力學(xué)建模[3]。元胞自動(dòng)機(jī)是細(xì)胞的集合,每個(gè)細(xì)胞都適用于多種狀態(tài)的一種。單個(gè)細(xì)胞的變化依賴(lài)于細(xì)胞環(huán)境的規(guī)則狀態(tài)。一個(gè)細(xì)胞的環(huán)境是由一小部分鄰細(xì)胞構(gòu)成。圖2顯示了兩種鄰里關(guān)系。
學(xué)習(xí)自動(dòng)機(jī)(LA)是用于執(zhí)行簡(jiǎn)單任務(wù)的簡(jiǎn)單機(jī)器[4]。它們有一組有限的動(dòng)作,并且在每個(gè)階段根據(jù)自動(dòng)機(jī)的狀態(tài)選擇一個(gè)動(dòng)作的,自動(dòng)機(jī)的狀態(tài)通常由動(dòng)作概率向量表示。對(duì)于自動(dòng)機(jī)選擇的每一個(gè)動(dòng)作,環(huán)境都會(huì)給出一個(gè)強(qiáng)化。環(huán)境給出一個(gè)固定的未知概率分布的強(qiáng)化信號(hào),該信號(hào)指定了應(yīng)用動(dòng)作的為“增益”。然后,當(dāng)接收到增益信號(hào)時(shí),學(xué)習(xí)自動(dòng)機(jī)用學(xué)習(xí)算法更新其動(dòng)作概率向量。學(xué)習(xí)自動(dòng)機(jī)與其環(huán)境的相互作用如圖3所示。
圖2 鄰里關(guān)系
圖3 學(xué)習(xí)自動(dòng)機(jī)
具體的學(xué)習(xí)算法是一種遞推關(guān)系,如下,其中α為動(dòng)作選擇,β為環(huán)境對(duì)動(dòng)作的回應(yīng),ρ為選擇概率,如式(1)、(2)所示:
基于機(jī)器學(xué)習(xí)的皮膚檢測(cè)算法將皮膚的顏色和紋理信息與細(xì)胞學(xué)習(xí)自動(dòng)機(jī)相結(jié)合,在彩色圖像中分割皮膚區(qū)域[5]。首先,檢測(cè)圖像中的皮膚顏色,從若干明確的邊界皮膚模型選定區(qū)域[6]。然后將檢測(cè)到的膚色區(qū)域發(fā)送到顏色紋理提取器,它通過(guò)膚色統(tǒng)計(jì)屬性提取皮膚區(qū)域的紋理特征,并將它們映射到皮膚概率圖[7]。細(xì)胞學(xué)習(xí)自動(dòng)機(jī)使用這張概率圖來(lái)選定皮膚區(qū)域。
具體檢測(cè)的步驟如圖4所示。
圖4 基于CLA的皮膚檢測(cè)流程
皮膚區(qū)域的紋理是比較光滑,通過(guò)它的顏色先選定皮膚區(qū)域,再結(jié)合膚色和紋理信息根據(jù)其不同的紋理特性,通過(guò)CLA分析進(jìn)行進(jìn)一步識(shí)別[8]。如圖5其中顯示了具有不同紋理的兩個(gè)皮膚候選區(qū)域的示例,其顏色相似但紋理是完全不同的。
圖5 皮膚檢測(cè)候選區(qū)示例
我們可以根據(jù)相鄰像素的顏色信息及其歐幾里德距離,提取區(qū)域的紋理。首先,對(duì)于圖上的每個(gè)像素(r,g,b)先使用式(3)計(jì)算該像素的顏色與塊中的所有鄰域之間的歐幾里德距離[9]。然后,通過(guò)(4)計(jì)算“粗糙度圖”,最后,使用計(jì)算的粗糙度值來(lái)計(jì)算“概率圖”式(5)。
通過(guò)概率圖的計(jì)算,學(xué)習(xí)機(jī)(CLA)可以對(duì)整張圖的皮膚紋理進(jìn)行分析,我們根據(jù)中心自動(dòng)機(jī)及其鄰域的選定動(dòng)作來(lái)獎(jiǎng)勵(lì)或懲罰每個(gè)學(xué)習(xí)自動(dòng)機(jī)[10]。如果選擇與皮膚相關(guān)行為的學(xué)習(xí)自動(dòng)機(jī)數(shù)量更多(超過(guò)7個(gè)),對(duì)中心學(xué)習(xí)自動(dòng)機(jī)進(jìn)行獎(jiǎng)勵(lì)。如果選擇與非皮膚相關(guān)的學(xué)習(xí)自動(dòng)機(jī)的數(shù)目少(少于4個(gè)),我們就用它的學(xué)習(xí)算法來(lái)懲罰中心學(xué)習(xí)自動(dòng)機(jī)[11]。具體如圖6。
圖6 學(xué)習(xí)自動(dòng)機(jī)的獎(jiǎng)懲機(jī)制
經(jīng)過(guò)幾次迭代后,CLA中的每個(gè)現(xiàn)有自動(dòng)機(jī)都會(huì)聚在一起,選擇皮膚或非皮膚狀態(tài)[12]。學(xué)習(xí)自動(dòng)機(jī)收斂到0或1,流程就會(huì)停止。至此可以將每個(gè)像素劃分為皮膚像素或非皮膚像素。
仿真環(huán)境使用了Win10系統(tǒng)下的Visual Stu?dio2013加OpenCV包完成RGB顏色空間和YCrCb橢圓空間模型的皮膚檢測(cè),Matlab2016加Image Processing Toolbox完成了基于機(jī)器學(xué)習(xí)(CLA)的皮膚檢測(cè)[13]。
圖片選自網(wǎng)絡(luò)中隨機(jī)的三張街景,分別包含一人兩人和三人下面為具體的仿真結(jié)果,其中每組第一張為原圖,第二張為RGB顏色空間下的皮膚檢測(cè)結(jié)果,第三張為YCrCb橢圓空間模型下皮膚檢測(cè)結(jié)果,第四張為基于機(jī)器學(xué)習(xí)(CLA)的皮膚檢測(cè)結(jié)果。
圖7 單人、雙人、三人皮膚檢測(cè)算法結(jié)果
由上面對(duì)比明顯見(jiàn)在街拍自然光背景存在干擾的情況下,使用RGB顏色空間的皮膚檢測(cè)存在很高的誤檢率,YCrCb橢圓空間模型下相對(duì)較好但還是存在部分環(huán)境影響導(dǎo)致的誤檢測(cè)[14],基于機(jī)器學(xué)習(xí)(CLA)的皮膚檢測(cè)獲得了相對(duì)滿意的檢測(cè)效果,最大程度地減少了皮膚誤檢測(cè)[15]。
表1為三種不同皮膚檢測(cè)方式的皮膚正檢率與誤檢率統(tǒng)計(jì)。
表1 各種皮膚檢測(cè)算法正誤檢率
從數(shù)據(jù)上看基于機(jī)器學(xué)習(xí)(CLA)的皮膚檢測(cè)可以在基本保持正檢率的情況下極大地減少皮膚誤檢率。
通過(guò)對(duì)幾種皮膚檢測(cè)算法的仿真與比較,我們不難發(fā)現(xiàn)基于RGB的皮膚檢測(cè)算法雖然算法簡(jiǎn)單,但在復(fù)雜環(huán)境光,復(fù)雜背景的情況下存在比較大的誤檢率,基于YCrCb橢圓空間模型下的皮膚檢測(cè)則主要減少偏藍(lán)色背景的誤檢,但還是存在比較大的皮膚誤檢率,特別是背景也存在偏黃色的場(chǎng)景時(shí)。基于機(jī)器學(xué)習(xí)(CLA)的皮膚檢測(cè)因?yàn)橐肓吮尘凹y理可得分析,所以對(duì)于偏黃色的草地這類(lèi)粗糙背景,可以有效過(guò)濾,但部分飛粗糙類(lèi)膚色的背景如金色光滑的欄桿,衣服上白條等,還是存在部分的誤檢情況,不過(guò)相對(duì)來(lái)說(shuō)誤檢已經(jīng)極大地減少了。
在單一光源,教單一背景下很多算法都能比較準(zhǔn)確地檢測(cè)膚色,但遇到室外復(fù)雜自然光復(fù)雜背景的情況,對(duì)膚色檢測(cè)的算法也提出了更高的要求,基于機(jī)器學(xué)習(xí)通過(guò)引入紋理檢測(cè)膚色能部分解決誤檢的問(wèn)題,但還是存在一定程度的誤檢情況,如果我們引入更多維度的特征,比如形態(tài)學(xué)特征,背景分析前景提取等,應(yīng)該可以進(jìn)一步提高檢測(cè)率減少誤檢率,這也是我們可以進(jìn)一步考慮改進(jìn)算法的方向。