王 翰 ,王西峰,康運江,張文昌
WANG Han1 ,WANG Xi-feng2 ,KANG Yun-jiang1,ZHANG Wen-chang1
(1.機科發(fā)展科技股份有限公司,北京 100044;2.機械科學研究總院集團有限公司,北京 100044)
雙目立體視覺能夠獲得攝像機視場范圍內的三維位置信息在工業(yè)生產中應用廣泛,如工件定位、三維測量、表面重構[1~3]等。工件中通常帶有圓孔、柱狀體等圓特征,由于圓形在空間中各個方向沒有明顯區(qū)別,難以獲得定位特征點,因此常用的特征定位方法難以對簡單、無紋理的帶圓特征工件定位[4]。
本文在雙目視覺系統(tǒng)基礎上,對帶圓特征工件定位方法進行研究,通過幾何關系結合三維重構結果,解決空間圓定位的二義性問題,獲得工件準確空間位姿。
空間中圓面在攝像機成像面上的投影一般是橢圓,當空間圓面于攝像機相交且法向量與光軸垂直時,投影為一個線段,當法向量與攝像機光軸重合時,投影為一個正圓,本文討論一般的的情況。如圖1(a)所示,在空間中的圓O1在攝像機成像面中的投影為e1,通過對采集到的圖像進行橢圓擬合,可以獲得圖像中投影橢圓的長軸、短軸長度Llradius、Lsradius和投影橢圓的圓心坐標eO,以及長軸相對于攝像機X軸的旋轉角度,根據(jù)擬合數(shù)據(jù)可以計算長短軸端點m、n、p、q的坐標,假設在實際圓中的對應點為M、N、P、Q。
圖1 投影橢圓
為了便于解決定位問題,將攝像機坐標系繞攝像機光心C旋轉,攝像機光軸交于投影中心點,軸交于攝像機長軸,可構成虛擬投影橢圓e',如圖1(b)所示。
根據(jù)文獻[5]可知,在原始攝像機坐標系中投影到長短軸的點M、N、P、Q,在虛擬攝像機坐標系中的投影位置仍為虛擬投影橢圓的長短軸端點m',n',p',q'。在虛擬坐標系中的投影橢圓如圖2所示。
圖2 虛擬攝像機坐標系中的投影橢圓
在原攝像機坐標系中m、n、p、q各點的像素坐標已知,根據(jù)標定數(shù)據(jù)可以計算實際坐標位置mr、nr、pr、qr,根據(jù)空間橢圓的幾何關系∠mCn=∠MCN,∠pCq=∠PCQ,旋轉前后M、N、P、Q位置不變,則∠mCn=∠m'C'n',∠pCq=∠p'C'q'??筛鶕?jù)∠mCn和∠pCq的值和攝像機焦距計算m、n、p、q各點在虛擬攝像機坐標系對應點m',n',p',q'的實際位置為:
從而可以計算從原始坐標系到虛擬坐標系的旋轉矩陣Rotr-virtual,為:
以虛擬攝像機光心C'頂點,以虛擬投影橢圓為底面,可構成底面為橢圓的橢圓錐。由于此橢圓錐是通過空間圓在平面上的投影橢圓構成,因此使用平面對橢圓錐截得的二次曲線中必然存在正圓,通過獲得截得正圓的平面即可獲得圓相對于虛擬攝像機坐標系的姿態(tài)。
在虛擬攝像機坐標系中,橢圓錐可表示為:
假設任意平面方程為Ax+By+Cz+D=0,在橢圓錐中截得的曲線方程為:
根據(jù)二次曲線為圓條件,當平面滿足A=0,B≠0,C≠0時,截得的曲線為圓??芍仄矫娴姆ㄏ蛄繛閚1=(0,B,C),長軸方向向量為nl=(1,0,0),因此可知空間圓O1與橢圓e'長軸平行,即繞橢圓e'長軸旋轉,即可獲得得到圓面,即虛擬投影橢圓長軸端點m'、n'與投影到這兩個點的空間點M、N有m'n'//MN。截得的圓關于yC'z對稱,由于橢圓錐與xC'z面對稱,因此截得的圓關于xC/z面對稱的曲線也為圓,平面在橢圓錐中可以截得與投影橢圓長軸平行的兩個圓。
假設虛擬投影橢圓所在的平面為z=f,將平面繞長軸X軸旋轉θ,在橢圓錐截得的二次曲線,根據(jù)文獻[6],當截得的曲線為圓時,旋轉角度θ為:
其中,θ為銳角。根據(jù)旋轉角度即可計算投影成當前橢圓的圓面的方向向量為:
根據(jù)旋轉矩陣Rotr-virtual的逆矩陣,即可計算空間圓在攝像機坐標系中的方向向量為:
上述計算過程中,會產生圓面的二義性問題,如圖3所示,經過計算得到的是兩個方向不同的圓。在單目視覺中二義性很難直接解決,本文通過雙目視覺系統(tǒng)在雙目視覺系統(tǒng)中完成定位,能夠有效解決這一問題。
圖3 空間中圓面位姿
雙目視覺系統(tǒng)三維重構能夠視場內的高度信息,即能夠直接獲得點P、Q在攝像機坐標系中的位置坐標(xp,yp,zp),(xq,yq,zq),空間中圓的圓心坐標
假設當Q點與攝像機的距離大于P時,zq>zp,對應在虛擬攝像機坐標系,空間圓方向向量在xC'y中的投影點在y軸的負半軸位置,即此時的方向向量為通過這種方式,解決二義性問題,獲得空間圓的方向向量,得到圓特征工件相對于攝像機坐標系的姿態(tài)。
本文拍攝使用Balser公司acA2500-14gm工業(yè)攝像機搭建雙目視覺系統(tǒng),鏡頭焦距為15mm,極線距離為70mm,視覺系統(tǒng)與工件放置平面的距離為900mm,經計算雙目視覺系統(tǒng)的視場范圍為250mm×250mm,搭建的視覺實驗系統(tǒng)如圖4所示。實驗中使用的工件如圖5所示。
圖4 雙目視覺系統(tǒng)
圖5 定位實驗工件
通過標定雙目視覺系統(tǒng)獲得左右攝像機參數(shù)為CamParL=[0.01517,-26.4215,2.20061e-06,2.2e-06,1315.49,970.90],CamParR=[0.01525,117.29,2.20018e-06,2.2e-06,1232.72,931.14],分別表示左右攝像機的焦距、畸變系數(shù)、單個像素點的長寬和圖像中心點坐標。
本文將實驗工件以固定姿態(tài)擺放在雙目視覺系統(tǒng)視場內,擺放在視場內不同位置并采集數(shù)據(jù),對工件進行定位實驗,計算重復定位精度。并以平均值作為基準值,計算誤差。實驗結果如表1,表2所示。
表1 定位算法定位位置坐標
表2 位置誤差
根據(jù)上述誤差可知,本文定位算法在Z軸方向重復定位精度的誤差≤0.3mm,姿態(tài)的重復定位精度誤差≤0.05°。實驗結果表明:本文使用算法對帶圓工件的定位精度能夠滿足工業(yè)生產過程中工件定位的精度要求。
本文針對帶圓特征工件定位問題,基于雙目視覺系統(tǒng)根據(jù)空間圓面與投影橢圓的幾何關系,提出了一種對空間圓面的定位方法,并能夠有效解決二義性問題,搭建試驗臺,通過實驗驗證了本文算法,實驗結果表明:定位精度滿足工業(yè)生產過程中工件定位的精度要求,原理清晰、計算過程簡單,在實際應用中有著很大的意義。