朱志亮,劉富國,陶向陽,2,劉曉山,2
1.江西師范大學物理與通信電子學院,南昌 330022
2.江西省光電子與通信重點實驗室,南昌 330022
基于積分圖和粒子群優化的膚色分割
朱志亮1,劉富國1,陶向陽1,2,劉曉山1,2
1.江西師范大學物理與通信電子學院,南昌 330022
2.江西省光電子與通信重點實驗室,南昌 330022
為了更快地將膚色區域從圖像中分割出來,在二維Ostu方法的基礎上,提出了一種將積分圖和粒子群優化相結合用于尋找最優分割閾值點的新方法。該方法通過對經過顏色補償后的圖片在YCbCr顏色空間中用二維高斯膚色模型計算膚色概率圖,根據二維Ostu算法確定粒子群優化的目標函數,將積分圖的方法用于粒子群優化中目標函數的計算,在有效地獲取最佳閾值點的同時減少了計算量。實驗表明,該方法能有效并且快速地分割出膚色區域。
膚色分割;高斯膚色模型;Ostu算法;積分圖;粒子群優化
膚色是人臉非常重要的特征之一。膚色分割被證明是一種高效的分割人臉的方法,對復雜背景、幾何變換等具有很強的魯棒性[1]。為了獲取膚色區域,可以對利用高斯膚色模型得到的膚色概率圖進行二值化處理。從灰階圖像到二值圖像轉換的最常見的方法就是尋找一個閾值,所有灰階值低于這個閾值的被分類成黑色,而高于這個閾值的被分類成白色[2]。閾值選取的方法有多種,如直方圖雙峰法、最大熵法、Ostu法[3]、矩量保持法、梯度統計法以及這些方法在二維上的推廣,其中Ostu法以其分割效果好和適用范圍廣等優點而得到廣泛的應用,但它存在計算量大、計算時間長的問題[4]。
本文在二維Ostu算法的基礎上,提出基于積分圖和粒子群優化的膚色分割的算法,減少了二維Ostu算法的計算量,縮短了計算時間。該算法利用膚色概率圖及其領域平滑圖構造二維直方圖,然后選擇類內離差矩陣的行列式作為二維Ostu算法的判別函數(準則函數)和粒子群優化的目標函數,最后利用積分圖的方法來計算粒子群優化中各粒子的目標函數值,并根據粒子群優化算法找出最佳閾值分割點。實驗結果驗證了該算法的快速性和穩定性,結果也表明該算法在各類膚色分割方法中有一定的優勢。
膚色概率圖是在高斯膚色模型中通過計算膚色相似度[5]而得到的。本文選擇的高斯膚色模型是根據一定光照變化范圍內的個人膚色在RGB中符合高斯正態分布的特點[6],在YCbCr色彩空間中擬合得出的單高斯模型M=(m,C),其中選取的模型參數[7]為:

在進行膚色相似度計算之前,為了減小光照對圖片亮度的影響,有必要對圖像進行快速顏色補償。本文采用Gray World算法對圖像進行快速顏色補償[8]:

其中,Cave為輸入圖像R、G、B的平均值;Cold為原圖像的像素值;Cnew為亮度補償后的像素值。
任何一個像素x(Cb,Cr)的膚色相似度h(Cb,Cr)的計算公式[9]如下所示:

通過式(3)可以得到輸入圖像的膚色相似度矩陣h,對膚色相似度矩陣歸一化后就可以得到膚色概率圖g:

3.1 二維Ostu算法
二維Ostu算法[10]的思想是先利用原始圖像和其鄰域平滑圖像組成二維聯合直方圖P,然后選取P在XY平面的投影的一點(s,t)作為閾值點,將圖像分成四個部分,如圖1所示。

圖1 二維Ostu分割示意圖
其中X軸代表原始圖像的灰階范圍,Y軸代表其鄰域平滑圖像的灰階范圍;區域1和區域3分別代表背景和目標,區域2和區域4代表噪聲和邊緣。由于數據點都分布在主對角線附近,二維Ostu法假定區域2和區域4的概率都為0,并在這種假定下通過構造準則函數來判別最佳閾值點。
本文選用類內離差矩陣對應的行列式的值作為判別依據,即讓準則函數值最小的點作為最佳閾值分割點。類內離差矩陣通過總的離差矩陣與類間離差矩陣相減得到,計算公式如下[11]:

