張漢欣
(中國刑事警察學(xué)院 遼寧 沈陽 110854)
邊緣檢測優(yōu)化算子在輪胎痕跡識別中的應(yīng)用
張漢欣
(中國刑事警察學(xué)院 遼寧 沈陽 110854)
本文以快速準確識別輪胎痕跡為目的,針對道路交通事故現(xiàn)場輪胎痕跡圖像,主要應(yīng)用了Sobel算子、Roberts算子、Prewitt算子、Laplacian算子、馬爾算子(Log)算子和Canny算子等算法對輪胎圖像痕跡邊緣識別。根據(jù)傳統(tǒng)的多種優(yōu)化算子的圖像處理算法比較,實驗結(jié)果表明,Canny算子算法處理的圖像空稀少,內(nèi)容豐富,輪胎花紋邊緣清晰。
輪胎痕跡 識別 邊緣檢測 優(yōu)化算子
常用的、最簡單的邊緣檢測方法是對原始圖像按像素的某鄰域構(gòu)造邊緣檢測算子,檢驗圖像的每個像素在某個鄰域內(nèi)灰度的變化,利用邊緣鄰近一階或二階方向?qū)?shù)變化規(guī)律來實現(xiàn)檢測。由于原始圖像一般含有噪聲,而邊緣和噪聲在空間域反應(yīng)為灰度有幅度起伏,在頻域表現(xiàn)為高頻分量,這就給邊緣檢測帶來困難。傳統(tǒng)的邊緣提取方法是邊緣的種類可分為兩類:一類稱為階躍性邊緣,它兩邊像素的灰度值有著顯著的不同;另一類稱為屋頂狀邊緣和凸緣邊緣,它位于灰度值從增加到減少的變化轉(zhuǎn)折點。對于階躍性邊緣,二階方向?qū)?shù)在邊緣處呈零交叉;而對于屋頂狀邊緣和凸緣邊緣,二階方向?qū)?shù)在邊緣處取極值。由于利用一階導(dǎo)數(shù)進行邊緣檢測時,如果所求的一階導(dǎo)數(shù)高于某一閉值,則可確定該點為邊緣點。這樣就會導(dǎo)致檢測的邊緣點太多。而利用一階導(dǎo)數(shù)的局部最大值對應(yīng)的二階導(dǎo)數(shù)的零交叉點能夠找到精確邊緣點。優(yōu)化的邊緣檢測應(yīng)當準確解決邊緣的虛實、交接、棱邊等問題。
邊緣檢測算法目前多集中在對灰度圖像的處理,通過構(gòu)造對像素灰度級階躍變化敏感的微分算子,例如梯度算子,其邊緣檢測速度快,但得到的常是不連續(xù)的、不完整的結(jié)構(gòu)信息。這類方法對噪聲較為敏感。為了有效抑制噪聲,一般都先對原圖像進行平滑,再進行邊緣檢測就能成功地檢測到真正的邊緣。本文應(yīng)用的邊緣檢測算子有索伯爾(Sobel) 算子、羅伯特(Roberts)算子、普瑞威特(Prewitt)算子、拉普拉斯(Laplacian) 算子,馬爾(Log) 算子及Canny算子等。
一幅數(shù)字圖像一般是圖像灰度連續(xù)函數(shù)的離散化取樣點數(shù)組,圖像灰度值的明顯變化可用梯度的離散逼近函數(shù)來識別。
索伯爾算子的表達式為:
索伯爾(Sobel) 算子屬于梯度算子的一種,具有兩個突出的優(yōu)點:一是由于引入了平均因素,對圖像中的隨機噪聲具有一定的平滑作用;二是由于它是相隔兩行或兩列的差分,因此邊緣兩側(cè)的元素得到加強,使邊緣顯得粗而亮。
羅伯特算子的表達式為:
max{|f(i,j)-f(i-1,j-1)|+|f(i-1,j)-f(i,j-1)|}
羅伯特(Roberts)算子對于陡峭的低噪聲圖像具有最良好的響應(yīng),利用局部差分算子尋找邊緣算子。
普瑞威特算子的表達式為:
普瑞威特(Prewitt)算子與索伯爾算子的區(qū)別僅是模板不同、其原理相同且效果相當;與羅伯特算子又類似。
上述三種算子都屬于梯度算子。梯度的大小代表圖像邊緣的強度,梯度方向與圖像邊緣幅度走向垂直。由于梯度算子僅計算相鄰象素的灰度差,對噪聲敏感,難以抑制噪聲的影響。由此還演變出方向算子,但增多的模板使計算趨于復(fù)雜。
如果在計算一階導(dǎo)數(shù)求梯度的方法中把大于某值的點取為邊界點,就會出現(xiàn)檢測出的邊緣點繁多現(xiàn)象,則在理論上更有效的方法是求梯度局部最大值對應(yīng)的點,將其確認為真實邊緣點。這樣消除了一階導(dǎo)數(shù)中的非局部最大值,可檢測出更準確的邊緣。一階導(dǎo)數(shù)的局部最大值對應(yīng)著二階導(dǎo)數(shù)的零交叉點。通過確定圖像灰度的二階導(dǎo)數(shù)的零交叉點就可確定真是的邊緣點。
對于階躍狀邊緣,其二階導(dǎo)數(shù)在邊緣點就有零交叉,并且邊緣點兩旁象素的二階導(dǎo)數(shù)不同號。這樣對數(shù)字圖像的每個像素計算關(guān)于X、Y兩軸的二階偏導(dǎo)數(shù)之和,就可得拉普拉斯(Laplacian)算子。拉普拉斯算子表達式為:
已知拉普拉斯算子是滿足二維圖像不同走向的輪廓銳化要求。由于梯度算子在利用圖像灰度二階導(dǎo)數(shù)的零交叉點來求邊緣點的算法對噪聲相當敏感,拉普拉斯算子一般不以其原始形式用于邊緣檢測,希望在邊緣增強之前去噪,即圖像進行高斯濾波平滑處理。Marr和Ildreth將高斯濾波和拉普拉斯邊緣檢測結(jié)合在一起,形成馬爾算子,通常被稱為Log—Laplacian of Gaussian算子。該方法先對圖像進行平滑處理,即是利用高斯函數(shù)平滑圖像后,用拉普拉斯(Laplace)算子檢測邊緣,從而降低了圖像的噪聲。這一算法稱為高斯拉普拉斯(Log)算法,馬爾算子的近似5×5模板及檢測效果。
其中:*為卷積,r2=x2+y2,r是離中心點的徑向距離;▽2h為高斯拉普拉斯濾波算子,是軸對稱函數(shù),且各向同性。
函數(shù)在r=±σ處有過零點,在|r|<σ時取正值,在|r|>σ時取負值。且算子在定義域內(nèi)的平均值為零,因此將它與圖像卷積并不會改變圖像的整體動態(tài)范圍,但由于它相當光滑,所以卷積結(jié)果使圖像變得模糊,其模糊程度正比于σ。
馬爾方法的特點是圖像先與高斯濾波器進行卷積,這樣在平滑了圖像的同時可以去噪,孤立的點噪聲和較小的結(jié)構(gòu)組織將被消除。由于平滑導(dǎo)致邊緣的延展,因此邊緣檢測只考慮那些具體局部梯度最大值的點為邊緣點。
Canny邊緣檢測算子是John.F.Canny于 1986年開發(fā)出來的一個多級邊緣檢測算法。Canny創(chuàng)立了邊緣檢測計算理論 (Computational theory of edge detection)。Canny算子(或者這個算子的變體)是最常用的邊緣檢測方法。在Canny創(chuàng)造性的工作中,他研究設(shè)計了一個用于邊緣檢測最優(yōu)平滑濾波器,這個濾波器能夠很好地被一階高斯導(dǎo)數(shù)優(yōu)化。另外,Canny引入了非最大抑制概念,它是說邊緣定義為在梯度方向具有最大梯度值的點。
Canny算子應(yīng)滿足的信噪比準則是不丟失重要的邊緣,不出現(xiàn)虛假的邊緣,表達式為:
其中:f(x)是邊界濾波器的脈沖響應(yīng);G(x)是邊緣;n0是高斯噪聲的均方根。
Canny算子滿足定位精度準則,即真實邊緣與別的邊緣位置之間的誤差最小,即
其中G′(-x)和f′(x)分別是G(-x)和f(x)的一階導(dǎo)數(shù)。
Canny算子應(yīng)滿足的單邊緣響應(yīng)準則是在有噪聲的情況下,邊緣附近會有多個過零點。兩個檢測到的過零點的平均距離為
平均距離越大,過零點間距越大,越容易檢測。
Canny算子實現(xiàn)的具體步驟如下:
(1)對原始數(shù)據(jù)用二維高斯濾波模板進行卷積,得到的圖像與原始圖像相比有些輕微的模糊(blurred)。這樣,單獨的一個像素噪聲在經(jīng)過高斯平滑的圖像上變得幾乎沒有;
(2)利用微分算子(如普瑞威特算子、索伯爾算子等)找到圖像灰度沿著兩個方向的導(dǎo)數(shù)Gx,Gy,并求出梯度的大?。?/p>
(3)利用梯度大小計算出梯度的方向,求出邊緣的方向,就可把邊緣的梯度方向大致分為4種(水平、垂直、對角線方向45度和135度)方向的邊緣,將原始圖像與每個所作的卷積都保存起來,對于每個點都確定在這個點上的最大值以及生成的邊緣的方向,這樣就從原始圖像生成了圖像中每個點亮度梯度圖以及亮度梯度的方向;
(4)某個像素的灰度值在其梯度方向上來比較梯度幅度,前后兩個像素的灰度值之差不是最大時,就將這個像素值置為零,即不是邊緣;較高的亮度梯度比較有可能是邊緣;
(5)使用累計直方圖計算兩個滯后閾值。凡是大于高值閾值的一定是邊緣;凡是小于低值閾值的一定非邊緣。如果檢測數(shù)據(jù)在兩個閾值之間,則根據(jù)這個像素的周圍鄰接像素中是否有超過高閾值的邊緣像素,如果存在,它就是邊緣,否則不是。
將對以上常見算子進行圖像實驗仿真,對所采集的圖像分別應(yīng)用Sobel算子、Roberts算子、Log算子及Canny算子進行邊緣檢測,如圖1所示。
由MATLAB工具處理結(jié)果可見,Sobel算子檢測范圍小,平滑噪聲的作用一般,邊緣粗而亮;對圖像可抑制噪聲,檢測出的邊緣較細,但邊緣不夠明顯;Log的檢測效果比Roberts算子好,邊緣更清晰;Canny算子同樣具有抑制噪聲的能力,其檢測出邊緣較寬,信息豐富,邊緣明顯。通過比較可知,Canny算子的邊緣檢測最好。
圖1 各種邊緣算子比較
1.Rafael C Gonzalez,Richard E Woods.Digital Image Processing[M].Addison Wesley Publishing Company,2002
2.FreemanH,DavisLS.Acorne-finding algorithm for chain code curves[J].IEEE Transactions on Computers,1977,C-26(3):297-303
5.Rosenfeld A,Johnson E.Angle detection on digital curves[J].IEEE Transactions on Computers,1973,22(9):875-878
6.HarrisC G,StephensM J.A combined corner on edge detector.In 4th AlveyVision Conference[C]. Manchester 1988:147-151,189-192