羅朝陽 張鵬超 姚晉晉 王 彥
1(陜西理工大學機械工程學院 陜西 漢中 723000)2(陜西省工業自動化重點實驗室 陜西 漢中 723000)
在圖像處理的應用中,邊緣檢測是其研究的基礎問題,邊緣檢測研究的目的是為了標記圖像中灰度梯度最大的點,并且它在圖像分割、目標識別等圖像分析領域中廣泛應用。在實際應用中,不僅要求邊緣檢測具有高精度、高穩定性,還要求具有實時性,并且能不受噪聲的干擾。而傳統的邊緣檢測算法,如Sobel算子、Roberts算子、拉普拉斯算子、Prewitt算子等[1],這些算子有的利用梯度最大值,有的利用二階導數零交叉值,有的選擇合適的閾值來獲得圖像邊緣。盡管這些算法具有好的實時性能,但由于引入了各種形式的差分運算,導致抗干擾性能差,克服不了噪聲所帶來的影響。Log算子先利用高斯函數對原始圖像作平滑或卷積運算,然后再求其拉普拉斯二階導數,這種方法的計算量較大,難以滿足實時性要求。Canny算法首先將圖像經高斯平滑濾波,去除噪聲,然后計算圖像中的梯度強度,在經過非極大值抑制、雙閾值檢測后,將檢測的邊緣進行連接。性能雖然優于Log,但Canny算法中高斯濾波中的均方差及雙閾值檢測中的高低閾值設定需要人為地根據經驗設定,且不同的圖像閾值不同,不具有科學性及廣泛適用性,而且此法對噪聲較敏感,不易用于被噪聲污染的圖像。
數學形態學是由格論和拓撲學進行交叉融合延伸而來的一門學科,它是解決形態學圖像處理問題中的基礎知識,也是進行邊緣檢測、圖像去噪、圖像分割、紋理分析、特征提取、形狀識別等操作中的一種非線性濾波技術。形態學操作的實質是通過結構元素與被檢測圖像的相互作用來生成最終的邊緣圖像,這種作用可以在很大程度上抑制噪聲。因此,將數學形態學用于圖像的邊緣檢測,不僅可以降低噪聲的干擾,還可以保留具有最佳邊緣檢測圖像中的原始細節[2]。但是,圖像邊緣檢測的質量如何全由形態學中結構元素來決定,如果結構元素的類型單一,那么檢測出的邊緣圖像所包含的信息也就不全面。因此,文獻[3]提出了一種基于形態學的多結構元素多尺度圖像邊緣檢測方法;文獻[4]提出了一種基于多尺度多方向結構元素的形態學圖像邊緣檢測算法;文獻[5]提出了一種基于多尺度多結構元的數學形態學邊緣檢測算法,實現圖像精細邊緣的提取。但文獻[3]的算法僅是對不同結構元素邊緣圖像的疊加,沒有體現出多尺度的優勢;文獻[4]的算法中引入了梯度運算,對噪聲敏感,且運算量較大;文獻[5]雖然具有較強的去噪能力,但影響了所提取圖像的清晰度。
為此,本文提出了一種不同尺度、不同類型的結構元素基于自適應權值形態學的邊緣檢測算法。從原理上講,這種方法是利用大尺度結構元素優異的抗噪性能來去除噪聲帶來的干擾,從而準確地識別出邊緣;利用小尺度結構元素具有的精準定位特性,由粗到細地掃描圖像,最終得出每種類型圖像的準確邊緣信息。對于這些邊緣信息,最后根據不同尺度的不同抗噪性能自適應地確定權重,并對每種尺度下的邊緣圖像進行加權合成。這樣,即使在有噪聲干擾的條件下仍然能夠獲得合格的邊緣圖像。
數學形態學的方法是在集合論的基礎上進行操作的,它的基本思想是利用某種特定形態的結構元素掃描圖像,并匹配圖像中與結構元素相對應的形狀,從而獲取圖像中所含有的信息,以達到分析圖像和識別目標的目的。圖像的形態變換本質上是對圖像集合進行交并運算的過程。
形態學操作可分為二值形態學和灰度形態學,這兩種形態學操作都表示圖像的某種集合與形態學元素之間的相互作用,而形態學元素的形狀就決定了形態學操作之后輸出圖像中的形狀信息。用數學形態學的方法處理圖像,簡而言之就是將結構元素構成矩陣在圖形矩陣上移動,在移動的同時分別對兩個矩陣進行交、并運算,最終得到圖像的邊緣矩陣,這個邊緣矩陣就是要提取的邊緣圖像。形態學中的基本操作有腐蝕、膨脹以及將腐蝕和膨脹組合得到的打開和關閉操作。打開操作是先膨脹后腐蝕,而關閉操作是先腐蝕后膨脹。
假設f(x,y)為輸入圖像,g(i,j)為結構元素,⊕和Θ兩種符號分別表示形態學運算中的膨脹運算符號和腐蝕運算符號,就可以得到灰度膨脹和灰度腐蝕的運算關系。
灰度膨脹運算:

