劉家豐,李東波
(南京理工大學(xué)機(jī)械工程學(xué)院,江蘇 南京 210094)
圖像分割[1]就是運(yùn)用各種技術(shù)手段,將一幅圖像分割成若干個(gè)具有感興趣目標(biāo)或獨(dú)特性質(zhì)的區(qū)域。圖像分割是圖像處理的基礎(chǔ)和前提,是圖像分析的關(guān)鍵步驟。圖像分割方法有很多,根據(jù)其原理一般分為三大類[2-4]:1)閾值分割。即通過(guò)合適的閾值將圖像分為背景和目標(biāo)區(qū)域,具有運(yùn)算速度快、計(jì)算簡(jiǎn)單的特點(diǎn)。2)區(qū)域分割。主要使用區(qū)域生長(zhǎng)和分裂合并兩種方法,常見(jiàn)的有種子法、四叉樹(shù)分解法。3)邊緣分割。它建立在邊緣檢測(cè)基礎(chǔ)上,通過(guò)檢測(cè)灰度級(jí)或者結(jié)構(gòu)突變的地方來(lái)尋找邊緣。隨著各學(xué)科的發(fā)展和交叉,還出現(xiàn)了特定理論圖像分割方法,這類方法都是基于某一具體的理論,如聚類分析、模糊集理論、基因編碼等[5-6]。
K-means聚類方法[7-9]屬于特定理論分割,其隨機(jī)選擇初始聚類中心,通過(guò)對(duì)初始聚類中心進(jìn)行聚類運(yùn)算來(lái)將像素分類。初始聚類中心數(shù)量和位置的選擇,直接影響到后續(xù)聚類的結(jié)果?;谄胀↘-means的圖像分割,其初始聚類中心往往是隨機(jī)的,容易造成局部最優(yōu)解,且數(shù)量需要手動(dòng)設(shè)置,設(shè)置不當(dāng)會(huì)導(dǎo)致過(guò)分割或欠分割,難以做到自適應(yīng)分割。傳統(tǒng)的基于灰度值K-means分割,對(duì)圖像信息利用不夠充分,聚類中心也往往不夠合理,導(dǎo)致分割效果差強(qiáng)人意,所以需要一種能得到更好效果的圖像分割方法。
色彩是人類眼睛對(duì)于不同頻率光線的不同感受,是客觀存在而又可以被人們主觀感知的。人類很早就認(rèn)識(shí)到了色彩的存在,但是無(wú)法通過(guò)客觀方式進(jìn)行描述,后來(lái)人們建立了色彩模型,通過(guò)一維、二維、三維甚至四維空間坐標(biāo)來(lái)表示某種色彩,將某種色彩分成不同坐標(biāo)軸的多個(gè)值混合而成。在日常生活中廣為人知的色彩模型為RGB模型[10],也即三原色模型,它將紅(red)、綠(green)、藍(lán)(blue)三原色的色光以不同比例相加,以產(chǎn)生多種多樣的色光。
Lab空間全名為CIELab色彩空間[11],是在1931年國(guó)際照明委員會(huì)(CIE)制定的顏色度量國(guó)際標(biāo)準(zhǔn)基礎(chǔ)上建立的,于1976年經(jīng)修訂命名為CIELab。Lab色彩空間不同于RGB色彩空間,其不受設(shè)備影響,與RGB色彩空間基于不同的設(shè)備擁有不一樣的顯示不同,它是一種基于生理特性的顏色系統(tǒng),通過(guò)數(shù)字化方式描述人的視覺(jué)感應(yīng),適用范圍廣泛并常常作為一種標(biāo)準(zhǔn)化規(guī)范。
在Lab色彩空間中,一種色彩用L(亮度),a(顏色),b(顏色)3個(gè)參數(shù)描述。不同于RGB的用3種原色表示,Lab只有2種基礎(chǔ)顏色,并且2種顏色屬于混合色而不是單一原色。a取值范圍為(+127~-128),表示從紅色到綠色;b取值范圍為(+127~-128),表示黃色到藍(lán)色。在該顏色模型中,正值為暖色,負(fù)值為冷色,通過(guò)L(亮度)調(diào)整色調(diào),取值范圍為(0~100),表示純黑到純白。
Lab色彩空間與其他色彩空間相比有以下優(yōu)點(diǎn):
1)在Lab色彩空間中明度和顏色是分開(kāi)的,可單獨(dú)調(diào)節(jié)。
2)色域?qū)掗煛ab屬于標(biāo)準(zhǔn)化規(guī)范色彩空間,不僅包含了RGB、CMYK的所有色域,還能表現(xiàn)它們不能表現(xiàn)的色彩,只要是人肉眼能夠感知的所有色彩,都可以通過(guò)Lab模型表現(xiàn)出來(lái)。
3)彌補(bǔ)了RGB和CMYK色彩空間色彩分布不均勻的不足。
Lab色彩空間表現(xiàn)能力較強(qiáng),色域最寬,意味著在進(jìn)行圖像分割時(shí)可以使不同圖像之間的差異更顯著。同時(shí),因?yàn)橥瑯泳鹊腖ab模型需要比RGB模型更多的數(shù)據(jù)信息,所以工業(yè)上RGB模型往往作為標(biāo)準(zhǔn)規(guī)范使用,獲得的圖像通常都是RGB圖像,需要進(jìn)行轉(zhuǎn)換才能得到Lab色彩空間的圖像。
RGB圖像需要先轉(zhuǎn)換成XYZ(CIE 1931 XYZ,幾乎是所有顏色空間的基礎(chǔ))再轉(zhuǎn)換為L(zhǎng)ab,即RGB→XYZ→Lab,RGB轉(zhuǎn)XYZ公式如下:
X=R×0.412 4+G×0.357 6+B×0.180 5
Y=R×0.212 6+G×0.715 2+B×0.072 2
Z=R×0.019 3+G×0.119 2+B×0.950 5
式中:X,Y,Z分別為XYZ色彩空間的三色通道的值。
XYZ再轉(zhuǎn)換為L(zhǎng)ab色彩空間:
L=116f(Y/Yn)-16
a=500[f(X/Xn)-f(Y/Yn)]
b=200[f(Y/Yn)-f(Z/Zn)]
式中:Xn、Yn、Zn分別為參照白點(diǎn)的CIE XYZ三色刺激值,計(jì)算時(shí)分別取96.422 1、100.000 0、82.522 1;f為以色道值與刺激值之比為變量的函數(shù)。f的取值情況如下:
式中:t為XYZ色彩空間色道值與刺激值之比。
圖像轉(zhuǎn)換到Lab色彩空間后,便由3個(gè)參數(shù)L,a,b所在色道組成,可進(jìn)行后續(xù)操作。
K-means聚類方法是1967年由MacQueen提出的,是典型的局域距離聚類算法。它首先確定K個(gè)類,每個(gè)類選取一個(gè)初始聚類中心。計(jì)算各對(duì)象到聚類中心的歐氏距離,并將對(duì)象劃分到歐氏距離最短的一類,得到K個(gè)簇。一次迭代完成,計(jì)算新的聚類中心,一般情況下新的聚類中心可以取每個(gè)簇的平均值。多次迭代后,新的聚類中心與上次的聚類中心值相同或者兩聚類中心之間的差值小于一個(gè)值,則認(rèn)為算法已經(jīng)收斂,聚類完成。
K-means應(yīng)用到圖像領(lǐng)域時(shí),對(duì)于灰度圖像,聚類中心通常是灰度值;對(duì)于彩色圖像則變?yōu)槎嗑S,每個(gè)維度都是彩色圖像的一個(gè)通道,例如對(duì)于RGB圖像,其聚類中心是一個(gè)由R、G、B 3個(gè)色道組成的三維值。
算法流程如下:
1)從N個(gè)數(shù)據(jù)中隨機(jī)選取K個(gè)作為聚類中心。
2)分別計(jì)算每個(gè)點(diǎn)xi(i=1,2,…,n)到K個(gè)聚類中心uj(j=1,2,…,k)的歐氏距離Di,j,找出每個(gè)點(diǎn)到這些聚類中心的歐氏距離最小值Di,p,Di,p=min(Di,1,Di,2,…,Di,p,…,Di,k),則將點(diǎn)xi劃分到p類。
4)判斷收斂情況,將新聚類中心與舊聚類中心進(jìn)行比較,若兩者相差小于某閾值ε,則證明聚類完成,不小于則重復(fù)步驟1)~3)。
傳統(tǒng)K-means聚類方法的初始聚類中心通常為隨機(jī)選擇,容易出現(xiàn)局部最優(yōu)解。且聚類的數(shù)量K采用從某值開(kāi)始的逐次遞增選擇最優(yōu)值,工作量巨大。
因此,本文通過(guò)灰度直方圖或各色道直方圖,搜尋圖像的波峰以獲得像素的分布情況,從而確定初始聚類中心的位置和數(shù)量,被搜尋的波峰需要滿足以下條件方可被搜尋到:
1)波峰必須呈現(xiàn)明顯的突起。由于圖像的復(fù)雜性,往往出現(xiàn)多個(gè)波峰,只能取有意義的波峰,如圖1所示。
圖1 多波峰情況
圖中黑點(diǎn)部分是一個(gè)小波峰,明顯可以看出,該波峰不屬于像素點(diǎn)分布中心,其左右兩個(gè)大波峰才屬于像素集中心,因此必須有效剔除小波峰。
2)波峰不能是孤立值。圖像上某一顏色均勻的小面積對(duì)象,在直方圖中會(huì)體現(xiàn)為像素點(diǎn)集中在個(gè)別灰度級(jí)或通道值上,常表現(xiàn)為孤立的波峰。這個(gè)對(duì)象往往隸屬于圖像上一個(gè)大目標(biāo)的一個(gè)部分,例如紅色大衣上的一個(gè)黑色花紋,人臉上的黑色眼睛。這些目標(biāo)雖然所占整體像素比例不高,但像素值均勻分布,容易在直方圖上產(chǎn)生集中,在某一灰度級(jí)出現(xiàn)一個(gè)值極大的波峰,而這個(gè)波峰往往高出周圍值較多。在實(shí)際圖像分割時(shí),如果對(duì)人物進(jìn)行分割,當(dāng)然希望眼睛和面容分割為一個(gè)整體,而不是單獨(dú)分割成一部分;大衣上的黑色花紋,要與整個(gè)大衣歸屬于一類。如果每個(gè)小對(duì)象都被分割,會(huì)導(dǎo)致一張圖像分割成數(shù)十個(gè)區(qū)域,造成過(guò)分割,孤立波峰情況如圖2所示。
圖2 孤立波峰情況
本文使用的波峰搜尋方法,以灰度圖像為例,搜尋步驟如下:
1)從直方圖X軸(0~255灰度值)某處(第一次為0)開(kāi)始逐步搜尋,記錄遇到的Y軸(每個(gè)灰度值像素分布數(shù)量)最大值Ym,隨著搜尋不斷替換,直至當(dāng)前值小于上一個(gè)值。
2)由于當(dāng)前值小于上一個(gè)值,則Ym仍為上一個(gè)值,繼續(xù)搜索10個(gè)灰度級(jí),若有6個(gè)灰度級(jí)Y軸值小于Ym,則認(rèn)為Ym所在灰度值為波峰,記該灰度值為xi(i=1,2,…,k)。
3)沿X軸繼續(xù)搜索剩余的灰度值,重復(fù)步驟1)和步驟2),直至全部灰度值搜索完畢。
波峰搜尋完畢獲得x1~xk共k個(gè)灰度值,即k個(gè)初始聚類中心。將波峰搜尋方法和K-means聚類方法結(jié)合,即得到自適應(yīng)K-means聚類方法。
將Lab空間與自適應(yīng)K-means聚類結(jié)合,得到新的圖像分割方法。Lab色彩空間具有3個(gè)通道L,a,b,由于L通道為亮度通道,不能很好反映像素分布,只能采用a、b 2個(gè)通道進(jìn)行二維K-means聚類。通過(guò)a、b雙通道直方圖計(jì)算聚類中心數(shù)量和初始位置時(shí),會(huì)得到2個(gè)聚類中心數(shù)量k1和k2,分別表示基于圖像2個(gè)通道像素的分布情況。
如果k1=k2,那么便可以得到k1,ui(i=1,2,…,k1)和k2,uj(j=1,2…,k2)2組值,則初始聚類中心為u(ui,uj),即按照次序,依次將2個(gè)通道的聚類中心位置組合,得到聚類中心的二維坐標(biāo)。
如果出現(xiàn)k1≠k2的情況,例如當(dāng)k1小于k2時(shí),這種情況下應(yīng)當(dāng)采用較小值,初始聚類中心為u(ui,uj),(i=j=1,2,…,k1)。原因是選擇小值,雖然代表圖像少劃分一類,但是如果需要,可以通過(guò)后續(xù)形態(tài)學(xué)操作或其他方法分割出來(lái);采取大值,就可能產(chǎn)生過(guò)分割,將本屬于同一類的像素分為2類,把圖像目標(biāo)分割到背景中,而從圖像中被分割出去的信息,在后續(xù)步驟里無(wú)法補(bǔ)充。
本文算法流程:
1)彩色圖像轉(zhuǎn)到Lab色彩空間,分離出a、b 兩個(gè)色彩通道,得到具有二維坐標(biāo)的像素點(diǎn)xi(i=1,2,…,n)。
2)分別得到圖像a、b通道的直方圖并搜尋波峰,得到k=min(k1,k2)、ui、uj和圖像的二維初始聚類中心u(ui,uj),(i=j=1,2,…,k)。
3)將聚類中心帶入K-means聚類算法,分別計(jì)算每個(gè)像素點(diǎn)xi(i=1,2,…,n)到各個(gè)聚類中心u(ui,uj)的最小歐氏距離,記作Dp(p=1,2,…,m,…k),若Dm為最小距離,則分配xi到第m類。
5)判斷收斂,即判斷步驟3)和4)得到的新舊聚類中心之間差值是否小于閾值ε。本文取0.1,小于則聚類結(jié)束,否則轉(zhuǎn)到步驟3)繼續(xù)聚類。
7)將得到的帶有類別標(biāo)識(shí)的mask用來(lái)把原圖像分割成k個(gè)區(qū)域。
為了驗(yàn)證本文提出的基于Lab色彩空間的K-means聚類分割方法,本文進(jìn)行了大量的實(shí)驗(yàn),分別使用基于灰度值的自適應(yīng)K-means聚類分割和本文方法,對(duì)狗照片和人物圖進(jìn)行分割,分割結(jié)果如圖3~圖5所示。
圖3 狗照片和人物圖
圖4 基于灰度值的自適應(yīng)K-means方法分割結(jié)果
聚類中心數(shù)量和中心值見(jiàn)表1。
從圖3~圖5的對(duì)比可以明顯看出,本文算法相較于傳統(tǒng)的基于灰度值的自適應(yīng)K-means算法能夠更好地提取出目標(biāo),將目標(biāo)與背景分離出來(lái);與此同時(shí),本算法在提取目標(biāo)時(shí),能夠很好地保留目標(biāo)邊緣,保證目標(biāo)輪廓的完整性。
圖5 基于Lab空間的自適應(yīng)K-means分割結(jié)果
表1 聚類中心位置與數(shù)量
圖像分割結(jié)果的好壞僅用主觀評(píng)價(jià)還不夠,只有用量化標(biāo)準(zhǔn)才能更好地反映分割效果,本文使用GT(ground truth)圖像計(jì)算分割圖像的分割精度、過(guò)分割、欠分割等指標(biāo)。
GT圖像為含有理論分割結(jié)果的圖像,是通過(guò)人工操作獲得的精準(zhǔn)理論分割圖像;分割精度指正確分割像素與理論分割值的比例,越接近1證明精度越高;過(guò)分割率,指錯(cuò)誤分割像素?cái)?shù)量與理論值和錯(cuò)誤分割值之和的比例,0為最優(yōu);欠分割率指未能正確分割像素?cái)?shù)與理論值和錯(cuò)誤分割值之和的比例,0為最優(yōu)。表2、表3為兩圖分割結(jié)果各項(xiàng)指標(biāo)參數(shù)。
表2 狗照片分割評(píng)估
表3 人物圖分割評(píng)估
實(shí)驗(yàn)證明,基于灰度值的自適應(yīng)K-means算法雖然具有一定自適應(yīng)能力,在一定程度上能夠正確選擇聚類中心數(shù)量和位置,但在面對(duì)部分圖像時(shí)依然會(huì)產(chǎn)生分類不準(zhǔn)確的情況,尤其在圖像細(xì)節(jié)方面,會(huì)出現(xiàn)過(guò)分割和欠分割的現(xiàn)象。同時(shí),在整體圖像輪廓保留上,本文基于Lab色彩空間的K-means分割方法往往能更好地保留圖像輪廓。以圖4和圖5的狗照片分割效果為例,本文方法幾乎是沿著輪廓完整地將目標(biāo)提取出來(lái),邊緣保留極好。
本文通過(guò)將圖像轉(zhuǎn)到Lab色彩空間,最大程度地增加了圖像的像素差異,然后使用改進(jìn)后的自適應(yīng)K-means方法,在確定了聚類中心數(shù)量和初始位置后,對(duì)圖像進(jìn)行快速的聚類分割。實(shí)驗(yàn)結(jié)果證明,該方法自動(dòng)給出的K-means聚類中心較為合理,能夠較好地分割圖像,尤其在保留圖像邊緣輪廓方面效果十分理想,可以最大程度保留圖像信息,給后續(xù)圖像處理提供更好的操作空間。