其中ST為總的離差矩陣,SB為類間離差矩陣,準則函數的表達式為:

最佳閾值點(x,y)的判別依據是:

二維Ostu法能夠得到很好的分割效果,但由于二維直方圖的引入,大大增加了計算復雜性,在很大程度上限制了該算法的應用范圍。
3.2 基于積分圖的二維Ostu算法
“積分圖像”(integral image)[12]是一種圖像表示法,這種表示法大大加快了人臉檢測過程中特征的計算速度。在文獻[13]中,提出將“積分圖像”方法用于以類間方差作為準則函數的二維Ostu算法,結果表明,該方法獲得的閾值與沒有使用積分圖像的二維Ostu算法得到的結果完全相同,但處理時間大大減少[13]。但是以類間方差為判別依據的準則函數是直接按距離對模式進行分派,傾向于將模式平均分到兩類中。本文選取類內離差矩陣的行列式的值作為準則函數的判別依據,這種方式對狹長區域和近球區域的差別不敏感,可以使分類結果中既包含了大類也包含了小類,更符合實際的測量環境。本文在文獻[13]的基礎上,用類內離差矩陣的行列式的值代替類間方差作為準則函數,得到新的基于積分圖的二維Ostu算法。其步驟如下:
(1)將膚色概率圖g采用3×3的均值濾波算子進行濾波得到鄰域平滑圖像f,然后遍歷g與f,尋找對應像素并計數,將其存到矩陣d中,最后計算二維直方圖矩陣P及其對應的變換矩陣Pi,Pj:

(3)計算點(i,j)對應的類間離差矩陣SB和總的離差矩陣ST:


(4)將式(11)帶入式(5)計算類內離差矩陣,再利用式(6)計算點(i,j)對應的準則函數值。最后搜索全部數據點,找出最佳閾值點。
4.1 基本粒子群優化
粒子群優化算法[14]首先初始化一群隨機粒子,然后粒子就追隨當前的最優粒子在解空間中搜索。本文搜索空間是二維的,可以假設第n個粒子的位置和速度分別為Xn=(xn,1xn,2)和Vn=(vn,1vn,2),在每一次迭代中,粒子通過跟蹤兩個最優解來更新自己,第一個就是粒子本身所找的最優解,即個體極值Pn=(pn,1pn,2);另一個就是整個粒子群目前找到的最優解Pg。在找到這兩個最優解時,粒子根據如下公式來更新速度和位置:

其中,vn,k(t+1)表示第t次迭代后粒子的速度。xn,k(t+1)表示第t次迭代后粒子的位置,w為權重,c1和c2是學習因子,r1和r2為0到1之間均勻分布的隨機數。
4.2 基本粒子群優化結合積分圖用于Ostu算法
本文結合積分圖的計算方法,利用式(6)做目標函數,提出一種將積分圖和粒子群結合用于二維Ostu算法的新方法。步驟如下:
(1)隨機初始化n個粒子的位置和速度。

(2)利用積分圖的二維Ostu算法計算各個粒子的目標函數值:

(3)將所有的目標函數值最小的個體的位置存儲于Pg中,并用式(13)更新粒子的速度和位置:

(4)對每個微粒,將其目標函數值與之前的最好位置的目標函數值比較,如果更小,則將其作為當前的最好位置;否則,保持原始位置不變。更新完后將所有Pn對應的目標函數值與當前Pg對應的目標函數值進行比較,取最小的值對應的位置來更新Pg。

