摘 要: 邊緣提取是數字圖像處理技術的一個重要環節,被廣泛應用于工業檢測領域之中。弧齒錐齒輪的接觸斑點形態是衡量其傳動性能的重要指標之一。在接觸斑點數字化識別的過程中,其圖像的邊緣提取是非常重要的一步。本文提出的邊緣檢測方法將Canny檢測算子應用于處理過后的二值目標圖像,經過實驗對比,明顯優于傳統基于灰度圖像進行處理的結果。
關鍵詞: 弧齡錐齒輪 接觸斑點數 字化識別 邊緣檢測 圖像的邊緣提取
1.引言
弧齒錐齒輪由于接觸區域大、滑動速度小等優點被廣泛應用于航空工業、汽車工業和重型礦山設備等領域。接觸斑點是衡量弧齒錐齒輪嚙合質量的重要指標之一。傳統的弧齒錐齒輪檢測方式是在對滾機上通過一對齒輪的涂色層對滾,然后讓經驗豐富的技術人員目測齒面留下的接觸斑點位置形態來判斷其是否合格及嚙合質量的優良。這種方法過于依賴于技術人員的現場經驗,很難使判斷精準化和標準化,給齒面的進一步修正帶來困難[1]。
隨著數字圖像處理技術的迅猛發展,邊緣檢測技術逐漸被推廣到工業檢測的各個領域當中。基于計算機圖像處理技術的快速新型檢測方法被應用于輪齒接觸斑點檢測。在弧齒錐齒輪接觸斑點數字化識別的過程中,其圖像的邊緣提取是非常重要的一步。
2.傳統邊緣檢測算法
圖像像素局部強度變化最顯著的部分稱之為邊緣。它是圖像最基本的特征之一。由于沿邊緣走向的像素變化平緩,而垂直于邊緣方向的像素變化劇烈,因此經典的邊緣提取方法都是利用邊緣鄰近的一階或二階方向導數變化規律來確定邊緣像素。常用的一階微分算子有Roberts算子、Prewitt算子、Sobel算子,二階微分算子有LoG算子,另外,還有基于優化理論的Canny邊緣檢測算子[2]-[3]。
2.1一階微分算子
由于邊緣是圖像灰度變化比較劇烈的地方,在灰度突變處求導將產生極大值,因此在數學上可用灰度導數的大小來表示灰度變化。梯度對應的是一階導數的信息,因此梯度算子就是一階導數算子。基于梯度的邊緣檢測算子是圖像處理中最為常用的方法之一。
任意一幅圖像f(x,y)在點(x,y)的梯度可寫成矢量形式:
則該梯度的幅值為:
梯度的方向則由下式定義,其中θ是與x軸的夾角。
然而由于數字圖像是離散的,一般用一階差分來代替一階倒數進行運算,其定義的形式為:
常用的一階微分算子有Roberts算子、Prewitt算子和Sobel算子。Roberts算子是一種斜向偏差分的梯度計算方法,梯度的方向與邊緣走向垂直,在水平和垂直方向檢測效果較好;Prewitt算子不僅能檢測邊緣點,而且能抑制噪聲的影響,對灰度和噪聲較多的圖像處理得較好;Sobel算子利用像素鄰近區域的梯度值來計算1個像素的梯度,然后根據一定的閥值來取舍。Sobel算子能夠提供較為精確的邊緣方向信息,但是由于局部平均的影響,它同時也會檢測出許多偽邊緣,且邊緣定位精度小,得到的邊緣較粗。
2.2二階微分算子
一階微分算子對圖像求一階導數當高于某一閾值時,則確定該點為邊緣點。這樣會導致檢測的邊緣點太多,檢測得到的邊緣也會較粗,這就影響了邊緣定位的精度。另一種方法就是求梯度局部最大值對應的點,即求二階導數,并認定它們是邊緣點,這樣可以檢測出更精確的邊緣。但同時也很明顯,二階導數算法要比一階導數復雜,實現起來相對困難。常見的二階導數的邊緣檢測算子有Laplacian算子、LoG算子。
Laplacian算子是通過尋找圖像灰度值二階導數的零交叉點來檢測圖像邊緣點的,它對細線和孤立點檢測效果較好,對方向不敏感。但由于Laplacian算子為二階差分,其方向信息常丟失,從而產生雙像素,對噪聲起到加倍作用,所以它很少直接用于邊緣檢測。為此,Marr和Hildreth提出先采用高斯低通濾波器對圖像進行預先平滑,然后對濾波后的圖像進行Laplacian運算,此時二階導數值等于零的像素點被認為是邊界點。這種算子被稱為LoG算子,有的文獻當中也把LoG算子叫做馬爾算子。LoG算子是在Laplacian算子的基礎上實現的,它得益于對人的視覺機理的研究,有一定的生物和生理學意義。
2.3基于優化理論的Canny檢測算子
1986年JohnCanny在IEEE上發表了一篇題為A Computational Approach to Edge Detectio的文章。在文中他把邊緣檢測問題轉化為檢測單位函數極大值的問題,并對過去的一些方法和應用作了總結,同時提出了評價邊緣檢測性能優劣的三個標準:(1)信噪比準則,即把非邊緣點判斷為邊緣點的概率要低,把邊緣點判斷為非邊緣點的概率要低;(2)高定位精度準則,即準確地將檢測出的邊緣點定位在實際邊緣的中心;(3)單邊緣響應準則,即單個邊緣產生多個響應的概率要低,并且虛假響應邊界應得到最大抑制。
利用Canny算子進行邊緣檢測的具體步驟如下:首先用高斯函數對圖像進行低通濾波的平滑處理;然后通過Soble算子、Roberts算子等一階微分算子求導來計算梯度的幅值和方向;再對得到的梯度幅值進行非極大值抑制;最后用雙閾值算法來連接邊緣。
Canny算子使用兩個閾值來分別檢測強邊緣和弱邊緣,而且僅當弱邊緣與強邊緣相連時,弱邊緣才會被輸出。因此,這種方法不容易受到噪聲干擾,能夠檢測到真正的弱邊緣,適用于對檢測精度要求較高的場合。
2.4傳統邊緣檢測算子實驗結果對比
在運用傳統的邊緣檢測算子時,一般是直接對目標灰度圖像進行處理。為對上述檢測算子進行比較分析,我們基于Matlab7.0編制相應的程序對弧齒錐齒輪接觸斑點灰度圖像進行邊界提取處理,實驗環境為Intel(R) Pentium(R) 4 CPU 3.00GHz,1G內存。實驗結果如圖1所示。
從實驗結果可知,Roberts算子、Prewitt算子和Sobel算子三個一階算子由于模板都比較簡單,雖然操作相對比較方便,但提取出的邊緣卻都不是很完整、連續性較差、斷點很多,特別是Roberts算子提取出的接觸斑點邊界非常模糊。與一階微分邊緣檢測算子相比,LoG算子檢測出了更多的邊緣,定位精度相對較高,但接觸斑點邊界仍然還是不完整。
與其它的邊緣檢測方法相比,Canny檢測算子雖然比較完整地提取出了接觸斑點的邊界,但同時也檢測出了許多的偽邊緣,為分析接觸斑點位置形態帶來了很大的干擾。因此,提取的邊界結果也不能滿足要求
3.基于數學形態學的邊緣檢測
數學形態學是一種非線性的濾波方法,它以嚴格的數學理論和幾何學為基礎,著重研究圖像的幾何結構及其相互關系。其基本思想是:根據原圖像目標特征選取適合的結構元素,利用結構元素對原圖像進行平移、交、并等運算,然后將結果圖輸出。數學形態學不僅可以簡化圖像數據,并能在保持基本形狀特征的基礎上去除不相干結構[4]-[7]。和微分檢測算子不同,數學形態學的基礎是二值形態學,基于數學形態學的邊緣檢測,其檢測對象一般為二值圖像,基本運算主要為以下四種。
3.1膨脹運算
膨脹的算符為?茌,A用B來膨脹寫作A?茌B,其定義為:
3.2腐蝕運算
腐蝕運算是膨脹運算的對偶運算,腐蝕的算符為Θ,A用B來膨脹寫作AΘB,其定義為:
3.3開啟運算
對圖像先進行腐蝕后進行膨脹,這種運算就叫做開啟運算。開啟的算符為○,A用B來開啟寫作A○B,其定義為:A○B=(AΘB)?茌B。
3.4閉合運算
如果先對圖像進行膨脹后進行腐蝕操作,這種運算就叫做閉合運算。閉合的算符為,A用B來閉合寫作AB,其用Matlab編制程序,對接觸斑點的二值圖像的進行邊緣提取,其結果如圖2所示。基于數學形態學的圖像邊緣檢測方法與微分算子法邊緣檢測方法相比,具有算法簡單、運算速度快、效果好等優點。用形態學邊緣檢測方法處理后所得的結果圖像,在邊緣的連續性及各項同性方面都優于傳統方法,形態學邊緣檢測方法對圖像細節和邊緣定位也有相當好的效果。但我們從圖2中可以看出,邊緣檢測的結果中還是存在一些不需要的邊緣信息。接觸斑點的內部出現了一些不規則的邊界區域。
4.基于二值圖像的Canny邊緣提取
由于原接觸斑點圖像為灰度圖像,我們首先把灰度圖像轉換成二值圖像。在給定一個閾值T后,圖像的二值化處理可用下式表示:
B(x,y)=1,f(x,y)≤T0,f(x,y)>T。
一般情況下,我們設定B(x,y)=1的像素集合為目標景物區域,B(x,y)=0的像素集合為背景區域。上式中的f與T的關系也可按相反的表達式來表示。本文中二值圖的閾值選取為0.35,轉換后的圖像如圖3所示。
從圖3中我們可以看到,二值化后的圖像在接觸斑點內部存在很多不連續的黑色區域,如果對其直接進行邊緣提取必將會出現冗余信息,即在接觸斑點內部形成一系列的偽邊界。因此,我們運用Matlab中的區域填充函數imfill,先對二值圖像進行填充[8],填充結果如圖4所示。
對二值圖像進行區域填充后,再運用Canny算子對其進行邊緣提取,如圖5所示。從圖中我們可以看出,對區域填充過后的二值圖像再進行Canny邊緣提取時,在接觸斑點內部已經沒有多余邊界信息了,但在接觸斑點的左下角和右上角還存在齒面的一些邊界信息。在Matlab中使用去除小面積函數bwareaopen,同時選取除去面積值為150,對圖像進行處理便可得到完整清晰的接觸斑點邊界。
5.結語
我們在使用傳統的微分邊緣檢測算子的時候,往往是直接對灰度圖像進行處理,檢測出的邊緣信息連續性不好,并且存在很多不需要的偽邊界信息,檢測結果不能達到要求。使用數學形態學方法雖然可以提取出比較完整的邊界,但在一定程度上還是難以把多余邊界信息去除。本文提出的方法將灰度圖像先轉換為二值圖像,然后對其進行區域填充處理,再在此基礎上進行Canny邊緣提取,最后使用去除小面積函數清除齒面邊界信息,便可得到清晰完整的接觸斑點圖像,實驗效果非常理想,為弧齒錐齒輪接觸斑點數字化識別打下了基礎。
參考文獻:
[1]方宗德,楊宏斌,周彥偉等.高速弧齒錐齒輪動態嚙合質量優化[J].航空學報,2001,22(1):69-72.
[2]王小林,閆興民,謝剛.準雙曲面齒面接觸斑點圖像處理的邊緣檢測[J].煤礦機電,2005,(5):65-69.
[3]侯小麗.圖像邊緣檢測技術發展綜述[J].太原城市職業技術學院學報,2009,(6):132-133.
[4]胡永剛,孔敏.形態學算法和傳統算法的邊緣檢測比較[J].微處理機,2009,(3):97-98.
[5]李敏,蔣建春.基于腐蝕算法的圖像邊緣檢測的研究與實現[J].計算機應用與軟件,2009,26(1):82-84.
[6]徐國寶,王驥,趙桂艷,等.基于數學形態學的自適應邊緣檢測新算法[J].計算機應用,2007,29(4):997-1002.
[7]閆海霞,趙曉暉.基于數學形態學的邊緣檢測方法[J].計算機應用研究,2008,25(11):3496-3497.
[8]王家文.Matlab 7.6圖形圖像處理[M].北京:國防工業出版社,2009.