張磊+孫首群
摘要摘要:基于復(fù)雜腔體類鑄造零件機器視覺系統(tǒng)中的邊緣檢測問題,提出了一種改進的灰度矩亞像素邊緣檢測方法。提出了以模糊模型代替階躍模型,將誤差函數(shù)運用到矩方法的邊緣檢測算法。通過實驗對檢測精度和運行速度進行了對比,結(jié)果表明,改進的灰度矩邊緣檢測算法比傳統(tǒng)算子具有更高檢測定位精度和更快的速度,可滿足圖像目標高精度實時在線測量要求。
關(guān)鍵詞關(guān)鍵詞:機器視覺;邊緣檢測;亞像素;灰度矩;誤差函數(shù)
DOIDOI:10.11907/rjdk.162269
中圖分類號:TP317.4文獻標識碼:A文章編號文章編號:16727800(2017)001016604
引言
通訊零部件有許多復(fù)雜的腔體類鑄造零件,其邊緣打磨自動化已成為重要的研究方向。而鑄造零件尺寸在線高精度檢測至關(guān)重要,機器視覺檢測技術(shù)以其非接觸、精度高、自動化和智能化水平高等優(yōu)點逐漸成為機械加工領(lǐng)域中的自動化檢測方法。而邊緣檢測是機器視覺檢測技術(shù)的關(guān)鍵和基礎(chǔ),邊緣的定位精度直接影響到尺寸的檢測精度。
機器視覺檢測技術(shù)對復(fù)雜腔體進行邊緣檢測,在不改變工業(yè)相機像素的基礎(chǔ)上,提高檢測精度,需要運用亞像素級邊緣檢測方法。本文提出了將誤差函數(shù)運用到矩方法的亞像素邊緣檢測方法,然后將此方法與灰度矩和空間矩兩種常用的灰度矩方法進行對比。
1邊緣檢測算法
邊緣輪廓是零件的重要特征,為了檢測一個零件的邊緣,必須檢測零件圖像中亮度變化明顯的點(見圖1)。邊緣檢測是基于灰度突變來分割圖像的最常用方法,有許多方法用于邊緣檢測,如:Sobel算子、Kirsch算子和Prewitt算子,還有一些更為專業(yè)的邊緣檢測算法、Canny算子[1]、Log算子等,這些都是經(jīng)典的像素邊緣檢測算法。
然而有些場合需要研究更高精度的邊緣檢測算法,即亞像素邊緣檢測。亞像素邊緣檢測是在硬件條件一定的情況下,用軟件的方法來提高邊緣檢測精度,使邊緣定位精度達到亞像素級。目前研究的亞像素邊緣檢測算法,可以歸納為3種類型:擬合法、矩方法、插值法。
擬合法是通過對假設(shè)邊緣模型灰度值進行擬合來獲得亞像素邊緣定位。Nalwa提出的一種邊緣模型為雙曲線正切函數(shù)的最小二乘擬合算法、Ye提出的理想邊緣模型與高斯函數(shù)卷積得到的高斯型邊緣函數(shù)[2]。擬合方法對噪聲不敏感,但其模型復(fù)雜、求解速度慢。Tabatabai等[3]提出了一種利用前三階灰度矩對邊緣進行亞像素邊緣定位的算法后,基于空間矩、Zernike正交矩的方法也相繼被提出。矩方法的優(yōu)點是計算簡便,可以得到解析解,但對圖像噪聲敏感。插值法的核心是對像素點的灰度值或灰度值的導(dǎo)數(shù)進行插值,增加信息,實現(xiàn)亞像素邊緣檢測。研究比較多的方法有二次插值、β樣條插值和切比雪夫差值等。插值法的特點同基于矩的方法類似,計算過程簡單,但容易受到噪聲的影響。
矩方法是計算機視覺與模式識別中廣泛使用的方法。矩作為數(shù)學(xué)上的完備描述,相當于原函數(shù)在新的坐標空間上的展開,即一個分段連續(xù)有界函數(shù)可用矩唯一表示。根據(jù)被測目標的矩特性在成像前后保持不變的原理,可以將矩方法應(yīng)用到圖像目標的亞像素邊緣定位中。
灰度矩算法[3]由Tabatabai提出,利用前三階灰度矩對邊緣進行亞像素定位的邊緣檢測算法。其基本原理就是將圖像的實際邊緣灰度分布簡化為理想的階躍邊緣模型,即矩的不變性,來確定實際邊緣的位置。但是在受到大量噪聲的影響下,邊緣檢測的準確性會受到很大的影響。因此,對灰度矩算子改進的首要任務(wù)就是改進簡化的邊緣模型。
2邊緣模型
邊緣檢測是基于灰度突變來分割圖像的最常用方法,邊緣模型根據(jù)它們的灰度剖面進行分類。臺階邊緣是指在1個像素的距離上發(fā)生兩個灰度之間的理想過渡。例如,用于諸如固體建模和動畫領(lǐng)域出現(xiàn)的,在計算機生成的圖像中的臺階邊緣。這些清晰、理想的邊緣出現(xiàn)在1個像素的距離上,不需要提供任何使它們看上去“真實”的附加處理(如平滑)。在算法開發(fā)中,數(shù)字階躍邊緣常用于邊緣模型。f(x)=hx h+kx≥l (1)圖2階躍模型 實際中,數(shù)字圖像處理都存在被模糊且?guī)в性肼暤倪吘?,模糊程度主要取決于聚焦機理(如光學(xué)成像中的鏡頭)中的限制,而噪聲水平主要取決于成像系統(tǒng)的電子元件。在這種情況下,邊緣被建模為一個更接近灰度斜坡的剖面(見圖3),斜坡的斜度與邊緣的模糊程度成反比。在這一模型中,不再存在一條細的(1像素寬)軌跡。相反,一個邊緣點是斜坡中包含的任何點,而一條邊緣線段將是一組已連接起來的這些點。f(x)=h 4.1穩(wěn)定性 本文設(shè)計的實驗方法如下:選擇一塊邊緣區(qū)域,在此區(qū)域內(nèi)添加不同強度的白高斯噪聲,運用本文方法獲得一系列邊緣位置(見圖8),再分別在此區(qū)域內(nèi)運用灰度矩和空間矩算子,然后得到邊緣位置,并對這3種方法進行對比。本文得到的位置方差為1.5011e-4,灰度矩和空間矩的方差分別為6.5303e-4和0.008 3。接下來的實驗中,還是在此區(qū)域內(nèi),添加散斑噪聲,分別用3種方法檢測邊緣(見圖9)。本文方法得到的方差為6.6293e-5,灰度矩為1.4400e-4,空間矩為0.001 2。通過實驗方法可以得出本文方法,不管在高斯噪聲下,還是散斑噪聲下,測量結(jié)果都擁有更好的穩(wěn)定性和魯棒性。 4.2運行速度 在本實驗中,實驗所用的電腦配置為Intel Xeon CPU E3-1231 3.4GHz處理器,8GB內(nèi)存,64位操作系統(tǒng),運行OpenCV2.49進行圖像處理程序。對3種算法分別進行運行速度的實驗,測試區(qū)域為11×11像素大小的區(qū)域。本文方法測試的結(jié)果為101us,灰度矩和空間矩所需的時間分別為260us和310us。本文算法的運行速度優(yōu)于其它兩種算法。 表1運行速度算法改進灰度矩灰度矩空間矩白高斯噪聲方差1.5011e-46.5303e-40.008 3散斑噪聲方差6.6293e-51.4400e-40.0012平均速度(us)2462603105結(jié)語
本文以提高通訊零件邊緣檢測精度為目標,提出了將誤差函數(shù)與灰度矩算子相結(jié)合的一種新型亞像素邊緣檢測算法。本文通過誤差函數(shù)擬合邊緣模糊邊緣模型,獲得改進的邊緣檢測模型,然后運用灰度矩算法,獲得亞像素邊緣的位置。實驗結(jié)果表明,本文改進的灰度矩算法對測量結(jié)果擁有更好的穩(wěn)定性,對噪音影響擁有更強的魯棒性。在運行速度上,本文算法也擁有一些優(yōu)勢。因此,本文算法適合復(fù)雜腔體鑄造件的亞像素邊緣檢測的在線測量。
參考文獻:
[1]J CANNY.A computational approach to edge detection[J].IEEE Trans.Pattern Anal,1986,8(6):679698.
[2]E P LYVERS,O R MITCHELL.Precision edge contrast and orientation estimation[J]. IEEE Trans.Pattern Anal.Mach.Intell,1988,10(6):927937.
[3]A J TABATABAI,O R MITCHELL.Edge location to subpixel values in digital imagery[J].IEEE Trans.Pattern Anal.Mach.Intell,1986(2):188201.
[4]Q C SUN, Y Q HOU.A robust edge detection method with subpixel accuracy[J].Optik,2014(125):34493453.
[5]M HAGARA,P KULLA.Edge detection with subpixel accuracy based on approximation of edge with erf function[J].Radioengineering,2011,20(2):516524.
[6]張永宏,胡德金.基于灰度矩的CCD圖像亞像素邊緣檢測算法研究[J].光學(xué)技術(shù),2004,30(6):693695.
[7]伍濟鋼,賓鴻贊.薄片零件機器視覺圖像亞像素邊緣檢測[J].中國機械工程,2009(3):297300.
[8]王社陽,宋申民.改進的空間矩亞像素邊緣檢測算法[J].哈爾濱工業(yè)大學(xué)學(xué)報,2006,38(6):870872.
[9]徐曉剛,于金輝.復(fù)雜物體輪廓提取[J].中國圖象圖形學(xué)報,2001,6(5):455459.
[10]張富強,劉增力.基于圖像檢測的三種相似性檢測算法的比較[J].信息技術(shù),2016(7):2327.
[11]羅瑋,張榮福.基于圖像處理的鋼坯缺陷檢測研究[J].軟件導(dǎo)刊,2016,15(8):177179.
責任編輯(責任編輯:孫娟)