(5)若滿足停止條件,則停止搜索,輸出當前最優值,否則返回到第三步繼續搜索。
為了證明本文算法的可靠性,在Pentium 3.2 GHz,內存3 GB的PC上利用MATLAB2010a軟件進行實驗。實驗圖片來自Markus Weber在加州理工學院采集的正面人臉數據庫。在實驗中,粒子群優化的參數設置為:慣性權重w為0.5,學習因子都為2,粒子數為10,迭代次數也為10。
實驗1膚色分割的效果和運行時間的對比
實驗進行傳統二維Ostu算法、基于積分圖的二維Ostu算法和本文提出的算法(基于積分圖和粒子群優化相結合的二維Ostu算法)用于膚色分割的效果和運行時間的對比。實驗測試圖片大小為224×148,格式為JPG,結果以分割效果圖和運行時間對比表呈現。
該組實驗的分割效果圖如圖2所示。

圖2 實驗1分割效果圖
三種方法運行時間對比表如表1所示。

表1 運行時間對比表s
由分割效果圖可知,三種方法都能很好地分割出膚色區域,其中前兩種方法得到的分割效果是一樣的。由于高斯膚色模型是一種擬合而成的模型,因此不能保證百分百準確分割出膚色區域,同時因為光線角度的原因,分割結果難免會有一些誤判區域。本文算法在此次測試中的效果要優于其他兩種算法,這是由于該算法得到的閾值點具有一定的隨機性,不一定就是按照全局搜索得到的那個閾值點,而不同的閾值點得到的效果是不同的,關于本文算法的穩定性將在后面的實驗中進行驗證。
但是三種方法的運行時間有明顯的不同。傳統二維Ostu算法在每次計算各分割點對應的準則函數值時都要遍歷一遍原數據;基于積分圖的二維Ostu算法在整個搜索過程中雖然只需要遍歷一遍原數據,但是為了找出最佳閾值點,仍然要對所有的分割點進行計算;本文提出的積分圖和粒子群優化相結合的方法,利用粒子群優化算法能有效避免全局窮盡搜索的特點來彌補積分圖法的不足,因此運行時間大大減少。
實驗2對圖片進行顏色補償前后的分割效果的對比
考慮到圖片所處環境的光照可能會影響到膚色的分割,有必要對顏色補償前后的圖片的分割效果進行實驗對比。本次實驗的顏色補償采用式(2)所示公式進行計算,膚色分割采用本文提出的算法在MATLAB中編程實現,測試圖片大小為224×148,格式為JPG,結果以顏色補償前后的分割效果圖呈現。
該組實驗的分割效果圖如圖3所示。

圖3 顏色補償前后分割效果圖
由結果可知,圖片所處環境的光照將會影響到膚色的分割,這是由于照相設備獲取的圖片的顏色不僅由物體自身的物理屬性決定,還與物體所在環境的光照條件有關,人眼由于顏色恒常性會忽略這種變換,可是計算機視覺系統不具有這個能力[15]。實驗結果表明,經過顏色補償后的圖片更有利于膚色的分割,因此有必要在對圖片進行進一步處理前,先進行顏色補償。
實驗3算法穩定性測試
該組實驗對本文算法的穩定性進行驗證,即對同一幅圖像連續進行12次測試,再觀測分割效果。實驗結果如圖4所示。
該組實驗共運行時間為20.674 2 s。由圖可知,12次的測試都能很好地分割出膚色區域,該結果證明了本文的方法具有很好的穩定性。