(1)
灰度腐蝕運算:

(2)
設·和° 分別是開運算和閉運算的符號,進而可以得到灰度開運算和灰度閉運算。
灰度開運算:
f°g=(fΘg)⊕g
(3)
灰度閉運算:
f·g=(f⊕g)Θg
(4)
在這些運算的基礎上,就可以得到邊緣檢測算子。
膨脹型的邊緣檢測算子:
Ed(x,y)=(f⊕g)-f
(5)
腐蝕型的邊緣檢測算子:
Ed(x,y)=f-(fΘg)
(6)
梯度運算的邊緣檢測算子:
G(x,y)=(f⊕g)-(fΘg)
(7)
式(5)-式(7)這三種基礎算子代表的意義分別是提取檢測圖像中的外輪廓線、內輪廓線和實際的歐氏輪廓線。但是這三種算子在實際應用中都不能克服噪聲所帶來的影響,僅僅適用于無噪聲或噪聲非常小的圖像處理中。
多尺度形態學邊緣檢測方法主要是通過使用不同尺度的形態學元素來掃描圖像,從而獲得圖像中的邊緣信息。在形態學的操作過程中,結構元素是其關鍵因素,它直接影響著最終的檢測結果。選擇不同尺度、不同類型的結構元素,最終的運算結果都將有著很大的不同。因此,選擇合適尺度、合適類型的結構元素進行形態學邊緣檢測,既可以平滑圖像噪聲又能有效識別邊緣。
由灰度形態學操作的基本特性可以知道,被腐蝕過的圖像中,一般背景比原圖像的背景稍暗,其中亮特征降低,暗特征增加;膨脹過的圖像效果正好與腐蝕相反,亮特征增加,暗特征降低。開操作處理后的圖像中亮特征的灰度降低了,而暗特征和背景無影響;閉操作處理后的圖像中暗特征被削弱了,亮特征和背景無影響。所以,利用形態學的這種特性,文獻[6]提出了一種能夠抵抗噪聲干擾的邊緣檢測算子,公式如下:
D1=(fΘB1⊕B2)⊕bi-(fΘB1⊕B2)·bi
(8)
D2=(f⊕B1ΘB2)°bi-(f⊕B1ΘB2)Θbi
(9)
D=D1+D2+min{D1,D2}
(10)
式中:B1、B2是不同的結構元素;bi是3×3和5×5的不同方向的結構元素。文獻[7]提出了一種抗噪聲的邊緣檢測算子,公式如下:
yd=(((f°B1)·B2·B3)°B3⊕B2)°B2-
((f°B1)·B2·B3)°B3
(11)
ye=((f°B1)·B2·B3)°B3-
(((f°B1)·B2·B3)°B3ΘB2)·B2
(12)
Emax=max(ye,yd)
(13)
Emin=min(ye,yd)
(14)
Y=yd+ye+1.5(Emax-Emin)
(15)
式中:B1、B2是3×3不同方向的結構元素;B3是5×5的結構元素。
本文所提出的形態學邊緣檢測算法公式如下:
E1=(f°B1·B2)⊕g-(f°B1·B2)·g
(16)
E2=(f·B1°B2)⊕g-(f·B1°B2)·g
(17)
E3=((f°B1·B2)°g)⊕g-
((f·B1°B2)·g)Θg
(18)
ZB=0.5(FIND(E1)+FIND(E2))
(19)
E=(E3ZB=E3ZB+0.5×(E1+E2)ZB)
(20)
式中:FIND()函數是求出圖形邊緣的坐標。
為了充分提取圖像中不同方向的邊緣信息,本文采用了如下的形態學結構元素:
小尺度結構元素的抗噪聲能力較弱,但能獲得完整的邊緣細節信息;相反,大尺度的結構元素具有很強的去除噪聲能力,但是所獲得的邊緣信息不細膩。為了得到好的濾波效果,本文將二者結合進行邊緣濾波,而采用的去噪結構元素被定義為如下形式:
最后將每個結構元素獲得的邊緣圖像采用如下的融合算法進行邊緣融合。融合算法公式如下:
(21)
式中:λi為各結構元素檢測的邊緣圖像進行融合時的加權系數;Gi為各結構元素提取的邊緣圖像。
按照所劃分的區域,將特定類型目標船周圍最近的船舶U按區域劃分,分別對各個區域內的目標船周圍最近船舶到目標船的距離d的分布進行統計分析見圖3a),并在每個區域的中線方向上表示出該區域周圍船舶到目標船的距離分布見圖3b)。
根據信息熵的定義,圖像的信息熵可以反映圖像中所含信息的豐富程度,值的大小直接反映著圖像中各種不同邊緣所占的比例。因此,可以通過計算不同尺度、不同類型結構元素下的邊緣圖像中的信息熵來計算每種圖像的權值,并根據此權值合成最終的邊緣圖形。
圖像信息熵:
(22)
式中:L為圖像灰度級;Pj為各灰度級出現的概率。
加權系數為:
(23)
本文構造的形態學迭代濾波器如圖1所示。

