摘 要: 介紹了邊緣檢測的不同方法,并通過實(shí)驗(yàn)詳細(xì)分析了不同算法的優(yōu)劣。其中,邊緣檢測子依賴于灰度圖像的邊緣;內(nèi)邊界跟蹤需要二值圖像或是含有已經(jīng)被標(biāo)注出區(qū)域的圖像;基于圖搜索的邊界跟蹤通過獲得相關(guān)啟發(fā)性信息指導(dǎo)搜索以完成檢測。重點(diǎn)討論了采用不同啟發(fā)式函數(shù)的邊緣提取的優(yōu)劣和效率。
關(guān)鍵詞: 邊緣檢測子; 內(nèi)邊界檢測; 圖搜索策略
圖像邊緣是圖像識別和計(jì)算機(jī)分析的關(guān)鍵信息。邊緣蘊(yùn)含了豐富的內(nèi)在信息,是圖像識別中抽取圖像特征的重要屬性。本質(zhì)上說,圖像邊緣是圖像局部特性不連續(xù)性的反映,它標(biāo)志著一個(gè)區(qū)域的終結(jié)和另一個(gè)區(qū)域的開始。邊緣提取首先檢出圖像局部特性的不連續(xù)性,然后再將這些不連續(xù)的邊緣像素連成完備的邊界。邊緣的特性是沿邊緣走向的像素變化平緩,而垂直于邊緣方向的像素變化劇烈。從這個(gè)意義上說,提取邊緣的算法就是檢出符合邊緣特性的邊緣像素的數(shù)學(xué)算子。
目前提取邊緣常采用邊緣算子法、內(nèi)邊界檢測、圖搜索策略、曲面擬合法、模板匹配法和門限化等方法。
1 邊緣檢測算子法
在圖像分析中,邊緣一般用于尋找區(qū)域的邊界。假定區(qū)域具有均勻的亮度,其邊界就是圖像函數(shù)變化的位置,因此,在理想情況下,具有高邊緣幅值的像素中沒有噪聲,可見邊界與其組件(邊緣)的梯度方向垂直。
檢測小局部鄰域的單個(gè)梯度算子事實(shí)上是卷積,可以用卷積掩模來表達(dá)。能夠檢測邊緣方向的算子是用一組掩模來表達(dá)的,每個(gè)掩模對應(yīng)一個(gè)方向。
Laplace算子的缺點(diǎn)是它對圖像中的某些邊緣產(chǎn)生雙重響應(yīng)。
1.5 邊緣算子法實(shí)驗(yàn)結(jié)果及分析
利用6種邊緣檢測算子檢測出的邊緣圖像如圖1所示。從實(shí)驗(yàn)結(jié)果可以看出, Roberts算子檢測精度不夠,忽略了一部分邊界且有噪點(diǎn);而Log算子、Canny算子和高斯濾波后的Canny算子檢測結(jié)果邊界太過復(fù)雜,將很多背景像素識別成了邊界;Sobel和Prewitt算子檢測結(jié)果比較相近,但是Sobel算子檢測結(jié)果散點(diǎn)較多,相比之下,Prewitt算子檢測結(jié)果最令人滿意。Prewitt算子檢測的結(jié)果比另外5種算子的檢測結(jié)果邊界光滑、完整且散點(diǎn)少,因此本實(shí)驗(yàn)中Prewitt算子的檢測結(jié)果被認(rèn)為是這幅圖的最優(yōu)邊緣,將它與其他方法得到的邊界比較,從而給出其他算法相對合理的評價(jià),如圖2所示。其中,算子檢測結(jié)果越接近1,效果越好。
2 內(nèi)邊界跟蹤及實(shí)驗(yàn)分析
內(nèi)邊界跟蹤對于超過一個(gè)像素大小的區(qū)域都有效(尋找單像素區(qū)域的邊界毫無意義)。該算法可以找到區(qū)域的邊界,但是不能找到區(qū)域孔的邊界。如果還要搜索孔的邊界,邊界跟蹤必須在每個(gè)區(qū)域或孔的邊界元素上開始,而該元素必須是以前從來沒有跟蹤過的邊界元素。尋找邊界元素搜索總是在當(dāng)前跟蹤的邊界封閉之后才進(jìn)行,而搜索“還沒有使用”的邊界元素的方法可依照搜索第一個(gè)邊界元素的方式進(jìn)行。需要注意的是,如果物體是單像素寬,就需要增加一些條件;如果目標(biāo)是檢測區(qū)域的外邊界,所給出的方法根據(jù)4-鄰接仍然可以用。
根據(jù)給定的兩個(gè)起始點(diǎn)和結(jié)束點(diǎn)搜索得到的邊界圖像如圖3所示。因?yàn)閳D像中前景區(qū)域已被定義,所以檢測出來的邊界是唯一的。將該邊界與前面Prewitt算子檢測出的邊緣進(jìn)行比較(內(nèi)邊界跟蹤圖像÷Prewitt算子邊界圖像),得出評價(jià)值為2.562 8。內(nèi)邊界跟蹤所得到的圖像的優(yōu)點(diǎn)是沒有散點(diǎn)且圖像的連續(xù)性好,但是由于算法本身的原因,一部分邊界太粗了,不夠簡潔。
3 圖搜索的邊緣跟蹤
圖是由一組節(jié)點(diǎn)ni和節(jié)點(diǎn)間的弧(ni,nj)構(gòu)成的一種普通結(jié)構(gòu)??紤]有方向的數(shù)值加權(quán)的弧,這些權(quán)稱為費(fèi)用。邊界檢測過程被轉(zhuǎn)換為在加權(quán)圖中搜索最優(yōu)路徑的問題,目的是找到連接兩個(gè)指定節(jié)點(diǎn)(即起點(diǎn)和終點(diǎn))的最優(yōu)路徑。該方法同樣適用于搜索費(fèi)用最大化的路徑。
3.1 5種啟發(fā)函數(shù)
給定回溯路徑的費(fèi)用,或者每步取最優(yōu)路徑搜索,啟發(fā)函數(shù)會(huì)有不同的檢測范圍,邊界檢測的結(jié)果當(dāng)然也不同。
3.2 5種啟發(fā)函數(shù)對比
在每種啟發(fā)函數(shù)的檢測范圍中,將背景顏色設(shè)為0(即深藍(lán)色,見顏色表),起始點(diǎn)顏色設(shè)為50,對每個(gè)檢測范圍進(jìn)行標(biāo)記,下一個(gè)檢測范圍顏色加1,這樣,可以很直觀地看出啟發(fā)函數(shù)的搜索路徑。將5種啟發(fā)函數(shù)檢測范圍做比較,很容易發(fā)現(xiàn)啟發(fā)函數(shù)4檢測的路徑非常明確,而且范圍不大,效率較高。
5種啟發(fā)函數(shù)檢測范圍的比較如圖9所示,顯然,啟發(fā)函數(shù)4的搜索范圍比其他4個(gè)小很多,它的搜索效率高于其他4個(gè)啟發(fā)函數(shù)。
本文分別用3種方法對圖像邊緣檢測進(jìn)行了實(shí)驗(yàn),其中邊緣檢測算子是一組用于在亮度函數(shù)中定位變化的非常重要的局部圖像預(yù)處理方法,而邊緣是亮度函數(shù)發(fā)生急劇變化的位置。各邊緣檢測算子通過自己特有的卷積掩模與圖像做卷積,得出邊界圖像。在本文的邊緣檢測算子實(shí)驗(yàn)中,Prewitt算子檢測結(jié)果最令人滿意。
內(nèi)邊界檢測是通過給定起始點(diǎn)和結(jié)束點(diǎn)檢測二值圖像的,用每次最先找到的相同像素值的節(jié)點(diǎn)將起始點(diǎn)與結(jié)束點(diǎn)連接起來,如此反復(fù),得出邊界圖像。這樣檢測出的圖像連續(xù)性好,但是會(huì)造成一部分邊界過粗。
基于圖搜索的邊緣跟蹤是對每條路徑進(jìn)行判斷并找出最優(yōu)路徑的過程,而啟發(fā)式搜索在搜索過程中加入了與問題有關(guān)的啟發(fā)性信息,用以指導(dǎo)搜索向著一個(gè)比較小的范圍內(nèi)進(jìn)行,加速獲得結(jié)果。本文實(shí)驗(yàn)中,啟發(fā)函數(shù)4在搜索效率和精度上比其他啟發(fā)函數(shù)更令人滿意。
總體來說,各種方法都有其優(yōu)勢及不足,在實(shí)際應(yīng)用中,需要通過對圖像的分析進(jìn)一步選擇合適的算法,以找出最理想的邊界圖像。在實(shí)際操作中,不同的圖像對啟發(fā)函數(shù)的要求也不一樣,如何找到最合理的啟發(fā)函數(shù)對圖像進(jìn)行搜索有待研究。
參考文獻(xiàn)
[1] SCHETTINI R. A segmentation algorithm for color images[J]. Pattern Recognition Letters, 1993(14):499-506.
[2] PRIESE L, REHRMANN V. On hierarchical color segmentation and applications[C]. IEEE Proceedings of Computer Vision and Pattern Recognition, 1993:633-634.
[3] 王耀南,李樹濤,毛建旭.計(jì)算機(jī)圖像處理與識別技術(shù)[M]. 北京:高等教育出版社,2001.
[4] 孫慧,周紅霞.圖像處理中邊緣檢測技術(shù)的研究[J].電腦開發(fā)與應(yīng)用, 2002,15(10):7-9.
[5] 趙雪松, 陳淑珍. 綜合全局二值化與邊緣檢測的圖像分割方法[J].計(jì)算機(jī)輔助設(shè)計(jì)與圖形學(xué)學(xué)報(bào),2001,13(2):
118-121.