圖4 連續12次測試效果圖
本文通過利用高斯膚色模型計算經過顏色補償后的圖片的膚色概率圖,并結合其鄰域的平滑圖得到二維直方圖,在二維Ostu算法基礎上,提出利用積分圖和粒子群優化相結合來進行膚色分割的方法,在保證膚色分割準確性的同時有效減少了運算量。由實驗結果可知該算法能有效并且快速地分割出膚色區域,可以進一步將其用于人臉檢測等相關領域的研究,具有一定的實用和參考價值。但是粒子群優化在搜索過程中容易出現所謂的早熟,即局部收斂。下一步可以在基本粒子群優化算法的基礎上引入動態改變慣性權重的方法和混沌運動的方法來解決這個問題。
[1]張立剛,何東健.基于膚色模型和區域特征的人臉檢測方法[J].計算機工程,2008,34(19):209-211.
[2]Johannsen G,Bille J.A threshold selection method using information measures[C]//Proceedings of the Sixth International Conference on Pattern Recognition,Munich,Germany,1982:140-143.
[3]Ostu N.A threshold selection method from gray-level histograms[J].IEEE Trans on Systems,Man,and Cybernetics,1979,9(1):62-66.
[4]程培英.一種新穎的Ostu圖像閾值分割方法[J].計算機應用與軟件,2010,26(5):228-231.
[5]劉春生,常發亮,陳振學,等.改進的高斯膚色模型及其在人臉檢測中的應用[J].儀器儀表學報,2012,33(5):1117-1121.
[6]Yang J,Lu W,Waibel A.Skin color modeling and adaptation[C]//Proceedings of the 3rd Asian Conference on Computer Vision,Hong Kong,China,1998:687-694.
[7]王航宇.基于YCbCr高斯膚色模型的人臉檢測技術研究[J].現代電子技術,2008(22):102-105.
[8]Yang Ming,Wang Xinpo,Wu Zhengguan.Auto white balance algorithm based on digital camera[C]//2011 International Conference on Internet Technology and Applications(iTAP),2011:1-4.
[9]郭聳,顧國昌,蔡則蘇,等.膚色相似度和動態閾值相結合的膚色分割技術[J].計算機工程與應用,2010,46(18):1-3.
[10]朱冰蓮,豐建軍,楊吉祥,等.復雜背景下的多姿態人眼定位[J].計算機應用研究,2012,29(5):1977-1979.
[11]孫即祥.現代模式識別[M].北京:高等教育出版社,2008.
[12]Viola P,Jones M.Rapid object detection using a boosted cascade of simple features[C]//Proceedings of the IEEE Computer Society Conference on Computer Vision and Pattern Recognition,Kauai,Hawaii,2001:511-518.
[13]郎咸朋,朱楓,都穎明,等.基于積分圖像的快速二維Otsu算法[J].儀器儀表學報,2009,30(1):39-43.
[14]Kennedy J,Eberhart R.Particle swarm optimization[C]// Proc of IEEE International Conference on Neural Networks,1995:1942-1948.
[15]Gasparini F,Schettini R.Color correction for digital photographs[C]//12th International Conference on Image Analysis and Processing,2003:646-651.
ZHU Zhiliang1,LIU Fuguo1,TAO Xiangyang1,2,LIU Xiaoshan1,2
1.College of Physics,Communications and Electronics,Jiangxi Normal University,Nanchang 330022,China
2.Key Laboratory of Photoelectronic&Telecommunication of Jiangxi Province,Nanchang 330022,China
To segment the skin color area faster,this paper puts forward a method to look for the best segmentation threshold point with integral image and particle swarm optimization based on the basic 2D Ostu method.The method uses two-dimensional gaussian skin model in the YCbCr color space with a color compensation picture to gain the skin probability graph, and then confirms the particle swarm optimization’s objective function by the 2D Ostu algorithm,and calculates the function’s value with the integral image.The method can get the best threshold point effectively and can shorten the calculation at the same time.Experiments show that the method can segment the skin color area effectively and quickly.
skin segmentation;gaussian skin model;Ostu algorithm;integral image;particle swarm optimization
A
TP391.4
10.3778/j.issn.1002-8331.1211-0298
ZHU Zhiliang,LIU Fuguo,TAO Xiangyang,et al.Skin segmentation based on integral image and particle swarm optimization.Computer Engineering and Applications,2014,50(21):171-174.
江西省光電子與通信重點實驗室開放基金(No.2011001);江西師范大學博士啟動基金(No.4029)。
朱志亮(1988—),男,在讀碩士,研究方向為圖像信息處理與模式識別;劉富國(1983—),男,在讀碩士,研究方向為信息光學;陶向陽(1965—),男,博士,教授,研究方向為激光傳輸與控制技術;劉曉山(1978—),男,博士,講師,研究方向為圖像信息處理與模式識別。E-mail:ld_zzl@126.com
2012-11-26
2013-01-10
1002-8331(2014)21-0171-04
CNKI出版日期:2013-01-29,http://www.cnki.net/kcms/detail/11.2127.TP.20130129.1543.016.html