沈 玉,蘭瑞田
(1.中國電子科技集團(tuán)公司第五十四研究所,河北石家莊 050081;2.天津水務(wù)局,天津 300074)
邊緣檢測和圖像分割是分析圖像的難題。經(jīng)典邊緣檢測方法一般為邊緣檢測局部算子法,最基本的為邊緣檢測算子,如微分算子。除了LOG算子和Calmy算子外,其他的算子一般都利用了圖像一階方向?qū)?shù)在邊緣處取最大值這一規(guī)律。而LOG算子和Canny算子基于二階導(dǎo)數(shù)的零交叉技術(shù)。這一類算子雖然對于高通濾波有增強(qiáng)高頻分量的作用,但對噪聲是敏感的。另一類邊緣檢測方法是基于邊緣擬合的檢測方法,能夠部分克服噪聲影響,如Huckel算法、Haralick斜面模型和標(biāo)記松弛法等。其中標(biāo)記松弛法利用了統(tǒng)計(jì)學(xué)中概率分布的概念。多尺度方法是一種有效的邊緣檢測技術(shù),其思路是:在大尺度下抑制噪聲,可靠地識別邊緣,在小尺度下精確定位[1]。
經(jīng)典的算法中主要用梯度算子,最簡單的梯度算子是Roberts算子,比較常用的有Prewitt算子和Sobel算子[2,3],其中 Sobel算子效果較好,但是經(jīng)典Sobel算子也存在不足,其邊緣具有很強(qiáng)的方向性,只對垂直與水平方向敏感,對其他方向不敏感,這就使得那些邊緣檢測不到,對后續(xù)的圖像處理有很大的影響。本文在簡要介紹一種改進(jìn)的Sobel算法的基礎(chǔ)上,針對一幅具體的噪聲圖像,利用該算法進(jìn)行數(shù)值仿真模擬實(shí)驗(yàn),獲得了預(yù)期的邊緣檢測效果。
Sobel算法的邊緣檢測,首先是進(jìn)行鄰域平均加權(quán)或加權(quán)平均,然后進(jìn)行一階微分處理,檢測出邊緣點(diǎn)。它含有2個(gè)方向的模板h1和h2,這2個(gè)方向模板一個(gè)檢測水平邊緣,一個(gè)檢測垂直邊緣,如式(1)所示。公式中,模板內(nèi)的數(shù)字代表加權(quán)系數(shù),梯度方向與邊緣方向總是正交垂直。由于圖像邊緣處灰度的變化值呈現(xiàn)不連續(xù),即可將灰度變化不連續(xù)的地方作為圖像的邊緣。經(jīng)典Sobel算子利用像素點(diǎn)上下、左右相鄰點(diǎn)的灰度加權(quán),根據(jù)在邊緣點(diǎn)處達(dá)到極值這一現(xiàn)象進(jìn)行邊緣的檢測[4]。
算法步驟[5]如下:
①分別將2個(gè)方向模板沿著圖像從一個(gè)像素移到另一個(gè)像素,并將模板的中心像素與圖像中的某個(gè)像素位置重合;
②將模板內(nèi)的系數(shù)與其對應(yīng)的圖像像素值相乘;
③將所有乘積相加;
④將2個(gè)卷積的最大值賦給圖像中對應(yīng)模板中心位置的像素,作為該像素的新灰度值;
⑤取適當(dāng)?shù)拈撝礣H,若像素新灰度值大于閾值,則判該像素點(diǎn)為邊緣點(diǎn)。
從上述可知,Sobel算子很容易實(shí)現(xiàn),而且產(chǎn)生較好的邊緣檢測效果,能夠很好地突出圖像邊緣。同時(shí),因?yàn)镾obel算子引入了局部平均,Sobel算子對噪聲具有平滑作用,提供較為精確的邊緣方向信息,當(dāng)使用大的領(lǐng)域時(shí),抗噪聲特性會更好,但這樣做會增加計(jì)算量,也會檢測出許多的偽邊緣,且邊緣定位精度不夠高。
Sobel算法的優(yōu)點(diǎn)是計(jì)算簡單、速度快。但由于只采用了2個(gè)方向模板,只能檢測水平方向和垂直方向的邊緣,因此,這種算法對于紋理較復(fù)雜的圖像和受噪聲污染比較嚴(yán)重的圖像其邊緣檢測效果欠佳[6]。
鑒于此,在經(jīng)典的Sobel算子的基礎(chǔ)上又提出了一種具有抗噪聲干擾、實(shí)時(shí)性較好、邊緣定位較準(zhǔn)確的邊緣提取改進(jìn)算法,該方法定義8個(gè)方向的模板[7],并使每個(gè)模板表示的方向?yàn)閳D像的實(shí)際邊緣方向。圖像的邊緣有許多方向,除了水平方向和垂直方向以外,還有其他的邊緣方向,為了便于描述,對邊緣方向進(jìn)行編號,如圖1所示[8]。
圖1 邊緣示意
為了能有效地檢測這8個(gè)方向的邊緣,在經(jīng)典的Sobel兩個(gè)方向的模版上,再增加6個(gè)方向模版,形成8個(gè)方向模板h'1~h'8,如式(2)所示。
經(jīng)過8個(gè)方向模版的計(jì)算和閾值TH的取定,可以檢測出新灰度值大于或等于閾值TH的像素點(diǎn),但還不能夠確定這些像素點(diǎn)就是邊緣點(diǎn),因?yàn)樵肼曇矔鹣袼鼗叶鹊奶?,出現(xiàn)灰度新值大于或等于閾值TH的情況。因此,必須進(jìn)一步采取相應(yīng)的方法來判斷該像素點(diǎn)到底是邊緣點(diǎn)還是噪聲點(diǎn)[9]。
由于圖像沿邊緣方向灰度值變化平緩,而噪聲灰度值沿圖像邊緣雜亂無章,因此可以利用這一點(diǎn)將圖像邊緣與噪聲區(qū)分開[10]。為了判斷一個(gè)像素點(diǎn)是否為邊緣點(diǎn),一般是沿著邊緣方向連續(xù)跟蹤N個(gè)像素點(diǎn),這里取N=3。邊緣跟蹤示意圖如圖2所示。圖2中,以判別 x1點(diǎn)為例,記為圖像在x1點(diǎn)得到的邊緣方向與在x2得到的邊緣方向夾角。同理定義為圖像在點(diǎn)x2得到的邊緣方向與在點(diǎn)x3得到的邊緣方向夾角。
圖2 邊緣跟蹤示意
假設(shè)x1,x2,x3是已經(jīng)被檢測出的灰度新值大于或等于閾值TH的像素點(diǎn)。沿x1點(diǎn)的方向1,找到下一點(diǎn) x2,若>90°,則像素點(diǎn)x1為噪聲點(diǎn),不是邊緣點(diǎn);反之,則像素點(diǎn)x1可能是邊緣點(diǎn),繼續(xù)跟蹤下一點(diǎn)。沿 x2點(diǎn)的方向 2,找到下一點(diǎn) x3,若>90°,則像素點(diǎn)x1為噪聲點(diǎn),不是邊緣點(diǎn);反之,則像素點(diǎn) x1可能是邊緣點(diǎn)[11,12]。
本文進(jìn)行了2種條件下的仿真實(shí)驗(yàn),在國際標(biāo)準(zhǔn)測試圖像Lena(圖3所示)的基礎(chǔ)上分別加入了高斯噪聲和椒鹽噪聲,作為邊緣檢測的原始圖像,并分別對其進(jìn)行了邊緣檢測。
圖3 國際標(biāo)準(zhǔn)測試圖像Lena
在該條件下,分別探討了經(jīng)典Sobel算法與改進(jìn)算法對被不同程度高斯噪聲污染的Lena圖像的邊緣檢測效果。4組試驗(yàn)中,所加入的高斯噪聲的噪聲均值均為零,信噪比分別為16 dB、20 dB、23 dB和26 dB。
圖4 加入高斯噪聲的Lena圖像的仿真結(jié)果
圖像加入高斯噪聲后,由經(jīng)典Sobel算子檢測邊緣和改進(jìn)算法的邊緣檢測對比可看可出:當(dāng)信噪比為16 dB時(shí),原圖像被噪聲嚴(yán)重污染,直接檢測出的圖像邊緣幾乎不存在,完全被噪聲代替。改進(jìn)算法檢測出的圖像邊緣雖然帶有噪聲,但大體可以看出圖像的輪廓。當(dāng)信噪比為20 dB時(shí),原圖像的噪聲有所減少,直接檢測出的圖像還是含有大量噪聲,改進(jìn)算法檢測出的圖像邊緣,已大體可以看出圖像的輪廓,并且噪聲較于經(jīng)典Sobel算子也有所減少。當(dāng)信噪比為23 dB時(shí),直接檢測的圖中,圖像輪廓已經(jīng)很明顯,但是檢測的圖像邊緣很粗,并且還能明顯看出噪聲。改進(jìn)算法檢測出的圖像邊緣較細(xì),并且去除了大部分噪聲。當(dāng)信噪比為26 dB時(shí),加入噪聲的圖像受污染較為輕微。直接檢測便能得到比較清楚的邊緣,改進(jìn)算法檢測的圖像邊緣丟掉了部分細(xì)節(jié),這是由于將部分細(xì)節(jié)視為噪聲,而將這些細(xì)節(jié)丟掉所致。
加入椒鹽噪聲的Lena圖像的仿真結(jié)果如圖5所示。
圖5 加入椒鹽噪聲的Lena圖像的仿真結(jié)果
在該條件下,主要探討了經(jīng)典Sobel算法與改進(jìn)算法對被不同程度椒鹽噪聲污染的Lena圖像的邊緣檢測效果。4組試驗(yàn)中,所選取的椒鹽噪聲的噪聲均值均為零,信噪比分別為11 dB、13 dB、19 dB和21 dB。
圖像加入椒鹽噪聲后,由經(jīng)典Sobel算子檢測邊緣和改進(jìn)算法的邊緣檢測對比可以看到下列特征。當(dāng)信噪比為11 dB時(shí),圖像噪聲密度為0.07即為14.2857%,圖像含有大量噪聲,直接檢測出的圖像噪聲占據(jù)了大部分,細(xì)節(jié)淹沒在噪聲中。改進(jìn)算法檢測出的圖像邊緣雖然也帶有噪聲,但是大致可以看出圖像的模糊輪廓,噪聲被祛除了大部分。當(dāng)信噪比為13 dB時(shí),原圖像含有的噪聲量減少了,直接檢測出的圖像邊緣噪聲呈現(xiàn)圓點(diǎn)形式,覆蓋住了圖像的細(xì)節(jié)。改進(jìn)算法已能檢測出的圖像邊緣,并且圖像含有少量的噪聲。當(dāng)信噪比為19 dB時(shí)。直接檢測的圖像中,已能檢測出圖像輪廓,但是檢測的圖像邊緣粗且還是含有圓點(diǎn)的噪聲,這是對于圖像邊緣檢測很不利的。改進(jìn)算法檢測出的圖像邊緣較細(xì),并且?guī)缀醪缓性肼?。?dāng)信噪比為21 dB時(shí),加入噪聲的圖像含有少量的噪聲。直接檢測得到了清晰的邊緣,但是噪聲也可以明顯地看出來,改進(jìn)算法檢測的圖像邊緣比經(jīng)典算法檢測的邊緣細(xì)。但是不含噪聲,同時(shí)也丟掉了部分細(xì)節(jié)。這是由于算法將部分圖像細(xì)節(jié)視為噪聲,將其忽略掉所致。
對比圖5與圖6的仿真結(jié)果可以明顯看出,對于含有噪聲的圖像,直接用經(jīng)典的Sobel算子進(jìn)行檢測,得到的圖像已經(jīng)嚴(yán)重退化,并且分不清圖像的細(xì)節(jié),檢測出的圖像邊緣大部分已被噪聲代替。而改進(jìn)算法雖然沒有完全清除噪聲,但是已在很大程度上改善了圖像的質(zhì)量,圖像的邊緣和細(xì)節(jié)大部分被保留。并且此種祛除噪聲的方法對大部分噪聲都有效,并不只針對于哪一種。因此這種方法對于被噪聲嚴(yán)重污染圖像是有效的。
從上述仿真結(jié)果可以看出,本文提出的改進(jìn)算法在噪聲圖像的邊緣檢測方面比經(jīng)典Sobel算子具有更顯著的成效,可以清楚地檢測出被噪聲污染過的圖像的邊緣信息。并且由于具有先祛除噪聲然后進(jìn)行邊緣檢測的特性,因此該改進(jìn)算法具有很強(qiáng)的通用性,克服了以往大多數(shù)算法只能針對某種特定的噪聲類型的缺陷,對常見的大部分噪聲均有效。因此,該算法是一種簡單有效的噪聲圖像邊緣檢測方法。本仿真實(shí)驗(yàn)作為該算法的具體應(yīng)用,為實(shí)際應(yīng)用提供了較好的參考,具有很強(qiáng)的應(yīng)用意義。 ■
[1]LI Xin-fu.Edge Detection on Arc Image of Low Voltage Apparatus[C]∥IEEE Proceeding of the Second International on Machine Learning and Cybernetics,Xi’an,2003:2921-2924.
[2]HEATH M,SARKAR S,SANOCKI T,et al.Comparison of Edge Detectors:a Methodology and Initial Study[C]∥Proceedings CVPR'96.IEEE Computer Society Conference on Computer Vision and Pattern Recognition,1996:143 -148.
[3]焦 智,劉秀蘭.硬件實(shí)現(xiàn)基于SOBEL算子的圖像邊緣提?。跩].無線電工程,2006,36(12):24 -25.
[4]馬 暉.基于DS證據(jù)推理方法的圖像目標(biāo)識別[J].無線電通信技術(shù),2013,39(1):70 -72.
[5]何春華,張雪飛,胡迎春.給予改進(jìn)Sobel算子的邊緣檢測算法的研究[J].光學(xué)技術(shù),2012,38(4):323 -326.
[6]白俊江,洪春勇.基于Sobel的邊緣檢測方法[J].電腦知識與技術(shù),2009,5(21):5847 -5849.
[7]王國莉,王玉妹.基于尺度不變特征變換的圖像檢索[J].無線電通信技術(shù),2013,39(4):64 -66.
[8]邢旭東,周 旭,米 健.基于改進(jìn)的人工蟻群的圖像分割算法[J].無線電通信技術(shù),2013,39(6):71-73,81.
[9]吳 捷,陳德智,國成志.Sobel邊緣檢測算法的變異實(shí)現(xiàn)圖像增強(qiáng)[J].激光與紅外,2008,38(6):612-614.
[10]王曉亞,劉素芳.圖像分割中的邊緣檢測[J].無線電工程,2006,36(12):21 -23.
[11]章敏晉.圖相處理與分析[M].北京:北京清華大學(xué)出版社,1999.
[12]何國棟,丁緒星,秦慧平,等.一種新的圖像自適應(yīng)閾值去噪方法[J].無線電通信技術(shù),2014,40(2):60-62.