丁哲文,張 瑞,,朱振偉,,趙華東,,劉丙康
(1.鄭州大學(xué)機械與動力工程學(xué)院,鄭州 450001;2.河南省智能制造研究院,鄭州 450066)
圓度誤差是判斷機械零件質(zhì)量的重要參數(shù)之一,會直接影響零件的互換性、旋轉(zhuǎn)精度、摩擦性及使用壽命等,甚至?xí)绊懙疆a(chǎn)品的使用壽命以及功能的實現(xiàn)。因次,快速、準(zhǔn)確的評定圓度誤差是檢驗圓形零件加工質(zhì)量的重要標(biāo)準(zhǔn)之一。
目前,大部分制造廠商仍在采用接觸式測量方法測量圓度誤差,例如使用輪廓儀、三坐標(biāo)測量機等測量工具,這些方法能夠確保較高的測量精度,但成本高且對環(huán)境要求較高[1]。相比之下,機器視覺測量具有速度快、無損檢測、可在線測量等優(yōu)點。金守峰等[2]使用改進Zernike亞像素邊緣檢測獲得邊緣點,并使用最小二乘法評定圓度;吳德剛等[3]采用模糊遺傳邊緣檢測獲取邊緣特征,并使用插值圓度檢測算法測量出圓孔的半徑等參數(shù);朱丹丹等[4]使用Zernike算子定位邊緣,并使用3準(zhǔn)則剔除粗大噪聲,然后利用最小二乘法評定圓度,其測量重復(fù)精度為9.6 μm。索振鵬等[5]利用灰度梯度邊緣檢測獲取邊緣后,使用最小二乘法計算圓度誤差。韓宗旺等[6]對工件輪廓進行三維重構(gòu),提出一種自適應(yīng)搜索逼近法評定圓度,其測量值與三坐標(biāo)測量儀的平均有7.6 μm的誤差。
傳統(tǒng)的人工接觸式方法用于小型零件圓度檢測存在諸多問題,包括效率低、精度低、無法實時檢測等問題。此外,現(xiàn)有研究中存在提取邊緣特征的方法耗時長、計算量大,圓度評定方法精度低且原理不符合國際標(biāo)準(zhǔn)的最小條件等問題。為解決這些問題,本文提出了一種基于機器視覺的小型零件圓度測量方法。采用8鄰域擴張算法劃分感興趣區(qū)域(region of interest,ROI),并結(jié)合多項式插值亞像素檢測算法實現(xiàn)對小型零件邊緣的精準(zhǔn)定位,縮短計算時間,提高定位精度。在此基礎(chǔ)上,結(jié)合改進區(qū)域搜索算法和最小區(qū)域法的幾何結(jié)構(gòu),用于測量圓度誤差,從而提高圓度誤差測量的準(zhǔn)確度。
在視覺檢測過程中,邊緣檢測是決定測量精度的關(guān)鍵因素之一。
常用的一階邊緣檢測算子中,Canny算子因其抗干擾能力強、檢測精度高而被應(yīng)用廣泛。本文采用Canny算子對待測零件的邊緣進行初步定位,并以此邊緣為基準(zhǔn)進行8鄰域擴張,將鄰域范圍內(nèi)的像素點劃定為感興趣區(qū)域(ROI)。圖1a為Canny算子檢測出來的邊緣,圖1b展示了8鄰域擴張后的ROI,之后進行亞像素邊緣檢測時只計算ROI內(nèi)的像素點。這種方法可以顯著減少計算時間,提高檢測效率。

