相機(jī)標(biāo)定內(nèi)參和外參
在圖像測(cè)量過程以及機(jī)器視覺應(yīng)用中,為確定空間物體表面某點(diǎn)的三維幾何位置與其在圖像中對(duì)應(yīng)點(diǎn)之間的相互關(guān)系,必須建立相機(jī)成像的幾何模型,這些幾何模型參數(shù)就是相機(jī)參數(shù)。在大多數(shù)條件下這些參數(shù)必須通過實(shí)驗(yàn)與計(jì)算才能得到,這個(gè)求解參數(shù)的過程就稱之為相機(jī)標(biāo)定(或攝像機(jī)標(biāo)定)。無論是在圖像測(cè)量或者機(jī)器視覺應(yīng)用中,相機(jī)參數(shù)的標(biāo)定都是非常關(guān)鍵的環(huán)節(jié),其標(biāo)定結(jié)果的精度及算法的穩(wěn)定性直接影響相機(jī)工作產(chǎn)生結(jié)果的準(zhǔn)確性,做好相機(jī)標(biāo)定和提高標(biāo)定精度是做好后續(xù)工作的前提。
相機(jī)標(biāo)定中所要確定的幾何模型參數(shù)分為內(nèi)參和外參兩種類型。相機(jī)內(nèi)參的作用是確定相機(jī)從三維空間到二維圖像的投影關(guān)系。相機(jī)外參的作用是確定相機(jī)坐標(biāo)與世界坐標(biāo)系之間相對(duì)位置關(guān)系。
相機(jī)內(nèi)參共有6個(gè)參數(shù)(f,κ,Sx,Sy,Cx,Cy),其中:
f為焦距;?
κ表示徑向畸變量級(jí),如果κ為負(fù)值,畸變?yōu)橥靶突儯绻麨檎?,那畸變?yōu)檎硇突儭?/p>
Sx,Sy是縮放比例因子。一般情況下相機(jī)成像單元不是嚴(yán)格的矩形的,其在水平和垂直方向上的大小是不一致的,這就導(dǎo)致在X和Y方向上的縮放因子不一樣,所以需要分別定義兩個(gè)縮放因子。對(duì)針孔攝像機(jī)來講,表示圖像傳感器上水平和垂直方向上相鄰像素之間的距離;? ? ? ? ? ? ? ? ? ?
Cx,Cy是圖像的主點(diǎn),即過鏡頭軸心垂直于成像平面與圖像平面的交點(diǎn)。對(duì)針孔攝像機(jī)來講,這個(gè)點(diǎn)是投影中心在成像平面上的垂直投影,同時(shí)也是徑向畸變的中心 。
攝像機(jī)外參共有6個(gè)參數(shù)(α,β,γ,Tx,Ty,Tz),相機(jī)坐標(biāo)與世界坐標(biāo)的關(guān)系可以表述為:
Pc= RPw + T
其中Pw為世界坐標(biāo),Pc是攝像機(jī)坐標(biāo)。式中,T= (Tx,Ty,Tz),是平移向量,R =R(α,β,γ)是旋轉(zhuǎn)矩陣,分別是繞攝像機(jī)坐標(biāo)系z(mì)軸旋轉(zhuǎn)角度為γ,繞y軸旋轉(zhuǎn)角度為β,繞x軸旋轉(zhuǎn)角度為α。6個(gè)參數(shù)組成(α,β,γ,Tx,Ty,Tz)為攝像機(jī)外參。
通常情況下,通過鏡頭,一個(gè)三維空間中的物體會(huì)被映射成一個(gè)倒立縮小的像,然后被成像傳感器感知到。
●理想情況下,鏡頭的光軸(就是通過鏡頭中心垂直于傳感器平面的直線)應(yīng)該是穿過圖像的正中間的,但是,實(shí)際由于安裝精度的問題,總是存在誤差,即光軸偏移,這種誤差需要用內(nèi)參來描述;?
●理想情況下,相機(jī)對(duì)x方向和y方向的尺寸的縮小比例是一樣的,但實(shí)際上,鏡頭如果不是完美的圓,傳感器上的像素如果不是完美的緊密排列的正方形,都可能會(huì)導(dǎo)致這兩個(gè)方向的縮小比例不一致。內(nèi)參中包含兩個(gè)參數(shù)可以描述這兩個(gè)方向的縮放比例,不僅可以將用像素?cái)?shù)量來衡量的長度轉(zhuǎn)換成三維空間中的用其它單位(比如米)來衡量的長度,也可以表示在x和y方向的尺度變換的不一致性;
●理想情況下,鏡頭會(huì)將一個(gè)三維空間中的直線也映射成直線(即射影變換),但實(shí)際上,鏡頭無法這么完美,通過鏡頭映射之后,直線會(huì)變彎,所以需要相機(jī)的畸變參數(shù)來描述這種變形效果。以下三種畸變分別為枕形畸變、桶形畸變和線性畸變。
? ? ? ? ? ??? ? ? ? ? ??
相機(jī)標(biāo)定的方法
相機(jī)標(biāo)定方法有:傳統(tǒng)相機(jī)標(biāo)定法、相機(jī)自標(biāo)定法、主動(dòng)視覺相機(jī)標(biāo)定方法。
傳統(tǒng)相機(jī)標(biāo)定法需要使用尺寸已知的標(biāo)定物,通過建立標(biāo)定物上坐標(biāo)已知的點(diǎn)與其圖像點(diǎn)之間的對(duì)應(yīng),利用一定的算法獲得相機(jī)模型的內(nèi)外參數(shù)。根據(jù)標(biāo)定物的不同可分為三維標(biāo)定物和平面型標(biāo)定物。三維標(biāo)定物可由單幅圖像進(jìn)行標(biāo)定,標(biāo)定精度較高,但高精密三維標(biāo)定物的加工和維護(hù)較困難。平面型標(biāo)定物比三維標(biāo)定物制作簡單,精度易保證,但標(biāo)定時(shí)必須采用兩幅或兩幅以上的圖像。傳統(tǒng)相機(jī)標(biāo)定法在標(biāo)定過程中始終需要標(biāo)定物,且標(biāo)定物的制作精度會(huì)影響標(biāo)定結(jié)果。同時(shí)有些場(chǎng)合不適合放置標(biāo)定物也限制了傳統(tǒng)相機(jī)標(biāo)定法的應(yīng)用。
傳統(tǒng)的相機(jī)標(biāo)定方法的優(yōu)點(diǎn)是可以使用于任意的攝像機(jī)模型,標(biāo)定精度高,缺點(diǎn)是標(biāo)定過程復(fù)雜,需要高精度的標(biāo)定模板,在一些場(chǎng)合下無法使用標(biāo)定塊。
目前出現(xiàn)的自標(biāo)定算法中主要是利用相機(jī)運(yùn)動(dòng)的約束。相機(jī)的運(yùn)動(dòng)約束條件太強(qiáng),因此使得其在實(shí)際中并不實(shí)用。利用場(chǎng)景約束主要是利用場(chǎng)景中的一些平行或者正交的信息。其中空間平行線在相機(jī)圖像平面上的交點(diǎn)被稱為消失點(diǎn),它是射影幾何中一個(gè)非常重要的特征,所以很多學(xué)者研究了基于消失點(diǎn)的相機(jī)自標(biāo)定方法。自標(biāo)定方法靈活性強(qiáng),可對(duì)相機(jī)進(jìn)行在線定標(biāo)。但由于它是基于絕對(duì)二次曲線或曲面的方法,其算法魯棒性差。僅僅依靠多幅圖像之間的對(duì)應(yīng)關(guān)系進(jìn)行標(biāo)定,優(yōu)點(diǎn)是僅需要建立圖像之間的對(duì)應(yīng),靈活性強(qiáng),潛在應(yīng)用范圍廣,缺點(diǎn)是非線性標(biāo)定,魯棒性不高。
基于主動(dòng)視覺的相機(jī)標(biāo)定法是指已知相機(jī)的某些運(yùn)動(dòng)信息對(duì)相機(jī)進(jìn)行標(biāo)定。該方法不需要標(biāo)定物,但需要控制相機(jī)做某些特殊運(yùn)動(dòng),利用這種運(yùn)動(dòng)的特殊性可以計(jì)算出相機(jī)內(nèi)部參數(shù)?;谥鲃?dòng)視覺的相機(jī)標(biāo)定法的優(yōu)點(diǎn)是算法簡單,往往能夠獲得線性解,故魯棒性較高,缺點(diǎn)是系統(tǒng)的成本高、實(shí)驗(yàn)設(shè)備昂貴、實(shí)驗(yàn)條件要求高,而且不適合于運(yùn)動(dòng)參數(shù)位置或無法控制的場(chǎng)合。
主動(dòng)視覺相機(jī)標(biāo)定方法應(yīng)用的前提是已知相機(jī)的某些運(yùn)動(dòng)信息,優(yōu)點(diǎn)是可以線性求解,魯棒性較好,缺點(diǎn)是不能使用與相機(jī)運(yùn)動(dòng)信息未知和無法控制相機(jī)運(yùn)動(dòng)的場(chǎng)合。
標(biāo)定模板
標(biāo)定模板(標(biāo)定板 Calibration Target) 在機(jī)器視覺、圖像測(cè)量、攝影測(cè)量、三維重建等應(yīng)用中,為校正鏡頭畸變;確定物理尺寸和像素間的換算關(guān)系;以及確定空間物體表面某點(diǎn)的三維幾何位置與其在圖像中對(duì)應(yīng)點(diǎn)之間的相互關(guān)系,需要建立相機(jī)成像的幾何模型。通過相機(jī)拍攝帶有固定間距圖案陣列平板、經(jīng)過標(biāo)定算法的計(jì)算,可以得出相機(jī)的幾何模型,從而得到高精度的測(cè)量和重建結(jié)果。而帶有固定間距圖案陣列的平板就是標(biāo)定模板(標(biāo)定板 Calibration Target)。
常見標(biāo)定模板種類
1)等間距實(shí)心圓陣列圖案 Ti-times CG-100-D
2)國際象棋盤圖案 Ti-times CG-076-T
一般需要20張圖片,這只是一個(gè)經(jīng)驗(yàn)值,實(shí)際上太多也不好,太少也不好。單純從統(tǒng)計(jì)上來看,可能越多會(huì)越好,但是,實(shí)際上圖片太多可能會(huì)讓參數(shù)優(yōu)化的結(jié)果變差,因?yàn)槠灞P格角點(diǎn)坐標(biāo)的確定是存在誤差的,而且這種誤差很難說是符合高斯分布的,同時(shí),標(biāo)定過程所用的非線性迭代優(yōu)化算法不能保證總是得到最優(yōu)解,而更多的圖片,可能會(huì)增加算法陷入局部最優(yōu)的可能性。
拍照時(shí)的標(biāo)定板位置和朝向的多樣性,會(huì)讓內(nèi)參的估計(jì)更為準(zhǔn)確。準(zhǔn)確的內(nèi)參可以較好地把整個(gè)圖像的畸變都進(jìn)行矯正,但如果給定的標(biāo)定板的位置過于單一,比如都是在圖像的左上角,那么優(yōu)化得到的內(nèi)參也可能只會(huì)比較好地糾正圖像左上角的畸變。推薦找個(gè)畸變較大的鏡頭做做實(shí)驗(yàn),會(huì)更形象?!?? ? ? ?
世界坐標(biāo)系、相機(jī)坐標(biāo)系、圖像坐標(biāo)系
世界坐標(biāo)系(Xw、Yw、Zw)
是由用戶定義的空間三維坐標(biāo)系,用來描述三維空間中的物體和相機(jī)之間的坐標(biāo)位置,滿足右手法則,世界坐標(biāo)系是物理世界中反映物體位置的真實(shí)坐標(biāo)。
相機(jī)坐標(biāo)系(Xc、Yc、Zc)
以相機(jī)的光心作為原點(diǎn),Zc軸與光軸重合,并垂直于成像平面,且取攝影方向?yàn)檎较颍琗c、Yc軸與圖像物理坐標(biāo)系的x、y軸平行。
圖像坐標(biāo)系(u、v)或(x、y)
是以圖像的左上角為原點(diǎn)的圖像坐標(biāo)系(u,v),以像素為單位,
張正友標(biāo)定方法?
通過在圖像上一個(gè)二維點(diǎn)m=[u,t]后加上一個(gè)1的向量,在相機(jī)坐標(biāo)系中一個(gè)3D點(diǎn)M=[X,Y,Z]后也加上一個(gè)1的向量,在針孔模型中,3D點(diǎn)M和它的圖像投影m的關(guān)系為:
其中內(nèi)參A為:
若定義H=A[R,t],有s*m=H*M,則H就是通常說的單應(yīng)性矩陣,在這里描述的是空間中平面三維點(diǎn)和相機(jī)平面二維點(diǎn)之間的關(guān)系,相機(jī)平面中的坐標(biāo)點(diǎn)可以通過圖像處理尋找角點(diǎn)的方式獲取,空間平面三維點(diǎn)可以通過尺寸已知的標(biāo)定板獲取,所以說針對(duì)每張圖圖片都可以計(jì)算出來一個(gè)對(duì)應(yīng)的H矩陣。
轉(zhuǎn)動(dòng)標(biāo)定模板,從不同的角度拍攝棋盤標(biāo)定模板的n幅圖像,求出內(nèi)參矩陣和外參矩陣,就有了相機(jī)坐標(biāo)和圖像坐標(biāo)的投射矩陣,就可以將空間中的某一點(diǎn)映射到圖片上的某一個(gè)點(diǎn)上:
張正友相機(jī)標(biāo)定流程
1. 打印棋盤標(biāo)定紙,附加到一個(gè)平坦的表面上;
2. 通過移動(dòng)相機(jī)或者平面拍攝標(biāo)定板各種角度的圖片,一般拍攝20張;
3. 檢測(cè)圖片中的特征點(diǎn);
4. 計(jì)算5個(gè)內(nèi)部參數(shù)和所有的外部參數(shù);
5. 通過最小二乘法先行求解徑向畸變系數(shù);
6. 通過求最小參數(shù)值,優(yōu)化所有參數(shù);
張正友的平面標(biāo)定方法是介于傳統(tǒng)標(biāo)定方法和自標(biāo)定方法之間的一種方法,它既避免了傳統(tǒng)方法設(shè)備要求高,操作繁瑣等缺點(diǎn),又較自標(biāo)定方法精度高,符合通用的桌面視覺系統(tǒng)(DVS)的標(biāo)定要求。該方法的缺點(diǎn)是確定模板上點(diǎn)陣的物理坐標(biāo)以及圖像和模板之間的點(diǎn)的匹配,專業(yè)性要求比較高。
編輯:黃飛
?
評(píng)論
查看更多