舒子超, 曹松曉, 蔣 慶, 徐志鵬, 樓旭東
(中國計(jì)量大學(xué)計(jì)量測試工程學(xué)院,浙江杭州310018)
在實(shí)現(xiàn)微通道換熱器生產(chǎn)自動(dòng)化的過程中,產(chǎn)品的上下料是必不可少的環(huán)節(jié),為引導(dǎo)機(jī)械臂完成對(duì)產(chǎn)品的抓取,需對(duì)產(chǎn)品進(jìn)行定位并測量其尺寸[1~3]。
近年來機(jī)器視覺被廣泛應(yīng)用于工業(yè)生產(chǎn)領(lǐng)域并獲得了長足的發(fā)展,通過機(jī)器視覺能夠快速準(zhǔn)確地鎖定被檢測對(duì)象,確認(rèn)其位置并引導(dǎo)機(jī)械臂實(shí)現(xiàn)準(zhǔn)確的抓取[4,5]。目前已存在許多機(jī)器視覺識(shí)別定位與測量的相關(guān)研究。盧清華等[6]基于機(jī)器視覺并使用了一種邊界搜索擬合和動(dòng)態(tài)補(bǔ)償?shù)臏y量方法,實(shí)現(xiàn)了大幅面陶瓷地磚尺寸的高精度測量;劉斌等[7]結(jié)合機(jī)器視覺,先對(duì)目標(biāo)進(jìn)行定位再擬合其邊緣,實(shí)現(xiàn)了對(duì)絲網(wǎng)印刷版的尺寸測量;Butt S I 等[8]通過機(jī)器視覺技術(shù)對(duì)鑄造模具進(jìn)行定位與測量實(shí)現(xiàn)了鑄造過程的自動(dòng)化。由于上述工作都基于2D機(jī)器視覺實(shí)現(xiàn),因此對(duì)于初始距離不確定的待測對(duì)象難以實(shí)現(xiàn)有效的距離與尺寸測量,并且測量與定位結(jié)果容易受到背景噪聲的干擾。Hou B等[9]提出基于機(jī)器視覺與激光測距結(jié)合的方式,利用像素坐標(biāo)與二維平面坐標(biāo)的轉(zhuǎn)換,有效解決了焊接機(jī)器人精準(zhǔn)測距與定位的問題,能夠不受測量距離變化的影響,但依然存在復(fù)雜背景下難以實(shí)現(xiàn)精確圖像分割的問題。3D機(jī)器視覺的應(yīng)用能夠很好地解決上述的一系列問題,由于能夠獲得待測對(duì)象的深度信息,因此能夠更有效地實(shí)現(xiàn)前景與背景的分割以及尺寸的測量。苗中華等[10]將圖像處理技術(shù)與點(diǎn)云數(shù)據(jù)處理技術(shù)相互配合,實(shí)現(xiàn)青飼機(jī)拖車車斗的邊沿識(shí)別和空間定位,但該方式對(duì)于點(diǎn)云信息不穩(wěn)定的邊沿難以實(shí)現(xiàn)精確定位;解則曉等[11]設(shè)計(jì)了一種線結(jié)構(gòu)光視覺系統(tǒng),實(shí)現(xiàn)了隨機(jī)位姿目標(biāo)對(duì)象的三維定位;Ngo N V等[12]基于三維機(jī)器視覺對(duì)2D圖像特征點(diǎn)進(jìn)行坐標(biāo)變換,獲取了對(duì)應(yīng)的世界坐標(biāo),實(shí)現(xiàn)了內(nèi)燃機(jī)汽缸蓋孔徑的精確測量。
本文聚焦于大尺度微通道換熱器產(chǎn)品的定位與測量方法進(jìn)行研究,主要存在以下研究難點(diǎn):
(1) 產(chǎn)品成像背景復(fù)雜,且顏色與產(chǎn)品相近,基于二維圖像對(duì)產(chǎn)品進(jìn)行分割較為困難。
(2) 產(chǎn)品有多種型號(hào),尺寸各不相同,與視覺系統(tǒng)的距離也會(huì)改變。
(3) 產(chǎn)品尺寸較大,長度最長可達(dá)3 000 mm以上,受限于相機(jī)視場角(field of view, FOV),相機(jī)與產(chǎn)品的距離較大從而降低了測量精度。
(4) 產(chǎn)品的角點(diǎn)位置落在產(chǎn)品兩側(cè)集流管的圓弧段上,坐標(biāo)信息不穩(wěn)定難以定位。
針對(duì)上述問題,提出一種基于3D視覺的微通道換熱器定位與測量方法。通過結(jié)合產(chǎn)品的2D圖像信息與3D位置信息,定位產(chǎn)品角點(diǎn)二維坐標(biāo)、擬合角點(diǎn)深度、轉(zhuǎn)換得到角點(diǎn)三維坐標(biāo)并測量產(chǎn)品尺寸。
圖1為微通道換熱器生產(chǎn)線中自動(dòng)上料系統(tǒng),其中3D相機(jī)以俯視角度拍攝目標(biāo)產(chǎn)品,對(duì)產(chǎn)品進(jìn)行定位并測量尺寸。將產(chǎn)品相關(guān)信息傳輸給機(jī)械臂以實(shí)現(xiàn)產(chǎn)品的自動(dòng)抓取。其中相機(jī)成像平面、產(chǎn)品表面、地面這三者成幾乎平行的狀態(tài)。為實(shí)現(xiàn)有效的機(jī)械臂引導(dǎo),要求產(chǎn)品各邊的測量誤差<1%。另外,在實(shí)際系統(tǒng)應(yīng)用中,由于最大產(chǎn)品的邊長為3 200 mm左右,而相機(jī)的FOV有限,為保證相機(jī)視野完全覆蓋產(chǎn)品并保有一定余量,需要將相機(jī)置于距離產(chǎn)品4 000 mm處。
圖1 微通道換熱器自動(dòng)上料系統(tǒng)Fig.1 Automatic feeding system of micro-channel heat exchangers
圖2所示為微通道換熱器產(chǎn)品,產(chǎn)品形狀大體為一長方體,兩側(cè)各有一根圓柱形的集流管,在集流管上安裝有接管座和固定片。
圖2 微通道換熱器產(chǎn)品Fig.2 Micro-channel heat exchanger products
本文所設(shè)計(jì)的定位與測量方法流程如圖3所示。
圖3 微通道換熱器定位與測量方法流程圖Fig.3 Flow chart of positioning and measuring method for micro-channel heat exchanger
主要流程如下:
(1) 獲取產(chǎn)品RGB-depth(RGB-D)信息,矯正RGB圖像并將深度圖對(duì)齊到RGB圖像。
(2) 結(jié)合產(chǎn)品深度信息對(duì)產(chǎn)品進(jìn)行深度下探式分割,處理得到產(chǎn)品輪廓并定位其角點(diǎn)。
(3) 選取角點(diǎn)近鄰區(qū)域,加權(quán)擬合角點(diǎn)深度值。結(jié)合角點(diǎn)二維坐標(biāo)及深度值轉(zhuǎn)換得到其三維坐標(biāo),以實(shí)現(xiàn)尺寸測量。
在處理所獲取的圖像前,需對(duì)圖像進(jìn)行矯正,并將RGB圖像與深度圖像對(duì)齊以便于后續(xù)的操作。對(duì)于已完成標(biāo)定的相機(jī),其內(nèi)參、外參矩陣與畸變參數(shù)均已知。
由于相機(jī)制造工藝的偏差、入射光線在通過各個(gè)透鏡時(shí)的折射誤差和CCD點(diǎn)陣位置誤差等,實(shí)際的光學(xué)系統(tǒng)存在著非線性幾何失真,從而使目標(biāo)像點(diǎn)與理論像點(diǎn)之間存在著多種幾何畸變[13,14]。本文主要對(duì)相機(jī)的徑向畸變和切向畸變進(jìn)行矯正。
徑向畸變的數(shù)學(xué)模型可以表示為
(1)
式中:(x,y)為正常圖像位置坐標(biāo);(x′,y′)為畸變圖像位置坐標(biāo);r為該點(diǎn)距離成像儀中心的距離;k1,k2,k3為徑向畸變系數(shù)。
切向畸變的數(shù)學(xué)模型可以表示為
(2)
式中:p1,p2為切向畸變參數(shù)。
結(jié)合物理尺寸與像素點(diǎn)的比例因子dx、dy,就可以通過非畸變圖像的坐標(biāo)(u,v)求得在畸變圖像上的坐標(biāo)(ud,vd)。由于畸變圖像已知,從(ud,vd)坐標(biāo)處得到所需像素值,采用插值處理得到非畸變圖像。
在相機(jī)的內(nèi)參與外參矩陣已知時(shí),RGB圖像與深度圖像對(duì)齊可以通過矩陣變換實(shí)現(xiàn)[15]。像素坐標(biāo)系與世界坐標(biāo)系的轉(zhuǎn)換關(guān)系如下:
(3)
式中:zc為(u,v)點(diǎn)深度值,M1為相機(jī)3×3的內(nèi)參矩陣,M2為相機(jī)3×4的外參矩陣,(xw,yw,zw)為該點(diǎn)的世界坐標(biāo)。
圖像對(duì)齊的坐標(biāo)轉(zhuǎn)化公式如下:
(4)
式中:Pc、Pd分別為某點(diǎn)在彩色圖像坐標(biāo)系和深度圖像坐標(biāo)系下的二維點(diǎn)坐標(biāo)向量;Tw2c,Tw2d分別為世界坐標(biāo)系轉(zhuǎn)換到深度攝像頭和彩色攝像頭坐標(biāo)系的外參矩陣;Kc,Kd分別為深度攝像頭和彩色攝像頭的內(nèi)參矩陣。
通過上述公式可以將深度圖中的二維點(diǎn)映射到RGB圖像中,實(shí)現(xiàn)圖像的對(duì)齊。
由于產(chǎn)品角點(diǎn)位于兩側(cè)集流管的圓弧段上,因此三維坐標(biāo)信息不穩(wěn)定。為提高產(chǎn)品角點(diǎn)的三維定位精度,本文提出先在二維圖像中分割出產(chǎn)品輪廓,鎖定角點(diǎn),再結(jié)合深度值進(jìn)行坐標(biāo)轉(zhuǎn)換得出角點(diǎn)三維坐標(biāo)的定位算法。
圖像分割的精度很大程度上決定了角點(diǎn)的定位精度。由于產(chǎn)品待測表面幾乎與相機(jī)成像平面平行,且檢測區(qū)域內(nèi)不存在與產(chǎn)品待測表面同深度的大體積干擾物,因此本文利用產(chǎn)品3D信息的輔助,采用深度值下探式的圖像分割方法對(duì)產(chǎn)品圖像進(jìn)行分割:
(1) 設(shè)置一定的深度初始值x0,設(shè)定檢測區(qū)間Δl。
(2) 分割出深度圖中深度值處于(x0,x0+Δl)區(qū)間內(nèi)的像素點(diǎn)。
(3) 若得出點(diǎn)的數(shù)量超過一定閾值,則認(rèn)為已到達(dá)工件表面,停止下探。保存分割出的像素點(diǎn)為像素值255,其余點(diǎn)像素值為0。若得出點(diǎn)的數(shù)量未滿足閾值,則將x0增加Δx,回到步驟2繼續(xù)循環(huán)下探檢測。
得到產(chǎn)品的初步分割圖像后,為平滑圖像邊緣并消除產(chǎn)品接管座對(duì)輪廓提取的影響,先采用高斯濾波對(duì)圖像進(jìn)行平滑[16],其次需要對(duì)圖像進(jìn)行形態(tài)學(xué)操作以進(jìn)一步提高圖像邊緣的定位精度,其中主要包括膨脹、腐蝕、開運(yùn)算與閉運(yùn)算[17]。若原始圖像為f(x,y)其定義域?yàn)镈f,高度為0結(jié)構(gòu)元素為E(x′,y′)定義域?yàn)镈e。
膨脹后的圖像g(x,y)可表示為
g(x,y)=f⊕E=max{f(x-x′,y-y′)}
(5)
腐蝕后的圖像g′(x,y)可表示為
g′(x,y)=f?E=min{f(x-x′,y-y′)}
(6)
式中: (x-x′,y-y′)∈Df, (x′,y′)∈De。
開運(yùn)算可表示為
f°E=(f?E)⊕E
(7)
閉運(yùn)算可表示為
f·E=(f⊕E)?E
(8)
本文中先采用一個(gè)3×3的矩形結(jié)構(gòu)元素對(duì)高斯濾波后圖像進(jìn)行閉操作,以去除圖像中的無效深度點(diǎn);再用7×7的矩形結(jié)構(gòu)元素進(jìn)行開操作,以去除與目標(biāo)產(chǎn)品同深度的干擾物的影響;最后分別采用20×1和1×20的矩形結(jié)構(gòu)元素進(jìn)行開操作,由于產(chǎn)品幾乎為一個(gè)規(guī)則的矩形并且繞z軸旋轉(zhuǎn)角度不大,因此該操作不僅能保留工件分割圖像的幾何特征,還能消除接管座和固定片對(duì)產(chǎn)品輪廓的影響。
獲取形態(tài)學(xué)處理后圖像的輪廓,尋找輪廓的最小外接旋轉(zhuǎn)矩形并獲得旋轉(zhuǎn)矩形的4個(gè)頂點(diǎn)坐標(biāo),認(rèn)定這4個(gè)坐標(biāo)為產(chǎn)品角點(diǎn)的二維坐標(biāo)。
為轉(zhuǎn)換得到產(chǎn)品角點(diǎn)的三維坐標(biāo),還需獲取角點(diǎn)的深度值,由于產(chǎn)品角點(diǎn)的空間位置信息不穩(wěn)定,因此無法直接獲取角點(diǎn)的有效深度。本文采用近鄰區(qū)域加權(quán)擬合的方式進(jìn)行精確估算,由于集流管附近的工件表面為平面,深度信息較為穩(wěn)定,且深度值與角點(diǎn)相近,因此可為獲取角點(diǎn)深度提供參考。如圖4所示紅色點(diǎn)為工件實(shí)際角點(diǎn),藍(lán)色區(qū)域?yàn)榻屈c(diǎn)深度參考區(qū)域。
圖4 產(chǎn)品角點(diǎn)與深度擬合區(qū)域Fig.4 Product’s corner and depth fitting area
參考區(qū)域內(nèi)與角點(diǎn)距離越近的點(diǎn)參考價(jià)值越高,將區(qū)域內(nèi)所有點(diǎn)的深度值加權(quán)求平均以獲得角點(diǎn)的等效深度d,計(jì)算方式如下:
(9)
式中:n為參考區(qū)總點(diǎn)數(shù);pi為參考點(diǎn)的權(quán)重,i表示參考區(qū)域內(nèi)的第i個(gè)像素點(diǎn);di為參考點(diǎn)的深度;Δxi,Δyi分別為參考點(diǎn)與角點(diǎn)的橫縱坐標(biāo)差值。
在實(shí)際計(jì)算中為減少計(jì)算量,可將公式(9)等效為
(10)
圖5所示為產(chǎn)品成像示意圖,p為產(chǎn)品角點(diǎn),h為產(chǎn)品厚度,計(jì)算所求角點(diǎn)等效深度值d并非是真實(shí)深度,為得到真實(shí)深度d′需進(jìn)一步轉(zhuǎn)化:
圖5 產(chǎn)品成像示意圖Fig.5 Schematic diagram of product imaging mode
(11)
為轉(zhuǎn)換得到產(chǎn)品角點(diǎn)的三維坐標(biāo),將公式(3)中的相機(jī)內(nèi)外參矩陣展開,可以得到深度相機(jī)的坐標(biāo)轉(zhuǎn)換表達(dá)式:
(12)
式中:f為相機(jī)焦距;dx、dy為比例因子;R,T為相機(jī)外參矩陣中的旋轉(zhuǎn)矩陣和平移矩陣。
將世界坐標(biāo)系的原點(diǎn)設(shè)置在與相機(jī)光心同一位置處,即有:
(13)
將式(13)代入(12)得到表達(dá)式:
(14)
相機(jī)的內(nèi)參為定值,因此在已知角點(diǎn)深度圖二維坐標(biāo)(u,v)和角點(diǎn)深度值zc的情況下,即可換算得到角點(diǎn)的世界坐標(biāo)。
若求得兩角點(diǎn)世界坐標(biāo)分別為(x1,y1,z1)和(x2,y2,z2),則對(duì)應(yīng)產(chǎn)品邊長尺寸可表示為
(15)
實(shí)驗(yàn)采用RGB-D相機(jī),工作距離為1 280~5 000 mm,深度分辨率為1 280×960,RGB分別率為2 592×1 944,X、Y方向的FOV為56°×45°,相機(jī)標(biāo)定參數(shù)如表1所示。
表1 相機(jī)標(biāo)定參數(shù)Tab.1 Camera calibration parameters
圖6為矯正畸變前后的RGB圖像。實(shí)驗(yàn)所用的微通道換熱器樣品為某公司微通道換熱器實(shí)際生產(chǎn)線中的目標(biāo)產(chǎn)品。
圖6 矯正前后的RGB圖像Fig.6 RGB images before and after correction
圖7為產(chǎn)品角點(diǎn)二維定位的流程。
圖7 角點(diǎn)二維定位流程Fig.7 Two-dimensional positioning process of corners
在協(xié)同顯示圖中,角點(diǎn)的位置為二維像素點(diǎn)的坐標(biāo)。定位角點(diǎn)的二維坐標(biāo)后,結(jié)合深度圖采用鄰近區(qū)域加權(quán)擬合的方式估計(jì)角點(diǎn)的深度,分別對(duì)兩個(gè)型號(hào)產(chǎn)品的8個(gè)角點(diǎn)深度值各進(jìn)行20次測算,實(shí)驗(yàn)結(jié)果見表2。
表2 深度測量結(jié)果Tab.2 Results of depth measurement mm
在8個(gè)實(shí)驗(yàn)點(diǎn)中,誤差的絕對(duì)值最大為 7.7 mm,而本文采用的相機(jī)在4 000 mm的測量距離時(shí)本身具有±5.2 mm的測量誤差。因此本文的深度擬合方法對(duì)角點(diǎn)的深度估計(jì)較為準(zhǔn)確,且所得結(jié)果穩(wěn)定。
結(jié)合相機(jī)的內(nèi)外參矩陣,通過產(chǎn)品角點(diǎn)的圖像坐標(biāo)與深度值換算得到其三維世界坐標(biāo),設(shè)世界坐標(biāo)原點(diǎn)與相機(jī)光心重合。由勾股定理計(jì)算產(chǎn)品的長寬。對(duì)兩個(gè)產(chǎn)品進(jìn)行尺寸測量,其中小產(chǎn)品實(shí)際尺寸為1 208×809 mm2,大產(chǎn)品實(shí)際尺寸為 2 956×1 615 mm2。
圖8為產(chǎn)品尺寸測量可視化的結(jié)果,角點(diǎn)的三維坐標(biāo)與產(chǎn)品長寬已在圖中標(biāo)出,單位均為mm。
圖8 測量結(jié)果顯示Fig.8 Visualization of measurement results
為驗(yàn)證本文圖像分割算法的有效性,以及尺寸測量算法的準(zhǔn)確性,在測量距離為4 000 mm時(shí)對(duì)小產(chǎn)品的兩條邊長分別進(jìn)行20次重復(fù)測量實(shí)驗(yàn)并得出結(jié)果。設(shè)置對(duì)照組:采用Grabcut二維圖像分割算法,提取RGB圖像的前景后濾除接管座和固定片并鎖定其角點(diǎn),直接讀取深度圖中角點(diǎn)對(duì)應(yīng)的深度值,轉(zhuǎn)換得到角點(diǎn)世界坐標(biāo)以實(shí)現(xiàn)尺寸測量。圖9為濾除接管座和固定片后的圖像分割結(jié)果對(duì)比,相較于常規(guī)的二維圖像分割算法,由于本文圖像分割算法利用了產(chǎn)品的3D信息進(jìn)行輔助,因此能夠更精確地從復(fù)雜的背景中分離出前景。尺寸測量結(jié)果對(duì)比如表3所示。
圖9 圖像分割結(jié)果對(duì)比Fig.9 Comparison of image segmentation results
表3 尺寸測量結(jié)果對(duì)比Tab.3 Comparison of dimension measurement results
表3中:序號(hào)1表示產(chǎn)品較長邊,參考真值為1 208 mm;序號(hào)2表示產(chǎn)品較短邊,參考真值為809 mm。從實(shí)驗(yàn)結(jié)果中可以看出,本文算法與Grabcut分割算法相比較,尺寸測量值在平均誤差、最大誤差與標(biāo)準(zhǔn)差均有所減小,并且最大誤差<1%,滿足系統(tǒng)需求。
改變測量距離,使用本文算法對(duì)兩個(gè)型號(hào)微通道換熱器進(jìn)行尺寸測量實(shí)驗(yàn),以驗(yàn)證算法在工作距離不同時(shí)的測量精度。統(tǒng)計(jì)不同工作距離下各邊長的相對(duì)測量誤差并求取平均,得出的實(shí)驗(yàn)結(jié)果如圖10所示。在相機(jī)分辨率固定不變時(shí),尺寸測量的誤差隨著測量距離的增加總體呈上升趨勢。其中較長邊測量的誤差較小,且隨測量距離的增大上升趨勢不明顯,而較短邊的測量誤差較大,且隨距離的增大出現(xiàn)較為明顯的上升;另外,對(duì)于3 500~4 500 mm的工作距離,相機(jī)在X、Y方向上本身具有8.01~10.19 mm的測量誤差。這表明在不同測量距離能夠?qū)崿F(xiàn)較為穩(wěn)定的尺寸測量。
圖10 測量相對(duì)誤差分析Fig.10 Analysis of relative error in measurement
本文所提微通道換熱器定位與測量方法在結(jié)合待測物的2D與3D信息的同時(shí),能夠有效地將目標(biāo)對(duì)象從復(fù)雜的背景中分離出來,精確地?cái)M合角點(diǎn)的深度值,從而實(shí)現(xiàn)高精度的尺寸測量。實(shí)驗(yàn)數(shù)據(jù)表明,在測量距離為4 000 mm時(shí)測量誤差<1%,能夠作為引導(dǎo)機(jī)械臂抓取微通道換熱器有效的參考值。
同時(shí),本文所提算法同樣能夠應(yīng)用于其它領(lǐng)域。結(jié)合更多的機(jī)器視覺技術(shù),在復(fù)雜環(huán)境下對(duì)初始位姿不同的待測物進(jìn)行定位與測量。但是由于3D相機(jī)所獲取的深度信息存在一定的波動(dòng),因此所得最終測量值的重復(fù)性不理想,并且精度也有待進(jìn)一步提升。設(shè)計(jì)合適的補(bǔ)償算法或結(jié)合二維輪廓信息進(jìn)行更精確的圖像分割來提高測量的精度和重復(fù)性,這將是后續(xù)進(jìn)一步的研究工作。