郭 偉,李紅達(dá),邢宇哲
(遼寧工程技術(shù)大學(xué)軟件學(xué)院,遼寧 葫蘆島 125105)
圖像分割是按照一定的相似性準(zhǔn)則把圖像劃分成一定數(shù)量區(qū)域的過(guò)程,圖像分割是圖像處理的前期階段,在實(shí)際的處理中有著非常廣泛的應(yīng)用,已在目標(biāo)識(shí)別、模式識(shí)別、人工智能等眾多領(lǐng)域得到了普遍的應(yīng)用。
目前,圖像的尺寸越來(lái)越大,直接在像素粒度層面上對(duì)圖像進(jìn)行處理的計(jì)算效率較低,這就要求減少像素?cái)?shù)量,擴(kuò)大像素所代表的含義。2003年,Berkeley大學(xué)機(jī)器視覺(jué)實(shí)驗(yàn)室的Ren等人[1]第一次提出了超像素這個(gè)概念,所謂超像素,是指具有相似紋理、顏色、亮度等特征的相鄰像素構(gòu)成的子區(qū)域。超像素分割就是把像素聚類(lèi)成超像素的過(guò)程。它通過(guò)像素的聚合保存了圖像的邊界信息,降低了后續(xù)圖像處理的復(fù)雜度。超像素分割算法加速了圖像處理的速度,并很好地保留了邊界信息。Moore等人[2]提出的SL(Superpixel Lattices)算法采用Canny邊界檢測(cè)算法獲得原始圖像邊界,再不斷地在垂直和水平兩個(gè)方向?qū)ふ易顑?yōu)路徑把圖像分割成超像素。Bergh等人[3]提出了SEED(Superpixels Extracted via Energy-Driven Samplin)算法,該算法不斷修正網(wǎng)格元素的超像素邊緣點(diǎn),最終得到分割結(jié)果。簡(jiǎn)單線性迭代聚類(lèi)算法SLIC (Simple Linear Iterative Clustering)是在CIELAB彩色空間的X-Y坐標(biāo)下的五維特征向量,把N個(gè)像素點(diǎn)聚類(lèi)成K類(lèi)。相比于其他超像素分割算法,該算法分割速度快,能形成形狀規(guī)則、大小均勻的超像素[4,5],該算法的時(shí)間復(fù)雜度僅為O(n),在處理高分辨率圖像時(shí)可以減少時(shí)間復(fù)雜度,而且分割的數(shù)目和邊緣貼合度是可控的。
超像素圖像分割實(shí)際上是一種圖像的過(guò)分割,沒(méi)有實(shí)際的應(yīng)用意義。在它基礎(chǔ)上的圖像處理成為了很好的研究方向,目前在圖像分割、目標(biāo)檢測(cè)、特征提取、目標(biāo)跟蹤、人體姿勢(shì)估計(jì)等方面都有了很好的發(fā)展。楊賽等人[6]提出一種基于超像素的顯著性目標(biāo)檢測(cè)算法,先計(jì)算目標(biāo)先驗(yàn)概率顯著圖,在超像素區(qū)域內(nèi)建立詞袋模型,算出條件概率顯著圖,把兩種概率融合獲取顯著性目標(biāo)。張雷等人[7]提出一種基于超像素的在線目標(biāo)分割算法,結(jié)合上一幀的先驗(yàn)知識(shí)估計(jì)當(dāng)前幀的外觀模型,以超像素為節(jié)點(diǎn)構(gòu)建馬爾科夫模型,結(jié)合外觀模型和馬爾科夫模型構(gòu)建能量最小化問(wèn)題,應(yīng)用圖割方法計(jì)算分割結(jié)果。劉大千等人[8]提出一種基于超像素的局部模型匹配目標(biāo)跟蹤算法,利用前幾幀的超像素塊建立目標(biāo)模型作為匹配模板,采用期望最大化EM(Expectation Maximization)估計(jì)前景信息,與局部圖像匹配確定跟蹤目標(biāo)。韓守東等人[9]提出一種快速圖像分割算法,該算法用超像素作為圖模型的節(jié)點(diǎn),用Graph Cut模型實(shí)現(xiàn)加速,獲得分割結(jié)果。Levinshtein等人[10]提出一種基于超像素的特征提取算法,首先用超像素構(gòu)建圖節(jié)點(diǎn),利用先驗(yàn)知識(shí)預(yù)測(cè)每個(gè)點(diǎn)的隸屬度,不斷迭代更新,確定一個(gè)封閉的輪廓逼近特征圖像。Mori[11]提出了一種基于超像素的人體姿勢(shì)估計(jì)算法,該算法用超像素作為節(jié)點(diǎn),大大減少了圖像中人體關(guān)節(jié)點(diǎn)搜索的數(shù)目,同時(shí)應(yīng)用超像素算法使用一側(cè)的軀體來(lái)預(yù)測(cè)另一半的軀體特征,降低了算法的復(fù)雜度。
多主體圖像分割區(qū)別于傳統(tǒng)的圖像分割,傳統(tǒng)的圖像分割是分別出前景和背景,主要提取前景,忽略背景。多主體圖像分割不是簡(jiǎn)單地分別出前景和背景,而是一副圖像本身具有多個(gè)主體,每個(gè)主體的重要性不分大小,都有實(shí)際的意義,需要把每一部分都分離出來(lái),因此多主體圖像分割也引起到了各方面的關(guān)注。紀(jì)則軒等人[12]提出一種無(wú)監(jiān)督的模糊C均值FCM(Fuzzy C-Means)算法,結(jié)合Gabor濾波器對(duì)像素的紋理信息進(jìn)行處理,有很強(qiáng)的適應(yīng)性,算法僅需要一次聚類(lèi),但在前期對(duì)紋理處理的過(guò)程中需要對(duì)相位、方向角、頻率同時(shí)求解,增大了算法的復(fù)雜性。余衛(wèi)宇等人[13]提出一種對(duì)圖像分塊的思想,對(duì)不同區(qū)域的圖像采用不同的閾值,結(jié)合蟻群算法對(duì)圖像進(jìn)行分割,算法雖然對(duì)細(xì)節(jié)處理較好但容易出現(xiàn)過(guò)分割現(xiàn)象,且需要迭代多次。Tao等人[14]將像素信息利用Graph Cut算法轉(zhuǎn)化為圖結(jié)構(gòu),計(jì)算其中的最小割, 對(duì)于每個(gè)像素根據(jù)其最小割邊的位置賦予對(duì)應(yīng)的標(biāo)記,算法提高了邊界分割率但效率較低。伯彭波等人[15]在文獻(xiàn)[14]的基礎(chǔ)上提出一種交互分割的方式,首先通過(guò)超像素對(duì)圖像進(jìn)行預(yù)處理,再利用Graph Cut算法構(gòu)建多層流網(wǎng)絡(luò),最后根據(jù)用戶(hù)提供的圖形信息得出分割結(jié)果 。這種算法可以利用用戶(hù)的交互給出最符合用戶(hù)需要的解決方案,但在實(shí)際中并不允許用戶(hù)的實(shí)時(shí)交互,而且適應(yīng)性不夠。Grady[16]利用Random Walk算法計(jì)算每個(gè)像素屬于用戶(hù)標(biāo)記主體的可能性,不斷更新隸屬度矩陣,是一種交互分割算法。
本文在超像素和密度聚類(lèi)算法的基礎(chǔ)上提出了一種基于SLIC的自適應(yīng)DBSCAN(Density-Based Spatial Clustering of Applications with Noise)多主體圖像分割算法。在本文之前已有對(duì)SLIC和DBSCAN算法結(jié)合用于圖像分割的研究。Wu等人[17]提出了一種SLIC結(jié)合DBSCAN算法用于分割巡檢圖像的算法,胡峻峰等人[18]提出了一種SLIC結(jié)合DBSCAN算法用于分割木材表面缺陷的算法,凌朝東等人[19]提出一種SLIC結(jié)合DBSCAN算法用于解決眼底圖像硬性滲出檢測(cè)的算法。上述三種算法都是對(duì)專(zhuān)一圖像進(jìn)行分割,每一個(gè)算法都有其自己獨(dú)立的參數(shù),并不具有普遍適用性,對(duì)于不同的圖像并不能做到同時(shí)適用。因此,本文提出一種自適應(yīng)參數(shù)算法用于解決不同圖像之間參數(shù)不同的算法。本文使用SLIC算法和DBSCAN算法結(jié)合用于處理圖像分割問(wèn)題,其中SLIC算法可以提高算法效率,而DBSCAN算法可以發(fā)現(xiàn)任意形狀的聚類(lèi),并且不需要確定聚類(lèi)數(shù)目,再通過(guò)計(jì)算得到全局最優(yōu)解,最后與SLIC、Meanshift、Kmeans、分水嶺算法等傳統(tǒng)算法和SLIC-Kmeans、SLIC-Meanshift算法進(jìn)行比較 ,從精度和效率兩方面對(duì)本文算法進(jìn)行驗(yàn)證和評(píng)價(jià)。
SLIC超像素分割算法是Achanta等人提出的一種實(shí)現(xiàn)方便、思想簡(jiǎn)單的算法,它將RGB彩色空間的像素點(diǎn)轉(zhuǎn)化為CIELAB彩色空間的X-Y坐標(biāo)下的五維特征向量Pi=(li,ai,bi,xi,yi)i=(1,2,…,N),將其中的N個(gè)像素點(diǎn)通過(guò)局部聚類(lèi)形成K個(gè)超像素區(qū)域。
SLIC算法具體實(shí)現(xiàn)步驟如下:
(1)初始化聚類(lèi)中心。
為了避免初始種子點(diǎn)落在圖像的邊緣,將初始種子點(diǎn)移動(dòng)到當(dāng)前種子點(diǎn)的3×3鄰域內(nèi)梯度最小的位置。圖像的梯度計(jì)算公式為:
G(x,y)=‖l(x+1,y)-l(x-1,y)‖2+
‖l(x,y+1)-l(x,y-1)‖2
其中,l(x,y)是超像素di=(xi,yi)的位置向量,‖·‖是矩陣的二范式,由此獲得初始種子點(diǎn)的顏色向量Ci=(li,ai,bi),因此確定初始種子點(diǎn)的表達(dá)向量pi=(Ci,di),i=1,…,K。
(2)相似度度量。
SLIC的相似度度量方法如下:
其中,dlab為像素點(diǎn)之間的色差,dxy為像素點(diǎn)之間的空間距離,D(i,k)為像素點(diǎn)i與聚類(lèi)中心k之間的相似度,D(i,k)的值越小,說(shuō)明兩者越相似,m∈1,40為調(diào)節(jié)顏色距離的權(quán)重。
(3)迭代更新聚類(lèi)中心。
在聚類(lèi)中心的2S×2S范圍內(nèi)確定每一個(gè)像素點(diǎn)的歸屬,把歸屬于一類(lèi)聚類(lèi)的像素點(diǎn)的五維向量值求平均獲得更新后的聚類(lèi)中心,重復(fù)此過(guò)程直至迭代完成。
(4)對(duì)每一個(gè)歸屬于同一聚類(lèi)的像素點(diǎn)賦予相同的聚類(lèi)標(biāo)簽,形成K個(gè)超像素。
對(duì)雙邊濾波之后的圖像進(jìn)行SLIC超像素分割,K的取值分別為100,400,3 000時(shí)得到如圖1所示的分割圖像。
Figure 1 SLIC super-pixel segmentation images under different K values 圖1 不同的K值下SLIC超像素分割圖像
DBSCAN 算法是一種經(jīng)典的基于密度的聚類(lèi)算法,可以自動(dòng)確定聚類(lèi)的數(shù)量,能夠發(fā)現(xiàn)任意形狀簇,只需要一次迭代,聚類(lèi)速度比較快,DBSCAN具體算法參照文獻(xiàn)[20]。
DBSCAN算法有兩個(gè)重要的參數(shù)Eps和MinPts,分別為聚類(lèi)中心的最大差異和聚類(lèi)的最小數(shù)量。實(shí)驗(yàn)表明,該算法對(duì)參數(shù)有著較強(qiáng)的敏感性,參數(shù)的設(shè)定嚴(yán)重影響著實(shí)驗(yàn)的結(jié)果,而且對(duì)于不同的圖像需要設(shè)定不同的參數(shù)。
由圖2可以看出,對(duì)于一幅圖像來(lái)說(shuō)不同的參數(shù)對(duì)圖像分割的影響很大。對(duì)于上下兩幅圖來(lái)說(shuō),同樣的Eps值,圖2b在Eps=500時(shí)可以很好地分辨出整體輪廓,而圖2e卻出現(xiàn)過(guò)分割現(xiàn)象;當(dāng)Eps=2300時(shí),圖2c出現(xiàn)欠分割現(xiàn)象,而圖2f卻能很好地分割出主體;由圖圖2e也可以發(fā)現(xiàn)整體參數(shù)對(duì)局部影響很大。因此,需要提出一種自適應(yīng)的參數(shù)算法以適應(yīng)不同圖像的要求,同時(shí)也要滿(mǎn)足對(duì)于同一幅圖像不同位置的要求。
DBSCAN算法對(duì)Eps和MinPts有著很強(qiáng)的敏感性,分割不同的圖像需要采取不同的參數(shù)值,因此自適應(yīng)獲取參數(shù)值就成為了DBSCAN算法的重點(diǎn)。有關(guān)DBSCAN的參數(shù)選擇問(wèn)題,已經(jīng)有了大量的研究,但大部分的研究都是針對(duì)數(shù)據(jù)的分類(lèi)問(wèn)題,圖像有其獨(dú)特的性質(zhì),對(duì)于顏色的敏感性更高,距離只是輔助判斷。因此,圖像分割更關(guān)注像素之間的顏色差異而非距離,本文使用的DBSCAN算法只對(duì)比全局顏色信息,并不計(jì)算像素之間的距離信息,可以減少空間信息對(duì)分割效果的影響,自適應(yīng)地獲取參數(shù)可以取得良好的效果。
首先我們需要解決Eps的選取問(wèn)題。本文選取文獻(xiàn)[21]的主要方法,通過(guò)對(duì)比全局超像素顏色信息自適應(yīng)地決定Eps值。
自適應(yīng)DBSCAN算法的主要步驟如下:
(1)計(jì)算全局距離分布矩陣DIST。
DISTn×n={dist(i,j)|1≤i≤n,1≤j≤n}
其中,n=D,D表示超像素分割后的聚類(lèi)中心組成的數(shù)據(jù)集,DIST是n行n列的對(duì)稱(chēng)矩陣,dist(i,j)表示第i個(gè)超像素中心到第j個(gè)超像素中心的距離。
(2)對(duì)每一個(gè)DIST排序并轉(zhuǎn)置得到順序矩陣:
KNN0n×n=sort(DISTn×n)′
KNN0n×n的每一列向量代表數(shù)據(jù)集中每個(gè)超像素到最近的k(k=1,…,n)個(gè)超像素的距離集合。由于每一列向量的第一個(gè)元素都是0,對(duì)后續(xù)處理影響很大,因此整體刪除第一行,從第二行開(kāi)始算起,得到新的矩陣KNNn×(n-1):
KNNn×(n-1)=sort(KNN0n×n(1:end;2:end))
KNNn×(n-1)的第k(k=1,…,n)列即為數(shù)據(jù)集中超像素k最近鄰域集合DISTk,對(duì)于KNNn×(n-1)繪圖得到圖3,其中圖3a為全部超像素與其他超像素的距離,圖3b為單個(gè)超像素與其他超像素的距離,圖3c為圖3b曲線的概率密度圖。
Figure 3 Distance distribution of super-pixels圖3 超像素的距離函數(shù)分布
由圖3a可以看到,隨著k的增加函數(shù)上升,即DIST(n,k)≤DIST(n,k+1),從中取出單個(gè)對(duì)象的函數(shù)圖像如圖3b所示,概率密度直方圖及概率密度曲線如圖3c所示。
(3)尋找圖3c中概率密度曲線的最高點(diǎn),即與超像素中心最相近的點(diǎn),保證大多數(shù)的鄰接超像素可以聚集在一起,使用統(tǒng)計(jì)模型進(jìn)行擬合,通過(guò)實(shí)驗(yàn)發(fā)現(xiàn)使用逆高斯密度分布擬合的效果比較好,逆高斯密度分布的概率密度公式為:
其中,λ和μ可以使用極大似然估計(jì)得到。為了獲得最高點(diǎn)的值,解方程dP(x)/dx=0,得到一個(gè)整數(shù)解:
因此,對(duì)于每個(gè)點(diǎn)k,根據(jù)逆高斯概率密度函數(shù)得到:
對(duì)于不同的超像素k使用不同的Eps(k)值,可以極大地保證超像素總是向著密度最大的方向靠攏,當(dāng)兩個(gè)超像素之間的差值超過(guò)Eps(k)時(shí),擴(kuò)散結(jié)束。
所有的超像素點(diǎn)遍歷完成后,每個(gè)聚類(lèi)的聚類(lèi)數(shù)目也同時(shí)被計(jì)算出來(lái),這里并不存在最小的聚類(lèi)數(shù)目,對(duì)于超像素來(lái)說(shuō),每一個(gè)超像素都有可能是孤立的聚類(lèi)中心,因此MinPts的值也可以自適應(yīng)確定,并且MinPts參數(shù)對(duì)本文算法的影響較小。
遍歷完所有像素后,超像素劃分為兩類(lèi):具有實(shí)際意義的超像素聚類(lèi)和被劃為噪聲點(diǎn)的聚類(lèi)。但是,被劃為噪聲點(diǎn)的聚類(lèi)有可能是多主體分割的一部分,卻被視為孤立點(diǎn),不應(yīng)該被單獨(dú)分離出來(lái),因此應(yīng)進(jìn)行孤立點(diǎn)檢測(cè),并更新聚類(lèi)內(nèi)容和聚類(lèi)數(shù)目。
算法中超像素的自適應(yīng)Eps值會(huì)把噪聲點(diǎn)排除到聚類(lèi)之外,或者聚類(lèi)中心的超像素與鄰接超像素有較大差異,并沒(méi)有鄰接超像素一起組成聚類(lèi),單獨(dú)化為一類(lèi),這些孤立點(diǎn)主要有以下幾個(gè)形成原因:它們與數(shù)據(jù)的其他部分不一致;由于度量或執(zhí)行錯(cuò)誤導(dǎo)致孤立點(diǎn)產(chǎn)生;也可能是固有數(shù)據(jù)變異性的結(jié)果。但是,這些噪聲點(diǎn)同樣是圖像聚類(lèi)的一部分,為了解決這一問(wèn)題,本文將孤立點(diǎn)的合并放到了超像素聚類(lèi)之后,利用聚類(lèi)數(shù)目判斷孤立點(diǎn),并進(jìn)行融合。
定義1(聚類(lèi)可達(dá)密度lrd(O)) 用Cu(O)表示聚類(lèi)O的所有所屬超像素,reach_distO,p表示對(duì)象p與聚類(lèi)中心O的可達(dá)距離,CuO表示聚類(lèi)個(gè)數(shù),那么聚類(lèi)O的可達(dá)密度為聚類(lèi)中心與它的所屬超像素的平均可達(dá)距離的倒數(shù):
定義2(局部異常因子LOF(p,O))O表示與對(duì)象p相鄰的聚類(lèi),lrdO表示不包含p對(duì)象的聚類(lèi)可達(dá)密度,lrdO1表示包含p對(duì)象的聚類(lèi)可達(dá)密度,Am表示所有與p相鄰的超像素集合,則:
LOF同時(shí)反映聚類(lèi)內(nèi)部與鄰接超像素的異常狀況。如果p可以被歸類(lèi)為聚類(lèi)的一種,則對(duì)后半部分影響較大,如果是一個(gè)孤立點(diǎn),則對(duì)前半部分影響較大。LOF越小,說(shuō)明對(duì)象p對(duì)于聚類(lèi)O的異常影響越小。聚類(lèi)中心和鄰接超像素與對(duì)象p越相似,LOF越小,如果p不是孤立點(diǎn),則LOF接近1,如果p的所有鄰接聚類(lèi)的LOF均大于1,則p被作為孤立點(diǎn)處理,如果局部異常因子均小于1,則最終選取影響因子最小的聚類(lèi)為它的目標(biāo)聚類(lèi),如圖4。
Figure 4 Outlier control process圖4 孤立點(diǎn)控制過(guò)程
本文算法自適應(yīng)地確定Eps和MinPts,避免了DBSCAN的參數(shù)敏感性,增強(qiáng)了算法的魯棒性。自適應(yīng)選取Eps使每個(gè)超像素朝著最相似的超像素聚類(lèi),極大地減小了全局的Eps對(duì)圖像細(xì)節(jié)的影響,保證分割的結(jié)果既能分出主要的區(qū)域,還能在細(xì)節(jié)處理上優(yōu)于其他的算法。
實(shí)驗(yàn)平臺(tái):本文算法運(yùn)行的操作系統(tǒng)為Windows 7,Intel(R) Core(TM) i5-2450M,2.5 GHz,在Matlab2012a上實(shí)現(xiàn)。
數(shù)據(jù)集:本文實(shí)驗(yàn)所用的數(shù)據(jù)集為Berkeley benchmark500標(biāo)準(zhǔn)數(shù)據(jù)集[22]。每幅圖像的大小為481×321,分割的超像素個(gè)數(shù)為400個(gè),緊密度系數(shù)m對(duì)實(shí)驗(yàn)結(jié)果影響不大,算法運(yùn)行時(shí)間在緊密度系數(shù)m發(fā)生變化時(shí)有輕微抖動(dòng),抖動(dòng)幅度小于5%,算法運(yùn)行平穩(wěn),實(shí)驗(yàn)選取邊界分割率最大的20組實(shí)驗(yàn)數(shù)據(jù)取平均值,確定緊密度系數(shù)m取值為20。
圖像分割評(píng)價(jià)標(biāo)準(zhǔn):概率隨機(jī)指數(shù)準(zhǔn)則PRI(Probabilistic Rand Index),取值為[0,1],PRI越大代表結(jié)果越好。信息變化指數(shù)VOI(Variation of Information),取值為[0,∞),VOI越小代表分割結(jié)果越好。
本文從分割效果、分割時(shí)間以及與人工分割的結(jié)果進(jìn)行比較,驗(yàn)證算法的有效性。
本文算法的分割效果與分割時(shí)間嚴(yán)重依賴(lài)于超像素的個(gè)數(shù)。如果分割個(gè)數(shù)過(guò)少,則缺少邊界信息,邊界檢測(cè)率低,對(duì)圖像細(xì)節(jié)處理不理想;如果分割個(gè)數(shù)過(guò)多,不能保證后續(xù)處理的時(shí)間效率,造成浪費(fèi)。超像素個(gè)數(shù)與邊界檢測(cè)率的關(guān)系和超像素個(gè)數(shù)與分割時(shí)間的關(guān)系如圖5所示。
Figure 5 Effect of the number of super-pixels on segmentation圖5 超像素個(gè)數(shù)對(duì)分割算法的影響
由圖5a所示,超像素圖像分割在超像素個(gè)數(shù)為400時(shí)可以達(dá)到99.67%的檢測(cè)率,完全可以檢測(cè)出絕大多數(shù)的圖像邊界,不存在欠分割現(xiàn)象,而當(dāng)超像素個(gè)數(shù)大于400以后,邊界分割率并沒(méi)有較明顯的提升,只是在細(xì)微之處存在修改,并不影響圖像分割的整體效果;而由圖5b所示,超像素個(gè)數(shù)對(duì)超像素分割時(shí)間并沒(méi)有影響,但對(duì)于后續(xù)的圖像分割程序有著較明顯的效果,在超像素個(gè)數(shù)為1 000以下時(shí),圖像分割算法時(shí)間并沒(méi)有大幅度的提升,當(dāng)超像素個(gè)數(shù)大于1 000時(shí)便出現(xiàn)了較大幅度變化,成指數(shù)趨勢(shì)增長(zhǎng)。綜合圖5兩幅圖,本實(shí)驗(yàn)采取的超像素個(gè)數(shù)為K=400,既可以保證有很高的邊界檢測(cè)率,而且也保證了算法的時(shí)間成本沒(méi)有較大幅度增加。
圖1同時(shí)給出了不同超像素個(gè)數(shù)的不同分割結(jié)果(對(duì)于像素個(gè)數(shù)為512×512的Lena圖像分別分割為100、400、3 000的分割結(jié)果)。從圖1中可以觀察到,在超像素個(gè)數(shù)K=100時(shí),雖然基本反映出圖像的邊界,但仍有部分邊界不能很好地分割出來(lái),邊界分割率低,影響后續(xù)處理效果,如果增加超像素的個(gè)數(shù)為K=3000,則大幅增加了圖像分割的時(shí)間,最終確定為超像素個(gè)數(shù)為K=400,減少了后續(xù)分割的空間占用和時(shí)間花費(fèi)。
本節(jié)對(duì)SLIC、Meanshift、Kmeans、分水嶺等傳統(tǒng)算法和SLIC-Kmeans、SLIC-Meanshift算法進(jìn)行分割效果比較,比較結(jié)果如圖6所示。
(1)分割結(jié)果對(duì)比。相對(duì)于傳統(tǒng)的分水嶺算法、Kmeans算法、Meanshift算法,本文算法避免了圖像的過(guò)分割現(xiàn)象,利用超像素的處理提高了分割的精度,利用DBSCAN算法在全局搜索更優(yōu)參數(shù),進(jìn)一步提升了精度。如表1所示,SLIC-Kmeans算法與傳統(tǒng)算法相比PRI提升很高,與傳統(tǒng)Kmeans算法相比,算法PRI提高28.07%,而VOI降低71.09%,說(shuō)明SLIC對(duì)圖像的噪聲有很強(qiáng)的抑制作用,而本文算法相較于SLIC-Meanshift算法和SLIC-Kmeans算法,DBSCAN算法能發(fā)現(xiàn)更適合圖像分割的聚類(lèi),可以進(jìn)一步尋找到不同形狀的聚類(lèi),發(fā)現(xiàn)更優(yōu)的分割參數(shù)。VOI指數(shù)用來(lái)計(jì)算算法分割結(jié)果與人工標(biāo)注結(jié)果的差異性,VOI值越小,說(shuō)明算法的分割結(jié)果越接近人工分割的結(jié)果。對(duì)比其它幾種算法,本文算法利用DBSCAN算法對(duì)超像素聚類(lèi)更符合人類(lèi)的分割特點(diǎn)。SLIC算法作為本文算法的基礎(chǔ),會(huì)出現(xiàn)嚴(yán)重的過(guò)分割現(xiàn)象,Kmeans算法受初始點(diǎn)的選擇影響較大,Meanshift對(duì)簡(jiǎn)單圖像分割結(jié)果較好,對(duì)于復(fù)雜圖像會(huì)出現(xiàn)欠分割現(xiàn)象,分水嶺算法、Meanshift算法易出現(xiàn)局部最優(yōu)的結(jié)果,造成分割不準(zhǔn)確的現(xiàn)象。
Figure 6 Results comparison among different segmentation algorithm圖6 不同分割算法的結(jié)果對(duì)比
算法評(píng)價(jià)指標(biāo)PRIVOISLIC0.198 19.725 1Kmeans0.650 11.272 3分水嶺0.574 31.240 2Meanshift0.564 71.439 6SLIC-Meanshift0.727 10.587 2SLIC-Kmeans0.832 60.367 7本文算法0.889 70.228 4
(2)分割時(shí)間對(duì)比。相較于SLIC算法,本文算法分割時(shí)間增加了后續(xù)的處理時(shí)間,但由于超像素的預(yù)處理過(guò)程使得后續(xù)處理的目標(biāo)數(shù)量大大減少,因此總的分割時(shí)間并沒(méi)有明顯增加,主要的時(shí)間影響在于孤立點(diǎn)處理部分。
本文算法運(yùn)行時(shí)間分成三部分:超像素分割階段、聚類(lèi)階段和孤立點(diǎn)控制階段。三個(gè)階段時(shí)間相加就是算法分割時(shí)間。表2給出了圖6中三幅圖像的運(yùn)行時(shí)間。從表2可以看出,對(duì)于一幅481×321的圖像,分割時(shí)間大概需要1.5 s,且不需要人工交互,增強(qiáng)了算法的適應(yīng)性。
Table 2 Algorithm running time
與圖6其他的幾種算法相比,分割時(shí)間如表3所示。本文算法優(yōu)于傳統(tǒng)的分水嶺算法、MeanShift算法、SLIC-Meanshift算法、SLIC-Kmeans算法,但運(yùn)行時(shí)間高于SLIC算法和Kmeans算法。對(duì)比表3中的Kmeans算法、MeanShift算法、SLIC-Kmeans算法和SLIC-Meanshift算法,算法時(shí)間大大縮短,說(shuō)明SLIC對(duì)加速圖像分割有很好的效果。本文算法時(shí)間優(yōu)于SLIC-Meanshift算法和SLIC-Kmeans算法的,說(shuō)明DBSCAN算法無(wú)需迭代的優(yōu)越性,圖像能夠快速分割。
Table 3 Running time of different algorithms
本文針對(duì)多主體圖像分割的交互問(wèn)題提出了一種基于SLIC超像素的DBSCAN自適應(yīng)圖像分割算法。算法使用SLIC超像素分割算法把圖像分割為超像素點(diǎn) ,再通過(guò)自適應(yīng)的DBSCAN算法進(jìn)行聚類(lèi)操作,得到多主體分割結(jié)果。相對(duì)于已有方法,本文算法可以自適應(yīng)地獲取多主體的分割數(shù)目,不需要人工交互,減少了用戶(hù)的操作流程,增加了算法的適應(yīng)性,在各種評(píng)價(jià)指標(biāo)上也有很好的效果。
實(shí)驗(yàn)顯示了相對(duì)于其他算法的分割效果和分割效率,本文算法可以快速得到多主體圖像分割結(jié)果。在未來(lái)的工作中將研究先確定聚類(lèi)數(shù)目,給每一個(gè)種子點(diǎn)增加一個(gè)隸屬度矩陣,再確定分割邊界的方法。