鐘佩思,夏 強(qiáng),劉 梅,孫雪顏,陳修龍,曹愛(ài)霞
(1.山東科技大學(xué)機(jī)械電子工程學(xué)院,青島 266590;2.山東科技大學(xué)先進(jìn)制造技術(shù)研究中心,青島 266590;3.青島黃海學(xué)院智能制造學(xué)院,青島 266427)
基于機(jī)器視覺(jué)的工件定位是自動(dòng)化生產(chǎn)線(xiàn)的重要過(guò)程,通過(guò)圖像處理與模式識(shí)別技術(shù)準(zhǔn)確、實(shí)時(shí)地識(shí)別出工件特征與位置,對(duì)提高工業(yè)生產(chǎn)率有重要的現(xiàn)實(shí)意義[1-2]。雙目視覺(jué)在視覺(jué)導(dǎo)航、目標(biāo)匹配等領(lǐng)域有不可替代的優(yōu)勢(shì),在工件識(shí)別與定位中也得到了廣泛的應(yīng)用[3]。
基于雙目視覺(jué)的工件定位一般是通過(guò)相機(jī)標(biāo)定、特征提取、三維重建實(shí)現(xiàn)工件定位。相機(jī)標(biāo)定依據(jù)約束條件大致分為三類(lèi):傳統(tǒng)標(biāo)定方法、自標(biāo)定方法和主動(dòng)視覺(jué)標(biāo)定方法。傳統(tǒng)標(biāo)定方法適用于各種相機(jī)模型,借助制作精度較高的標(biāo)定板求取參數(shù),標(biāo)定精度較高,但標(biāo)定過(guò)程煩瑣,典型方法有直接線(xiàn)性變換方法[4]、張正友標(biāo)定法[5]。自標(biāo)定方法由Maybank等[6]提出,借助圖像之間的對(duì)應(yīng)關(guān)系實(shí)現(xiàn)標(biāo)定,不需要任何標(biāo)定物,但算法精度不高,典型方法有分層自標(biāo)定方法、基于Kruppa方程組的標(biāo)定方法和基于絕對(duì)二次曲面的標(biāo)定方法。主動(dòng)視覺(jué)標(biāo)定方法是相機(jī)做定量運(yùn)動(dòng),通過(guò)線(xiàn)性方程求相機(jī)參數(shù),但系統(tǒng)成本高,典型方法有Ma[7]提出的兩組三正交運(yùn)動(dòng)的線(xiàn)性方法、吳福朝等[8]提出的基于外極點(diǎn)和單應(yīng)矩陣的正交運(yùn)動(dòng)方法。
相機(jī)的標(biāo)定方法很多,但存在過(guò)程煩瑣、精度不高、系統(tǒng)成本高等問(wèn)題。生產(chǎn)線(xiàn)上工件定位的實(shí)質(zhì)是尋找工件所在平面與圖像平面的映射關(guān)系,沒(méi)必要求得相機(jī)的全部參數(shù)[9],因此提出了基于雙目視覺(jué)的正交函數(shù)局部擬合的工件定位方法。通過(guò)雙目相機(jī)采集的一張擬合板圖像獲取樣本點(diǎn),采用正交函數(shù)局部擬合和雙目重構(gòu)獲取工件空間位置,用于后續(xù)的機(jī)器人抓取和裝配等。
基于雙目視覺(jué)的正交函數(shù)局部擬合的工件定位系統(tǒng)框圖如圖1所示。該系統(tǒng)包括圖像采集、圖像預(yù)處理、形心計(jì)算、正交函數(shù)局部擬合和雙目重構(gòu)等模塊,采用平行光軸的雙目相機(jī)采集工件圖像,選用螺母和墊圈作為定位的目標(biāo)工件。工件定位之前,用雙目相機(jī)采集一張擬合板的圖像,進(jìn)行圖像預(yù)處理、形心計(jì)算,將擬合板中實(shí)心圓的位置信息作為正交函數(shù)局部擬合的樣本點(diǎn)。在該工件定位系統(tǒng)中,首先采集待定位的工件圖像,分別對(duì)左圖像和右圖像進(jìn)行圖像預(yù)處理,采用矩的形心算法計(jì)算形心,獲得工件在左圖像和右圖像的形心像素值;然后對(duì)左圖像和右圖像中形心像素周?chē)?×4樣本點(diǎn)進(jìn)行正交函數(shù)局部擬合,求得擬合系數(shù),把形心像素代入擬合公式可獲得工件形心的平面坐標(biāo);最后完成雙目重構(gòu),獲得工件形心的空間坐標(biāo)。
圖1 系統(tǒng)框圖
采用正交函數(shù)局部擬合的工件定位方法,需要在工件定位之前采集一張擬合板圖像,擬合板中實(shí)心圓的平面位置是已知的,如圖2所示。對(duì)采集的擬合板圖像進(jìn)行二值化、邊緣檢測(cè)、提取實(shí)心圓的輪廓、最后求得每個(gè)實(shí)心圓的形心像素值。實(shí)心圓在圖像中和平面中的位置信息即為擬合的樣本點(diǎn),用于后續(xù)的正交函數(shù)局部擬合。
圖2 擬合板
在工件圖像的采集、數(shù)字化與傳輸過(guò)程中,由于周邊環(huán)境問(wèn)題、設(shè)備性能優(yōu)劣等原因,得到的原始圖像可能會(huì)出現(xiàn)對(duì)比度不足、模糊、混入噪聲等問(wèn)題,需要對(duì)圖像進(jìn)行預(yù)處理。采用直方圖均衡化方法,增強(qiáng)圖像對(duì)比度,便于后續(xù)的邊緣檢測(cè)、特征提取等操作的進(jìn)行。采用高斯濾波方法,能夠較好地保持零件圖像的邊緣特性,并且保留較多的相關(guān)細(xì)節(jié)。采用最大類(lèi)間方差法(又稱(chēng)大津法)進(jìn)行二值化,可以將圖像與背景分離,去掉不需要的顏色特征和紋理特征。采用閉操作去除二值化后的邊緣鋸齒化及不必要的細(xì)節(jié)[10]。采用Canny算子對(duì)圖像進(jìn)行邊緣檢測(cè),提取圖像的邊緣,便于工件特征提取與定位。
對(duì)圖像預(yù)處理之后,計(jì)算圖像中工件形心像素值。提取工件外輪廓,采用基于矩的形心算法計(jì)算形心[11]。
綜合考慮擬合精度與定位速度,選用二次正交函數(shù)局部擬合。定義{pn(x)}是關(guān)于點(diǎn)集(xi)(i=0,2,…,m)的多項(xiàng)式:
(1)
式(1)中:pk(x)為首項(xiàng)系數(shù)為1的k次多項(xiàng)式,根據(jù)pk(x)正交性的約束條件,αk、βk表達(dá)式為
(2)
對(duì)工件形心像素周?chē)?×4的樣本點(diǎn)進(jìn)二次正交函數(shù)擬合,取權(quán)函數(shù)ω(xi,yj)=1,(m,n)為像素點(diǎn)對(duì)應(yīng)的平面坐標(biāo),擬合公式為
(3)
式(3)中:aklx表示在x方向k階和l階的擬合系數(shù);akly表示在y方向k階和l階的擬合系數(shù),其表達(dá)式為
(4)
式(4)中:X(xi,yj)表示像素點(diǎn)(xi,yj)對(duì)應(yīng)的空間點(diǎn)的橫坐標(biāo);Y(xi,yj)表示像素點(diǎn)(xi,yj)對(duì)應(yīng)的空間點(diǎn)的縱坐標(biāo)。
擬合系數(shù)得到之后,即可將工件形心像素代入擬合公式,求得工件形心的平面坐標(biāo)。
如圖3所示,在理想狀態(tài)下,點(diǎn)Q在左相機(jī)和右相機(jī)的成像點(diǎn)分別為q和q′,兩者分別于左光心和右光心的連線(xiàn)應(yīng)該相交于Q。但是在實(shí)際中由于特征定位等的誤差,經(jīng)過(guò)光心與擬合得到的平面坐標(biāo)可能永遠(yuǎn)不會(huì)相交。圖3中點(diǎn)P在左相機(jī)和右相機(jī)的成像點(diǎn)分別為p和p′,兩者分別于左光心和右光心的連線(xiàn)沒(méi)有交點(diǎn)。面對(duì)不相交的情況,雙目重構(gòu)比較常用的方法是建立一條線(xiàn)段同時(shí)垂直兩條射線(xiàn)并與其相交,線(xiàn)段的中心點(diǎn)P是最靠近兩條射線(xiàn)的點(diǎn),可以將這個(gè)點(diǎn)作為原像點(diǎn),即可求得工件形心的實(shí)際位置。但是采用此方法計(jì)算比較復(fù)雜,影響工件定位的實(shí)時(shí)性,并且擬合的形心坐標(biāo)誤差是比較小的,可以簡(jiǎn)化為空間相交直線(xiàn)求交點(diǎn)。設(shè)左光心為O(x1,y1,z1)、右光心為O′(x2,y2,z2),左圖像擬合的工件形心坐標(biāo)為R(m1,n1,0),右圖像擬合的工件形心坐標(biāo)為R′(m2,n2,0),重構(gòu)的工件形心空間坐標(biāo)為P(x0,y0,z0),基線(xiàn)長(zhǎng)度為b。相機(jī)基線(xiàn)與x軸平行,因此y1=y2,z1=z2。
圖3 雙目重構(gòu)
(5)
(1)實(shí)驗(yàn)采用的擬合板由156個(gè)直徑為11 mm的實(shí)心圓組成,沿X軸方向的實(shí)心圓有13列,間距為28 mm,沿Y軸方向的實(shí)心圓有12行,間距為22 mm,如圖2所示。用雙目相機(jī)采集擬合板圖像,進(jìn)行預(yù)處理和形心計(jì)算,求得每個(gè)實(shí)心圓形心的像素值,如圖4所示,即可把這些點(diǎn)作為擬合的已知樣本點(diǎn)。
圖4 實(shí)心圓形心
(2)選取螺母和墊圈作為定位工件,將其放在待測(cè)平面上,用雙目相機(jī)采集圖像,得到采集的左圖像和右圖像,如圖5所示。進(jìn)行圖像預(yù)處理和形心計(jì)算,獲得左圖像和右圖像中工件形心的像素值,如圖6所示。
圖5 采集的圖像
圖6 工件形心
(3)選擇工件形心像素值周?chē)?×4的樣本點(diǎn)進(jìn)行正交函數(shù)局部最小二乘擬合,求得該區(qū)域的擬合系數(shù),并將形心像素代入擬合公式,得到工件形心的平面坐標(biāo)。
(4)雙目重構(gòu)。將求得的左右形心平面坐標(biāo)點(diǎn)與左右相機(jī)的鏡頭光心坐標(biāo)點(diǎn)相連,交點(diǎn)即是工件上表面的形心點(diǎn)。在實(shí)際中由于特征定位等的誤差,經(jīng)過(guò)光心與擬合得到的平面坐標(biāo)可能永遠(yuǎn)不會(huì)相交。對(duì)問(wèn)題進(jìn)行簡(jiǎn)化,利用式(5)求得工件形心空間坐標(biāo)。
傳統(tǒng)的基于雙目視覺(jué)的工件定位方法是通過(guò)相機(jī)標(biāo)定、特征提取、三維重建獲得工件形心的空間坐標(biāo),實(shí)現(xiàn)工件的定位。
首先進(jìn)行相機(jī)標(biāo)定,采用的標(biāo)定板是方格大小為28.5 mm×28.5 mm,方格個(gè)數(shù)為9×7的棋盤(pán)格標(biāo)定板。利用MATLAB標(biāo)定工具箱,采用應(yīng)用最廣泛的張正友標(biāo)定法進(jìn)行雙目系統(tǒng)標(biāo)定,采集的標(biāo)定圖像如圖7所示。
圖7 標(biāo)定圖像
其次,采用基于矩的形心算法計(jì)算形心,得到左圖像和右圖像中工件形心的像素,如圖6所示。
最后,對(duì)工件形心進(jìn)行三維重建,利用三角測(cè)量原理獲取物體的深度信息[12]。如圖8所示,建立左相機(jī)和右相機(jī)的坐標(biāo)系分別為Olc-XlcYlcZlc、Or-XrYrZr,設(shè)工件形心在左圖像和右圖像中的像素值分別為plc(ulc,vlc)、pr(ur,vr),左相機(jī)和右相機(jī)的焦距分別為flc、fr,雙目相機(jī)的基線(xiàn)矩為b,以左相機(jī)所在的坐標(biāo)系規(guī)定為世界坐標(biāo)系,工件形心的空間坐標(biāo)為P(X,Y,Z),根據(jù)標(biāo)定結(jié)果,能得到工件形心的空間坐標(biāo):
圖8 三維重建
(6)
式(6)中,(u0,v0)為投影點(diǎn)在相機(jī)坐標(biāo)系下的主點(diǎn)坐標(biāo);fx為相機(jī)的內(nèi)參數(shù)。
根據(jù)上述對(duì)比實(shí)驗(yàn),得到9個(gè)工件的相關(guān)位置信息,包括每個(gè)工件在左圖像中的形心像素、右圖像中的形心像素、工件測(cè)量獲得的實(shí)際形心、傳統(tǒng)的相機(jī)標(biāo)定和三維重建的工件定位方法獲得的工件形心和提出的正交函數(shù)局部擬合的工件定位方法獲得的工件形心,如表1所示。
表1 工件定位實(shí)驗(yàn)數(shù)據(jù)
由表1可知,采用正交函數(shù)局部擬合的工件定位方法,平均定位誤差是0.61 mm,最大定位誤差是1.22 mm。采用傳統(tǒng)的工件定位方法,平均定位誤差是2.01 mm,最大定位誤差是4.19 mm。數(shù)據(jù)表明采用正交函數(shù)局部擬合方法對(duì)工件的定位準(zhǔn)確性更高。
基于雙目視覺(jué)的正交函數(shù)局部擬合的工件定位方法誤差分析如下。
(1)擬合板的誤差及擬合誤差:擬合板制作存在誤差,實(shí)心圓直徑和間距存在偏差,影響擬合樣本點(diǎn)采集;擬合本身存在誤差,但可以通過(guò)更密集的擬合板降低擬合誤差。
(2)形心計(jì)算誤差:對(duì)擬合板形心及工件形心的提取存在誤差,影響擬合過(guò)程及三維重建。
(3)工件測(cè)量的誤差:工件的實(shí)際形心位置作為兩種方法的精度比較的參考,測(cè)量結(jié)果存在誤差,但是在實(shí)際應(yīng)用中不會(huì)存在這個(gè)誤差。
傳統(tǒng)的基于雙目相機(jī)的工件定位方法存在定位不夠準(zhǔn)確、標(biāo)定過(guò)程繁瑣的問(wèn)題,提出了基于正交函數(shù)的局部最小二乘擬合的工件定位方法,得到以下結(jié)論。
(1)工件定位實(shí)驗(yàn)結(jié)果表明,提出的正交函數(shù)局部擬合的方法的定位精度相比傳統(tǒng)的定位方法有了較大提高。
(2)正交函數(shù)局部擬合的工件定位方法避免了標(biāo)定的過(guò)程,不需要采集大量圖片去獲得相機(jī)參數(shù),只需要一個(gè)圖像即可提取樣本點(diǎn),用于正交函數(shù)擬合,實(shí)現(xiàn)工件定位。
基于雙目視覺(jué)的正交函數(shù)局部擬合的工件定位方法可以實(shí)現(xiàn)工件準(zhǔn)確定位,避免了標(biāo)定過(guò)程,對(duì)提高工業(yè)自動(dòng)化水平具有較高的應(yīng)用價(jià)值。