摘 要: 為實(shí)現(xiàn)快速非接觸式的板件形位測(cè)量,提出了一種基于機(jī)器視覺的測(cè)量方法,將機(jī)器視覺技術(shù)應(yīng)用到機(jī)械加工中。基于機(jī)器視覺的板件形位測(cè)量利用工業(yè)攝像機(jī)獲取工件圖像,經(jīng)過圖像濾波和圖像分割后提取工件角點(diǎn),匹配左右相機(jī)中的角點(diǎn),從而得到角點(diǎn)的三維坐標(biāo),并且采用直線擬合的方法擬合工件邊緣、計(jì)算直線斜率,得到工件的旋轉(zhuǎn)角度。
關(guān)鍵詞: 機(jī)器視覺; 圖像濾波; 圖像分割; 角點(diǎn)提取; 直線擬合
目前,數(shù)控加工中多采用人工手動(dòng)對(duì)刀,其效率較低。若采用機(jī)器視覺技術(shù)代替人工操作,則可大大提高自動(dòng)化水平[1]。運(yùn)用機(jī)器視覺技術(shù)獲取工件上特征點(diǎn)(如角點(diǎn))在攝像機(jī)坐標(biāo)系下的三維坐標(biāo),后續(xù)經(jīng)過攝像機(jī)與刀頭的“手—眼”標(biāo)定[2],就能將其轉(zhuǎn)換為機(jī)床坐標(biāo)系下的三維坐標(biāo),從而達(dá)到自動(dòng)對(duì)刀的效果。在板件切割時(shí),由于擺放的原因,需要人工校正板件位置,即使板件一邊與機(jī)床坐標(biāo)軸對(duì)齊以免因板件旋轉(zhuǎn)而發(fā)生加工錯(cuò)誤,但這往往要耗費(fèi)大量的時(shí)間。使用機(jī)器視覺技術(shù)測(cè)量板件的旋轉(zhuǎn)角度,將數(shù)控加工代碼依照該角度進(jìn)行旋轉(zhuǎn)變換,就省去了人工校正環(huán)節(jié),節(jié)約了大量時(shí)間。
基于機(jī)器視覺的板件形位測(cè)量涉及攝像機(jī)標(biāo)定、圖像濾波、圖像分割、角點(diǎn)提取和直線擬合。圖像濾波有均值濾波[3]、中值濾波[4]、高斯濾波[5]和雙邊濾波[6]等。其中雙邊濾波能較好地保留邊緣,有利于板件形位的測(cè)量。圖像分割主要有基于閾值的分割方法、基于區(qū)域的分割方法、基于邊緣的分割方法以及基于特定理論的分割方法等,其中基于閾值的分割方法[7]根據(jù)圖像灰度的變化將圖像分為計(jì)算簡單和運(yùn)算效率高兩個(gè)部分。角點(diǎn)檢測(cè)方法有Moravec角點(diǎn)檢測(cè)[8]、Harris角點(diǎn)檢測(cè)[9]和SUSAN角點(diǎn)檢測(cè)[10]等。本文采用在Harris角點(diǎn)檢測(cè)方法基礎(chǔ)上改進(jìn)的Shi-Tomasi角點(diǎn)測(cè)量[11]方法,其效果優(yōu)于Harris方法。在很多情況下,檢測(cè)出的板件角點(diǎn)并不是兩邊的交點(diǎn),若使用兩角點(diǎn)的連線計(jì)算板件的尺寸和旋轉(zhuǎn)角度將帶來較大的誤差,因此本文提出一種基于最小二乘直線擬合板件邊緣的方法對(duì)板件的尺寸及旋轉(zhuǎn)角度進(jìn)行測(cè)量。
1 攝像機(jī)標(biāo)定
1.1 立體視覺模型
雙目立體視覺系統(tǒng)是模擬人眼的立體成像技術(shù),通過對(duì)左右攝像機(jī)拍攝到的圖像進(jìn)行匹配,使用三角形相似原理獲取實(shí)際物體的景深信息。雙目視覺系統(tǒng)模型如圖1所示。
其中,點(diǎn)P是實(shí)際被測(cè)物表面上一點(diǎn),其坐標(biāo)為P(X,Y,Z)。兩光心間的距離為基線長度T,其與點(diǎn)P在兩像平面的交點(diǎn)為p1(x1、y1)、pr(xr、yr),由于該模型為經(jīng)圖像矯正后的理想模型,因此p1和pr在同一水平線上。根據(jù)三角形相似原理可得:
其中,d為像素的物理長度;(cx,cy)為光心在圖像上的像素位置;f為攝像機(jī)的焦距。由式(1)~式(3)可得:
因此,需要對(duì)攝像機(jī)進(jìn)行標(biāo)定,得出攝像機(jī)的有關(guān)參數(shù),才能對(duì)實(shí)際物體進(jìn)行測(cè)量。
1.2 基于OpenCV的攝像機(jī)標(biāo)定
攝像機(jī)標(biāo)定的目的在于獲取攝像機(jī)的內(nèi)、外參數(shù)及其畸變量。在雙目立體視覺中,除了攝像機(jī)的標(biāo)定外,還應(yīng)進(jìn)行立體標(biāo)定,獲取兩個(gè)攝像機(jī)的相對(duì)位置關(guān)系。使用OpenCV庫函數(shù)的標(biāo)定方法,實(shí)際上是采用張正友標(biāo)定法[12]。張正友標(biāo)定法是一種基于二維平面模板的標(biāo)定方法,常用的有棋盤格標(biāo)定法。用攝像機(jī)拍攝多個(gè)不同位置的模板,通過模板上的特征點(diǎn)與其圖像的單應(yīng)性來確定攝像機(jī)的內(nèi)、外參數(shù)。
本文采用一塊12×8的棋盤進(jìn)行相機(jī)標(biāo)定,使用VC++6.0和OpenCV函數(shù)庫中的函數(shù)cvStereoCalibrate()編寫標(biāo)定程序。cvStereoCalibrate()函數(shù)可一次性標(biāo)定出左右相機(jī)內(nèi)參與畸變以及左右相機(jī)間的旋轉(zhuǎn)矩陣R和平移矩陣T。經(jīng)過多次試驗(yàn),標(biāo)定結(jié)果如表1所示。
兩相機(jī)間旋轉(zhuǎn)矩陣R和平移矩陣T為:
R= 0.971 32 0.003 7 0.237 75-0.002 44 0.999 98 -0.005 61-0.237 78 0.004 87 0.971 31
T=-337.933 88 0.771 76 38.346 99
2 板件形位測(cè)量系統(tǒng)
基于機(jī)器視覺的板件形位測(cè)量系統(tǒng)包含了圖像預(yù)處理、角點(diǎn)提取和直線擬合等技術(shù),其流程如圖2所示。
2.1 圖像預(yù)處理
在實(shí)際工業(yè)環(huán)境中,由攝像機(jī)拍攝獲取的圖像必然夾雜著許多干擾因素,如噪聲點(diǎn)和背景環(huán)境等帶來的影響,而所處理的是感興趣的部位(即工件本身),所以要對(duì)圖像進(jìn)行預(yù)處理去除干擾因素。
2.1.1 雙邊濾波
在圖像處理中的均值濾波和高斯濾波模糊了圖像中的邊界,而中值濾波和雙邊濾波能夠較好地保存圖像中的邊界信息。由于本文處理的是板型工件的形位信息,必然要獲取較為準(zhǔn)確的邊界信息,因此選擇雙邊濾波進(jìn)行處理。
雙邊濾波依據(jù)每個(gè)像素及其領(lǐng)域構(gòu)造一個(gè)加權(quán)評(píng)價(jià)值,加權(quán)計(jì)算包括兩個(gè)部分,第一部分加權(quán)方式與高斯濾波相同,第二部分是基于其他像素與中心像素的亮度差值的加權(quán)。這里的中心像素指的是濾波器模板窗口的中心,其他像素指的是模板窗口中非中心點(diǎn)的其他像素。
常用BF作為雙邊濾波的符號(hào),其定義為:
其中,I表示處理的圖像,p表示圖像中一點(diǎn),q表示以p為中心的領(lǐng)域中一點(diǎn),S表示該領(lǐng)域,G是雙邊濾波器的空間鄰近函數(shù),G是灰度相似度函數(shù)。
其中, d(p,q)表示兩像素點(diǎn)在歐式空間的距離; ?啄(I(p),
I(q))表示兩像素的亮度差;?滓d、?滓r均是高斯函數(shù)的標(biāo)準(zhǔn)差,其數(shù)值決定了雙邊濾波的性能。
2.1.2 閾值分割
利用雙目視覺對(duì)板件行位進(jìn)行測(cè)量,圖像背景是一個(gè)最大的干擾,因此必須對(duì)分割圖像取出感興趣的工件部分。本文采用基于閾值的分割方法中的最大類間方差法,又稱大津法。
在使用大津法前,先拍攝記錄一張背景圖像,在圖像預(yù)處理時(shí),將每次拍攝的圖像與背景圖像相減(圖像對(duì)應(yīng)像素的灰度值相減),由于有光照,工件表面較亮,相減后圖像中背景的灰度值將總體變暗。使用這樣的方法能初步分割出工件與背景,如圖3所示。
最大類間方差法是由日本學(xué)者OTSU N在1979年提出的一種全局閾值方法。其原理是根據(jù)圖像的灰度直方圖取某一閾值將圖像分為兩個(gè)部分,每個(gè)部分的灰度值為一組,計(jì)算這兩組間灰度方差,將最大方差所對(duì)應(yīng)的閾值設(shè)為最終閾值,從而將圖像分為兩個(gè)部分。
經(jīng)過大津閾值分割后的效果如圖4所示。
2.2 Shi-Tomasi角點(diǎn)提取
在板件形位測(cè)量中確定板件的角點(diǎn)不可缺少,有了各角點(diǎn)的坐標(biāo)就能確定板件的形狀及位置。在雙目視覺中,匹配左右圖像中的角點(diǎn),就能獲取實(shí)際物體角點(diǎn)坐標(biāo)。Shi-Tomasi算法是Shi和Tomasi在Harris算法的基礎(chǔ)上提出的。Harris算法的基本思想是利用高斯模板窗口觀察圖像特征,沿x和y方向移動(dòng)該模板,若各個(gè)方向上灰度變化不大,則視為圖像的平坦區(qū)域;若只有一個(gè)方向灰度變化明顯,則視為邊緣區(qū)域;若各個(gè)方向上的灰度變化都很明顯, 則視為角點(diǎn)。
Harris算法定義圖像灰度的二階導(dǎo)數(shù),模板窗口圖像的二階導(dǎo)數(shù)的自相關(guān)矩陣定義為:
計(jì)算式(8)矩陣的特征值?姿1和?姿2,Shi-Tomasi通過給定閾值?姿,根據(jù)min(?姿1,?姿2)>?姿來判斷是否為角點(diǎn)。許多情況下,Shi-Tomasi算法比Harris算法的效果更好。
由于工件表面紋理等因素,直接在整幅圖像中尋找角點(diǎn)比較耗時(shí),而且存在大量偽角點(diǎn),因此本文使用人工粗略選擇角點(diǎn)存在區(qū)域,對(duì)小區(qū)域進(jìn)行角點(diǎn)檢測(cè),效果如圖5所示。
圖5中,白色圓圈的中心即為檢測(cè)出的角點(diǎn)位置,但是在右下角位置出現(xiàn)了兩個(gè)角點(diǎn),即有一個(gè)為偽角點(diǎn),必須將其剔除。根據(jù)板件多為矩形的特點(diǎn),選擇各方向的極值點(diǎn)作為工件角點(diǎn),剔除落在工件內(nèi)部的偽角點(diǎn)。
2.3 基于直線擬合的工件尺寸及旋轉(zhuǎn)角度測(cè)量
前面討論了角點(diǎn)提取,求取工件實(shí)際角點(diǎn)坐標(biāo),但在測(cè)量工件實(shí)際尺寸或是用兩個(gè)角點(diǎn)的連線的斜率測(cè)量工件旋轉(zhuǎn)的角度時(shí),往往會(huì)有較大的偏差。如圖6所示,圖中黑色代表背景像素,白色邊緣代表工件的某個(gè)角點(diǎn)。根據(jù)經(jīng)驗(yàn),工件角點(diǎn)處在圖像上反映出的往往不是一個(gè)直角,因此直接連接兩個(gè)角點(diǎn)的直線距離往往比實(shí)際距離小。但如果使用邊來測(cè)量,邊上沒有特征點(diǎn)能夠匹配,因此本文采用直線擬合的方法擬合出工件各邊,可用各邊角點(diǎn)間的距離衡量工件尺寸,也可用擬合出的直線斜率表示工件的旋轉(zhuǎn)。
在圖像中采用二維平面的直線擬合即可,在工件的各邊取若干點(diǎn)分別擬合。假設(shè)擬合直線f(x)=ax+b,采用最小二乘的方法,即計(jì)算每點(diǎn)與擬合直線的偏差M的最小值。
得出斜率a和截距b就確定了一條直線,將相鄰邊擬合出的直線求交,如圖7所示。
圖7中,線段為擬合出的板件邊緣,可以看出采用直線擬合工件邊緣的方法可以彌補(bǔ)工件邊角在圖像上不是直角的缺陷。
3 實(shí)驗(yàn)結(jié)果及分析
3.1 實(shí)驗(yàn)器材及步驟
本實(shí)驗(yàn)采用1臺(tái)明基MP515投影儀、2個(gè)維視MV-1303UM工業(yè)攝像頭和1臺(tái)PC。測(cè)量對(duì)象為一塊方形大理石,其尺寸如表2所示。
實(shí)驗(yàn)步驟:(1)打開攝像機(jī);(2)拍攝圖像并校正;(3)圖像濾波及分割;(4)鼠標(biāo)點(diǎn)選待處理區(qū)域;(5)計(jì)算大理石尺寸及旋轉(zhuǎn)角度。
3.2 實(shí)驗(yàn)數(shù)據(jù)及分析
采用直線擬合測(cè)得各角點(diǎn)的三維坐標(biāo)如表3所示。從表3可以發(fā)現(xiàn),各個(gè)角點(diǎn)的Z坐標(biāo)差別較大,這是由于大理石的各個(gè)角實(shí)際是個(gè)小圓弧,而由圖7可知,擬合出的角點(diǎn)都在物體外,因此取XY平面的坐標(biāo)計(jì)算大理石尺寸,如表4所示。
由于實(shí)驗(yàn)時(shí)沒有絕對(duì)的平臺(tái)作為參照,因此測(cè)量大理石底邊和左邊的斜率,間接得出左下角角度與實(shí)際測(cè)量角度對(duì)照的方法來衡量旋轉(zhuǎn)測(cè)量的精度。實(shí)驗(yàn)測(cè)得底邊斜率kb=0.017,左邊斜率k1=-34.711,通過計(jì)算可以得到其夾角為90.7°,而實(shí)際測(cè)得大理石左下角為90.5°。由以上實(shí)驗(yàn)結(jié)果可得,板件邊長尺寸的測(cè)量精度在0.5 mm以內(nèi),角度測(cè)量精度在0.5°以內(nèi)。
本文提出一種基于機(jī)器視覺的板件形位測(cè)量方法,采用最小二乘直線擬合板件邊緣的方法測(cè)量板件尺寸及旋轉(zhuǎn)角度。該方法通過雙邊濾波和最大類間方差閾值法對(duì)圖像進(jìn)行預(yù)處理。使用Shi-Tomasi角點(diǎn)檢測(cè)法提取板件角點(diǎn)可定位板件角點(diǎn)位置,獲取若干邊緣點(diǎn)擬合直線,通過各擬合直線交點(diǎn)間的距離計(jì)算板件尺寸,使用擬合直線的斜率計(jì)算板件旋轉(zhuǎn)角度。實(shí)驗(yàn)結(jié)果表明,該方法簡單可行。今后將著力于更高精度測(cè)量的研究。
參考文獻(xiàn)
[1] 李明超. 基于OpenCV的機(jī)器人雙目手眼標(biāo)定系統(tǒng)的研究與實(shí)現(xiàn)[D]. 青島:山東科技大學(xué), 2012.
[2] 孟偲, 王田苗, 丑武勝. 基于手眼視覺的測(cè)量與定位方法的研究與實(shí)現(xiàn)[J]. 中國空間科學(xué)技術(shù), 2002,12(6): 18-25.
[3] Wang Chunmei, Li Tianyi. An improved adaptive medianfilter for image denoising[C]. 2010 3rd International Con-ference on Computer and Electrical Engineering, Sichuan, China, 2012,53(2):64.
[4] HUANG H C, LEE T C M. Data adaptive median filters for signal and image denoising using a generalized SURE criterion[C].IEEE Transactions on Image Processing Letters.2006,13(9):561-564.
[5] 李慧芬, 蔣向前, 李柱. 高斯濾波穩(wěn)健性能的研究與改進(jìn)[J]. 儀器儀表學(xué)報(bào), 2004,25(5):633-637.
[6] ELAD M. On the origin of the bilateral filter and ways to improve it[C]. IEEE Transactions on Image Processing,
2002,10(11):1141-1151.
[7] OTSU N. A threshold selection method from graylevel his- tograms[J]. IEEE Transactions on Systems, Man, andCybernetics,1979,9(1):62-66.
[8] MORAVEC H P. Towards automatic visual obstacle avoid-ance[C]. Proceedings of International Joint Conference On Artificial Intelligence, Cambridge, MA,USA,1977:584-590.
[9] 唐爍,繆源. 基于Harris角點(diǎn)的圖像匹配算法[J]. 微機(jī)與應(yīng)用,2013,32(2):41-43.
[10] 邵澤明, 朱劍英, 王化明. 基于SUSAN算法的分層快速角點(diǎn)檢測(cè)[J].華南理工大學(xué)學(xué)報(bào)(自然科學(xué)版),2006, 34(7):65-68.
[11] Shi Jianbo, TOMASI C. Good features to track[C]. IEEEConference On Computer Vision and Pattern Recognition, 1994:593-600.
[12] Zhang Zhengyou. A flexible camera calibration by viewinga plane from unknown orientations[C]. IEEE InternationaConference on Computer Vision, 1999:666-673.