李葉萌,詹金輝,席國慶,胡隨芯
(1.武漢理工大學(xué) 現(xiàn)代汽車零部件技術(shù)湖北省重點實驗室,湖北 武漢 430070;2.武漢理工大學(xué) 汽車零部件技術(shù)湖北省協(xié)同創(chuàng)新中心,湖北 武漢 430070;3.湖南江南汽車制造有限公司 湖北分公司,湖北 襄陽 441000;4.湖北三環(huán)鍛造有限公司,湖北 谷城 441700)
零件的尺寸檢測是企業(yè)產(chǎn)品質(zhì)量監(jiān)督與控制的重要環(huán)節(jié)。隨著企業(yè)對生產(chǎn)成本和生產(chǎn)效率的要求不斷提高,傳統(tǒng)的尺寸檢測方法已經(jīng)無法滿足企業(yè)的需求。隨著數(shù)字圖像處理技術(shù)的出現(xiàn)和發(fā)展,視覺測量技術(shù)成為工業(yè)界零件尺寸檢測的重要手段之一。視覺測量相對傳統(tǒng)的量檢具測量,具有測量效率高、成本低、適應(yīng)范圍廣等特點,更適合大尺寸和外形復(fù)雜物體的檢測[1],在三維重建和逆向工程等方面的優(yōu)勢更為突出。
采用激光輔助的激光三角測量法可以利用激光的變化來確定被測物的空間位置[2]。激光平面測量模型主要分為相機標定模型和激光平面標定模型兩個部分。國內(nèi)外的研究主要集中在激光平面標定模型的部分。劉鳳梅等[3]提出基于齒形靶標的激光平面標定模型,這種標定模型采用的靶標比較特殊,標定過程較為復(fù)雜。Wei等[4]提出利用雙交叉比不變性來估計光平面參數(shù)的模型,俞乾等[5]提出二維靶標多位姿標定法,兩者采用普通的二維靶標,但只求解了激光平面的表達式,未給出相機相對激光平面的位置關(guān)系,使得其依賴世界坐標系的位置。筆者對激光三角平面測量模型進行改進,進一步推出相機與激光平面的位置關(guān)系,以解決世界坐標系難以獲得或容易改變的問題。
激光三角平面測量模型是對點激光三角測量法的拓展。傳統(tǒng)點激光三角測量法采用點激光器和線陣CCD(charge coupled device)相機,激光器照射到被測物表面并發(fā)生反射,在相機光敏面上成像[6]。點激光三角測量原理如圖1所示,當(dāng)物體高度變化為Δh時,線陣CCD光敏面上也產(chǎn)生相應(yīng)Δx變化,從而獲得被測物體某一點相對于基準平面的高度。
圖1 點激光三角測量原理圖
點激光三角測量法雖然結(jié)構(gòu)簡單,但受到激光器的限制,只能獲得單一的尺寸,且測量效率較低。因此,筆者建立了一種激光三角平面測量模型,測量原理與點激光三角測量法相似,采用線激光器和面陣CCD相機,其結(jié)構(gòu)原理如圖2所示。激光器投射出一個激光平面,激光平面與被測物體相交產(chǎn)生隨被測物體表面形狀變化的激光線條,即被測物體的截面輪廓線。使物體沿激光平面法線在被測物體所在平面投影的方向移動,從而獲得多條物體輪廓線,通過拼接得到物體表面幾何特征。
圖2 激光三角平面測量原理圖
傳統(tǒng)激光三角平面模型只給出了相機坐標系與基準面世界坐標系的轉(zhuǎn)換關(guān)系,在實際測量中世界坐標系有時難以獲得。一旦世界坐標系位置發(fā)生變化,則需重新標定位置關(guān)系。激光三角平面測量模型中,激光平面與相機相對位置固定,當(dāng)建立相機坐標系與激光平面坐標系的位置關(guān)系時,在測量范圍內(nèi)被測物體擺放的基準面高度以及放置姿態(tài)將不會影響測量結(jié)果。圖3為相機與激光平面的標定模型。圖3中(u,v)為像素坐標系,(x,y)為圖像坐標,(Xc,Yc,Zc)為相機坐標系,(Xw1,Yw1,Zw1)為平面P1坐標系,(Xw2,Yw2,Zw2)為平面P2坐標系,(Xl,Yl,Zl)為激光平面坐標系。P1、P2平面平行且高度差為h,為了保證測量精度,通常該高度差應(yīng)大于被測物的高度。
圖3 相機與激光平面的標定模型
根據(jù)相機針孔成像原理建立的相機的成像模型,像素坐標系(u,v)與平面P1坐標系(Xw1,Yw1,Zw1)以及平面P2坐標系(Xw2,Yw2,Zw2)的轉(zhuǎn)換關(guān)系[7]為:
(1)
(2)
式中:dx、dy分別為x、y方向上單個像素的長度;u0、v0為圖像坐標的原點;s為比例系數(shù);f為相機焦距;R1為3×3旋轉(zhuǎn)矩陣;T1為3×1平移向量;M為相機的內(nèi)部參數(shù);M1、M2為標定板在平面P1、P2時的相機外部參數(shù)。
由式(1)和式(2)可以得到平面P2坐標系與平面P1坐標系的轉(zhuǎn)換關(guān)系為:
(3)
激光平面在平面P1和P2內(nèi)分別投影有一條激光線,利用相機記錄兩條激光線的圖像。通過式(1)和式(2)坐標轉(zhuǎn)換關(guān)系對激光線圖像進行處理,得到其在相應(yīng)平面坐標系下可表示為:
[A1B10D1][Xw1Yw1Zw11]T=0
(4)
[A2B20D2][Xw2Yw2Zw21]T=0
(5)
將式(3)代入式(5)得:
[A1B1hD′2][Xw1Yw1Zw11]T=0
(6)
式中:A1、B1、D1、A2、B2、D2和D′2為空間直線常系數(shù)。
兩條激光線相互平行且式(4)和式(6)統(tǒng)一在平面P1的坐標系下,激光平面在平面P1坐標系下的方程可以表示為:
AXw1+BYw1+CZw1+D=0
(7)
式中:A、B、C和D為空間平面系數(shù)。
通過式(1)和式(7)即可獲得物體在平面P1坐標系下的三維坐標。取激光平面內(nèi)一點(xl,yl,zl)為原點建立激光平面坐標系,設(shè)Ml-1為平面P1坐標系與激光平面坐標系轉(zhuǎn)換矩陣,由式(1)和式(7)可推得平面P1坐標系與激光平面坐標系關(guān)系為:
(8)
設(shè)Ml為相機相對于激光平面的外部參數(shù)矩陣,最終得到激光平面坐標系與圖像坐標系的轉(zhuǎn)換關(guān)系為:
(9)
上述數(shù)學(xué)模型忽略了相機鏡頭帶來的圖像畸變的影響,實際應(yīng)用中會引入畸變系數(shù)對圖像進行畸變矯正。相機非線性畸變可以分為徑向畸變、切向畸變和薄棱鏡畸變,其中徑向畸變對圖像的影響最大[8]。為了更準確補償圖像畸變,選取了3個徑向畸變系數(shù)(k1、k2、k3)和2個切向畸變系數(shù)(p1、p2)。
標定是對已建立相機模型中未知參數(shù)的求解過程,利用已知特征點建立圖像坐標系和世界坐標系位置關(guān)系。相機的標定參數(shù)包括內(nèi)部參數(shù)和外部參數(shù)兩個部分。內(nèi)部參數(shù)是相機固有參數(shù),包括焦距、像素長度、圖像尺寸和圖像原點和畸變系數(shù)等,這些參數(shù)不隨相機的位置變化。外部參數(shù)則是確定相機坐標系與世界坐標系位置關(guān)系,可以用旋轉(zhuǎn)矩陣和平移向量來表示。根據(jù)建立的模型搭建實驗平臺,相機型號為piA2400-17gm-Basler pilot,線激光器為HA345050L-AL,波長450 nm,相機光軸與線激光器投射平面呈25°。采用張正友標定法,用相機拍攝多個方位的平面靶標,求解相機的參數(shù)。采用2D平面靶標對相機進行標定,標定板如圖4所示。標定板由7×7個實心圓陣列組成,圓的直徑為10 mm,相鄰兩個圓的圓心距為20 mm,外框黑線的尺寸為160×160 mm,標定板尺寸精度為0.1 mm。
圖4 2D標定板
利用Halcon軟件的圖像采集助手,在相機的視野范圍內(nèi)移動標定板并拍攝一定數(shù)量標定板圖像,導(dǎo)入標定程序?qū)ο鄼C的內(nèi)部參數(shù)進行標定,圖5為標定板在不同位置采集的圖形。通過6次標定對結(jié)果取平均值,獲得相機的內(nèi)部參數(shù)如表1所示。
圖5 標定板采集圖像
內(nèi)部參數(shù)標定值內(nèi)部參數(shù)標定值焦距f/mm11.14k1/px/m21.57×103單個像素長度dx/μm6.25k2/px/m4-7.44×106單個像素長度dy/μm6.25k3/px/m6-1.39×1011圖像原點u0/px1 274.61p1/px/m20.046 9圖像原點v0/px1 014.65p2/px/m4-0.007 1標定誤差/μm0.243
相機的外部參數(shù)需要分兩步來標定,首先拍攝標定板在P1平面上的圖像和此時的激光線條圖(圖6),之后保持標定板位姿不動,將工作臺面提高一定距離,拍攝標定板在P2平面上的圖像和此時激光線條圖(圖7)。通過自定義算子compute_light_pose,計算P1、P2平面內(nèi)相機外部參數(shù),并對激光平面進行擬合。
圖6 P1平面標定板及激光線條圖像
圖7 P2平面標定板及激光線條圖像
實際光平面擬合是通過3點確定平面來完成的。在P1平面激光線條上選取兩個點,P2平面激光線選取一個點,通過3點確定激光平面的法向量,以3點確定圓心為激光平面坐標系的原點,從而建立激光平面坐標系。為了更準確地標定,通過多次選點來進行擬合,以激光線條上點的平均距離殘差來評價擬合效果,當(dāng)平均殘差值小于7×10-5時,認為激光平面的擬合符合測量要求。最終標定得相機相對平面P1外部參數(shù)M1和相機相對激光平面法外部參數(shù)Ml為:
選取尺寸已知的樣塊,測試測量系統(tǒng)在P1平面坐標系下xyz3個方向上的誤差分布。將樣塊依次放置在移動平臺上,以5 mm/s的速度沿x方向勻速移動,相機以17幀/s的速度對被測物上的激光線條進行拍攝。激光線條投射在被測物體表面,由于物體表面的反射作用,加上環(huán)境光照的影響,圖像會產(chǎn)生噪聲。在對圖像進行濾波處理后,圖像分為高亮度激光線條和黑色背景兩個部分。設(shè)定一定灰度閾值,提取出主要的激光線條部分。擬合激光線條的外包圍輪廓線,計算輪廓線在每個像素列方向中點作為激光線條的中心線[9]。將中心線離散成點,并轉(zhuǎn)換到世界坐標系下,獲得單張圖像激光線條的點云數(shù)據(jù)[10]。將激光線條沿x方向等距拼接在一起,最終獲得樣塊的部分表面三維點云數(shù)據(jù)。利用Geomagic Studio對點云進行修補、平面擬合以及尺寸測量,獲得各方向誤差變化如圖8~圖10所示。
圖8 x方向誤差
圖9 z方向誤差
圖10 y方向誤差變化
激光線條拼接時的距離是平臺移動速度與相機幀率的比值,由于此為理論計算得出的,因此在樣塊移動方向上(x方向)測量誤差隨尺寸變換很小。而在樣塊的yz兩個方向上,系統(tǒng)的測量誤差都與測量的尺寸相關(guān)。在z方向上,隨著樣塊z向尺寸的增加,測量誤差加速上升,誤差增長近似為2次曲線。而在y方向上,誤差與樣塊尺寸基本呈線性增長關(guān)系,與此同時,隨著樣塊被測面所處高度的增加,誤差值也隨之提高了。
從圖8~圖10中可知,測量系統(tǒng)在一定測量范圍內(nèi),測量誤差較小。設(shè)定測量系統(tǒng)的工作精度為0.5 mm,則通過相機與工作平面的相關(guān)參數(shù),可以得到該測量系統(tǒng)的工作高度范圍為380~440 mm。
(1)針對傳統(tǒng)激光三角平面測量法在實際應(yīng)用中世界坐標系難以確定的問題,建立了以激光平面為測量面的數(shù)學(xué)模型,推導(dǎo)了相機與激光平面坐標的轉(zhuǎn)換關(guān)系,提高了測量系統(tǒng)的靈活性。
(2)通過實驗得到系統(tǒng)的測量誤差,獲得了其在不同方向上的分布規(guī)律,最終確定測量系統(tǒng)的精度以及工作范圍。