吳月波,徐 晨,董 蓉
(南通大學 電子信息學院,江蘇 南通226019)
隨著圖像檢測技術的發展,視覺檢測的應用研究在各個領域受到了廣泛關注。視覺檢測原理是以圖像為信息載體并從中提取幾何參數。在視覺檢測領域中,被測圖像邊緣的定位精度往往直接影響到整個檢測的精度。因此,對圖像邊緣的精確定位具有很大的實際意義。傳統的邊緣檢測算法是利用一階和二階微分算子考察圖像的每個像素在某個區域內的灰度變化,如Canny 算子[1]、Sobel 算子[2]、LOG 算子[3]以及Laplacian 算子[4]等,這些算子[5]大都為整像素級,形式簡單,邊緣檢測的速度快,但容易受到噪聲的影響,定位精度較差。隨著對邊緣檢測精度要求的不斷提高,傳統的邊緣檢測算法已經很難滿足實際需求。因此,定位精度更高的亞像素邊緣檢測越來越受到人們的關注。從20 世紀70 年代以來,就有很多學者提出了一些有效的亞像素邊緣定位算法[6]。目前常用的亞像素邊緣定位算法可以歸納為三類:矩法[7-8]、插值法[9]和擬合法[10]。基于矩的亞像素邊緣檢測算法形式較為復雜,計算時間較長,但圖像的平移不影響邊緣的檢測;基于插值的亞像素邊緣檢測算法計算時間較短,具有良好的抗噪性能,但定位精度較低;基于擬合的亞像素邊緣算法對噪聲有較好的抑制,邊緣的定位精度較高,因此,基于擬合的亞像素的邊緣檢測算法得到了許多人的青睞。
本文提出了一種基于灰度梯度和反正切函數擬合的的亞像素邊緣檢測算法,它需要提取輸入圖像的灰度梯度方向,建立灰度梯度直角坐標系,坐標軸正方向由提取的梯度方向來確定,x 軸表示所選擇的像素在梯度方向上的坐標,y 軸表示所選擇的像素的灰度值,最后利用最小二乘法,采用反正函數擬合提取的圖像邊緣的灰度梯度,實現亞像素邊緣檢測。本文算法是一種定位精度更高、檢測速度更快的亞像素邊緣檢測算法。
本文所提算法是結合Canny 算子和反正切函數擬合圖像邊緣的灰度梯度實現邊緣的精確定位,其算法具體原理如下。
1)Canny 算子[1]是通過求信號函數的極大值來得到圖像邊緣像素的邊緣檢測算子。利用Canny 算子獲得圖像邊緣像素的具體步驟如下,見圖1。

圖1 Canny 算子邊緣檢測
步驟1:將原始輸入圖像與高斯濾波器進行卷積,以達到平滑圖像、去除噪聲的目的。
步驟2:用2×2 一階偏導的有限差分來計算濾波后圖像邊緣中的每個像素的梯度幅值及其方向。
使用2×2 有限差分模板作為x 方向和y 方向偏導數的兩個陣列f'x(x,y)和f'y(x,y)的一階近似來計算已平滑圖像g(x,y)的梯度

由式(1)和式(2)得到一個2×2 正方形有限差分模板,如表1 所示。

表1 2×2 有限差分模板
在表1 中的2×2 正方形內求出有限差分的平均值,用直角坐標到極坐標的坐標轉換公式計算得

式(3)中M(x,y)表示每個像素的梯度幅值,式(4)中θ(x,y)表示每個像素的梯度方向。
步驟3:為得到圖像的邊緣,要保留邊緣局部梯度幅值較大的點,并且對非極大值進行抑制,最后生成細化的圖像邊緣。
步驟4:用兩個閾值h1和h2(令h1≈0.5h2)分別作用于非極大值抑制處理的圖像后,得到圖像1 和圖像2,圖像1 去除了大部分噪聲,但卻丟失了有用的邊緣信息,而圖像2 則保留了更多的邊緣信息,在圖像2 的基礎上,補充圖像1 中丟失的邊緣信息,然后連接邊緣,這樣就得到了輸入圖像的初步邊緣。
2)由于光學器件的卷積和光的衍射作用,在物空間劇變的圖像邊緣的灰度值經過光學器件成像后變成了漸變的形式,也就是階躍邊緣變成了漸變的邊緣,如圖2 所示。