圖1 形態學迭代器
本文通過將256灰度級的Lena圖像和Cameraman圖像加入強度為0.1的椒鹽噪聲后作為測試圖像,分別進行有噪聲和無噪聲的測試對比,來驗證本文算法的有效性與可行性,并采用不同的評價標準對這些邊緣圖像進行評價。其中峰值信噪比(PSNR)衡量圖形質量的好壞,值越大效果越好;結構相似性(SSIM)衡量兩幅圖像的相似程度,值越大效果越好;梯度模方差(GMSD)衡量圖像梯度失真程度,值越小效果越好。評價結果如表1和表2所示。

表1 不同算法對Lena邊緣圖像進行的不同質量評價

表2 不同算法對Cameraman邊緣圖像進行的不同質量評價
從表1及表2可以看出,本文算法獲取的邊緣圖像的PSNR值高于文獻[6],更高于文獻[7];邊緣圖像的SSIM高于文獻[7],也高于文獻[6];邊緣圖像的GMSD低于文獻[6]和文獻[7]。從這些評價標準中可以得出本算法優于文獻[6]和文獻[7]中的算法。

(a) 無噪聲的Lena圖 (b) Prewitt對(a)的邊緣檢測

(c) Canny對(a)的邊緣檢測 (d) 文獻[6]對(a)的邊緣檢測

(e) 文獻[7]對(a)的邊緣檢測 (f) 本文算法對(a)的邊緣檢測圖2 無噪聲的Lena圖及對其的邊緣檢測效果圖
圖3展示了加入強度為0.1的椒鹽噪聲后的Lena圖以及用不同算法所獲取的邊緣圖。可以看出,加入噪聲之后,對傳統邊緣檢測的影響是很大的,在圖3(b)-(c)中,已經很難辨識出Lena的輪廓邊緣;在圖3(d)-(f)中,仍然可以看到非常清晰的邊緣輪廓,但圖3(f)相對于圖3(d)-(e)更完整、更準確。

(a) 椒鹽噪聲0.1的Lena圖 (b) Prewitt對(a)的邊緣檢測

(c) Canny對(a)的邊緣檢測 (d) 文獻[6]對(a)的邊緣檢測

(e) 文獻[7]對(a)的邊緣檢測 (f) 本文算法對(a)的邊緣檢測圖3 含椒鹽噪聲的Lena圖及對其的邊緣檢測效果圖
圖4展示了無噪聲的Cameraman圖以及用不同算法所獲取的邊緣圖像。可以看出,在沒有噪聲的情況下,這幾種算法都能提取到邊緣信息,但相比之下本文提出的算法更具有優勢。

(a) 無噪聲的Cameraman圖 (b) Prewitt對(a)邊緣檢測

(c) Canny對(a)邊緣檢測 (d) 文獻[6]對(a)的邊緣檢測

(e) 文獻[7]對(a)的邊緣檢測 (f) 本文算法對(a)的邊緣檢測圖4 無噪聲的Cameraman圖及對其的邊緣檢測效果圖
圖5展示了加入強度為0.1的椒鹽噪聲后的Cameraman圖以及用不同算法所獲取的邊緣圖。從圖5(e)-(f)可以看出,加入噪聲之后傳統的邊緣檢算法很難提取出清晰的輪廓邊緣;比較圖5(d)-(f)三幅圖,本文算法所提取的邊緣更細膩。

(a) 有噪聲的Cameraman圖 (b) Prewitt對(a)的邊緣檢測

(c) Canny對(a)的邊緣檢測 (d) 文獻[6]對(a)的邊緣檢測

(e) 文獻[7]對(a)的邊緣檢測(f) 本文算法對(a)的邊緣檢測圖5 有噪聲的Cameraman圖及對其的邊緣檢測效果圖
綜合圖2-圖5以及表1、表2,可以看出本文方法對噪聲的添加并無影響,且具有很高的穩定性,相比于文獻[6]、文獻[7]和傳統的邊緣檢測算子,本文方法所提取的邊緣更準確、更完整且光滑性更好,這也能說明本文算法具有很好的實用性。
本文采用多類型、自適應加權形態學的邊緣檢測方法,在很大程度上消除了噪聲對圖像的干擾。這相對于微分算子而言具有更高的抗干擾能力和穩定性;相比于其他文獻所獲得的邊緣更準確完整。實驗結果也充分說明了本文方法的可行性和實用性,并且抗干擾性好,獲取邊緣的準確性高,是邊緣檢測的又一種優異方法。