李忠祥,周哲海,2*,陳 麗 ,趙 爽,李 勇
(1.北京信息科技大學(xué) 機(jī)械工業(yè)現(xiàn)代光電測(cè)試技術(shù)重點(diǎn)實(shí)驗(yàn)室,北京 100192;2.北京信息科技大學(xué) 光電測(cè)試技術(shù)及儀器教育部重點(diǎn)實(shí)驗(yàn)室,北京 100192)
近些年來(lái),線結(jié)構(gòu)光3維測(cè)量系統(tǒng)因其結(jié)構(gòu)簡(jiǎn)單、穩(wěn)定度高、效率高、量程大、非接觸等優(yōu)勢(shì),在3維模型重建、物體3維輪廓檢測(cè)、逆向工程等領(lǐng)域獲得了廣泛應(yīng)用,體現(xiàn)出了相當(dāng)廣闊的應(yīng)用前景[1-3]。在線結(jié)構(gòu)光3維測(cè)量系統(tǒng)中,測(cè)量的精度主要取決于系統(tǒng)標(biāo)定的精度,而線結(jié)構(gòu)光的光平面標(biāo)定是系統(tǒng)標(biāo)定中的關(guān)鍵部分[4-5]。
現(xiàn)有的光平面標(biāo)定法主要分為矢量法[6-7]、幾何法[8-9]和數(shù)學(xué)計(jì)算法[10-12]3種類型。其中,矢量法是使用向量叉乘的思想來(lái)求解光平面的坐標(biāo),該方法計(jì)算速度較快,實(shí)際操作也相對(duì)簡(jiǎn)單,但是精度相對(duì)較低。幾何法是利用幾何思維來(lái)求解光平面的方程,隨著研究的不斷深入,許多新的方法被不斷提出,例如,LI等人[13]使用一組設(shè)計(jì)好的正交平面,并在兩個(gè)平面上繪制兩組平行線,首尾相連可以得到多個(gè)直角三角形,將光條照射在各個(gè)平面上,直角三角形的光條長(zhǎng)短關(guān)系使用交比不變?cè)砜色@取交點(diǎn)的坐標(biāo)值,最后使用非線性優(yōu)化獲得最終結(jié)果;PAN等人[14]提出的一種基于條紋點(diǎn)位置不確定性補(bǔ)償?shù)慕槐炔蛔兎椒?最終標(biāo)定精度的均方根 (root mean square,RMS)可以達(dá)到0.4 mm;CHEN等人[15]也提出了一種基于光束整形系統(tǒng)和交比不變方法的光平面標(biāo)定方法,可以使被測(cè)物的輪廓掃描測(cè)量精度達(dá)到0.005 mm。數(shù)學(xué)計(jì)算法是這3種方法中運(yùn)算量最大且基本不需要獲取光條上特征點(diǎn)信息的一種方法,LIU等人[10]提出的基于聯(lián)立多個(gè)光條在相機(jī)坐標(biāo)系中的Plǜcker矩陣求解光平面方程的方法,精度RMS達(dá)到了0.009 mm;ZHANG等人[16]提出了一種基于Plǜcker矩陣的多傳感器全局校準(zhǔn)方法,該方法通過(guò)優(yōu)化不同位置的光條中心點(diǎn),并設(shè)置基準(zhǔn)視覺(jué)傳感器來(lái)校準(zhǔn)其它傳感器,誤差小于0.05 mm,但總體上該方法計(jì)算量過(guò)大且流程復(fù)雜。除此之外,學(xué)者們還提出了一些新方法,例如使用3維靶標(biāo)的光平面標(biāo)定方法[17-18],以及為了解決自動(dòng)掃描問(wèn)題而提出的一些基于主動(dòng)視覺(jué)[19]或使用振鏡[20-22]和旋轉(zhuǎn)機(jī)構(gòu)[23]來(lái)標(biāo)定的方法。但這些方法要么依賴3維標(biāo)定靶的加工精度,要么依賴振鏡和旋轉(zhuǎn)機(jī)構(gòu)運(yùn)動(dòng)的線性度,因此導(dǎo)致操作復(fù)雜,且要獲得較高精度時(shí)的成本較高。
為了解決上述問(wèn)題與不足,本文作者提出了一種新的基于幾何法的線結(jié)構(gòu)光平面標(biāo)定方法。該方法使用線結(jié)構(gòu)光光條上所有中心點(diǎn)來(lái)擬合光條在像素坐標(biāo)系下的直線方程,并將該直線與標(biāo)定靶標(biāo)之間連成的直線相交,得到交線的像素坐標(biāo)P0(u,v)。利用投影幾何原理可知,該交點(diǎn)連接相機(jī)光心后,必定交沿相機(jī)坐標(biāo)系Zc軸方向一定距離處的投影平面α于一點(diǎn)E″。建立該交點(diǎn)E″與P0(u,v)之間的數(shù)學(xué)關(guān)系,聯(lián)立標(biāo)定靶所在平面的相機(jī)坐標(biāo)系下數(shù)學(xué)表達(dá)式,即可求解得到每個(gè)交點(diǎn)P0(u,v)的相機(jī)坐標(biāo)系值,多次移動(dòng)標(biāo)定靶,獲取多組交點(diǎn)的相機(jī)坐標(biāo)值,通過(guò)最小二乘擬合即可得到相機(jī)坐標(biāo)系下光平面的方程。結(jié)果表明,本文中提出的方法在干擾較大或光條特性不明顯的地方(如光條兩端或相機(jī)視野兩邊處), 仍能獲得較高的測(cè)量精度。該標(biāo)定方法在簡(jiǎn)化了標(biāo)定流程和計(jì)算量的同時(shí),具有較高的穩(wěn)定性、準(zhǔn)確性和精度,適用于一般工業(yè)應(yīng)用場(chǎng)景。
在進(jìn)行線結(jié)構(gòu)光平面標(biāo)定之前,需要先將單目相機(jī)進(jìn)行內(nèi)外參數(shù)的標(biāo)定[24]。這里把相機(jī)看成一個(gè)小孔成像模型,由此可以得到世界坐標(biāo)系中的一個(gè)點(diǎn)A(Xw,Yw,Zw)與相機(jī)光心之間的關(guān)系,如圖1所示。
在圖1中,把世界坐標(biāo)系描述為Ow-XwYwZw,相機(jī)坐標(biāo)系描述為Oc-XcYcZc,圖像坐標(biāo)系描述為O-xy,像素坐標(biāo)系描述為O-uv。所以由剛體變換可以得到世界坐標(biāo)系中的點(diǎn)A(Xw,Yw,Zw)轉(zhuǎn)換到相機(jī)坐標(biāo)系A(chǔ)c(Xc,Yc,Zc)的過(guò)程如下:

