陳 洋
(中國(guó)航空工業(yè)集團(tuán)公司洛陽(yáng)電光設(shè)備研究所,河南 洛陽(yáng) 471000)
高精度測(cè)量技術(shù)是支撐經(jīng)濟(jì)高質(zhì)量發(fā)展的重要技術(shù)之一,經(jīng)常應(yīng)用在高端制造中,是一項(xiàng)不可或缺的重要組成部分[1]。隨著科技的進(jìn)步,我國(guó)的高端制造業(yè)正在高速發(fā)展,對(duì)精密測(cè)量技術(shù)的需求也日益迫切,同時(shí)對(duì)其技術(shù)要求也不斷提高,因此出現(xiàn)了很多新的測(cè)量需求和要求。但是傳統(tǒng)的測(cè)量方法在面對(duì)這些新的測(cè)量需求時(shí),測(cè)量精度已經(jīng)無(wú)法有效滿足應(yīng)用需求,所以需要一種高精度的新測(cè)量方法來(lái)解決傳統(tǒng)測(cè)量面臨的問(wèn)題[2],高精度視覺測(cè)量技術(shù)應(yīng)運(yùn)而生。
視覺測(cè)量具有非接觸、實(shí)時(shí)測(cè)量、精度高以及可以自動(dòng)化測(cè)量等優(yōu)點(diǎn)[3-4],在高端制造業(yè)以及工業(yè)等領(lǐng)域需要高精度實(shí)時(shí)非接觸測(cè)量等領(lǐng)域應(yīng)用廣泛。由于視覺測(cè)量的相機(jī)加工存在誤差,視覺測(cè)量的精度取決于測(cè)量相機(jī)參數(shù)的標(biāo)定精度,在進(jìn)行測(cè)量前,要對(duì)相機(jī)的參數(shù)進(jìn)行標(biāo)定,用來(lái)補(bǔ)償測(cè)量過(guò)程的誤差。對(duì)于空間中較小的物體,在采用視覺測(cè)量時(shí),相機(jī)參數(shù)標(biāo)定往往采用高精度的平面靶標(biāo)對(duì)相機(jī)進(jìn)行參數(shù)標(biāo)定,就能夠滿足測(cè)量精度;但是在對(duì)空間中大型物體進(jìn)行測(cè)量時(shí),由于測(cè)量及成像空間大,如果測(cè)量精度要求高,大尺寸的高精度平面靶標(biāo)加工難度大,精度無(wú)法保證,通常采用高精度的三維靶標(biāo)進(jìn)行相機(jī)參數(shù)標(biāo)定來(lái)保證測(cè)量精度。
本文針對(duì)大尺寸高精度測(cè)量提出了一種基于控制場(chǎng)的相機(jī)標(biāo)定方法,并通實(shí)驗(yàn)證明標(biāo)定方法的正確性及精度,具有較高使用價(jià)值。
相機(jī)的成像模型可以用簡(jiǎn)單的小孔成像模型來(lái)表示,小孔成像模型中用兩組參數(shù)來(lái)表示空間三維點(diǎn)和相機(jī)成像平面二維點(diǎn)之間的透視投影關(guān)系,一組參數(shù)是測(cè)量相機(jī)的內(nèi)參數(shù),一組是測(cè)量相機(jī)外參數(shù),假設(shè)相機(jī)成像符合理想的小孔成像模型,相機(jī)內(nèi)參數(shù)包括:實(shí)際焦距f、傳感器像元大小(dx,dy)和圖像的主點(diǎn)坐標(biāo)(u0,v0);對(duì)于實(shí)際的成像相機(jī)模型,由于存在加工和裝配等誤差,除了上述參數(shù)外,相機(jī)內(nèi)參數(shù)還應(yīng)包括:徑向畸變參數(shù)(k1,k2,k3)、切向畸變參數(shù)p1,p2;相機(jī)的外參數(shù)包括:3×3的正交旋轉(zhuǎn)矩陣R和3×1的平移矩陣T。
定義OwXwYwZw為外部物體的世界坐標(biāo)系,Ow為世界坐標(biāo)系原點(diǎn),OcXcYcZc為相機(jī)坐標(biāo)系,Oc為光心,Ofuv為像素坐標(biāo)系,Oxy為像面坐標(biāo)系。小孔成像模型如圖1所示。
圖1 小孔成像模型
設(shè)任意一點(diǎn)p的坐標(biāo)為(up,vp)和(xp,yp)知:
xp=(up-u0)dx
yp=(vp-v0)dy
(1)
相機(jī)鏡頭的畸變模型為[5]:
(2)
設(shè)空間任意一點(diǎn)在空間世界坐標(biāo)系下的坐標(biāo)為(Xwp,Ywp,Zwp),齊次坐標(biāo)為(Xwp,Ywp,Zwp,1),p在相機(jī)坐標(biāo)系下的坐標(biāo)為(Xcp,Ycp,Zcp),點(diǎn)p在像面坐標(biāo)系下的齊次坐標(biāo)為(xp,yp,1),世界坐標(biāo)系到相機(jī)坐標(biāo)系的旋轉(zhuǎn)矩陣為R,平移矩陣為T。
由透視投影關(guān)系可以得p點(diǎn)世界坐標(biāo)系坐標(biāo)和投影點(diǎn)像面坐標(biāo)的關(guān)系:
(3)
展開式(3)可以得到:
(4)
考慮相機(jī)成像畸變(4)式可寫為:
(5)
設(shè)空間中有n個(gè)點(diǎn),在世界坐標(biāo)系下的坐標(biāo)為(Xwi,Ywi,Zwi),在相機(jī)像面坐標(biāo)系下的坐標(biāo)為(xi,yi),其中i=1,2,3,...,n。
由(5)式設(shè):
(6)
又由旋轉(zhuǎn)矩陣具有的正交性質(zhì),滿足6個(gè)正交約束方程:
(7)
由式(6)(7)可以構(gòu)造求解相機(jī)參數(shù)的無(wú)約束的最優(yōu)目標(biāo)函數(shù):
(8)
式(6)(7)(8)中:x=[fu0v0k1k2k3p1p2r1r2r3r4r5r6r7r8r9txtytz]為待求解相機(jī)參數(shù)矩陣。
由最優(yōu)目標(biāo)函數(shù)F(x),令:
f(x)=[F11(x)...F1n(x)F21(x)...
F2n(x)H1(x)...H6(X)]r
(9)
令J(x)為f(x)的雅克比矩陣,知:
其中,i=1,2,3,...,n;j=1,2,...,6。
利用DLT求得F(x)初值x0,選取優(yōu)化初始參數(shù)α>0,增長(zhǎng)因子β>1,迭代終止條件為δ>0,且δ是很小的實(shí)數(shù),I20×20為單位矩陣,設(shè)K=0。
利用L-M優(yōu)化算法求解相機(jī)參數(shù)的具體流程如下。
步1:置α=α/β。
步3:若F(xk+1) 經(jīng)過(guò)有限次迭代計(jì)算,可求得到相機(jī)的內(nèi)外參數(shù)。 為了驗(yàn)證相機(jī)標(biāo)定方法的正確性和高精度,構(gòu)造相機(jī)模型,內(nèi)參數(shù):焦距f=25 mm;傳感器x方向像元大小dx=5.3 μm,傳感器y方向的像元大小dy=5.3 μm;成像大小為1 280×1 024;主點(diǎn)選取理論值(u0,v0)=(640,512);徑向畸變:k1=1.5e-5,k2=-3.5e-6,k3=6.5e-7;切向畸變:p1=-2.5e-6,p2=5.5e-7;控制場(chǎng)坐標(biāo)系到相機(jī)坐標(biāo)系的旋轉(zhuǎn)矩陣R和平移矩陣T如下式: (10) 使用本文提出的標(biāo)定方法,可以計(jì)算出相機(jī)的內(nèi)外參數(shù)如表1所示。 表1 相機(jī)參數(shù)對(duì)比 模擬控制場(chǎng)標(biāo)定相機(jī)參數(shù)和相機(jī)參數(shù)真實(shí)值對(duì)比如表1所示。本算法標(biāo)定值偏離真實(shí)值極小,標(biāo)定值幾乎與真實(shí)值相等,是因?yàn)闃?biāo)定過(guò)程中空間三維特征點(diǎn)坐標(biāo)和像素二維點(diǎn)坐標(biāo)都是根據(jù)相機(jī)成像模型仿真出的理想空間點(diǎn),沒有成像誤差所致,實(shí)際應(yīng)用過(guò)程中,由于在測(cè)量三維點(diǎn)時(shí)存在定位誤差、控制場(chǎng)特征點(diǎn)成像時(shí)也存在二維點(diǎn)定位誤差,實(shí)際標(biāo)定結(jié)果和真實(shí)值的偏差一般會(huì)略大于理想情況下的偏差。 為了驗(yàn)證標(biāo)定算法的穩(wěn)定性,通過(guò)指定的20組不同的世界坐標(biāo)系到相機(jī)坐標(biāo)系的旋轉(zhuǎn)平移矩陣,利用本論文標(biāo)定算法計(jì)算相機(jī)內(nèi)參,結(jié)果如圖2—4所示。 圖2 焦距 圖3 主點(diǎn)偏差 圖4 畸變偏差 由20次相機(jī)參數(shù)標(biāo)定實(shí)驗(yàn)數(shù)據(jù)可知:20次試驗(yàn)標(biāo)定的相機(jī)焦距平均值favg=25.000 003 51 mm,標(biāo)定的相機(jī)成像主點(diǎn)參數(shù)偏差絕對(duì)值的平均值uavg=0.008 76 pixel,vavg=0.006 374 pixel,畸變參數(shù)標(biāo)定結(jié)果偏差絕對(duì)值的平均值k1avg=1.756e-7,k2avg=5.743e-8,k3avg=5.737e-9,p2avg=2.33e-8,由20次試驗(yàn)結(jié)果可知相機(jī)內(nèi)參標(biāo)定結(jié)果具有很高的穩(wěn)定型。 實(shí)際實(shí)驗(yàn)中使用的是灰點(diǎn)公司的工業(yè)相機(jī),相機(jī)成像像素大小為1 280×1 024,相機(jī)傳感器像元大小dx=dy=5.3 μm,相機(jī)鏡頭焦距為f=25 mm。三維控制場(chǎng)由8根貼有反光標(biāo)志點(diǎn)的柱子組成,共有80個(gè)反光標(biāo)志點(diǎn),標(biāo)志點(diǎn)的三維坐標(biāo)已提前通過(guò)工業(yè)數(shù)字近景攝影三維坐標(biāo)測(cè)量系統(tǒng)獲得。 通過(guò)相機(jī)對(duì)控制場(chǎng)特征點(diǎn)成像,獲取特征點(diǎn)在相機(jī)成像平面的二維像素坐標(biāo),利用本論文的標(biāo)定算法獲得相機(jī)內(nèi)外參數(shù)。 對(duì)于三維空間中任意一點(diǎn)p,設(shè)其空間三維坐標(biāo)為(Xwp,Ywp,Zwp),在相機(jī)坐標(biāo)系下的三維坐標(biāo)為(Xcp,Ycp,Zcp),像素坐標(biāo)(up,vp),像面坐標(biāo)為(xp,yp),世界坐標(biāo)系到相機(jī)坐標(biāo)系的旋轉(zhuǎn)矩陣為R,平移矩陣為T,則知: (11) 由小孔成像模型知p點(diǎn)像面坐標(biāo): (12) 由式(1)(2)(11)(12)知p點(diǎn)在x、y方向的反投影誤差表示為: (13) 假設(shè)空間中有n個(gè)點(diǎn),則n個(gè)點(diǎn)在x、y方向的平均反投影誤差定義為: 利用標(biāo)定的相機(jī)參數(shù)計(jì)算控制場(chǎng)點(diǎn)反投影誤差如圖5所示。 圖5 反投影誤差分布 利用本論文提出的方法,利用控制場(chǎng)上80個(gè)特征點(diǎn)對(duì)相機(jī)進(jìn)行標(biāo)定,獲得相機(jī)參數(shù)對(duì)控制場(chǎng)上80個(gè)特征點(diǎn)在x和y方向的平均反投影誤差達(dá)到0.1個(gè)像素,具有較高的標(biāo)定精度,可以滿足空間大視場(chǎng)的高精度測(cè)量,具有較高的應(yīng)用價(jià)值。2 MATLAB仿真實(shí)驗(yàn)
2.1 構(gòu)造相機(jī)模型及虛擬控制場(chǎng)
2.2 相機(jī)標(biāo)定及數(shù)據(jù)分析
2.3 相機(jī)內(nèi)參標(biāo)定穩(wěn)定性實(shí)驗(yàn)
3 實(shí)際標(biāo)定實(shí)驗(yàn)
3.1 相機(jī)參數(shù)標(biāo)定
4 結(jié)語(yǔ)