圖2 理想邊緣和實際邊緣模型
反正切函數是數學中一類與常見三角函數類似的函數,它是一個連續、光滑、單調的反三角函數,函數圖像如圖3 所示,由于反正切函數的圖像和邊緣模型極其相似,因此,可利用反正切函數作為邊緣模型[11]擬合圖像邊緣實際的灰度分布情況。

圖3 反正切函數圖像

反正切函數的邊緣模型為式中:a1表示將反正切函數趨于的最大值與最小值擴大至原來的a1倍;a2和a3表示反正切函數曲線彎曲的程度,a2和a3的值越大,曲線彎曲的程度越大;a4表示反正切函數在y軸的偏移量。用最小二乘法進行擬合,求出a1,a2,a3和a4,進而得到邊緣的亞像素位置。
求圖像邊緣的亞像素位置的具體步驟如下:
對式(5)求一階導數得

將式(6)對x 求導并令其導數為0 得

在算法原理的基礎上,算法的實現步驟如下。
步驟1:通過Canny 算子對輸入圖像進行處理,粗略提取該圖像的邊緣。
步驟2:對粗略得到的圖像邊緣逐點的提取圖像邊緣像素的梯度方向,提取的梯度方向被量化成8 種情況,如圖4 所示。當提取的梯度方向如圖4 陰影部分所示時,那么此時的梯度方向將會量化在第5 種情況中。基于這個考慮,建立直角坐標系,坐標軸的正方向就可以由邊緣像素點的八鄰域梯度方向確定,并且這個邊緣像素點必須為Canny 算子提取的原始像素點,然后在原始邊緣像素點的周圍選擇一定數量的像素點,將Canny 算子提取的原始邊緣像素的橫坐標設為0,那么在其周圍提取的像素點的坐標也做相應的改變,加入到邊緣檢測窗口中,如圖5 所示。

圖4 八鄰域梯度方向

圖5 邊緣檢測窗口
步驟3:邊緣檢測窗口中的藍色方塊表示由Canny 算子提取的邊緣像素。坐標系的x 軸表示在梯度方向上的像素的坐標,坐標系的y 軸表示所選擇的像素的灰度值。
步驟4:建立了灰度梯度直角坐標系之后,使用反正切函數擬合邊緣檢測窗口中像素的灰度值,并通過最小二乘法處理計算出圖像邊緣的亞像素位置R=。例如,邊緣檢測窗口如圖3 所示,可以通過圖6 所示的函數擬合計算出參數a2和a3的值,進而計算出R=0.131 6。

圖6 函數擬合圖
為了驗證本文算法的穩定性和精確性,采用Microsoft Visual Studio 2008 平臺,分別用小波變換法、基于Zernike 矩法和本文所提算法,編程實現對兩幅不同圖像的邊緣檢測。第一幅為圖像處理常用的Lena 圖,第二幅為airplane 圖。實驗結果如圖7、圖8 所示。

圖7 Lena 圖邊緣檢測結果
對圖像邊緣檢測的評價可以分為主觀和客觀兩種評價標準[12]。主觀評價標準是以檢測到的圖像邊緣的視覺效果為根本出發點,并以此來評價圖像邊緣檢測;客觀評價標準是以檢測到的圖像邊緣的連續性、有效性等為統一的評價指標,從上面兩組圖中各種算法對兩幅圖像的邊緣檢測結果,通過主觀評價,可以明顯看出基于小波的亞像素邊緣檢測算法抗噪性能一般,并且檢測到的邊緣較少,會出現漏檢邊緣的現象;

圖8 airplane 圖邊緣檢測結果
基于Zernike 矩的亞像素邊緣檢測算法檢測的邊緣比較完整,而且邊緣連接性較好,但容易受到冗余信息的干擾;而本文所提算法能夠更完整、有效地檢測圖像的邊緣,具有更高的抗噪性能,并且可以克服冗余信息的干擾,得到更加平滑完整的圖像邊緣。
客觀評價標準通過統計連接圖像的邊緣點數、4-連通成分數和8-連通成分數及連通成分比率這些指標對檢測到的不同圖像邊緣進行客觀的比較。結果如表2、表3 所示。

