華 容, 夏子濤, 馮 蕾
(上海應(yīng)用技術(shù)大學(xué) a.電氣與電子工程學(xué)院;b.圖書館,上海 201418)
膚色檢測(cè)算法在人臉檢測(cè)、人體追蹤、手勢(shì)識(shí)別以及人機(jī)交互接口中有著廣泛的應(yīng)用[1]。目前膚色檢測(cè)算法主要是基于像素的分類方法,該方法通過每個(gè)像素的特征來區(qū)分該像素是皮膚還是非皮膚區(qū)域。在這種膚色分類方法中,研究者主要考慮兩個(gè)問題:首先是選擇什么樣的顏色空間;其次是建立什么樣的分類模型[2]。膚色檢測(cè)中采用的顏色空間有RGB、Normalized RGB、HIS、YCbCr、YUV等等,采用的分類算法有Adaboost、貝葉斯網(wǎng)絡(luò)、J48、MLP、樸素貝葉斯、隨機(jī)森林、徑向基函數(shù)、支持向量機(jī)等[2-3]。文獻(xiàn)[3]中比較了不同顏色空間下,不同的分類算法基于像素的膚色檢測(cè)算法。文獻(xiàn)[4]中提出了一種膚色檢測(cè)方法,該方法提出了兩個(gè)閾值,如果一個(gè)像素超過較高的閾值則該像素直接判定為膚色;如果一個(gè)像素只超過較低的閾值的膚色,而且其領(lǐng)域的像素超過較高的閾值,則這個(gè)像素也被判定為膚色。
文獻(xiàn)[4]中的不同在于其膚色檢測(cè)算法考慮到圖像的空間關(guān)系。在某些情況下,背景像素和膚色像素是完全一樣的,僅僅基于單個(gè)像素本身的信息是不能識(shí)別該像素是否為膚色區(qū)域。假如一個(gè)像素的鄰域內(nèi)的像素都是被識(shí)別為膚色,則該像素有較大的概率是膚色像素;反之,如果其領(lǐng)域都為非膚色,而像素本身的信息支持其為膚色,則其是膚色的概率較小。
對(duì)于膚色分類算法,通過單個(gè)像素本身的信息提取的特征信息并不充分。本文提出了一種基于超像素的膚色檢測(cè)算法,通過分水嶺算法將圖像分割為成百上千的特征相似的超像素,從超像素中提取直方圖特征值進(jìn)行膚色檢測(cè)。利用提取的特征值,比較了支持向量機(jī)和隨機(jī)森林算法,在試驗(yàn)中取得了較好的效果。
超像素[5]指有一些紋理、顏色等特征相似的相鄰的像素構(gòu)成的圖像塊。
文獻(xiàn)[6]中指出已有研究的超像素分割算法有分水嶺、MeanShift、SLIC算法。分水嶺算法是一種基于拓?fù)淅碚摰臄?shù)學(xué)形態(tài)學(xué)分割方法,該方法速度快,而且可以保證分割區(qū)域的連續(xù)性和封閉性。分水嶺算法也存在著一些缺點(diǎn),無法保證超像素的個(gè)數(shù)和容易導(dǎo)致過分割,但是對(duì)于本文提出的膚色識(shí)別方法沒有影響。
本文為了更好地區(qū)分不同顏色的像素,采取的方式是對(duì)3個(gè)通道分別求導(dǎo),然后再求3個(gè)通道的平方和的平方根。在得到該圖像的基礎(chǔ)上,利用分水嶺算法生成超像素,分割結(jié)果如圖1所示。
圖1 基于分水嶺的超像素分割
不同光照條件下,不同人種的膚色之間差異較大,所以膚色分布在顏色空間中分布并不是非常集中。對(duì)從不同環(huán)境和不同人種的圖片中提取的160萬個(gè)膚色像素的RGB顏色空間中的3個(gè)通道進(jìn)行統(tǒng)計(jì),如圖2所示。
為了能夠充分表達(dá)膚色的特征,同時(shí)又不使得特征向量的維度過多,本文采取的方式為每個(gè)顏色通道劃分8個(gè)區(qū)域。在RGB顏色空間中,針對(duì)每個(gè)顏色通道,將0~255劃分為8個(gè)區(qū)域,即[0,31]、[32,63]、依次類推直到[223,255],3個(gè)顏色通道總共24個(gè)區(qū)域。這種劃分方法在處理像素值時(shí)會(huì)很便利,將像素的通道值邏輯右移5位即可以劃分為對(duì)應(yīng)的區(qū)域。
圖2 膚色像素在RGB顏色空間3個(gè)通道的統(tǒng)計(jì)
所以本文方法是對(duì)每個(gè)超像素中的像素值進(jìn)行統(tǒng)計(jì),計(jì)算24個(gè)區(qū)域的每個(gè)區(qū)域中像素的個(gè)數(shù)。由于每個(gè)超像素中像素的個(gè)數(shù)是不確定的,因此對(duì)得到統(tǒng)計(jì)結(jié)果進(jìn)行歸一化處理,即每個(gè)超像素的統(tǒng)計(jì)結(jié)果除以該超像素中的全部像素個(gè)數(shù)。
支持向量機(jī)(SVM)本身是一類線性超平面分類器,由于核函數(shù)的引入,將分類的樣本映射到更多維乃至于無限維的空間中,從而使得其可以應(yīng)用到非線性的分類中[7]。
定義樣本集D如下:
D={(xi,yi)|
(1)
式中:xi為第i個(gè)樣本點(diǎn)的特征向量;yi為i個(gè)樣本點(diǎn)的對(duì)應(yīng)分類。
分類問題等價(jià)于如下凸優(yōu)化問題:
(2)
式中:ω為特征向量對(duì)應(yīng)的權(quán)重向量;b為殘差。引入Lagrange乘子α,將目標(biāo)函數(shù)和條件約束融合到Lagrange函數(shù),如下式所示:
(3)
式中,αi>0,最優(yōu)解在函數(shù)的鞍點(diǎn)上,對(duì)于函數(shù)的鞍點(diǎn)處有?L/?ω和?L/?b等于零,該QP問題可以轉(zhuǎn)化為對(duì)應(yīng)的對(duì)偶問題,如下式:
(4)
對(duì)于線性不可分的分類問題,考慮將樣本特征映射到更多維度的空間,但是為了避免在高維空間爆炸問題而造成的計(jì)算困難,引入了Kernels的概念。上式變?yōu)椋?/p>
(5)
式中,k(xi,xj)為核函數(shù)。本文的算法采用了徑向基函數(shù),能夠逼近任意的非線性函數(shù),可以處理系統(tǒng)內(nèi)的難以解析的規(guī)律性,具有良好的泛化能力,并有很快的學(xué)習(xí)收斂速度。
隨機(jī)森林算法[8](Random Decision Forests,RBF)顧名思義是有很多決策樹構(gòu)成的森林,其中每一顆樹都會(huì)按一定的概率抽取一部分樣本進(jìn)行分類,樹的所有節(jié)點(diǎn)都會(huì)隨機(jī)選擇某幾個(gè)特征進(jìn)行分類。因?yàn)檫@種隨機(jī)性,每一顆決策樹相互之間都會(huì)存在一定的差異,最后以這些決策樹的各自不完全相似的結(jié)果投票決定最終的結(jié)果,從而確定算法的最終分類結(jié)果。
本文隨機(jī)森林的算法大致流程如下:將訓(xùn)練樣本分為M份,從其中取樣N次,以取到的數(shù)據(jù)合成一個(gè)訓(xùn)練集,沒有被取中的當(dāng)作算法的驗(yàn)證集,從而評(píng)估算法的誤差。確定樹的數(shù)目,在樹的每一節(jié)點(diǎn)隨機(jī)挑選少量的特征(相對(duì)所有的特征數(shù)目而言),根據(jù)這些特征分類,重復(fù)該過程,直到每棵樹完整的生長(zhǎng)而不被減枝。
本文采用文獻(xiàn)[9]中的膚色數(shù)據(jù)集,該數(shù)據(jù)集的圖像是網(wǎng)絡(luò)上隨機(jī)下載的用來研究人體皮膚檢測(cè)方法。這些圖像是在不同的光照下,并通過不同的色彩增強(qiáng)方法處理得到的,數(shù)據(jù)集中還包含了正確分類標(biāo)注的圖像,其中膚色像素的每個(gè)顏色通道被標(biāo)記為255,而非膚色像素的每個(gè)顏色通道被標(biāo)記為0。選取數(shù)據(jù)集中的兩對(duì)圖片如圖3所示。圖中:(c)為圖片(a)對(duì)應(yīng)的膚色標(biāo)注;(d)為圖片(b)對(duì)應(yīng)的膚色標(biāo)注。利用分水嶺算法在圖片及其對(duì)應(yīng)的膚色標(biāo)注圖像上生成超像素,得到對(duì)應(yīng)的圖像,如圖4所示,作為本文中基于超像素的膚色分類方法的訓(xùn)練集。
基于超像素提取的特征值,本文比較了利用隨機(jī)森林和支持向量機(jī)算法的試驗(yàn)結(jié)果(采用了十折交叉驗(yàn)證),如表1所示。
文獻(xiàn)[10]中比較不同算法以及不同顏色空間下基于像素的膚色分類算法,得出的結(jié)論是基于隨機(jī)森林的膚色分類算法的效果最好。文中采用了F-measure作為算法比較的標(biāo)準(zhǔn),F(xiàn)-measure的公式:
(a)
(b)
(c)
(d)
(a) 原圖
(b) 對(duì)應(yīng)膚色分類標(biāo)注圖
精準(zhǔn)率召回率支持向量機(jī)0.798 80.787 8隨機(jī)森林0.807 40.727 2
(6)
式中:β是參數(shù);P表示精準(zhǔn)度;R表示召回率。本文中β選擇為1,即是常用的F1-measure。
文獻(xiàn)[10]是基于像素的膚色分類方法,得出的結(jié)論為在IHLS顏色空間下,利用隨機(jī)森林的膚色分類算法的結(jié)果是最好的,其F-measure值為0.709 6。本文的膚色分類算法是基于超像素的直方圖統(tǒng)計(jì)特征的,只在RGB顏色空間中,采用了隨機(jī)森林和支持向量機(jī)驗(yàn)證了算法效果,得到F-measure值都優(yōu)于文獻(xiàn)[10]中的最高值。表2說明了本文提出的算法與文獻(xiàn)[10]中一些算法的比較結(jié)果。
表2 算法驗(yàn)證結(jié)果F-measure的比較
從表2可以看出,基于超像素的膚色識(shí)別算法無論是應(yīng)用隨機(jī)森林還是支持向量機(jī)都要優(yōu)于所有的基于像素的膚色分類算法。
圖5展示了對(duì)圖4中圖片進(jìn)行測(cè)試,比較了本文中利用SVM的基于超像素的膚色分類算法結(jié)果(見圖6(a))和文獻(xiàn)[10]中的利用隨機(jī)森林的基于像素的膚色分類算法結(jié)果(見圖6(b))。本文提出的基于超像素膚色分類算法,計(jì)算得到膚色分類結(jié)果也是基于超像素的,如圖5所示,再利用一個(gè)3×3的結(jié)構(gòu)元素進(jìn)行閉運(yùn)算,得到最終的膚色分類圖,如6(a)所示。
圖5 基于超像素的膚色分類結(jié)果
(a) 基于超像素膚色分類
(b) 基于像素的膚色分類
考慮到以往的膚色分類算法都是基于像素,這種方法沒有考慮到像素皮膚通常集中在一個(gè)區(qū)域內(nèi),而基于超像素的膚色分類方法將同一個(gè)區(qū)域的相似像素劃分為同一個(gè)超像素,同時(shí)有可能提供一種更穩(wěn)定的特征。因此本文提出了一種基于超像素的膚色識(shí)別方法,通過實(shí)驗(yàn)驗(yàn)證了基于超像素的膚色分類算法可以得到比基于像素的分類算法更好的分類效果。
參考文獻(xiàn)(References):
[1] Ruiz J, Verschae R. Skin detection using neighborhood information[C]//Automatic Face and Gesture Recognition, Proceedings. Sixth IEEE International Conference,2004:463-468.
[2] Kakumanu P, Bourbakis N. A survey of skin-color modeling and detection methods[J]. Pattern Recognition, 2007, 3(3): 1106-1122.
[3] Rehanullah K. Color based skin classification[J]. Pattern Recognition Letters, 2012, 33(2):157-163.
[4] Arpit M, Andrew Z, Philip T. Hand detection using multiple proposals[C]//Proceedings of the British Machine Vision Conference.[s.n.]:2011,75:1-11.
[5] Chen G, Zhang P, Wu Y,etal. Denoising magnetic resonance images using collaborative non-local means[J]. Neurocomputing, 2016, 177: 215-227.
[6] 王春瑤,陳俊周.超像素分割算法研究綜述[J]. 計(jì)算機(jī)應(yīng)用研究, 2014,31(1):6-11.
[7] Song Y, Ling Z, Chen S,etal. Accurate segmentation of cervical cytoplasm and nuclei based on multiscale convolutional network and graph partitioning[J]. IEEE Trans on Bio-medical Engineering, 2015, 62(10): 2421-2433.
[8] Madabhushi A, Lee G. Image analysis and machine learning in digital pathology: challenges and opportunities[J]. Medical Image Analysis, 2016, 33: 170-175.
[9] Huang L. Improved non-local means algorithm for image denoising[J]. Journal of Computer & Communications, 2015, 3(4): 23-29.
[10] Choi K, Oh K. Subsampling-based acceleration of simple linear iterative clustering for superpixel segmentation[J]. Computer Vision and Image Understanding, 2016, 146: 1-8.
[11] Bergh M V D, Boix X, Roig G,etal. SEEDS: Superpixels extracted via energy-driven sampling[J]. International Journal of Computer Vision, 2015, 111(3): 298-314.
[12] 楊 洲,陳 莉,賈 建.基于超像素分割的非局部均值去噪方法[J].計(jì)算機(jī)應(yīng)用研究, 2017,35(4):15-20.
[13] Bensch R, Ronneberger O. Cell segmentation and tracking in phase contrast images using graph cut with asymmetric boundary costs[C]//Proc of IEEE International Symposium on Biomedical Imaging.[s.n.]: 2015.
[14] 於 敏,于鳳芹,陳 瑩.基于相似性和統(tǒng)計(jì)性的超像素的圖像分割[J].計(jì)算機(jī)工程與應(yīng)用,2017,53(2):177-180.
[15] Chan Sixian,Zhou Xiaolong,Zhang Zhuo,et al.Interactive multi-label image segmentation with multi-layer tumors automata[J].Acta Automatica Sinica,2017,43(10):1829-1840.