羅朝陽 張鵬超 姚晉晉 王 彥
1(陜西理工大學(xué)機(jī)械工程學(xué)院 陜西 漢中 723000)2(陜西省工業(yè)自動(dòng)化重點(diǎn)實(shí)驗(yàn)室 陜西 漢中 723000)
在圖像處理的應(yīng)用中,邊緣檢測(cè)是其研究的基礎(chǔ)問題,邊緣檢測(cè)研究的目的是為了標(biāo)記圖像中灰度梯度最大的點(diǎn),并且它在圖像分割、目標(biāo)識(shí)別等圖像分析領(lǐng)域中廣泛應(yīng)用。在實(shí)際應(yīng)用中,不僅要求邊緣檢測(cè)具有高精度、高穩(wěn)定性,還要求具有實(shí)時(shí)性,并且能不受噪聲的干擾。而傳統(tǒng)的邊緣檢測(cè)算法,如Sobel算子、Roberts算子、拉普拉斯算子、Prewitt算子等[1],這些算子有的利用梯度最大值,有的利用二階導(dǎo)數(shù)零交叉值,有的選擇合適的閾值來獲得圖像邊緣。盡管這些算法具有好的實(shí)時(shí)性能,但由于引入了各種形式的差分運(yùn)算,導(dǎo)致抗干擾性能差,克服不了噪聲所帶來的影響。Log算子先利用高斯函數(shù)對(duì)原始圖像作平滑或卷積運(yùn)算,然后再求其拉普拉斯二階導(dǎo)數(shù),這種方法的計(jì)算量較大,難以滿足實(shí)時(shí)性要求。Canny算法首先將圖像經(jīng)高斯平滑濾波,去除噪聲,然后計(jì)算圖像中的梯度強(qiáng)度,在經(jīng)過非極大值抑制、雙閾值檢測(cè)后,將檢測(cè)的邊緣進(jìn)行連接。性能雖然優(yōu)于Log,但Canny算法中高斯濾波中的均方差及雙閾值檢測(cè)中的高低閾值設(shè)定需要人為地根據(jù)經(jīng)驗(yàn)設(shè)定,且不同的圖像閾值不同,不具有科學(xué)性及廣泛適用性,而且此法對(duì)噪聲較敏感,不易用于被噪聲污染的圖像。
數(shù)學(xué)形態(tài)學(xué)是由格論和拓?fù)鋵W(xué)進(jìn)行交叉融合延伸而來的一門學(xué)科,它是解決形態(tài)學(xué)圖像處理問題中的基礎(chǔ)知識(shí),也是進(jìn)行邊緣檢測(cè)、圖像去噪、圖像分割、紋理分析、特征提取、形狀識(shí)別等操作中的一種非線性濾波技術(shù)。形態(tài)學(xué)操作的實(shí)質(zhì)是通過結(jié)構(gòu)元素與被檢測(cè)圖像的相互作用來生成最終的邊緣圖像,這種作用可以在很大程度上抑制噪聲。因此,將數(shù)學(xué)形態(tài)學(xué)用于圖像的邊緣檢測(cè),不僅可以降低噪聲的干擾,還可以保留具有最佳邊緣檢測(cè)圖像中的原始細(xì)節(jié)[2]。但是,圖像邊緣檢測(cè)的質(zhì)量如何全由形態(tài)學(xué)中結(jié)構(gòu)元素來決定,如果結(jié)構(gòu)元素的類型單一,那么檢測(cè)出的邊緣圖像所包含的信息也就不全面。因此,文獻(xiàn)[3]提出了一種基于形態(tài)學(xué)的多結(jié)構(gòu)元素多尺度圖像邊緣檢測(cè)方法;文獻(xiàn)[4]提出了一種基于多尺度多方向結(jié)構(gòu)元素的形態(tài)學(xué)圖像邊緣檢測(cè)算法;文獻(xiàn)[5]提出了一種基于多尺度多結(jié)構(gòu)元的數(shù)學(xué)形態(tài)學(xué)邊緣檢測(cè)算法,實(shí)現(xiàn)圖像精細(xì)邊緣的提取。但文獻(xiàn)[3]的算法僅是對(duì)不同結(jié)構(gòu)元素邊緣圖像的疊加,沒有體現(xiàn)出多尺度的優(yōu)勢(shì);文獻(xiàn)[4]的算法中引入了梯度運(yùn)算,對(duì)噪聲敏感,且運(yùn)算量較大;文獻(xiàn)[5]雖然具有較強(qiáng)的去噪能力,但影響了所提取圖像的清晰度。
為此,本文提出了一種不同尺度、不同類型的結(jié)構(gòu)元素基于自適應(yīng)權(quán)值形態(tài)學(xué)的邊緣檢測(cè)算法。從原理上講,這種方法是利用大尺度結(jié)構(gòu)元素優(yōu)異的抗噪性能來去除噪聲帶來的干擾,從而準(zhǔn)確地識(shí)別出邊緣;利用小尺度結(jié)構(gòu)元素具有的精準(zhǔn)定位特性,由粗到細(xì)地掃描圖像,最終得出每種類型圖像的準(zhǔn)確邊緣信息。對(duì)于這些邊緣信息,最后根據(jù)不同尺度的不同抗噪性能自適應(yīng)地確定權(quán)重,并對(duì)每種尺度下的邊緣圖像進(jìn)行加權(quán)合成。這樣,即使在有噪聲干擾的條件下仍然能夠獲得合格的邊緣圖像。
數(shù)學(xué)形態(tài)學(xué)的方法是在集合論的基礎(chǔ)上進(jìn)行操作的,它的基本思想是利用某種特定形態(tài)的結(jié)構(gòu)元素掃描圖像,并匹配圖像中與結(jié)構(gòu)元素相對(duì)應(yīng)的形狀,從而獲取圖像中所含有的信息,以達(dá)到分析圖像和識(shí)別目標(biāo)的目的。圖像的形態(tài)變換本質(zhì)上是對(duì)圖像集合進(jìn)行交并運(yùn)算的過程。
形態(tài)學(xué)操作可分為二值形態(tài)學(xué)和灰度形態(tài)學(xué),這兩種形態(tài)學(xué)操作都表示圖像的某種集合與形態(tài)學(xué)元素之間的相互作用,而形態(tài)學(xué)元素的形狀就決定了形態(tài)學(xué)操作之后輸出圖像中的形狀信息。用數(shù)學(xué)形態(tài)學(xué)的方法處理圖像,簡(jiǎn)而言之就是將結(jié)構(gòu)元素構(gòu)成矩陣在圖形矩陣上移動(dòng),在移動(dòng)的同時(shí)分別對(duì)兩個(gè)矩陣進(jìn)行交、并運(yùn)算,最終得到圖像的邊緣矩陣,這個(gè)邊緣矩陣就是要提取的邊緣圖像。形態(tài)學(xué)中的基本操作有腐蝕、膨脹以及將腐蝕和膨脹組合得到的打開和關(guān)閉操作。打開操作是先膨脹后腐蝕,而關(guān)閉操作是先腐蝕后膨脹。
假設(shè)f(x,y)為輸入圖像,g(i,j)為結(jié)構(gòu)元素,⊕和Θ兩種符號(hào)分別表示形態(tài)學(xué)運(yùn)算中的膨脹運(yùn)算符號(hào)和腐蝕運(yùn)算符號(hào),就可以得到灰度膨脹和灰度腐蝕的運(yùn)算關(guān)系。
灰度膨脹運(yùn)算:
(1)
灰度腐蝕運(yùn)算:
(2)
設(shè)·和° 分別是開運(yùn)算和閉運(yùn)算的符號(hào),進(jìn)而可以得到灰度開運(yùn)算和灰度閉運(yùn)算。
灰度開運(yùn)算:
f°g=(fΘg)⊕g
(3)
灰度閉運(yùn)算:
f·g=(f⊕g)Θg
(4)
在這些運(yùn)算的基礎(chǔ)上,就可以得到邊緣檢測(cè)算子。
膨脹型的邊緣檢測(cè)算子:
Ed(x,y)=(f⊕g)-f
(5)
腐蝕型的邊緣檢測(cè)算子:
Ed(x,y)=f-(fΘg)
(6)
梯度運(yùn)算的邊緣檢測(cè)算子:
G(x,y)=(f⊕g)-(fΘg)
(7)
式(5)-式(7)這三種基礎(chǔ)算子代表的意義分別是提取檢測(cè)圖像中的外輪廓線、內(nèi)輪廓線和實(shí)際的歐氏輪廓線。但是這三種算子在實(shí)際應(yīng)用中都不能克服噪聲所帶來的影響,僅僅適用于無噪聲或噪聲非常小的圖像處理中。
多尺度形態(tài)學(xué)邊緣檢測(cè)方法主要是通過使用不同尺度的形態(tài)學(xué)元素來掃描圖像,從而獲得圖像中的邊緣信息。在形態(tài)學(xué)的操作過程中,結(jié)構(gòu)元素是其關(guān)鍵因素,它直接影響著最終的檢測(cè)結(jié)果。選擇不同尺度、不同類型的結(jié)構(gòu)元素,最終的運(yùn)算結(jié)果都將有著很大的不同。因此,選擇合適尺度、合適類型的結(jié)構(gòu)元素進(jìn)行形態(tài)學(xué)邊緣檢測(cè),既可以平滑圖像噪聲又能有效識(shí)別邊緣。
由灰度形態(tài)學(xué)操作的基本特性可以知道,被腐蝕過的圖像中,一般背景比原圖像的背景稍暗,其中亮特征降低,暗特征增加;膨脹過的圖像效果正好與腐蝕相反,亮特征增加,暗特征降低。開操作處理后的圖像中亮特征的灰度降低了,而暗特征和背景無影響;閉操作處理后的圖像中暗特征被削弱了,亮特征和背景無影響。所以,利用形態(tài)學(xué)的這種特性,文獻(xiàn)[6]提出了一種能夠抵抗噪聲干擾的邊緣檢測(cè)算子,公式如下:
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是不同的結(jié)構(gòu)元素;bi是3×3和5×5的不同方向的結(jié)構(gòu)元素。文獻(xiàn)[7]提出了一種抗噪聲的邊緣檢測(cè)算子,公式如下:
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不同方向的結(jié)構(gòu)元素;B3是5×5的結(jié)構(gòu)元素。
本文所提出的形態(tài)學(xué)邊緣檢測(cè)算法公式如下:
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()函數(shù)是求出圖形邊緣的坐標(biāo)。
為了充分提取圖像中不同方向的邊緣信息,本文采用了如下的形態(tài)學(xué)結(jié)構(gòu)元素:
小尺度結(jié)構(gòu)元素的抗噪聲能力較弱,但能獲得完整的邊緣細(xì)節(jié)信息;相反,大尺度的結(jié)構(gòu)元素具有很強(qiáng)的去除噪聲能力,但是所獲得的邊緣信息不細(xì)膩。為了得到好的濾波效果,本文將二者結(jié)合進(jìn)行邊緣濾波,而采用的去噪結(jié)構(gòu)元素被定義為如下形式:
最后將每個(gè)結(jié)構(gòu)元素獲得的邊緣圖像采用如下的融合算法進(jìn)行邊緣融合。融合算法公式如下:
(21)
式中:λi為各結(jié)構(gòu)元素檢測(cè)的邊緣圖像進(jìn)行融合時(shí)的加權(quán)系數(shù);Gi為各結(jié)構(gòu)元素提取的邊緣圖像。
按照所劃分的區(qū)域,將特定類型目標(biāo)船周圍最近的船舶U按區(qū)域劃分,分別對(duì)各個(gè)區(qū)域內(nèi)的目標(biāo)船周圍最近船舶到目標(biāo)船的距離d的分布進(jìn)行統(tǒng)計(jì)分析見圖3a),并在每個(gè)區(qū)域的中線方向上表示出該區(qū)域周圍船舶到目標(biāo)船的距離分布見圖3b)。
根據(jù)信息熵的定義,圖像的信息熵可以反映圖像中所含信息的豐富程度,值的大小直接反映著圖像中各種不同邊緣所占的比例。因此,可以通過計(jì)算不同尺度、不同類型結(jié)構(gòu)元素下的邊緣圖像中的信息熵來計(jì)算每種圖像的權(quán)值,并根據(jù)此權(quán)值合成最終的邊緣圖形。
圖像信息熵:
(22)
式中:L為圖像灰度級(jí);Pj為各灰度級(jí)出現(xiàn)的概率。
加權(quán)系數(shù)為:
(23)
本文構(gòu)造的形態(tài)學(xué)迭代濾波器如圖1所示。
圖1 形態(tài)學(xué)迭代器
本文通過將256灰度級(jí)的Lena圖像和Cameraman圖像加入強(qiáng)度為0.1的椒鹽噪聲后作為測(cè)試圖像,分別進(jìn)行有噪聲和無噪聲的測(cè)試對(duì)比,來驗(yàn)證本文算法的有效性與可行性,并采用不同的評(píng)價(jià)標(biāo)準(zhǔn)對(duì)這些邊緣圖像進(jìn)行評(píng)價(jià)。其中峰值信噪比(PSNR)衡量圖形質(zhì)量的好壞,值越大效果越好;結(jié)構(gòu)相似性(SSIM)衡量兩幅圖像的相似程度,值越大效果越好;梯度模方差(GMSD)衡量圖像梯度失真程度,值越小效果越好。評(píng)價(jià)結(jié)果如表1和表2所示。
表1 不同算法對(duì)Lena邊緣圖像進(jìn)行的不同質(zhì)量評(píng)價(jià)
表2 不同算法對(duì)Cameraman邊緣圖像進(jìn)行的不同質(zhì)量評(píng)價(jià)
從表1及表2可以看出,本文算法獲取的邊緣圖像的PSNR值高于文獻(xiàn)[6],更高于文獻(xiàn)[7];邊緣圖像的SSIM高于文獻(xiàn)[7],也高于文獻(xiàn)[6];邊緣圖像的GMSD低于文獻(xiàn)[6]和文獻(xiàn)[7]。從這些評(píng)價(jià)標(biāo)準(zhǔn)中可以得出本算法優(yōu)于文獻(xiàn)[6]和文獻(xiàn)[7]中的算法。
(a) 無噪聲的Lena圖 (b) Prewitt對(duì)(a)的邊緣檢測(cè)
(c) Canny對(duì)(a)的邊緣檢測(cè) (d) 文獻(xiàn)[6]對(duì)(a)的邊緣檢測(cè)
(e) 文獻(xiàn)[7]對(duì)(a)的邊緣檢測(cè) (f) 本文算法對(duì)(a)的邊緣檢測(cè)圖2 無噪聲的Lena圖及對(duì)其的邊緣檢測(cè)效果圖
圖3展示了加入強(qiáng)度為0.1的椒鹽噪聲后的Lena圖以及用不同算法所獲取的邊緣圖??梢钥闯觯尤朐肼曋?,對(duì)傳統(tǒng)邊緣檢測(cè)的影響是很大的,在圖3(b)-(c)中,已經(jīng)很難辨識(shí)出Lena的輪廓邊緣;在圖3(d)-(f)中,仍然可以看到非常清晰的邊緣輪廓,但圖3(f)相對(duì)于圖3(d)-(e)更完整、更準(zhǔn)確。
(a) 椒鹽噪聲0.1的Lena圖 (b) Prewitt對(duì)(a)的邊緣檢測(cè)
(c) Canny對(duì)(a)的邊緣檢測(cè) (d) 文獻(xiàn)[6]對(duì)(a)的邊緣檢測(cè)
(e) 文獻(xiàn)[7]對(duì)(a)的邊緣檢測(cè) (f) 本文算法對(duì)(a)的邊緣檢測(cè)圖3 含椒鹽噪聲的Lena圖及對(duì)其的邊緣檢測(cè)效果圖
圖4展示了無噪聲的Cameraman圖以及用不同算法所獲取的邊緣圖像??梢钥闯?,在沒有噪聲的情況下,這幾種算法都能提取到邊緣信息,但相比之下本文提出的算法更具有優(yōu)勢(shì)。
(a) 無噪聲的Cameraman圖 (b) Prewitt對(duì)(a)邊緣檢測(cè)
(c) Canny對(duì)(a)邊緣檢測(cè) (d) 文獻(xiàn)[6]對(duì)(a)的邊緣檢測(cè)
(e) 文獻(xiàn)[7]對(duì)(a)的邊緣檢測(cè) (f) 本文算法對(duì)(a)的邊緣檢測(cè)圖4 無噪聲的Cameraman圖及對(duì)其的邊緣檢測(cè)效果圖
圖5展示了加入強(qiáng)度為0.1的椒鹽噪聲后的Cameraman圖以及用不同算法所獲取的邊緣圖。從圖5(e)-(f)可以看出,加入噪聲之后傳統(tǒng)的邊緣檢算法很難提取出清晰的輪廓邊緣;比較圖5(d)-(f)三幅圖,本文算法所提取的邊緣更細(xì)膩。
(a) 有噪聲的Cameraman圖 (b) Prewitt對(duì)(a)的邊緣檢測(cè)
(c) Canny對(duì)(a)的邊緣檢測(cè) (d) 文獻(xiàn)[6]對(duì)(a)的邊緣檢測(cè)
(e) 文獻(xiàn)[7]對(duì)(a)的邊緣檢測(cè)(f) 本文算法對(duì)(a)的邊緣檢測(cè)圖5 有噪聲的Cameraman圖及對(duì)其的邊緣檢測(cè)效果圖
綜合圖2-圖5以及表1、表2,可以看出本文方法對(duì)噪聲的添加并無影響,且具有很高的穩(wěn)定性,相比于文獻(xiàn)[6]、文獻(xiàn)[7]和傳統(tǒng)的邊緣檢測(cè)算子,本文方法所提取的邊緣更準(zhǔn)確、更完整且光滑性更好,這也能說明本文算法具有很好的實(shí)用性。
本文采用多類型、自適應(yīng)加權(quán)形態(tài)學(xué)的邊緣檢測(cè)方法,在很大程度上消除了噪聲對(duì)圖像的干擾。這相對(duì)于微分算子而言具有更高的抗干擾能力和穩(wěn)定性;相比于其他文獻(xiàn)所獲得的邊緣更準(zhǔn)確完整。實(shí)驗(yàn)結(jié)果也充分說明了本文方法的可行性和實(shí)用性,并且抗干擾性好,獲取邊緣的準(zhǔn)確性高,是邊緣檢測(cè)的又一種優(yōu)異方法。