(1)
式中,R為描述剛體變換的旋轉(zhuǎn)矩陣,T為平移向量;點(diǎn)Ac由相機(jī)坐標(biāo)轉(zhuǎn)換到圖像坐標(biāo)系O-xy時(shí)可以描述為:

(2)
式中,f為焦距。在圖像坐標(biāo)系轉(zhuǎn)換到像素坐標(biāo)系時(shí)需要注意的是,像素坐標(biāo)原點(diǎn)通常表示在圖片的左上角,而圖像坐標(biāo)原點(diǎn)卻在圖片的正中間,所以圖像坐標(biāo)系到像素坐標(biāo)系之間的轉(zhuǎn)換關(guān)系為:

(3)
式中,dx、dy表示單個(gè)像素的像元大小,u0、v0表示在像素坐標(biāo)系下主點(diǎn)位置的偏移量。得到各個(gè)坐標(biāo)系之間的轉(zhuǎn)換關(guān)系,可以用ZHANG[24]提出的相機(jī)標(biāo)定方法進(jìn)行相機(jī)標(biāo)定,這樣就得到了上面各式之間相互轉(zhuǎn)換所要的相機(jī)內(nèi)、外參數(shù)矩陣。
假設(shè)有一點(diǎn)B(Xw,1,Yw,1,Zw,1)在世界坐標(biāo)系下的標(biāo)定靶平面上,并且將世界坐標(biāo)系建立在了標(biāo)定靶平面上,則可以把標(biāo)定靶標(biāo)所在的世界坐標(biāo)系下平面方程描述為:
MXw,1+NYw,1+PZw,1+Q=0
(4)
式中,M、N、P、Q為常數(shù)。由(1)式可以得到該平面在相機(jī)坐標(biāo)系下的表達(dá)式為:

(5)
因?yàn)槭澜缱鴺?biāo)系建立在了標(biāo)定靶平面上,所以(4)式可以轉(zhuǎn)變?yōu)閆w,1=0。由此可以推出在相機(jī)坐標(biāo)系下表示為:

(6)
觀察(5)式可知,R,T是在相機(jī)標(biāo)定時(shí)求出的每個(gè)標(biāo)定靶不同位姿的平移旋轉(zhuǎn)矩陣,這樣可以唯一確定在不同位姿下各個(gè)標(biāo)定靶所在平面的相機(jī)坐標(biāo)系下的方程為:
M1Xc,1+N1Yc,1+P1Zc,1+Q1=0
(7)
式中,M1、N1、P1、Q1是可求常數(shù)。
使用光條中心亞像素提取算法[25]計(jì)算光條亞像素中心,結(jié)果如圖2所示,這里使用的標(biāo)定靶是一種圓形標(biāo)定靶。對(duì)提取的所有亞像素中心點(diǎn)使用隨機(jī)抽樣一致(random sample consensus,RANSAC)進(jìn)行直線擬合,可以得到較為精確的線結(jié)構(gòu)光光線的直線方程λn,將其描述為:

