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