表2 Lena 圖檢測結果

表3 airplane 圖檢測結果
表2、表3 中A 表示檢測邊緣的點數,B 與C 分別表示檢測邊緣圖中的4-連通區域數和8-連通區域數。B/A 和C/A分別是4-連通區域數和8-連通區域數在邊緣總點數中所占的比例,這個比例越小,說明檢測圖像邊緣的連續性越好。
通過表中的數據可以得出,本文所提算法和其余兩種算法相比,B/A 和C/A 這兩項指標最小,說明本文算法提取的圖像邊緣有最好的效果和連續性。
利用Microsoft Visual Studio 2008 平臺,統計本文算法、基于小波的亞像素邊緣檢測算法及基于Zernike 矩的亞像素邊緣檢測算法的各個時間點檢測到的邊緣像素,如圖9 所示。然后,計算出這3 種邊緣檢測算法的平均運算時間,如表4 所示。結果表明,通過與小波變換法及Zernike 矩法各個時間點檢測的邊緣像素和運算時間進行比較,可以明顯地得出,本文算法檢測速度更快。

圖9 各種算法的邊緣檢測運算速度

表4 各種算法邊緣檢測運算時間對比
本文提出了一種基于灰度梯度和反正切函數擬合的亞像素邊緣檢測算法。該算法第一步是用傳統的邊緣檢測算子Canny 算子粗略地提取圖像邊緣的灰度梯度,第二步是創建灰度梯度直角坐標系,坐標系的x 軸表示所選擇的像素在梯度方向上的像素的坐標,坐標系的y 軸表示所選擇的像素的灰度值,最后使用反正切函數擬合Canny 算子提取的圖像邊緣的灰度梯度,并通過最小二乘法計算出圖像邊緣的亞像素位置。通過與基于小波變換法和基于Zernike 矩法的圖像邊緣檢測算法對比,驗證了本文算法定位精度更高,運算速度更快,可有效克服冗余信息的干擾,并且漏檢率低,可以準確檢測到更加完整平滑的圖像邊緣。
[1]陳世文,劉越暢.一種基于最小交叉熵的Canny 邊緣檢測算法[J].電視技術,2013,37(1):165-168.
[2]SUN Lihua,ZHAO Enliang,MA Long,et al. An edge detection method based on improved sobel operator[C]//Proc.Advanced Materials Research.[S.l.]:IEEE Press,2014:971-973.
[3]ZHANG Jianxin,CHANG Wei,WU Lang.Edge detection based on general grey correlation and LOG operator[C]//Proc. International Conference on Artificial Intelligence and Computational Intelligence.[S.l.]:IEEE Press,2010:480-483.
[4]LUO Yan,LUO Zhiguo. Symmetric positive solutions for nonlinear boundary value problems with φ{symbol}-Laplacian operator[J].Applied Mathematics Letters,2010,23(6):657-664.
[5]趙玲,張偉. 圖像處理中邊緣檢測算法性能的分析[J]. 科技資訊,2014,12(14):23-24.
[6]孫少紅,袁華,張彤. 常用的亞像素邊緣檢測方法的對比研究[J]. 大眾科技,2014,16(176):27-29
[7]付鵬,高曉蓉. 基于矩的亞像素邊緣檢測算法的對比研究[J].微計算機信息,2007,23(18):264-265,279.
[8]李永明. 基于Hessian 矩陣的邊緣檢測方法[J]. 激光雜志,2014,35(5):27-30.
[9]孫秋成,周亞洲,寧闖,等 基于三次樣條插值的亞像素邊緣檢測方法[J].控制工程,2014,21(2):290-293.
[10]ARCHIBALD R,GELB A,YOON J. Polynomial fitting for edge detection in irregularly sampled signals and images[J]. SIAM Journal on Numerical Analysis,2005,43(1):259-279.
[11]孫維健.一種新的亞像素邊緣檢測算法[J]. 數字技術與應用,2014(2):126-127.
[12]林卉,趙長勝,舒寧.基于Canny 算子的邊緣檢測及評價[J].黑龍江工程學院學報,2003,17(2):3-6.