圖2 光條中心提取結(jié)果
a0u+b0v+c0=0
(8)
式中,a0,b0和c0為直線方程λn的常數(shù)項(xiàng)。因?yàn)槭褂玫臉?biāo)定靶是圓形標(biāo)定靶,所以可以很好地得到每個(gè)圓形圓心的像素坐標(biāo),進(jìn)而得到每個(gè)圓心連線的直線方程Ln,如圖3a所示。

圖3 標(biāo)定靶圓心連線與光條相交
Ln可以表示為:
a1u+b1v+c1=0
(9)
式中,a1,b1和c1為直線方程Ln的常數(shù)項(xiàng)。如圖3b所示,進(jìn)一步將光條與圓心連線相交的交點(diǎn)P0(u,v)表示為:

(10)
由相機(jī)的透視投影模型可知,在相機(jī)視野范圍內(nèi)的標(biāo)定板上所有點(diǎn)與相機(jī)光心的連線都與標(biāo)定板有且僅有一個(gè)交點(diǎn)。所以由(2)式,光條與靶標(biāo)連線的交點(diǎn)P0(u,v)在相機(jī)坐標(biāo)系下可描述為:

(11)
式中,(Xc,0,Yc,0,Zc,0)T表示相機(jī)坐標(biāo)系下的交點(diǎn)的坐標(biāo)值,其系數(shù)矩陣為相機(jī)標(biāo)定時(shí)獲取的相機(jī)內(nèi)參矩陣,而fx、fy表示相機(jī)在u、v軸向的尺度因子,u0、v0表示選取的主點(diǎn)坐標(biāo)。將(11)式中的相機(jī)內(nèi)參矩陣求逆后左乘至等號(hào)左邊,可得到如下關(guān)系式:

(12)
經(jīng)過(guò)化簡(jiǎn),(12)式進(jìn)一步表示為:

(13)
標(biāo)定板上兩線的交點(diǎn)透視投影模型如圖4所示。通過(guò)分析可知,距離相機(jī)光心一定距離處的,圖像坐標(biāo)系α中點(diǎn)E″的圖像坐標(biāo)與相機(jī)光心的連線和世界坐標(biāo)系下,該點(diǎn)與相機(jī)光心的連線共線。

圖4 標(biāo)定板上兩線的交點(diǎn)透視投影模型
所以,相機(jī)坐標(biāo)系與離相機(jī)光心一定距離處的圖像坐標(biāo)系α之間的旋轉(zhuǎn)矩陣R為單位陣,并且平移向量T=(0,0,g)T,其中g(shù)為常數(shù)。進(jìn)而得到在坐標(biāo)系α中兩線交點(diǎn)的相機(jī)坐標(biāo)值為:

(14)
為了方便計(jì)算,這里設(shè)g=1, (14) 式簡(jiǎn)化為:

(15)
所以,圖2中E點(diǎn)的投影坐標(biāo)E″與相機(jī)光心Oc所組成的直線方程為:

(16)
聯(lián)立(7)式、(10)式和(16)式,得到E點(diǎn)在相機(jī)坐標(biāo)系下的坐標(biāo)為:

(17)
式中,等號(hào)右邊均為已知量,a0、a1、b0、b1、c0、c1可由N個(gè)不同位姿標(biāo)定板上的光條直線方程與靶標(biāo)連線的7條直線方程得到。使光平面固定不變,移動(dòng)N次標(biāo)定板獲取N×7個(gè)交點(diǎn),即可使用最小二乘法擬合得到光平面方程。
為了測(cè)試光平面標(biāo)定的精度以及算法的穩(wěn)定性,設(shè)計(jì)并搭建了如圖5所示的線結(jié)構(gòu)光3維測(cè)量系統(tǒng)。