(a) Canny邊緣 (b) 8鄰域擴張
隨著工業(yè)的快速發(fā)展,邊緣檢測要求的精度也不斷提高,受到硬件限制的像素級已經(jīng)無法滿足高精度測量的需求,因此提出了不受像素尺寸大小影響的亞像素邊緣檢測。目前亞像素檢測主要分為插值法、擬合法和矩方法3類[7]。在達(dá)到相同的精度下,插值法計算速度快,且對任意窗口尺寸都適用。本文采用多項式插值法進行亞像素邊緣檢測[8]。
二次多項式插值法原理為:
對相鄰3點(x0,y0)、(x1,y1)、(x2,y2),滿足y0 (1) 式中:f(x)為插值函數(shù)。 (2) (3) 設(shè)邊緣像素的梯度幅值函數(shù)為R(x,y)。如圖2所示,R1、R-1、R0分別代表點M、N、O的梯度幅值。幅值最大的O點會被Canny算子檢測為邊緣點,但實際上在O點和M點之間存在P點,它的梯度幅值Rp大于其它點,因此P點能更適合表示邊緣。 圖2 相鄰三點梯度幅值 對邊緣點O(x0,y0)進行二次多項式插值,獲得亞像素邊緣點坐標(biāo)P(xp,yp): (4) 式中:D為相鄰像素點到像素點的距離,θ為梯度方向與X軸正向夾角。該算法定義了8個方向模板,0°、45°、90°、135°、180°、225°、270°、315°、360°分別為模板的方向表示為圖片實際邊緣方向,順著模板方向順時針轉(zhuǎn)90°為梯度方向。 算法流程為: 步驟1:ROI區(qū)域中的像素點與8個方向的模板進行卷積計算; 步驟2:卷積計算結(jié)果絕對值最大的值為該點的梯度幅值R0,并將對應(yīng)模板的方向順時針旋轉(zhuǎn)90°獲得梯度方向; 步驟3:沿著該點的梯度方向找到相鄰點M和N,并計算兩點梯度幅值,設(shè)為R-1和R1,根據(jù)R>R-1且R>R1進行判斷,若滿足條件則帶入式(4)計算亞像素坐標(biāo),否則跳過。 圓度誤差評定方法主要有4種,分別為:最小二乘法、最小外接圓法、最大內(nèi)接圓法和最小區(qū)域法[9-10]。其中,最小二乘法是應(yīng)用最為廣泛的方法,但不滿足國際標(biāo)準(zhǔn)定義的最小條件。最小外接圓法和最大外接圓法在確定輪廓的外接圓和內(nèi)接圓時可能存在多個解,因此應(yīng)用不便。最小區(qū)域法符合標(biāo)準(zhǔn)定義的最小條件,但屬于無約束非線性化問題,難以直接求解[11]。本文針對小型零件的圓度評定,提出了一種通過改進區(qū)域搜索算法和最小區(qū)域法的幾何結(jié)構(gòu)相結(jié)合的方法。首先,利用最小二乘法擬合圓,將以最小二乘圓圓心為圓心,最小二乘圓度誤差為半徑的圓設(shè)為初始搜索區(qū)域,進行迭代,獲得準(zhǔn)圓心。接下來,利用最小區(qū)域法“2+2”幾何結(jié)構(gòu)和準(zhǔn)圓心確定同心圓的內(nèi)圓和外圓各兩個點。最終,求解出圓度誤差。 圓度誤差為實際輪廓兩個最小同心圓的半徑之差,計算公式為: (5) 式中:(x0,y0)為最小區(qū)域圓心坐標(biāo),(xi,yi)為采樣數(shù)據(jù)點,fmax為采樣數(shù)據(jù)點到圓心的最大距離,fmin為采樣數(shù)據(jù)點到圓心的最小距離,e為圓度誤差。 最小區(qū)域法的幾何結(jié)構(gòu)為“2+2”形式[12-13]。該結(jié)構(gòu)由采樣點中4個非共線點決定,其中兩個點位于同心圓外圓上,另外兩個點位于內(nèi)圓上,并且它們以最小的半徑差值包圍了所有的采樣點。此外,外圓兩點形成的線段和內(nèi)圓兩點形成的線段滿足相交條件[14]。圖3中P1(x1,y1)、P2(x2,y2)為外圓控制點,P3(x3,y3)、P4(x4,y4)為內(nèi)圓控制點。由幾何關(guān)系得,最小區(qū)域圓心O(x0,y0)為外圓控制點與內(nèi)圓控制點連線的中垂線交點。 圖3 “2+2”幾何結(jié)構(gòu) 線段P1P2中垂線公式為: (x-x1)2+(y-y1)2=(x-x2)2+(y-y2)2 (6) 同理,線段P3P4中垂線式為: (x-x3)2+(y-y3)2=(x-x4)2+(y-y4)2 (7) 聯(lián)立式(6)~式(7),可得到4個控制點確定的最小區(qū)域圓心O(x0,y0),內(nèi)圓半徑Ri,外圓半徑Ro分別為: (8) (9) (10) 步驟1:通過最小二乘法[15]: (11) (12) 式中:n為數(shù)據(jù)點總數(shù),(xi,yi)為樣本數(shù)據(jù)點。 (13) 根據(jù)式(12)求出a、b、c后,根據(jù)式(13)獲得最小二乘圓圓心Olsm(xlsm,ylsm)和半徑rlsm。由式(5)獲得初始圓度誤差e0。 步驟2:將以O(shè)lsm(xlsm,ylsm)為搜索中心Os(xs,ys),e0為半徑R的圓設(shè)為圓形搜索區(qū)域,并將圓n等分,獲得搜索點Pj,其坐標(biāo)由式(14)獲得; (14) 式中:(xs,ys)為當(dāng)前搜索區(qū)域圓心,(xj,yj)為搜索點坐標(biāo),n為被等分?jǐn)?shù)量。 步驟3:根據(jù)式(5)計算出搜索點的距離差值,并選出搜索點中最小距離差值enew,并記錄其坐標(biāo)(xnew,ynew)。如果搜索區(qū)域半徑R小于指定的迭代精度ε,則停止迭代,轉(zhuǎn)到步驟5。否則,進行下一步驟; 步驟4:如果enew≥e0,保持搜索中心Os不變,將R縮小10倍;如果enew 圖4 圓形搜索區(qū)域示意圖 步驟5:將迭代結(jié)束后的搜索中心Os設(shè)為準(zhǔn)圓心,計算采樣點到準(zhǔn)圓心的距離,并選取距離最大值,次大值和最小值的采樣點; 步驟6:將滿足相交條件的采樣點依次設(shè)為次近點,并根據(jù)式(5)和式(8),選出距離差值最小的采樣點為次近點; 步驟7:根據(jù)式(8)~式(10),計算同心圓的圓心、內(nèi)徑Ri和外徑Ro。并計算采樣點到圓心的最小距離dmin和最大距離dmax,若dmin 步驟8:計算圓心坐標(biāo)和圓度誤差值。 流程圖如圖5所示。 圖5 圓度誤差評定流程圖 為了驗證算法的可行性和準(zhǔn)確性,采用文獻(xiàn)[11]中圓度誤差為0.002 mm的14個數(shù)據(jù)點和文獻(xiàn)[10]中的39個數(shù)據(jù)點進行驗證,本文方法取迭代精度ε=0.000 001,n=12并分別與最小二乘法、區(qū)域搜索法進行對比,對比結(jié)果分別如表1和表2所示。 表1 對14個數(shù)據(jù)點的數(shù)據(jù)對比結(jié)果 (mm) 表2 對39個數(shù)據(jù)點的數(shù)據(jù)對比結(jié)果 (mm) 從表1可以看出,基于區(qū)域搜索的圓度誤差評定法比最小二乘法準(zhǔn)確性更高,但仍有一些誤差,并且該方法易受到步長和搜索方向的影響。通過本文方法測量得到的圓度誤差值為0.002 mm,與標(biāo)準(zhǔn)值一致,這表明本文方法能夠準(zhǔn)確的檢測的圓度誤差。從表2可以看出本文方法求解出來的圓度誤差值0.008 537 47 mm相較于其它方法更小。 為了獲得小型零件圖像,建立了一個小型零件圓度測量系統(tǒng),如圖6所示,該系統(tǒng)主要包括工業(yè)相機、遠(yuǎn)心鏡頭、光源等。為滿足檢測需求,選用分辨率5472×3648的CCD工業(yè)相機,以獲得高品質(zhì)圖像。光源采用LED背光光源,可以減少環(huán)境光線對采集圖像的影響,并突出檢測目標(biāo)的輪廓邊緣。系統(tǒng)的部分設(shè)備參數(shù)如表3所示。待測零件是外徑環(huán)規(guī)。圖7展示了外徑環(huán)規(guī)圖像,其中圖7a為外徑環(huán)規(guī),圖7b為工業(yè)相機拍攝的背光圖像原圖。在檢測過程中,通過工業(yè)相機獲取外徑環(huán)規(guī)圖像,實時傳輸?shù)接嬎銠C進行處理。 表3 部分設(shè)備參數(shù) 圖6 小型零件圓度測量系統(tǒng) (a) 外徑環(huán)規(guī) (b) 背光圖像原圖 相機獲得的圖像以像素為單位,若想獲得零件的實際圓度誤差,需要確定每個像素所代表的物理尺寸。通過相機采集20張左右在不同位姿下的圓形標(biāo)定板圖像后,利用張定友標(biāo)定法,獲得相機內(nèi)參、畸變系數(shù)和圓心坐標(biāo)等參數(shù)后,進行畸變矯正并求出像素當(dāng)量k=0.008 755 mm/piexl。 圖像矯正完成后,進行灰度化、引導(dǎo)濾波去除噪聲以及基于Ostu的二值化閾值分割等預(yù)處理操作。圖8和圖9分別為濾波后的圖像和二值化圖像。 圖8 濾波圖像 為驗證本文提出的測量方法的重復(fù)性和準(zhǔn)確性,將外徑環(huán)規(guī)的外圓作為檢測目標(biāo)。對外徑環(huán)規(guī)的外圓重復(fù)測量10次,并在圓度評定時分別使用最小二乘法、區(qū)域搜索法和本文方法進行對比。測量結(jié)果如圖10所示。 圖10 測量結(jié)果 由圖10和表4可以看出,本文方法的圓度測量結(jié)果平均值為38.4 μm,均方差為2.167 μm,均比區(qū)域搜索法和最小二乘法更小,并且重復(fù)精度為8.1 μm,說明本文方法測量的數(shù)據(jù)分布比較集中,波動小,重復(fù)性較好。 表4 測量結(jié)果對比 (μm) 針對小型零件圓度測量存在的問題,搭建了基于機器視覺的小型零件圓度測量系統(tǒng),通過Canny邊緣檢測、8領(lǐng)域算法劃定ROI、多項式插值亞像素邊緣檢測提高了邊緣定位的速度和精度。 提出了一種改進的圓度檢測方法,結(jié)合了改進區(qū)域搜索算法和最小區(qū)域法的幾何結(jié)構(gòu)。該方法對采樣點的分布沒有特殊要求,能夠有效測量的圓度誤差,克服了區(qū)域搜索法等算法無法找到最小區(qū)域圓心的缺點。此外,該方法對迭代精度、步長等參數(shù)要求不高,提高了測量結(jié)果的穩(wěn)定性。實驗結(jié)果表明:本文方法測量結(jié)果的準(zhǔn)確性相較于最小二乘法和區(qū)域搜索法有所提升,重復(fù)精度為8.1 μm,驗證了本文方法的有效性,能夠?qū)崿F(xiàn)小型零件的圓度誤差非接觸測量。

2 圓度誤差評定
2.1 最小區(qū)域法圓度誤差評定原理

2.2 評定步驟



2.3 圓度評定方法驗證


3 實驗分析
3.1 小型零件圓度測量系統(tǒng)



3.2 相機標(biāo)定和圖像預(yù)處理

3.3 圓度測量結(jié)果


4 結(jié)論