畢 超 郝 雪 周 鵬
(北京航空精密機(jī)械研究所 精密制造技術(shù)航空科技重點(diǎn)實(shí)驗(yàn)室,北京 100076)
近年來,我國的先進(jìn)制造裝備與技術(shù)取得了飛速發(fā)展,對復(fù)雜零部件的加工精度和生產(chǎn)效率提出了越來越高的要求,這就使得現(xiàn)代測量技術(shù)及儀器要逐漸發(fā)展成為必備的生產(chǎn)部件或設(shè)備,應(yīng)用于工業(yè)現(xiàn)場并參與到制造過程中[1]。隨著測試計(jì)量技術(shù)及其相關(guān)學(xué)科的長足進(jìn)步,基于光學(xué)三角法測量原理的結(jié)構(gòu)光三維視覺測量技術(shù),由于實(shí)現(xiàn)容易、操作方便、成本低廉和應(yīng)用靈活,并且具備在線、非接觸和實(shí)時(shí)測量的特性和潛力,在科學(xué)研究和工業(yè)生產(chǎn)中得到了越來越廣泛的應(yīng)用。
依據(jù)結(jié)構(gòu)光三維視覺測量技術(shù)研發(fā)出的十字線結(jié)構(gòu)光視覺傳感器,主要由光學(xué)投射器和攝像機(jī)構(gòu)成[2]。對于此類傳感器來說,其數(shù)學(xué)模型的建立與結(jié)構(gòu)參數(shù)的標(biāo)定是確保測量功能實(shí)現(xiàn)的關(guān)鍵[3]。目前,許多學(xué)者在結(jié)構(gòu)光視覺傳感器的數(shù)學(xué)建模和標(biāo)定方法方面開展了研究工作。王金橋等建立了線結(jié)構(gòu)光視覺傳感器的數(shù)學(xué)模型,根據(jù)張正友方法并結(jié)合L-M非線性優(yōu)化算法標(biāo)定出了攝像機(jī)的內(nèi)、外部參數(shù),并通過引入輔助線激光而形成雙激光交點(diǎn),完成了對線結(jié)構(gòu)光平面的精確標(biāo)定[4]。高金剛等基于高精度的異形量塊,通過提取光平面與異形量塊的交線中心線,并采用GA-RBF算法實(shí)現(xiàn)了對線結(jié)構(gòu)光傳感器的標(biāo)定,標(biāo)準(zhǔn)偏差均值約為0.008%[5]。鄒媛媛等針對三線結(jié)構(gòu)光視覺傳感器,設(shè)計(jì)了由高精度條板與精密平移臺(tái)構(gòu)成的靶標(biāo),并采用支持向量機(jī)方法實(shí)現(xiàn)了對傳感器的直接標(biāo)定[6]。然而,這些標(biāo)定方法采用了較為復(fù)雜的輔助設(shè)備和解算方法,靈活性和便捷性較差,不具備廣泛的適用性。
針對基于結(jié)構(gòu)光三維視覺測量原理的十字線結(jié)構(gòu)光視覺傳感器,本文研究了其結(jié)構(gòu)參數(shù)的標(biāo)定方法。建立了該傳感器的透視投影測量模型,并通過攝像機(jī)標(biāo)定、光條中心線提取和結(jié)構(gòu)光平面解算等過程解算出了模型中的未知量,從而完成了傳感器的結(jié)構(gòu)參數(shù)標(biāo)定。該標(biāo)定方法無需高成本的標(biāo)定靶標(biāo)和復(fù)雜的操作過程,并且可以提高標(biāo)定效率、降低勞動(dòng)強(qiáng)度,特別適合于現(xiàn)場組建基于十字線結(jié)構(gòu)光視覺傳感器的三維測量系統(tǒng)。
為了實(shí)現(xiàn)被測物體的表面輪廓信息的快速、精確獲取,本文基于結(jié)構(gòu)光三維視覺測量原理搭建了一套非接觸式的十字線結(jié)構(gòu)光視覺傳感器,如圖1所示。該傳感器主要由攝像機(jī)、光學(xué)投射器和夾持工裝構(gòu)成,其中,攝像機(jī)選用大恒圖像公司的MER-500-7UM型工業(yè)數(shù)字面陣相機(jī),其傳感器為ON MT9P031行曝光CMOS,靶面尺寸為1/2.5″,分辨率為2592×1944,幀率為7fps,單個(gè)像元的大小為2.2μm×2.2μm。為了將被測目標(biāo)成像在攝像機(jī)的靶面上,選用了日本CBC公司的M0814-MP2型百萬像素定焦鏡頭,其焦距為8mm,最大兼容靶面尺寸為2/3″。光學(xué)投射器選用小功率的通用十字線激光器,其輸出綠色激光的波長為520nm,并且線寬可調(diào)。
圖1 十字線結(jié)構(gòu)光視覺傳感器Fig.1 Cross structured light sensor
在十字線結(jié)構(gòu)光三維視覺測量中,攝像機(jī)與十字線激光器之間形成三角幾何約束。由十字線激光器向被測物體投射一束極細(xì)的、呈“十字線”模式的結(jié)構(gòu)光,會(huì)在空間中形成兩個(gè)連續(xù)、相互垂直且具有一定厚度的光平面。當(dāng)這兩個(gè)光平面在傳播過程中與被測物體相遇時(shí),將在物體表面上形成兩條受表面形貌、起伏特性等調(diào)制的投影光條特征[7]。為了確定投影光條上的采樣點(diǎn)的二維圖像坐標(biāo)與其三維空間坐標(biāo)之間的映射關(guān)系,從而重建和恢復(fù)出被測物體的三維輪廓與表面形貌,本文以透視投影理論為基礎(chǔ),建立了該十字線結(jié)構(gòu)光視覺傳感器的數(shù)學(xué)模型,即透視投影測量模型,其建模過程如圖2所示。
圖2 傳感器的數(shù)學(xué)模型Fig.2 Mathematical model of the sensor
在應(yīng)用過程中,為了能夠?qū)⒂蓴z像機(jī)采集到的二維圖像數(shù)據(jù)轉(zhuǎn)化為三維物理測量數(shù)據(jù),并最終轉(zhuǎn)換到統(tǒng)一的世界坐標(biāo)系中,本文在傳感器的數(shù)學(xué)模型中建立了4個(gè)直角坐標(biāo)系,分別為圖像像素坐標(biāo)系o-uv、圖像物理坐標(biāo)系O-xy、攝像機(jī)坐標(biāo)系OC-XCYCZC和世界坐標(biāo)系OW-XWYWZW。其中,o-uv和O-xy為平面坐標(biāo)系,用于表征二維圖像空間;OC-XCYCZC和OW-XWYWZW為空間坐標(biāo)系,用于表征三維物理空間。
設(shè)采樣點(diǎn)P在OW-XWYWZW和OC-XCYCZC下的齊次坐標(biāo)分別為(XW,YW,ZW,1)和(XC,YC,ZC,1),二者之間存在如下的轉(zhuǎn)換關(guān)系
(1)
式中:R——3×3階的旋轉(zhuǎn)矩陣;T——3×1階的平移矩陣。R和T描述了OW-XWYWZW與OC-XCYCZC之間的轉(zhuǎn)換關(guān)系,用于表征攝像機(jī)在世界坐標(biāo)系中的位置和姿態(tài)[8],屬于攝像機(jī)的外部參數(shù)。
設(shè)P的像點(diǎn)p在o-uv和O-xy下的齊次坐標(biāo)分別為(u,v,1)和(x,y,1),在理想透視變換條件下,二者的轉(zhuǎn)換關(guān)系為
(2)
式中:dx、dy——分別為單個(gè)像素在x軸、y軸方向上的長度,mm/pixel;(u0,v0)——圖像主點(diǎn)O在o-uv中的像素坐標(biāo),pixel。
在不考慮成像畸變的條件下,采樣點(diǎn)P與其像點(diǎn)p之間滿足幾何共線約束準(zhǔn)則,即采樣點(diǎn)P、像點(diǎn)p和攝像機(jī)光心OC在同一條直線上。因此,p的圖像物理坐標(biāo)(x,y)與P在OC-XCYCZC下的三維坐標(biāo)(XC,YC,ZC)之間的轉(zhuǎn)換關(guān)系為
(3)
式中:f——攝像機(jī)的有效焦距,mm。
在公式(2)和公式(3)中,dx、dy、u0、v0和f均由攝像機(jī)本身決定,因而屬于攝像機(jī)的內(nèi)部參數(shù)。聯(lián)立公式(1)~公式(3),可以得到o-uv與OW-XWYWZW之間的轉(zhuǎn)換關(guān)系,從而將采樣點(diǎn)P的圖像像素坐標(biāo)(u,v)轉(zhuǎn)換為其世界坐標(biāo)(XW,YW,ZW)。然而,此過程中的約束條件尚不充分,已知u、v還不足以求解出與之相對應(yīng)的XW、YW和ZW,還需要進(jìn)一步求解出兩個(gè)光平面在世界坐標(biāo)系中的表達(dá)式來作為補(bǔ)充約束條件。一般情況下,光平面方程的基本形式為
A·XW+B·YW+C·ZW+D=0
(4)
式中:A、B和C——分別為光平面方程的系數(shù),D——光平面方程的常數(shù)項(xiàng)。
由于采樣點(diǎn)P同時(shí)位于世界坐標(biāo)系內(nèi)和光平面上,可以將公式(1)~公式(4)聯(lián)立起來,從而建立起十字線結(jié)構(gòu)光視覺傳感器的數(shù)學(xué)模型,如公式(5)所示,這樣就可以形成充足的約束條件以通過P的圖像像素坐標(biāo)(u,v)解算得到P在OW-XWYWZW中的三維坐標(biāo)(XW,YW,ZW)。
(5)
式中:A1、B1、C1和D1——分別為光平面π1的方程參數(shù);A2、B2、C2和D2——分別為光平面π2的方程參數(shù);fx——x軸上的尺度因子,fx=f/dx;fy——y軸上的尺度因子,fy=f/dy。
為了使所搭建的十字線結(jié)構(gòu)光視覺傳感器能夠?qū)崿F(xiàn)測量功能,需要通過標(biāo)定過程確定公式(5)中的R、T、u0、v0、fx和fy等攝像機(jī)參數(shù)以及A1、B1、C1、D1、A2、B2、C2和D2等光平面參數(shù)。同時(shí),十字線結(jié)構(gòu)光視覺傳感器的核心技術(shù)也在于標(biāo)定算法,主要包括攝像機(jī)標(biāo)定、光條中心線提取和結(jié)構(gòu)光平面標(biāo)定三個(gè)環(huán)節(jié)。
獲取攝像機(jī)的內(nèi)部參數(shù)u0、v0、fx、fy和外部參數(shù)R、T的過程,就稱為攝像機(jī)標(biāo)定。本文選用棋盤格標(biāo)定板作為靶標(biāo),并采用張正友標(biāo)定法來實(shí)現(xiàn)攝像機(jī)內(nèi)、外部參數(shù)的標(biāo)定。該棋盤格標(biāo)定板的方格數(shù)目為12×9,方格邊長為9mm×9mm,精度為±0.001mm,方格的角點(diǎn)為特征點(diǎn),在實(shí)際應(yīng)用中具有角點(diǎn)易于提取、標(biāo)定精度高、方向唯一等特點(diǎn)。
在標(biāo)定過程中,保持傳感器的內(nèi)部結(jié)構(gòu)和空間方位不變,接通激光器將十字線結(jié)構(gòu)光投射到棋盤格標(biāo)定板上。在攝像機(jī)的視野范圍內(nèi)自由地移動(dòng)標(biāo)定板,如圖3所示。要始終保證十字線結(jié)構(gòu)光投射在標(biāo)定板上,并利用攝像機(jī)拍攝20幅不同位姿的有十字線結(jié)構(gòu)光覆蓋的標(biāo)定板圖像。為了減小隨機(jī)誤差以提高標(biāo)定精度,標(biāo)定板的位置應(yīng)盡可能地分布在攝像機(jī)視場中的各個(gè)部分。
圖3 標(biāo)定過程Fig.3 Calibration procedure
提取出每幅標(biāo)定板圖像上的88個(gè)角點(diǎn)特征的亞像素級像素坐標(biāo),如圖4所示,并應(yīng)用與之對應(yīng)的三維空間坐標(biāo)以及張正友標(biāo)定法進(jìn)行求解,就可以完成攝像機(jī)標(biāo)定。將世界坐標(biāo)系OW-XWYWZW定義在第一幅標(biāo)定板圖像上,其原點(diǎn)OW設(shè)定在該圖像左上角的第一個(gè)角點(diǎn)處,ZW軸設(shè)定為垂直于標(biāo)定板平面并指向攝像機(jī)方向,XWOWYW平面設(shè)定為標(biāo)定板平面。所得到的標(biāo)定結(jié)果為:u0=1233.35,v0=972.83,fx=3801.37,fy=3789.34,
圖4 提取矩形區(qū)域內(nèi)的角點(diǎn)Fig.4 Extraction of the corners in the rectangular region
在實(shí)際應(yīng)用中,由十字線激光器發(fā)射出的結(jié)構(gòu)光,在本質(zhì)上為兩個(gè)連續(xù)且具有一定厚度的空間光平面,而在被測物體上所形成的具有一定寬度的投影光條特征,即為這兩個(gè)光平面與物體表面相交而成的交線。一般說來,在該空間光平面的厚度方向上,光強(qiáng)近似服從高斯分布,因而在攝像機(jī)采集到的光條圖像中,在沿著光條寬度的方向或光條的法線方向上,其灰度也會(huì)呈現(xiàn)出類似的高斯分布特點(diǎn),即中心的灰度值大而邊緣的灰度值小[9],使得投影光條并非寬度為零的空間曲線,造成圖像中的光條寬度不為單像素,這就給投影光條的準(zhǔn)確定位帶來了很大難題。
本文采用Steger方法來提取出投影光條的中心線,并以此作為十字線結(jié)構(gòu)光的實(shí)際投射位置。該方法本質(zhì)上屬于擬合內(nèi)插算法,其基本思路是首先通過Hessian矩陣獲得光條的法線方向,然后在其法線方向上對像素灰度應(yīng)用泰勒多項(xiàng)式展開而得到灰度分布函數(shù),進(jìn)而計(jì)算出光條中心的亞像素位置[10]。由于投影光條的灰度在其法線方向上近似為高斯分布,因而越靠近光條中心點(diǎn)的像素,其灰度值越大。因此,對該法線方向上的灰度分布函數(shù)的二階泰勒多項(xiàng)式求取極值,即可得到光條在該法線方向上的中心點(diǎn)坐標(biāo)。再由一系列的光條中心點(diǎn)依次連接而組成光條的中心線,從而完成光條中心線的提取與定位任務(wù),如圖5所示,所提取出的光條中心線分別記為L1和L2。在實(shí)際應(yīng)用中,該方法具有較好的魯棒性和通用性,而且能夠達(dá)到亞像素級精度。
圖5 光條中心線的提取結(jié)果Fig.5 Extraction results of the center lines of projection strips
確定兩個(gè)光平面在世界坐標(biāo)系OW-XWYWZW中的方程,就稱為結(jié)構(gòu)光平面標(biāo)定。首先,提取出每幅標(biāo)定板圖像上的全部角點(diǎn),并獲取每個(gè)角點(diǎn)在圖像像素坐標(biāo)系o-uv中的二維坐標(biāo)及其在世界坐標(biāo)系OW-XWYWZW中的三維坐標(biāo),在o-uv中通過最小二乘法擬合出每一行角點(diǎn)所在直線的方程,如圖6所示。一共可以得到8條擬合直線,分別記為直線1、直線2、…直線8。
圖6 擬合每一行角點(diǎn)所在直線的方程Fig.6 Line equation of the corners of each row
然后,利用Steger方法分別提取出每幅標(biāo)定板圖像上的光條中心線在o-uv中的亞像素坐標(biāo),并應(yīng)用最小二乘法分別擬合出兩條中心線L1和L2所在直線的方程。最后,通過聯(lián)立方程組分別求取出L1、L2與直線1~直線8的交點(diǎn)坐標(biāo),如圖7所示。
圖7 求取交點(diǎn)坐標(biāo)Fig.7 Calculation of coordinates of the intersections
應(yīng)用交比不變原理,即物方空間與像方空間的交比具有不變性,可以進(jìn)一步計(jì)算出這些交點(diǎn)在OW-XWYWZW中的空間三維坐標(biāo)。由于這些交點(diǎn)均位于各自的光平面上,因而可以作為光平面方程擬合的特征點(diǎn),如圖8所示。通過上述方法依次求取出每幅標(biāo)定板圖像上的光平面特征點(diǎn),由這些特征點(diǎn)可以擬合出相應(yīng)的光平面方程,圖9為擬合出的兩個(gè)光平面π1和π2。
圖8 光平面上的特征點(diǎn)Fig.8 Feature points on the structured light planes
圖9 擬合出的兩個(gè)光平面Fig.9 Two fitted structured light planes
綜上所述,本文通過棋盤格標(biāo)定板實(shí)現(xiàn)了十字線結(jié)構(gòu)光視覺傳感器的結(jié)構(gòu)參數(shù)標(biāo)定,建立起了十字線結(jié)構(gòu)光視覺傳感器的數(shù)學(xué)模型
在此基礎(chǔ)上,應(yīng)用該傳感器對被測物體進(jìn)行掃描和測量時(shí),由攝像機(jī)采集投射于物體表面上的投影光條圖像,通過圖像處理過程獲取投影光條中心線上的像素點(diǎn)的圖像像素坐標(biāo)(u,v),再通過公式(6)即可求取出與之對應(yīng)的被測表面上采樣點(diǎn)的世界坐標(biāo)(XW,YW,ZW)。
為了驗(yàn)證上述標(biāo)定方法以及標(biāo)定結(jié)果的有效性和正確性,本文應(yīng)用該傳感器開展飛機(jī)蒙皮上的鉚釘孔鉆孔點(diǎn)位處的法向矢量參數(shù)檢測試驗(yàn),試驗(yàn)現(xiàn)場如圖10所示。在試驗(yàn)過程中,首先將十字線結(jié)構(gòu)光投射在一個(gè)飛機(jī)蒙皮模擬樣件的外表面上,并通過攝像機(jī)采集有投影光條覆蓋的模擬樣件圖像,提取出其中的光條中心線L1和L2。然后,應(yīng)用公式(6)和該傳感器的結(jié)構(gòu)參數(shù)標(biāo)定結(jié)果,可以將L1和L2上的全部采樣點(diǎn)的二維像素坐標(biāo)(u,v)均轉(zhuǎn)化為模擬樣件表面上被測點(diǎn)的三維世界坐標(biāo)(XW,YW,ZW),如圖11所示。從圖11中可以看出,世界坐標(biāo)系中的光條中心線保持了被測表面的連通性和拓?fù)湫裕瑥亩鎸?shí)地表征出被測物體表面輪廓的變化情況。
圖10 試驗(yàn)現(xiàn)場Fig.10 Experimental scenes
圖11 世界坐標(biāo)系中的光條中心線及法矢Fig.11 Center lines of projection strips and normal vector in the world coordinate system
采用二次曲線對光條中心線L1和L2上的采樣點(diǎn)分別進(jìn)行最小二乘擬合以得到L1和L2的參數(shù)方程,所獲得的擬合優(yōu)度R2=0.9968。根據(jù)L1和L2的參數(shù)方程進(jìn)一步計(jì)算出投影光條中心點(diǎn)位處的法向矢量(l,m,n),為了便于應(yīng)用和表達(dá),可以將計(jì)算出的法向矢量的各個(gè)分量l、m和n,分別轉(zhuǎn)化為該點(diǎn)位處的法線方向與XW、YW和ZW軸之間的夾角α、β和γ。保持試驗(yàn)條件不變,連續(xù)進(jìn)行10次重復(fù)性測量,所得結(jié)果如表1所示。
表1 試驗(yàn)結(jié)果Tab.1 Measuringresults (°)序號αβγ189.8886.933.06289.8686.873.09389.9486.963.11489.9386.933.05589.9586.923.09689.8786.863.06789.8586.883.07889.8986.853.02989.9286.933.031089.8586.913.04
本文開展了十字線結(jié)構(gòu)光視覺傳感器的結(jié)構(gòu)參數(shù)標(biāo)定方法研究,基于攝像機(jī)的成像模型建立了傳感器的數(shù)學(xué)模型,并提出了傳感器的結(jié)構(gòu)參數(shù)標(biāo)定方法。采用棋盤格標(biāo)定板和張正友標(biāo)定法獲取了攝像機(jī)的內(nèi)、外部參數(shù);通過Steger方法完成了投影光條中心線的提?。徊⒒诮槐炔蛔冊慝@取了光平面上的特征點(diǎn),擬合出了結(jié)構(gòu)光平面的方程,完成了傳感器的結(jié)構(gòu)參數(shù)標(biāo)定,最后對標(biāo)定結(jié)果進(jìn)行了試驗(yàn)驗(yàn)證。試驗(yàn)結(jié)果表明,本文所提出的標(biāo)定方法可以完成十字線結(jié)構(gòu)光視覺傳感器的參數(shù)標(biāo)定,為該類型傳感器的工程化應(yīng)用奠定了堅(jiān)實(shí)基礎(chǔ)。