圖5 搭建的實(shí)驗(yàn)系統(tǒng)
系統(tǒng)使用黑白工業(yè)相機(jī),并搭配8 mm定焦鏡頭用于成像。使用波長(zhǎng)為405 nm的一字線結(jié)構(gòu)光激光器作為線結(jié)構(gòu)光源,標(biāo)靶采用圖案數(shù)量為7×7,靶標(biāo)圓心距離為2 cm的圓形標(biāo)靶。
系統(tǒng)標(biāo)定時(shí),為了使標(biāo)定更加簡(jiǎn)便、準(zhǔn)確,使用了一種圖片相減求差異[26]的方式來(lái)定位光條所在區(qū)域。在拍攝標(biāo)定單目相機(jī)所需要圖片的同時(shí),也打開(kāi)激光器照射到標(biāo)定靶上再次拍攝圖片,使在標(biāo)定靶相同位置下,拍攝的這兩張照片之間的差異只有光條,這樣就完成了光條感興趣區(qū)域(region of interest,ROI)提取。
整個(gè)光平面的標(biāo)定流程大致分為:(a)拍攝標(biāo)定靶在不同位置的圖像;(b)標(biāo)定單目相機(jī);(c)使用有無(wú)線結(jié)構(gòu)光光條的標(biāo)定靶圖片相減后提取光條中心;(d)將光條中心進(jìn)行直線擬合并求出標(biāo)定靶圓點(diǎn)與該直線交點(diǎn)的表達(dá)式;(e)求出標(biāo)定靶所在平面的相機(jī)坐標(biāo)系下表達(dá)式;(f)求出第1.2節(jié)中的(15)式,并聯(lián)立所有方程組求解交點(diǎn)的相機(jī)坐標(biāo)系下的坐標(biāo)值;(g)多次移動(dòng)標(biāo)定靶求解多個(gè)交點(diǎn)的相機(jī)坐標(biāo)系值后,使用最小二乘擬合光平面。具體的標(biāo)定流程如圖6所示。

圖6 系統(tǒng)標(biāo)定流程圖
移動(dòng)10次標(biāo)定靶,拍攝10組有、無(wú)光條的標(biāo)定靶圖片,標(biāo)定得到單目相機(jī)的內(nèi)參矩陣為:

(18)
拍攝的所有標(biāo)定使用光條如圖7a所示;使用光條中心提取算法得到圖7b中每個(gè)光條對(duì)應(yīng)的中心線。

圖7 光條圖片與光條中心提取結(jié)果
光平面標(biāo)定結(jié)果如圖8所示,表達(dá)式為:

圖8 光平面標(biāo)定結(jié)果
Zc=0.260958Xc+1.833015Yc+68.194519
(19)
使用了長(zhǎng)度為40 mm的標(biāo)準(zhǔn)量塊來(lái)測(cè)試光平面的標(biāo)定精度,量塊實(shí)物圖如圖9a所示。使用相機(jī)拍攝該量塊在光條不同位置處的圖像如圖9b所示,使用光平面標(biāo)定結(jié)果量塊上的光條中心點(diǎn)轉(zhuǎn)換為世界坐標(biāo)并計(jì)算量塊兩端的點(diǎn)距離。

圖9 量塊實(shí)拍圖與量塊在不同位置的位移情況
表1所示為使用本文作者提出的方法對(duì)該量塊的測(cè)量結(jié)果。表中列出了使用本文中的方法和ZHANG[27]提出的方法,分別對(duì)該量塊在同一光平面下不同位置的16次測(cè)量結(jié)果。使用ZHANG[27]的方法得到的光平面方程為:
Zc=0.260212Xc+1.833526Yc+68.194689
(20)
而從表2中容易看出,本文中的方法在后10次的光條和相機(jī)視野邊緣位置處,測(cè)量的量塊寬度仍能保持較好的魯棒性。使用ZHANG[27]的方法在光條質(zhì)量較好、且測(cè)量時(shí)被測(cè)物處于相機(jī)成像中心區(qū)域內(nèi)的測(cè)量結(jié)果略優(yōu)于本文中的方法,但是在不理想條件下的準(zhǔn)確性和魯棒性均未能達(dá)到本文作者所提出方法的性能。

表2 后10次測(cè)量結(jié)果
表3為測(cè)量結(jié)果的誤差分析。結(jié)合表1和表2中的測(cè)量結(jié)果可知,兩種方法在距離相機(jī)視野中心并且在激光器出射角中心處的測(cè)量誤差均較小。在邊緣位置對(duì)成像不利的條件下,本文作者提出的方法依然能達(dá)到相對(duì)較高的精度,且RMS誤差和平均測(cè)量誤差也小于對(duì)比的方法,證明該方法的抗干擾能力較強(qiáng),穩(wěn)定性較好。

表3 誤差分析/mm
提出了一種線結(jié)構(gòu)光標(biāo)定方法,并將該方法與已有的方法進(jìn)行了對(duì)比,得到了更高的測(cè)量精度、魯棒性和穩(wěn)定性。同時(shí),由于該方法采用先擬合直線后相交的方法,使得光條上干擾點(diǎn)對(duì)于擬合光平面的誤差可以得到較好的降低,并且所投射的線結(jié)構(gòu)光光條可以在標(biāo)定靶的任何位置,使得標(biāo)定更加可控和簡(jiǎn)便。應(yīng)用該方法時(shí),在標(biāo)定時(shí)使用到了標(biāo)定靶的中心點(diǎn)的圓心特征,這樣會(huì)受到來(lái)自標(biāo)定靶加工精度以及相機(jī)畸變程度的影響,這是接下來(lái)值得研究的一個(gè)問(wèn)題。