楊思淵,蔣銳鵬,海仁古麗·阿不力提甫,姑麗加瑪麗·麥麥提艾力
(新疆師范大學(xué) 數(shù)學(xué)科學(xué)學(xué)院,新疆 烏魯木齊 830017)
圖像分割是把圖像分成若干個(gè)特定的、具有獨(dú)特性質(zhì)的區(qū)域并提出感興趣目標(biāo)的技術(shù)和過程。圖像分割廣泛應(yīng)用在醫(yī)學(xué)影像處理、衛(wèi)星圖像中物體定位、人臉識別、指紋識別、交通控制、機(jī)器視覺等。圖像分割的方法多種多樣,較為成熟的方法有:閾值法、區(qū)域法、邊緣檢測法、聚類法等。文獻(xiàn)[1]在閾值法中提出了一種改進(jìn)的二維Otsu算法;文獻(xiàn)[2]提出一種改進(jìn)區(qū)域生長法的遙感影像道路提取方法,先對遙感影像進(jìn)行k均值聚類(K-means),再利用改進(jìn)區(qū)域生長方法提取道路,這種方法精確度高,時(shí)間復(fù)雜度低;文獻(xiàn)[3]提出一種將二進(jìn)小波變換與形態(tài)學(xué)算子融合的邊緣檢測算法,在噪聲濃度相同的情況下,具有很好地抑制噪聲的能力,且檢測的邊緣圖像輪廓清晰,含有豐富的細(xì)節(jié)信息。
圖像分割的本質(zhì)是對圖像中的每個(gè)像素加標(biāo)簽(分類),這一過程使得具有相同標(biāo)簽的像素具有某種共同的視覺特性。如在人臉圖像的分割中,可以將一張圖的所有像素點(diǎn)進(jìn)行聚類,使得人臉部分的圖像劃分為一類,非人臉部分劃分為另一類,常用的方法有K-means[4],它是一種非監(jiān)督學(xué)習(xí)模型,該算法原理簡單、收斂速度快,效率高;也可以用監(jiān)督學(xué)習(xí)模型如SVM[5]來對圖像進(jìn)行分類,該方法需要自己尋找不同類別的支持向量進(jìn)行標(biāo)記。
這兩種方法在圖像分割中都存在一定的缺陷,對K-means來說,它對像素特點(diǎn)的依賴性較大,像素相近的圖像不能做出很好的分類;而SVM需要人為地選取支持向量,效率不高,易出錯(cuò),且支持向量的選取也受到不同人群主觀因素的影響。
在監(jiān)督學(xué)習(xí)模型SVM的支持向量選取上,該文提出了相似度計(jì)算方法,代替人為選取可能出現(xiàn)的誤差,并且對賦予的支持向量進(jìn)行優(yōu)化,去除無效數(shù)據(jù),減少近似和重復(fù)數(shù)據(jù)。實(shí)驗(yàn)表明,該方法得到的SVM模型分類效果優(yōu)于直接使用K-means方法。
支持向量機(jī)(support vector machine,SVM)是Vapnik等人[6]根據(jù)統(tǒng)計(jì)學(xué)習(xí)理論提出的一種機(jī)器學(xué)習(xí)方法[7]。通過學(xué)習(xí)算法,SVM可以自動(dòng)找出那些對分類有較好區(qū)分能力的支持向量,由此構(gòu)造出的分類器可以最大化類與類的間隔,因而有較好的適應(yīng)能力和較高的分辨率。該方法只需有各類域的邊界樣本的類別來決定最后的分類結(jié)果[8]。
對于人臉圖像分割,用到的是一個(gè)二分類支持向量機(jī),其具體形式如下[7]:
①設(shè)已知訓(xùn)練集:
T={(x1,y1),(x2,y2),…,(xl,yl)}∈(X×Y)l
(1)
其中,xi∈X=Rn,yi∈{1,-1}(i=1,2,…,l),xi為特征向量。
②使用線性核函數(shù)[9](式2)和適當(dāng)?shù)膮?shù)C,構(gòu)造并求解最優(yōu)化問題:
K(x,x')=x·x'
(2)
(3)
(4)
④構(gòu)造決策函數(shù)[10]:
(5)
當(dāng)f(x)=1時(shí),目標(biāo)屬于第一類;f(x)=-1時(shí),目標(biāo)屬于第二類。
利用支持向量機(jī)進(jìn)行圖像分割,本質(zhì)上就是進(jìn)行分類。所以必須要找出能區(qū)分不同像素點(diǎn)的特征,由于采用了彩色RGB圖,因此可以直接用像素點(diǎn)的RGB值作為特征。在選取支持向量時(shí),一定要選取與特征相關(guān)的點(diǎn),不同的特征點(diǎn)要盡可能多地選取。如在人臉圖像分割時(shí),第一類支持向量應(yīng)選取更多的是五官和皮膚附近的像素點(diǎn),第二類支持向量應(yīng)避免選擇第一類選取過的點(diǎn),選取更多的人臉范圍以外的像素點(diǎn)。兩個(gè)支持向量選取的像素各自應(yīng)當(dāng)是相似或相近的,這樣充分保證兩個(gè)支持向量差異最大化,使得SVM的分類效果更好。
SVM模型訓(xùn)練輸入兩組數(shù)據(jù),其中一組為需要的數(shù)據(jù),用label=1來標(biāo)記,另一組數(shù)據(jù)為不需要的數(shù)據(jù),用label=0來標(biāo)記。實(shí)驗(yàn)中的圖像數(shù)據(jù)轉(zhuǎn)化為像素點(diǎn)所對應(yīng)的RGB值,用[a,b,c]來表示,a,b,c分別表示選取點(diǎn)的三個(gè)顏色通道的數(shù)值。
將兩組選取點(diǎn)與label值分別作為SVM的兩組輸入值,訓(xùn)練后得到一組訓(xùn)練(model)值,將該值重新作用于整張圖像,預(yù)測得出整張圖的分類結(jié)果。MATLAB中調(diào)用的fitcsvm函數(shù)做訓(xùn)練,predict函數(shù)做預(yù)測。將fitcsvm訓(xùn)練好得到的model值和測試數(shù)據(jù)用predict函數(shù)得到預(yù)測的前景和背景標(biāo)簽,再從標(biāo)簽分類中得到分割圖像。
日常生活中最常見的顏色空間就是RGB顏色空間了,然而K-means運(yùn)用其模型進(jìn)行聚類分割彩色圖像時(shí)發(fā)現(xiàn)效果并不理想,而1976年國際照明委員(international commission on illumination,CIE)制定的Lab顏色空間和人類視覺感知相關(guān),并且具有均勻性以及歐氏距離不變的特性[11],實(shí)驗(yàn)中Lab顏色空間在K-means中擁有良好的實(shí)驗(yàn)效果。
從RGB顏色空間轉(zhuǎn)換到Lab顏色空間時(shí),需要借助XYZ顏色空間[12],RGB顏色空間與XYZ顏色空間的轉(zhuǎn)換關(guān)系如式(6)所示:
(6)
再從XYZ顏色空間轉(zhuǎn)換到Lab顏色空間,公式如下:
(7)
(8)
式(7)中L、a、b分別是Lab顏色空間的三個(gè)通道,式(8)中Xn、Yn、Zn默認(rèn)是95.047、100.0、108.883。
K-means圖像分割算法包括以下幾個(gè)步驟[13]:
(1)從n個(gè)數(shù)據(jù)對象中任意選擇K(K>1)個(gè)對象作為初始聚類中心。
(2)根據(jù)每個(gè)聚類對象的均值(中心對象),計(jì)算每個(gè)對象與這些中心對象的距離,并根據(jù)最小距離重新對相應(yīng)對象進(jìn)行劃分。
(3)重新計(jì)算每個(gè)聚類的均值(中心對象),直到聚類中心不再變化。這種劃分使得下式最?。?/p>
(9)
其中,xi為第i樣本點(diǎn)的位置;mj為第j個(gè)聚類中心的位置。
(4)循環(huán)第②、③步,直到每個(gè)聚類不再發(fā)生變化為止。
K-means圖像分割的具體實(shí)現(xiàn)步驟如下:
首先將彩色圖像從RGB轉(zhuǎn)成Lab彩色空間,然后選取適當(dāng)?shù)腒值作為聚類個(gè)數(shù),K值根據(jù)實(shí)際情況調(diào)整大小,使用MATLAB自帶的K-means函數(shù)進(jìn)行運(yùn)算,得到聚類圖像的K個(gè)分類標(biāo)簽值,最后還原得到K個(gè)聚類的結(jié)果。
該方法是將K-means聚類方法得出的結(jié)果分為前景和背景,前景為所需要的人臉圖,背景為不需要的部分,分別作為SVM的兩個(gè)支持向量,組成一個(gè)數(shù)據(jù)集,與label值0(背景)和1(前景)一一對應(yīng),得到的數(shù)據(jù)集和label賦予MATLAB的fitcsvm函數(shù)進(jìn)行訓(xùn)練得到一個(gè)模型(model)值,該model值就是用來預(yù)測整張圖片分類情況的模型。
圖1是K-means圖像分割實(shí)驗(yàn)結(jié)果,該實(shí)驗(yàn)將圖像分割為K=2個(gè)聚類,效果良好。圖1(b)為人臉部分,即前景,(c)為非人臉部分,即背景。
圖1 K-means圖像分割結(jié)果
然而直接將K-means的聚類結(jié)果不做任何改動(dòng)賦予SVM訓(xùn)練時(shí),其訓(xùn)練效果并不令人滿意,甚至?xí)霈F(xiàn)全黑的情況,原因是在圖1(b)和(c)中都存在黑色部分,這是K-means算法在聚類分割時(shí)產(chǎn)生的問題,不難發(fā)現(xiàn),將(b)和(c)重合就得到了原圖(a)。這些黑色部分的RGB值均為[0,0,0]。在第一節(jié)中提到過,對SVM選取支持向量時(shí)要盡量與目標(biāo)類目一致,且要使兩個(gè)類目的差異性最大,這些黑色的像素值對SVM訓(xùn)練存在干擾,故將其去除,保留剩余部分。
f(xi,yj)≠[0,0,0]
(10)
其中,xi,yj表示圖像像素點(diǎn)坐標(biāo)。
經(jīng)過式(10)運(yùn)算后,有效像素點(diǎn)得以保留,但通過查看數(shù)據(jù),發(fā)現(xiàn)數(shù)據(jù)中有很多相同或相似的值,而選取支持向量的原則是選取豐富且不同的特征點(diǎn),這些值會(huì)對結(jié)果產(chǎn)生不好的影響,故也將其去除。
|f(xi,yj)-f(uk,vl)|≤ε
(11)
其中,uk,vl為圖像像素點(diǎn)坐標(biāo),ε為趨于0的無窮小量。
完成式(10)和(11)的運(yùn)算后,SVM的訓(xùn)練效率大大提升,且效果相比于不做任何改動(dòng)要好。
增加訓(xùn)練集,即把多張人臉圖的K-means聚類結(jié)果經(jīng)過優(yōu)化拼接成一個(gè)大的訓(xùn)練集,再賦予SVM進(jìn)行分類訓(xùn)練,得到多張圖的訓(xùn)練模型,流程如圖2所示。
圖2 增加訓(xùn)練集數(shù)據(jù)拼接的流程
因SVM數(shù)據(jù)增多后訓(xùn)練速度明顯下降,當(dāng)發(fā)現(xiàn)測試圖片不再發(fā)生明顯增強(qiáng)效果后便停止增加數(shù)據(jù)集,故該文訓(xùn)練的圖像個(gè)數(shù)最大為6張,但其耗時(shí)已經(jīng)達(dá)到數(shù)小時(shí)之久。下面將給出詳細(xì)的實(shí)驗(yàn)過程。
實(shí)驗(yàn)所用軟件為MATLAB R2016a,運(yùn)行環(huán)境為CPU I5-8300,內(nèi)存16 GB,操作系統(tǒng)為Windows10,所用圖像均為218*178 RGB圖。
傳統(tǒng)方法所得到的圖像分割效果如圖3所示。
圖3 SVM傳統(tǒng)方法圖像分割
圖3(a)中*為背景選點(diǎn),○為前景選點(diǎn)。
可以看出非監(jiān)督學(xué)習(xí)模型人為選取前景點(diǎn)和背景點(diǎn)的SVM分類效果并不理想。原因是人工選取的點(diǎn)并不能分別將各類所需的樣本點(diǎn)全部選取,始終會(huì)有部分樣本點(diǎn)漏選或錯(cuò)選,且人工選取存在差異性和不確定性,特別是對于相對復(fù)雜的圖像,人工選取就會(huì)變得非常困難。
顏色分布規(guī)律不明顯的圖像經(jīng)K-means聚類分割效果如圖4所示。
圖4 K-means圖像分割結(jié)果
圖4的K-means圖像分割效果明顯不如圖1的效果,原因是人臉區(qū)域與背景區(qū)域有顏色相近的地方,這就使得K-means對此類圖像聚類效果不好。
現(xiàn)將圖1做SVM訓(xùn)練的模型用于圖4(a)進(jìn)行SVM分類,并與K-means作對比,效果如圖5所示。
圖5 文中方法與K-means方法的比較結(jié)果
對比圖5(a)和(b)可以看出,文中方法在SVM人臉分類結(jié)果中明顯優(yōu)于K-means。
使用其他圖片對文中方法作驗(yàn)證,圖6中左側(cè)為原圖,中間為文中方法效果圖,右側(cè)為K-means效果圖。
圖6 其他圖像使用文中方法和K-means方法的比較結(jié)果
以上實(shí)驗(yàn)表明,將K-means的聚類結(jié)果賦予SVM分類器訓(xùn)練的方法是可行的,在圖像分割實(shí)驗(yàn)中可以取得較為滿意的結(jié)果。
增加訓(xùn)練集后,新的模型和一張圖像的模型對圖4(a)做SVM分類的效果如圖7所示。
圖7 增加訓(xùn)練集與一張圖訓(xùn)練模型實(shí)驗(yàn)結(jié)果
實(shí)驗(yàn)表明,增加訓(xùn)練集后訓(xùn)練的模型相比于單張圖像,在面部有更多細(xì)節(jié)得以顯現(xiàn),部分黑色部分沒有了,左上角的背景區(qū)域也有所減少,可見增加訓(xùn)練集可以改善SVM的測試效果,顯示了文中方法的有效性。
實(shí)驗(yàn)使用圖像分割誤差指標(biāo)[14]來評價(jià)分割效果,該指標(biāo)包括過度分割率(OR)、欠分割率(UR)和圖像整體錯(cuò)誤分割率(ER),公式分別如下:
(12)
(13)
(14)
其中,Op是前景中分割錯(cuò)誤的像素?cái)?shù);Up是背景中錯(cuò)誤分割到前景的像素?cái)?shù);Dp是手動(dòng)分割得到的前景的像素?cái)?shù)。表1詳細(xì)展示了圖4(a)的三種不同方法的評價(jià)指標(biāo),OR對分割結(jié)果影響較大,值越小越好,UR對分割效果影響較小,值不要太大即可,ER為整體錯(cuò)誤率,值越小越好[15]。
表1 圖4(a)評價(jià)指標(biāo)結(jié)果
從表1中可以看出,文中方法在OR和ER中要優(yōu)于其他兩種方法,UR值略高于SVM,影響不大,這在主觀視覺上也是一致的。
表2展示了圖6中兩組圖像的K-means和文中方法的評價(jià)指標(biāo),因傳統(tǒng)SVM的分割會(huì)受不同人的主觀因素影響,每次分割結(jié)果不一致,故在此不作比較。
表2 圖6評價(jià)指標(biāo)結(jié)果
同樣在表2中,文中方法在OR和ER上也優(yōu)于K-means方法,與主觀視覺一致。
在結(jié)合監(jiān)督和非監(jiān)督學(xué)習(xí)模型的基礎(chǔ)上,提出了一種基于相似度計(jì)算的圖像分割方法,對基于監(jiān)督、非監(jiān)督和文中提出的圖像分割方法進(jìn)行了對比實(shí)驗(yàn),并給出了客觀和主觀評價(jià)結(jié)果。從圖像分割的結(jié)果和客觀評價(jià)指標(biāo)可以看出,文中方法有效地提高了圖像分割的性能和效率。
因?yàn)槲闹袑?shí)驗(yàn)方法根據(jù)圖像的顏色進(jìn)行分類,當(dāng)圖像不同類別之間的數(shù)據(jù)相關(guān)性很大時(shí),分割結(jié)果會(huì)出現(xiàn)不明顯的情況,雖然提出了相似度計(jì)算方法有效地結(jié)合K-means的輸出類別和SVM的輸入支持向量,但是最終的圖像分割結(jié)果還是會(huì)受K-means分類性能的影響,因此進(jìn)一步優(yōu)化算法是下一步深入研究并改進(jìn)的地方。