摘 要:本文介紹了視覺檢測的原理,對幾種典型的圖像邊緣檢測算子進(jìn)行研究,分析了這些算子在視覺檢測中的優(yōu)缺點(diǎn),這對進(jìn)一步學(xué)習(xí)和尋找更好的圖像邊緣檢測方法具有一定的指導(dǎo)意義。
關(guān)鍵詞:機(jī)器視覺;圖像處理;邊緣檢測;檢測算子
DOI:10.16640/j.cnki.37-1222/t.2017.17.268
0 緒論
在現(xiàn)代工業(yè)的自動化生產(chǎn)中,機(jī)器視覺技術(shù)廣泛的應(yīng)用于航空航天、汽車、制藥、電子與電氣、制造等行業(yè)。機(jī)器視覺檢測是指利用獲取的零件圖像作為檢測和傳遞信息的手段和載體,以實(shí)現(xiàn)代替人眼進(jìn)行一些尺寸測量、產(chǎn)品合格與否的檢測。由于在視覺檢測中不需要接觸待檢產(chǎn)品,所以不會損壞待檢產(chǎn)品,并且視覺檢測精度高,因此在測量領(lǐng)域具有非常明顯的優(yōu)勢。
1 視覺檢測系統(tǒng)的工作原理
機(jī)器視覺系統(tǒng)的基本結(jié)構(gòu)是由CCD攝像機(jī)把待檢物體的圖像以二維圖像的形式采集到計算機(jī)內(nèi)部;再運(yùn)用相關(guān)的圖像處理技術(shù)把原始二維圖像轉(zhuǎn)化為數(shù)字圖像;然后,在采集的圖像中提取有用的信息,完成圖像分析;再運(yùn)用模式識別技術(shù)對輪廓圖像識別的特征進(jìn)行分類整理;最后,通過圖像處理軟件完成對數(shù)字圖像的識別與判斷,從而得到檢測所需要的信息,并根據(jù)已知的參考標(biāo)準(zhǔn),自動識別被測目標(biāo)是否符合要求。
2 輪廓邊緣檢測
機(jī)器視覺檢測中平面輪廓圖元識別的關(guān)鍵是,如何將圖像中含有的機(jī)械零件尺寸邊緣輪廓簡便快速的識別出來。邊緣檢測就是判別并定位圖像上像素強(qiáng)度突變的不連續(xù)點(diǎn),這些像素強(qiáng)度值的突變點(diǎn)就是物體相對于背景的邊界。邊緣檢測是用邊緣點(diǎn)勾畫出各個對象的輪廓,為了能識別圖像特征,可通過檢測圖像中待檢物體與背景間的交界線,以實(shí)現(xiàn)分割圖像的目的。
由于待檢物體圖像邊緣包含了大量的物體特征信息,邊緣檢測的結(jié)果直接影響圖像分割的效果和輪廓識別的性能,所以對圖像邊緣檢測進(jìn)行研究對視覺檢測技術(shù)至關(guān)重要。
3 圖像輪廓邊緣檢測算法
圖像邊緣特征提取是邊緣檢測中非常重要的一個過程,邊緣檢測一般有四個步驟,其實(shí)質(zhì)是采用某種算法來提取出圖像中對象與背景間的交界線。但是迄今為止對于邊緣提取中圖像識別的可靠性、精度及速度問題,還沒有一種通用的邊緣檢測算法。
3.1 一階邊緣檢測
梯度是函數(shù)變化的一種度量,一階微分法是利用一階導(dǎo)數(shù)算子來計算圖像灰度梯度值的方法。一幅二維圖像可認(rèn)為是圖像強(qiáng)度連續(xù)函數(shù)的取樣點(diǎn)陣列,邊緣檢測就是檢測圖像局部顯著變化的運(yùn)算,因此,可用梯度的離散逼近函數(shù)來檢測圖像灰度值。
一階算子常見的有Roberts算子、 Prewitt算子和Sobel算子,這些算子的不同之處在于對近似計算圖像的水平和垂直梯度分量時分別使用兩個模板組合構(gòu)成一個梯度算子。由于模板大小和系數(shù)值不同,又可構(gòu)成不同的模板算子。
Roberts算子是在2×2的鄰域上計算對角導(dǎo)數(shù),該算子是利用局部差分尋找邊緣,由于其計算鄰域2×2太小,所以抗噪聲能力較差且檢測的邊緣不具有連續(xù)性。
Prewitt算子是用每一點(diǎn)與其模板做卷積,將得到的最大值賦給與待檢測區(qū)域相似度最高的樣板,再以此最大值作為算子輸出值,即可得到圖像邊緣檢測結(jié)果。Prewitt算子具有平滑噪聲的作用,能檢測出比較精確的邊緣信息,但也容易檢測出偽邊緣,所以邊緣定位精度不高。
Sobel算子是根據(jù)一階微分在邊緣點(diǎn)處達(dá)到極值來進(jìn)行邊緣檢測,其實(shí)現(xiàn)要對目標(biāo)圖像中的任何一個像素的上、下、左、右各個方向上的鄰域都進(jìn)行灰度值加權(quán)求和運(yùn)算,該算子是將方向差分運(yùn)算與局部平均相結(jié)合的方法。Sobel算子也具有平滑噪聲的作用,當(dāng)所使用的模板較大時,抗噪效果更好,但其缺點(diǎn)是增加了計算量,得到的檢測邊緣也比較粗。在局部平均的影響下,也會檢測出許多偽邊緣,這樣就降低了檢測邊緣定位精度。當(dāng)視覺檢測對精度要求不是很高時,該算子是一種較為常用的邊緣檢測方法。
3.2 二階邊緣檢測
一階算子的抗噪聲能力很差,特別是脈沖噪聲在噪聲像素點(diǎn)附近的梯度幅值很大時,很容易將噪聲誤檢測為邊緣。一種在理論上更有效的方法是求圖像梯度二階導(dǎo)數(shù)的過零點(diǎn)。二階導(dǎo)數(shù)的零交叉點(diǎn)就是一階導(dǎo)數(shù)的局部最大值,可通過找二階導(dǎo)數(shù)的零交叉點(diǎn)檢測出更精確的圖像邊緣。
經(jīng)典二階微分邊緣檢測算子主要有Laplace和LOG算子等。
Laplace算子是一種考慮到圖像邊緣方向的二階導(dǎo)數(shù)算子,該算子具有旋轉(zhuǎn)不變形以及各向同性的性質(zhì)。Laplace算子通過找二階導(dǎo)數(shù)的零交叉點(diǎn)來求取邊緣,確定過零點(diǎn)比確定極值點(diǎn)的位置要容易,可以檢測出更多的邊緣信息避免偽邊緣的出現(xiàn),故而比較精確,但是對噪聲卻更為敏感。由于對噪聲的強(qiáng)響應(yīng),使噪聲放大,常產(chǎn)生雙像素寬的邊緣,所以Laplace算子很少直接用于圖像的邊緣檢測中。
LOG算子是針對Laplace算子對噪聲比較敏感而提出的,該算子同時利用了高斯濾波和拉普拉斯算子的特性,首先用高斯函數(shù)對采集到的原始圖像進(jìn)行平滑去噪,再用Laplace算子求取二階導(dǎo)數(shù)的零交叉點(diǎn),該交叉點(diǎn)就是圖像的輪廓邊緣。LOG算子很好的解決了頻域最優(yōu)化和空域最優(yōu)化之間的矛盾,Laplace算子是最低階各向同性的微分算子,這使LOG算子在過零點(diǎn)檢測中具有各向同性的特點(diǎn),可以減輕方向性帶來的計算負(fù)擔(dān),使邊緣檢測的計算量減少。
4 結(jié)束語
本文對機(jī)器視覺檢測的原理及圖像處理中平面輪廓圖元識別進(jìn)行研究,重點(diǎn)討論了實(shí)現(xiàn)邊緣檢測幾種常見的算法,邊緣檢測的目標(biāo)是能夠更準(zhǔn)確,更連續(xù),更清晰的找到邊緣點(diǎn),針對不同的檢測條件和要求,選擇合適的算子來進(jìn)行邊緣檢測,這是視覺檢測領(lǐng)域研究的主要方向。
參考文獻(xiàn):
[1]甘金來.圖像邊緣檢測算法的比較研究[D].成都.電子科技大學(xué),2005.
[2]李婭婭,李志潔等.圖像邊緣檢測算法的比較與實(shí)現(xiàn)[J].計算機(jī)工程與設(shè)計,2010,31(09).
[3]楊雪.機(jī)器視覺中圖像檢測算法的研究與應(yīng)用[D].無錫:江南大學(xué),2013.
作者簡介:楊昆明(1987-),男,陜西西安人,碩士,助教,主要研究方向:機(jī)器視覺檢測、先進(jìn)制造技術(shù)。