黎彪,刁燕
(四川大學機械工程學院,成都610065)
圖像分割是圖像處理中的一個關鍵步驟[1-3],通過合理的區(qū)域或邊緣劃分為后續(xù)的特征提取、場景識別等提供了重要信息,在機器人視覺[4]、生物醫(yī)學[5-8]、通信[9-10]、公共交通[11]等領域都有著廣泛的應用。
圖像分割主要有閾值分割、區(qū)域分割、邊緣分割和直方圖方法。標記分水嶺是一種區(qū)域分割中的區(qū)域生長方法,計算簡單,對于連通目標具有較好的分割結果,分割獲得封閉區(qū)域對于圖像分析有著重要意義。但標記分水嶺對標記和被分割圖像敏感,選擇不同的標記和被分割圖像,往往會產生不同的結果[12-13]。
對此,一些學者提出了改進標記和被分割圖像[14-15],然后使用標記分水嶺變換的圖像分割方法。高麗等人[16]提出對梯度低頻部分進行極小值標記,使用原始圖像的梯度圖作為被分割對象進行分水嶺變換,有效抑制了過分割現象。Ghoshal 等人[17]提出距離變換的標記分水嶺方法。Svenson S[18]基于距離變換和模糊距離變換提出細胞圖像的分割方法,較好分離出粘連物體。王伏增[19]提出對形態(tài)學梯度進行開閉重建濾波[20],然后采用擴展變換和強制極小值技術得到標記,使用根據標記修改后梯度圖像進行分水嶺變換,對MRI 圖像有較好的分割精度。這些方法對于單一前景圖像都能獲得較好的分割結果,但對復雜圖像仍存在過分割問題。近幾年,隨著人工智能的興起,人們發(fā)現使用卷積神經網絡進行圖像分割可以獲得非常好的效果,但復雜神經網絡模型在低配置硬件上的運行速度并不快,不能很好滿足實時性要求。
本文提出一種利用Canny 邊緣檢測算法[21]和形態(tài)學運算獲取標記,將原始圖像作為被分割圖像,進行標記分水嶺變換的圖像分割方法,能實時對復雜圖像進行有效分割。
Canny 算法是一個經典的多級邊緣檢測算法,在現在的研究和工業(yè)中仍被廣泛使用。Canny 通過變分法依據最優(yōu)邊緣準則尋找最優(yōu)邊緣檢測函數,獲得的邊緣檢測結果相比其他方法更為準確、誤差更小[22]。用f表示原始圖像,C 表示邊緣檢測函數,t1表示Canny 算法的第一個閾值,3t1表示第二個閾值,ec表示檢測結果,則有:
Canny 算法能夠準確檢測到圖像中的邊緣,對于單一前景圖像檢測的邊緣正是我們需要的,但對于復雜圖像,即圖像中對象種類較多、沒有前背景區(qū)分、存在細密紋理,Canny 算法檢測到的許多邊緣并不是我們需要的。
為了描述形態(tài)學操作,先定義集合的反射和平移操作。集合B 的反射表示為[23],定義為:
集合B 平移z 表示為Bz,定義為:
用B 表示結構元,A 表示被運算集合,B 對A 進行形態(tài)學膨脹定義為:
B 對A 進行形態(tài)學腐蝕定義為:
圖像中有著細密紋理的物體時,使用Canny 算法會檢測出密集的邊緣線。為了消除這種影響,先使用形態(tài)學膨脹操作將細密邊緣連接為整體,此時會將原本稀疏的邊緣線也膨脹,因此再通過形態(tài)學腐蝕操作還原原本良好的邊緣線。將處理后的邊緣圖像取反,得到非紋理標記。用m1表示得到的標記,則有:
~(·)表示取反操作,對于二值圖像就是0 和1 值互換,n1和n2表示使用結構元B 連續(xù)進行形態(tài)學運算的次數,為了避免完全腐蝕掉邊緣線,要求n1>n2,可取n2=n1-1。
非紋理標記中不包含對細密紋理物體的標記,若是需要更為細致的圖像分割,則需要添加相應的標記。通過形態(tài)學膨脹操作連接細密紋理物體,然后通過過度的形態(tài)學腐蝕操作,腐蝕掉圖像中原本良好的邊緣線,余下的便是密集邊緣所在物體的區(qū)域標記。用m2表示得到的標記,則有:
為了保證原本稀疏的邊緣線能夠腐蝕掉,要求n3 圖1 標記獲取過程示例 標記獲取的示例如圖1。圖1(a)是使用Canny 邊緣檢測算法得到的邊緣線,圖中黑色為背景,白色為邊緣線,左邊是無紋理物體檢測到的邊緣線,右邊是細密紋理物體的邊緣。圖1(b)中白色區(qū)域是得到的非紋理物體標記,濾除了細密邊緣對象。圖1(c)中白色區(qū)域是得到的細密紋理物體標記,圖1(d)中白色區(qū)域是最后獲得的標記圖像,用m 表示,有: 將標記圖像和原始圖像傳入標記分水嶺變換函數中,就可得到分割結果。用M 表示標記分水嶺變換,s表示分割結果,即: 如果需要進一步減少分割區(qū)域,可以去除面積小于原始圖像0.015%的分割區(qū)域,得到最后的分割結果??稍O置其余百分比。非邊緣去除的一種方法是,對分割后的邊緣圖像取反腐蝕后,對面積小于百分比的區(qū)域不標記,其余正常標記,再次應用標記分水嶺,獲得最后分割結果。非邊緣去除會增加時間成本。 所提出的分割方法在有不同對象的復雜灰度圖像上進行測試。基于距離變換的標記分水嶺方法是Ghoshal 等人[17]提出的一種前景和背景標記的分水嶺分割方法,對于圖像有較好的分割效果。將本文所提出的分割方法的結果與Ghosha 方法分割結果進行比較。在Intel Core i7-2820QM CPU@2.30GHz 主機上OpenCV 環(huán)境下進行實驗。 分別采用具有不同分割難度的rice、passageway 和interior 圖像進行實驗。rice 圖像中米粒與背景邊界分明,容易分割;passageway 圖像中對象增加,且部分邊界灰度相近,不易分割;interior 圖像中有較多不同對象,盡可能分割出不同對象具有難度。實驗結果如圖2、3和4 所示。每個圖顯示原始圖像、文獻[17]算法結果以及本文提出方法產生的分割結果。圖中本文提出方法分割結果是沒有進行非邊緣去除的結果,實驗時在前面第1 和2 節(jié)參數如表1 所示,interior 圖像沒有進行細密紋理標記。 表1 實驗圖像的本文方法參數 圖2(b)中文獻[17]方法分割結果,背景被分成了幾個區(qū)域,右下角的米粒沒有分割出來,圖2(c)中本文提出方法結果,背景是整體,每顆米粒分割邊界清晰。 圖2 rice圖像分割結果 圖3 (b)中文獻[17]方法分割結果,通道地面上有多余分割區(qū)域,與墻壁邊界沒有分割出來,消防柜分割不完整,圖3(c)中本文提出方法結果,墻壁與地面邊界部分分割,消防柜分割出來。 圖3 passageway圖像分割結果 圖4 (b)中文獻[17]方法分割結果,分割出桌子和門的大致輪廓,圖4(c)中本文提出方法分割結果,左下角的地面、椅子、上方的天花板、墻壁、門、左上方墻角、柜子都有完整輪廓。 圖4 interior圖像分割結果 圖像處理時間如表2 所示,在rice 和passageway圖像上本文方法處理時間更短,在interior 圖像上文獻[17]處理時間短3 毫秒。兩者處理時間在同一個數量級。 表2 處理時間比較(單位:毫秒) 圖5 是圖2(c)的分割結果按照第3 節(jié)的方法再進行非邊緣去除后的分割結果,從圖中可以看出,圖2(c)中由噪聲造成的短小輪廓被去除,用時46 毫秒。雖然時間成本增加,但圖像分割效果也進一步改善了。從前面的實驗中可以看出,本文提出分割方法相比傳統(tǒng)基于距離變換的標記分水嶺方法,運算速度相近,分割效果更好。 圖5 rice圖像分割后進一步處理結果 本文提出一種基于標記分水嶺的圖像分割方法。該方法使用Canny 算法檢測邊緣,并通過數學形態(tài)學獲得非紋理標記和細密紋理標記,再進行標記分水嶺分割得到分割結果。實驗結果表明,提出方法能夠產生封閉連續(xù)的邊緣,有效降低了圖像的過分割和欠分割,在單一前景圖像和擁有復雜對象圖像中都能獲得清晰的輪廓。分割時,形態(tài)學運算次數依賴于圖像大小和圖像中對象紋理密度,其自適應取值需要進一步的探討。3 標記分水嶺和非邊緣去除
4 實驗結果
5 結語