(北京建筑大學(xué)測繪與城市空間信息學(xué)院 北京 102616)
分水嶺算法是一種經(jīng)典有效的圖像分割方法,最初由C.Digabel和H.Lantuejoul引入到圖像處理領(lǐng)域,當(dāng)時(shí)僅僅用于簡單的二值圖像處理[1-3]。直到20世紀(jì)90年代,Vincent對(duì)原始分水嶺算法進(jìn)行改進(jìn),改進(jìn)后的分水嶺算法計(jì)算速度得到了極大提高,進(jìn)而促進(jìn)了分水嶺算法的發(fā)展,其基本思想和方法至今是人們研究的熱點(diǎn)。由于任何一幅圖像都有噪點(diǎn)存在,而傳統(tǒng)分水嶺算法對(duì)噪聲極為敏感,但往往使分割效果產(chǎn)生過分割現(xiàn)象[4-5]。為了克服傳統(tǒng)分水嶺算法產(chǎn)生的過分割現(xiàn)象,很多學(xué)者進(jìn)行了相關(guān)研究,提出了一些改進(jìn)算法[6-14]。陳忠等利用非線性濾波和改進(jìn)的快速區(qū)域合并算法優(yōu)化了分水嶺分割算法,實(shí)驗(yàn)結(jié)果表明該算法能獲得良好的分割效果[7]。崔明等提出一種基于區(qū)域融合的改進(jìn)型快速分水嶺變換算法,并將改進(jìn)分水嶺變換中獲得的多尺度信息作為評(píng)價(jià)邊界強(qiáng)度的指標(biāo)[8]。Chang-min Zhang提出使用改進(jìn)的自適應(yīng)分割標(biāo)記的分水嶺算法[9],該算法通過計(jì)算彩色圖像的向量梯度,在彩色圖像的低頻部分依據(jù)積水盆地的最小深度和標(biāo)記尺寸信息的最小值,使圖像噪聲和黑色紋理信息被抑制,進(jìn)而獲得分割效果同時(shí)抑制圖像的噪聲,但在分割過程中會(huì)丟失小的目標(biāo)。
本文在前人對(duì)分水嶺算法研究的基礎(chǔ)上,提出一種結(jié)合形態(tài)學(xué)濾波的分水嶺改進(jìn)算法。該算法利用開閉濾波去除圖像中大部分噪聲,得到圖像的形態(tài)學(xué)梯度,再對(duì)梯度圖像的對(duì)比度進(jìn)行增強(qiáng)處理,以獲得相對(duì)理想的階躍邊緣,然后采用浸沒分水嶺算法對(duì)增強(qiáng)后的梯度圖像進(jìn)行分割。實(shí)驗(yàn)選取帶有噪聲的圖像為例,結(jié)果表明該算法有效的抑制了噪聲引起的過分割現(xiàn)象。
分水嶺算法是一種基于拓?fù)淅碚摰臄?shù)學(xué)形態(tài)學(xué)分割方法。其基本原理是把圖像視為一個(gè)具有拓?fù)浣Y(jié)構(gòu)的地形圖,圖像中每一點(diǎn)像素的灰度值表示該點(diǎn)的山峰或山谷的高度值,山峰對(duì)應(yīng)圖像中灰度值最高的區(qū)域,山谷對(duì)應(yīng)圖像中灰度值最低的區(qū)域,每一個(gè)谷底(局部的極小值)及鄰近區(qū)域稱為集水盆,而分水嶺就是不同山谷之間的山脊。圖像分割的基本思想是先找到圖像中各個(gè)集水盆的最小值,并在此處打孔,然后把整個(gè)地形浸沒到水中,隨著浸沒深度的不斷增加,不同集水盆中的水面會(huì)越過山脊匯合,此時(shí)構(gòu)筑大壩形成分水嶺,直至水位達(dá)到整個(gè)地形中的最高點(diǎn),浸沒過程中構(gòu)筑的大壩就會(huì)形成一個(gè)封閉的區(qū)域,進(jìn)而根據(jù)這些封閉的區(qū)域?qū)D像分割開[10]。圖1為分水嶺算法的物理模型。
圖1 分水嶺算法的物理模型
分水嶺算法的處理過程主要分為排序和浸沒兩步。
排序過程是將圖像按照灰度值進(jìn)行升序排序,經(jīng)過排序使得每個(gè)像素都可以被定位到唯一的數(shù)組單元中,從而能夠直接從排序數(shù)組中指定層高的像素值。整個(gè)排序過程占用的計(jì)算機(jī)內(nèi)存幾乎可以忽略不計(jì)。
浸沒過程是指在像素排序完成以后,開始對(duì)圖像的集水盆進(jìn)行浸沒操作。從像素值最小的點(diǎn)開始浸沒,當(dāng)浸沒水位達(dá)到某一高度h,集水盆I1和I2水面開始匯合,從高度h(h+1、h+2、h+3….)開始在將要匯合的集水盆(In和In+1)間建立水壩。在水面到達(dá)數(shù)組最高點(diǎn)之前,所有集水盆之間都建立起水壩,當(dāng)水面將所有集水盆浸沒后,圖像中不同的區(qū)域就會(huì)被各個(gè)水壩分割出來。
分水嶺算法是一種多閾值分割算法,具有計(jì)算速度快、圖像邊緣定位精確的優(yōu)點(diǎn)。但傳統(tǒng)分水嶺算法對(duì)噪聲極為敏感,對(duì)于噪聲比較多的圖像邊緣查找存在一定問題,因此,往往分水嶺變換結(jié)果容易產(chǎn)生過量小區(qū)域而造成圖像的過分割。
圖像噪聲是指圖像中各種妨礙人們對(duì)圖像信息接受的物理因素。由于圖像獲取的技術(shù)手段、傳輸渠道、存儲(chǔ)介質(zhì)等各種因素的影響,圖像中所含有的噪聲類型也存在很大不同,也有可能同一幅圖像含有多種噪聲類型[11]。傳統(tǒng)分水嶺算法由于算法自身特點(diǎn),在圖像分割過程中對(duì)圖像中的噪聲極為敏感,一般錯(cuò)誤的將圖像中的噪聲識(shí)別為分割目標(biāo),導(dǎo)致分割結(jié)果準(zhǔn)確度下降。而圖像的噪聲往往會(huì)嚴(yán)重影響圖像的質(zhì)量和后續(xù)圖像處理工作。因此,如何除噪就成為該算法的一個(gè)關(guān)鍵問題。
針對(duì)這一問題,本文基于傳統(tǒng)分水嶺算法和前人的研究成果,提出了一種結(jié)合形態(tài)學(xué)濾波的分水嶺改進(jìn)算法。其基本原理是:首先通過形態(tài)學(xué)濾波器的開閉運(yùn)算對(duì)圖像進(jìn)行降噪處理,然后獲取彩色圖像的梯度圖像,再對(duì)獲得的梯度圖像進(jìn)行對(duì)比度增強(qiáng),最后采用浸沒分水嶺算法對(duì)具有明顯邊緣的梯度圖像進(jìn)行分割。
形態(tài)學(xué)濾波處理可以簡化圖像數(shù)據(jù),除去不相干的結(jié)構(gòu),同時(shí)可以保持圖像基本的形狀特性。形態(tài)學(xué)開閉運(yùn)算操作是通過最基本的形態(tài)學(xué)操作(“膨脹”和“腐蝕”)進(jìn)行線性組合。
開運(yùn)算的數(shù)學(xué)定義:
fоg=(fΘg)⊕g
(1)
式中,f為原始圖像,g為結(jié)構(gòu)算子,Θ代表腐蝕運(yùn)算,⊕代表膨脹運(yùn)算。
開運(yùn)算先對(duì)圖像進(jìn)行腐蝕運(yùn)算,然后進(jìn)行膨脹運(yùn)算,圖像經(jīng)過開運(yùn)算以后可以實(shí)現(xiàn)清除背景中的小結(jié)構(gòu),濾除孤立的噪聲點(diǎn)。圖2 中(b)為采用3*3的矩形濾波算子進(jìn)行開運(yùn)算的處理結(jié)果
圖2 形態(tài)學(xué)開運(yùn)算結(jié)果
閉運(yùn)算的數(shù)學(xué)定義:
fоg=(f⊕g)Θg
(2)
式中,f為原始圖像,g為結(jié)構(gòu)算子,Θ代表腐蝕運(yùn)算,⊕代表膨脹運(yùn)算。
閉運(yùn)算則是先對(duì)圖像進(jìn)行膨脹運(yùn)算,然后進(jìn)行腐蝕運(yùn)算。經(jīng)過閉運(yùn)算可以對(duì)圖像中目標(biāo)內(nèi)孔進(jìn)行修復(fù)。圖3中(b)為采用3*3的矩形濾波算子進(jìn)行閉運(yùn)算的處理結(jié)果。
圖3 形態(tài)學(xué)閉運(yùn)算結(jié)果
由于自然圖像中不存在理想的階躍邊緣,按照分水嶺算法的原理,將整幅梯度圖像看作地形圖,圖上各像素的梯度值就是該點(diǎn)的海拔高度。局部梯度極大的像素對(duì)應(yīng)于山峰,局部梯度極小值則對(duì)應(yīng)于谷底。因此獲得圖像良好的梯度特征是圖像準(zhǔn)確分割的一個(gè)重要因素,傳統(tǒng)Prewitt梯度算子對(duì)于邊緣變化不大的圖像存在一定的缺陷。單尺度形態(tài)學(xué)梯度算子結(jié)構(gòu)元素過大或過小都不能檢測到滿意的結(jié)果。多尺度形態(tài)梯度算子是將大尺度元素與小尺度元素相結(jié)合,該算子可以準(zhǔn)確提取圖像梯度信息,且具有很強(qiáng)的抗邊緣間相互影響的能力和抗噪能力[12-14]。本文采用多尺度形態(tài)梯度算子對(duì)濾波后圖像進(jìn)行梯度處理,處理結(jié)果如圖4所示。
圖4 開閉濾波運(yùn)算后的梯度計(jì)算結(jié)果
圖像經(jīng)過形態(tài)學(xué)運(yùn)算后,雖然在濾除噪聲的同時(shí)憑借形態(tài)學(xué)算子特性能夠在一定程度上保留圖像中的部分邊緣信息,但不可避免的削弱甚至消除了這些邊緣與周圍非邊緣像素的梯度落差,因此,需要對(duì)于對(duì)梯度圖像進(jìn)行對(duì)比度增強(qiáng)處理[15-16]。Canny邊緣檢測算子是公認(rèn)的性能優(yōu)良的邊緣檢測算子。其具有準(zhǔn)確完備的邊緣檢測能力,檢測出的邊緣圖像正是梯度圖像中山峰的理想位置,因此可以大幅提高梯度圖像中山峰位置的梯度值。因此,本文采用Canny算子實(shí)現(xiàn)對(duì)梯度圖像峰值的增強(qiáng)。由于Canny算子邊緣檢測技術(shù)已經(jīng)非常成熟,去處理過程本文不再贅述。
為驗(yàn)證本文提出分割方法的有效性,選取帶有較強(qiáng)噪聲的圖像進(jìn)行傳統(tǒng)分水嶺分割和融合形態(tài)學(xué)濾波的分水嶺算法進(jìn)行實(shí)驗(yàn),以檢驗(yàn)本文算法的去噪能力。兩組實(shí)驗(yàn)均采用(i7-4790cpu、3.6GHz、16G內(nèi)存)硬件平臺(tái)。
實(shí)驗(yàn)一:選取大小為226*140像素且?guī)в写罅吭肼暤膱D像進(jìn)行分割實(shí)驗(yàn)。實(shí)驗(yàn)中濾波處理和梯度計(jì)算采用3*3的結(jié)構(gòu)元進(jìn)行處理。圖5為實(shí)驗(yàn)過程中及分割結(jié)果的圖,表1為分割方案性能分析表。
表1 傳統(tǒng)分水嶺與本文分割方案性能分析
圖5 實(shí)驗(yàn)1部分過程和分割結(jié)果圖
實(shí)驗(yàn)二:選取大小為512*512像素的人物圖像進(jìn)行分割實(shí)驗(yàn)。本次實(shí)驗(yàn)中濾波處理和梯度計(jì)算采用5*5的結(jié)構(gòu)元進(jìn)行處理。圖6為實(shí)驗(yàn)過程中及分割結(jié)果圖,表2為分割方案性能分析表。
圖6 實(shí)驗(yàn)2部分過程和分割結(jié)果圖
分割方法圖像大小(像素)分割數(shù)量消耗時(shí)間(s)分割效果傳統(tǒng)分水嶺512?51216641.13過分割嚴(yán)重,輪廓邊界不清晰本文分割方法512?5125760.59過分割減少,目標(biāo)邊界特征清晰
從圖5和圖6的(e)可知,使用傳統(tǒng)形態(tài)梯度分水嶺分割時(shí),分割結(jié)果中存在大量的細(xì)小區(qū)域,這是因?yàn)閳D像中大量噪聲引起的過分割現(xiàn)象。從圖5和圖6的(g)可知,利用形態(tài)學(xué)濾波以后分割結(jié)果有了顯著改進(jìn),使得分割圖像的目標(biāo)區(qū)域輪廓更加準(zhǔn)確美觀。比較性能分析表1和2可知,在相同條件下本文提出的分割算法分割用時(shí)約為傳統(tǒng)分水嶺算法的一半,運(yùn)算效率得到了較大的提升,且分割效果也更能體現(xiàn)出圖像的目標(biāo)特征。因此,結(jié)合分割效果與運(yùn)算用時(shí)可知,本文提出的分割算法相對(duì)傳統(tǒng)的分水嶺分割不僅對(duì)圖像中噪聲具有很好的過濾作用,使分割結(jié)果更加準(zhǔn)確,而且分割視覺效果和分割效率也都有了一定程度的改善和提高。
綜上,本文提出的結(jié)合形態(tài)學(xué)濾波的分水嶺分割算法不僅有效抑制了原始圖像中的噪聲,去除了噪聲引起的明暗細(xì)節(jié),而且還獲得了較為良好的階躍邊緣。從最終的分割結(jié)果可知本文的分割算法改善了傳統(tǒng)分水嶺分割方法的過分割問題,能夠獲得更有意義的分割結(jié)果。
本文針對(duì)傳統(tǒng)分水嶺算法對(duì)噪聲敏感容易造成過分割問題,提出了結(jié)合形態(tài)學(xué)濾波的分水嶺改進(jìn)算法。該算法先使用形態(tài)學(xué)開閉濾波器對(duì)圖像進(jìn)行濾波降噪處理,有效地去除了圖像中的大量噪聲,保留了圖像的細(xì)節(jié)特征;再利用Canny算子對(duì)圖像梯度信息增強(qiáng)獲得了良好的階躍邊緣,同時(shí)提高了邊緣信息的準(zhǔn)確性;最后利用浸沒分水嶺分割方法實(shí)現(xiàn)目標(biāo)圖像的準(zhǔn)確分割。實(shí)驗(yàn)以帶有噪聲的圖像分割為例,利用本算法得到了位置準(zhǔn)確、輪廓清晰的分割目標(biāo),更加體現(xiàn)出了圖像目標(biāo)特征。實(shí)驗(yàn)結(jié)果表明,該算法有效地消除了噪聲引起的傳統(tǒng)分水嶺算法過分割現(xiàn)象,且分割效率方面也有一定提升。
在實(shí)際處理過程中,雖然該算法去除了大量噪聲,但在去燥過程中算子閾值的選擇尚未實(shí)現(xiàn)自動(dòng)判定,還需要通過人工選擇來進(jìn)行干預(yù)。此外,對(duì)于不同圖像的魯棒性還需要進(jìn)一步檢驗(yàn)。因此,針對(duì)這兩個(gè)方面的研究將是下一步的工作重點(diǎn)。