蒯楊柳,文貢堅(jiān),回丙偉,邱少華
(國防科學(xué)技術(shù)大學(xué)ATR重點(diǎn)實(shí)驗(yàn)室,湖南長沙410073)
利用多個(gè)小棋盤的大視場相機(jī)標(biāo)定方法
蒯楊柳,文貢堅(jiān),回丙偉,邱少華
(國防科學(xué)技術(shù)大學(xué)ATR重點(diǎn)實(shí)驗(yàn)室,湖南長沙410073)
為了實(shí)現(xiàn)高精度的相機(jī)標(biāo)定,一般要求標(biāo)定物的尺寸能夠布滿整個(gè)相機(jī)視場,而大的標(biāo)定物不但制作、移動(dòng)過程復(fù)雜,而且靈活性差的同時(shí)還會(huì)遮擋場景中的有用信息。本文提出了一種基于多個(gè)小棋盤的大視場相機(jī)標(biāo)定方法,能兼顧相機(jī)標(biāo)定的精度和靈活性。首先在場景靠近邊緣的4個(gè)角處各放一個(gè)小棋盤(擺放姿態(tài)不限),采用待標(biāo)定的相機(jī)從不同角度多次拍攝場景(不少于3次);然后將4個(gè)棋盤經(jīng)過旋轉(zhuǎn)和平移變換移到以左上角棋盤為基準(zhǔn)的平面上構(gòu)成一個(gè)大棋盤;最后建立大棋盤上所有角點(diǎn)的重投影誤差函數(shù),以左上角小棋盤的多幅圖像的標(biāo)定結(jié)果作為初值,迭代優(yōu)化誤差函數(shù)得到標(biāo)定結(jié)果的最終解。模擬和真實(shí)數(shù)據(jù)試驗(yàn)結(jié)果表明該方法是可行的,且有較高的精度和靈活性。
大場景;相機(jī)標(biāo)定;小棋盤;優(yōu)化
相機(jī)標(biāo)定是從二維圖像獲取三維信息的過程中最關(guān)鍵的步驟,在計(jì)算機(jī)視覺導(dǎo)航、虛擬現(xiàn)實(shí)、三維重建等領(lǐng)域有著十分廣泛的應(yīng)用[1-2]。現(xiàn)有的相機(jī)標(biāo)定方法中,基于標(biāo)定物的相機(jī)標(biāo)定法使用結(jié)構(gòu)已知的標(biāo)定物,通過建立標(biāo)定物上坐標(biāo)已知的點(diǎn)與其圖像點(diǎn)之間的對(duì)應(yīng)關(guān)系來求解相機(jī)的內(nèi)外參數(shù)[3-4];相機(jī)自標(biāo)定法是利用多幅圖像上特征點(diǎn)之間的對(duì)應(yīng)關(guān)系進(jìn)行標(biāo)定,標(biāo)定過程只利用了相機(jī)內(nèi)參數(shù)間的約束,與場景和攝像機(jī)的運(yùn)動(dòng)方式無關(guān)[5]。第一種方法標(biāo)定精度高但是標(biāo)定過程始終需要標(biāo)定物,靈活性差,第二種方法操作方便簡單但是精度不高[6]。
在基于標(biāo)定物的標(biāo)定方法中,張正友的棋盤標(biāo)定法[4]以其操作簡單方便、標(biāo)定精度高的特點(diǎn)得到了廣泛的應(yīng)用。但是針對(duì)大視場相機(jī)的標(biāo)定,若要得到較高的相機(jī)標(biāo)定精度,需要在場景中放置較大的棋盤,棋盤越大,越能真實(shí)反映場景與成像面間的投影關(guān)系,但是棋盤過大不僅制作、移動(dòng)過程比較復(fù)雜,同時(shí)會(huì)遮擋場景中的有用信息。為了解決大棋盤標(biāo)定存在的問題,本文提出了一種在場景中放置多個(gè)小棋盤并將其轉(zhuǎn)換為一個(gè)整體的大棋盤,再利用構(gòu)建的大棋盤對(duì)相機(jī)進(jìn)行標(biāo)定的方法,同時(shí)兼顧了相機(jī)標(biāo)定的精度和靈活性。
1.相機(jī)的成像模型
理想的成像模型是小孔模型,描述了三維空間中的一點(diǎn)M=[X Y Z]T與其投影點(diǎn)m=[x y]T之間的關(guān)系。設(shè)M和m的齊次坐標(biāo)分別為= [X Y Z 1]T和=[x y 1]T。在齊次坐標(biāo)下,三維點(diǎn)M和投影點(diǎn)m之間的關(guān)系可以表示為
在真實(shí)情況下,相機(jī)拍攝得到的圖像總會(huì)存在一定程度的失真,因此引入了非線性模型[9]。真實(shí)像點(diǎn)坐標(biāo)與理想像點(diǎn)坐標(biāo)的關(guān)系滿足
式中,(xd,yd)為理想情況下的圖像點(diǎn)坐標(biāo);(xu,yu)為考慮畸變情況下的圖像點(diǎn)坐標(biāo);k1、k2為徑向畸變系數(shù)。因此相機(jī)標(biāo)定算法的主要目的是求解出k1、k2、fu、fv、u0、v06個(gè)相機(jī)參數(shù)。
2.由多個(gè)小棋盤構(gòu)建整體大棋盤的原理
設(shè)在相機(jī)大視場中擺放有n個(gè)小棋盤,將小棋盤從左到右、從上到下依次編號(hào)為1,2,…,n,如圖1所示。對(duì)每一個(gè)小棋盤,以棋盤的左上角為坐標(biāo)原點(diǎn),以棋盤所在的平面為xoy平面建立右手坐標(biāo)系,分別記為O-XiYiZi(i=1,2,…,n)。
圖1
根據(jù)每個(gè)棋盤上角點(diǎn)的空間點(diǎn)坐標(biāo)和對(duì)應(yīng)的像素點(diǎn)坐標(biāo)(不少于4對(duì))可以求得每個(gè)小棋盤平面和相機(jī)成像平面的單應(yīng)性矩陣,進(jìn)而得到每個(gè)小棋盤平面相對(duì)于成像平面的旋轉(zhuǎn)和平移向量,記為Ri、Ti(i=1,2,…,n)。以棋盤1所在的平面為基準(zhǔn)平面,則棋盤i相對(duì)于基準(zhǔn)平面的旋轉(zhuǎn)和平移向量Ri1、Ti1(i=2,…,n)可以表示為假設(shè)棋盤i(i=2,…,n)上的特征點(diǎn)在O-XiYiZi坐標(biāo)系的坐標(biāo)為Mi,則其在O-X1Y1Z1坐標(biāo)下的坐標(biāo)Mi1可以表示為
采用上述步驟可以將其他小棋盤上的所有特征點(diǎn)都轉(zhuǎn)換到基準(zhǔn)平面上,從而將多個(gè)小棋盤構(gòu)成一個(gè)整體的大棋盤。
標(biāo)定時(shí)在大場景中擺放n個(gè)小棋盤,使用待標(biāo)定的相機(jī)從不同角度拍攝場景得到C幅圖像。本文提出的標(biāo)定算法主要包括兩個(gè)步驟:首先利用張正友的方法[4]標(biāo)定基準(zhǔn)棋盤得到相機(jī)內(nèi)參數(shù)的初值;然后使用n個(gè)小棋盤構(gòu)建的大棋盤標(biāo)定相機(jī)得到最終解。
1.相機(jī)內(nèi)參數(shù)初值的獲取
設(shè)基準(zhǔn)棋盤上任一點(diǎn)M經(jīng)矩陣P投影得到圖像點(diǎn)m,已知棋盤上的所有點(diǎn)滿足Z=0,令M= [x y 0 1]T,m=[u v 1]T,則有
式中,ri(i=1,2,3)為旋轉(zhuǎn)矩陣R的第i列;H為單應(yīng)性矩陣。假設(shè)H=[h1h2h3],其中hi(i=1,2,3)表示單應(yīng)性矩陣H的第i列,則R、T可以表示為
當(dāng)拍攝圖片數(shù)不少于3時(shí),可以線性求解出向量w,將W進(jìn)行Cholesky分解得到相機(jī)內(nèi)參數(shù)為
2.誤差函數(shù)的構(gòu)造與優(yōu)化求解
假設(shè)第m幅圖像上第n個(gè)小棋盤上第p個(gè)角點(diǎn)的空間點(diǎn)坐標(biāo)為Xmnp,將其轉(zhuǎn)換到大棋盤平面后投影產(chǎn)生的圖像點(diǎn)坐標(biāo)xmnp可以表示為
式中,Rm1、Tm1表示第m幅圖像上基準(zhǔn)棋盤平面相對(duì)于成像平面的旋轉(zhuǎn)矩陣和平移向量;Rnm、Tnm表示第m幅圖像上第n個(gè)小棋盤相對(duì)于基準(zhǔn)棋盤的旋轉(zhuǎn)矩陣和平移向量。假設(shè)為經(jīng)過角點(diǎn)檢測算法得到的第m幅圖像上第n個(gè)小棋盤上第p個(gè)角點(diǎn)的像素點(diǎn)坐標(biāo),建立拍攝得到的多幅圖像上所有角點(diǎn)的重投影誤差函數(shù)為式中,C為拍攝的圖片數(shù);N為每幅圖片上的小棋盤數(shù)目;M為每個(gè)小棋盤上的角點(diǎn)個(gè)數(shù)。優(yōu)化函數(shù)中包含的變量有k1、k2、fu、fv、u0、v06個(gè)相機(jī)內(nèi)參數(shù)(不變)、拍每張照片時(shí)基準(zhǔn)棋盤相對(duì)于成像平面的旋轉(zhuǎn)平移向量、多個(gè)小棋盤相對(duì)于基準(zhǔn)棋盤的旋轉(zhuǎn)和平移向量(不變),共計(jì)6+6×C+6×(N-1)=6C+ 6N個(gè)待優(yōu)化參數(shù)。而由式(3)和式(6)可知,當(dāng)相機(jī)內(nèi)參數(shù)向真值方向優(yōu)化時(shí),所有的旋轉(zhuǎn)和平移向量也越接近真值,因此優(yōu)化時(shí)選擇k1、k2、fu、fv、u0、v0作為優(yōu)化參數(shù),優(yōu)化方法采用模式搜索法(Hook)[10]。
在仿真試驗(yàn)中主要測試了高斯噪聲大小、場景中擺放的棋盤個(gè)數(shù)、棋盤之間的距離、每個(gè)棋盤的大小和每個(gè)棋盤上的角點(diǎn)數(shù)等5個(gè)因素對(duì)相機(jī)標(biāo)定結(jié)果的影響。試驗(yàn)時(shí)相機(jī)內(nèi)參數(shù)的設(shè)置見表1,相機(jī)外參數(shù)的設(shè)置見表2,其中,[?β γ]T表示旋轉(zhuǎn)向量;[t1t2t3]T表示平移向量。
表1 仿真試驗(yàn)設(shè)定的相機(jī)內(nèi)參數(shù)值
表2 3次拍攝設(shè)定的相機(jī)外參數(shù)值
1.高斯噪聲大小對(duì)標(biāo)定結(jié)果的影響
在場景中放置4個(gè)相同的小棋盤,棋盤大小為200 mm×200 mm,角點(diǎn)數(shù)為3×3,棋盤間的距離保持在200 mm不變。在生成的圖像點(diǎn)坐標(biāo)中加入均值為0、方差為σ的高斯白噪聲,將σ從0.1逐漸增加到1.0像素,每次增加0.1像素,在每一種噪聲水平下進(jìn)行10次試驗(yàn),將結(jié)果的均值作為最終解。fu、fv、u0、v0的相對(duì)誤差和k1、k2的絕對(duì)誤差隨噪聲σ的變化趨勢如圖2所示。從圖中的變化趨勢可以看出相機(jī)標(biāo)定結(jié)果的誤差會(huì)隨著噪聲方差的增加而增加,其中fu、fv、u0、v0在噪聲水平達(dá)到1.0時(shí)標(biāo)定相對(duì)誤差在10%以內(nèi),而k1、k2對(duì)噪聲相對(duì)較敏感。
圖2
2.棋盤個(gè)數(shù)對(duì)標(biāo)定結(jié)果的影響
設(shè)置每個(gè)棋盤大小為100 mm×100 mm,角點(diǎn)數(shù)為3×3,將棋盤的個(gè)數(shù)從1依次增加到5,每次增加1。在生成的圖像點(diǎn)坐標(biāo)中加入均值為0、方差為0.5的高斯白噪聲來模擬真實(shí)試驗(yàn)場景。在每種棋盤個(gè)數(shù)參數(shù)下進(jìn)行10次試驗(yàn),將結(jié)果的平均值作為最終解。計(jì)算fu、fv、u0、v0的相對(duì)誤差和k1、k2的絕對(duì)誤差隨棋盤個(gè)數(shù)的變化趨勢如圖3所示。從中可以看出隨著棋盤個(gè)數(shù)的增加,相機(jī)參數(shù)的標(biāo)定精度會(huì)提高,當(dāng)棋盤數(shù)增加到4以后標(biāo)定精度基本保持不變。
3.棋盤間的距離對(duì)標(biāo)定結(jié)果的影響
在場景中放置4個(gè)相同的小棋盤,棋盤大小為100 mm×100 mm,角點(diǎn)數(shù)為3×3,將棋盤間的距離d 從100 mm依次增加到600 mm,每次增加100 mm。采用上述中加噪聲和多次試驗(yàn)的方法標(biāo)定得到相機(jī)的參數(shù)。計(jì)算fu、fv、u0、v0的相對(duì)誤差和k1、k2的絕對(duì)誤差隨棋盤間距離d的變化趨勢如圖4所示。從中可以看出,隨著棋盤間距離d的增加,相機(jī)參數(shù)的標(biāo)定精度都會(huì)提高,但當(dāng)棋盤距離增加到500 mm之后,相機(jī)參數(shù)的標(biāo)定精度基本保持不變。
圖3
圖4
4.每個(gè)棋盤的大小對(duì)標(biāo)定結(jié)果的影響
在場景中放置4個(gè)相同的小棋盤,保持4個(gè)棋盤轉(zhuǎn)換生成的大棋盤覆蓋場景的面積不變,棋盤上的角點(diǎn)數(shù)為3×3,將每個(gè)棋盤的邊長L從100 mm依次增加到700 mm,每次增加100 mm,同樣采用上述中加噪聲和多次試驗(yàn)的方法標(biāo)定得到相機(jī)的參數(shù)。計(jì)算fu、fv、u0、v0的相對(duì)誤差和k1、k2的絕對(duì)誤差L的變化趨勢如圖5所示。從中可以看出隨著L的增加,相機(jī)參數(shù)的標(biāo)定精度會(huì)提高,這是因?yàn)槠灞P越大,標(biāo)定得到的相機(jī)內(nèi)參數(shù)初值越好,優(yōu)化后的標(biāo)定結(jié)果也越好。
5.每個(gè)棋盤上的角點(diǎn)數(shù)對(duì)標(biāo)定結(jié)果的影響
在場景中放置4個(gè)相同的小棋盤,每個(gè)棋盤的大小為200 mm×200 mm,棋盤之間的距離保持在200 mm不變,將每個(gè)棋盤的角點(diǎn)數(shù)從2×2依次增加到7×7,每次在棋盤的每條邊上增加1個(gè)角點(diǎn)。同樣采用上述中加噪聲和多次試驗(yàn)的方法標(biāo)定得到相機(jī)的參數(shù)。計(jì)算fu、fv、u0、v0的相對(duì)誤差和k1、k2的絕對(duì)誤差隨每條邊角點(diǎn)數(shù)N的變化趨勢如圖6所示。從中可以看出,每條邊的角點(diǎn)數(shù)N由2增加到3時(shí),標(biāo)定的精度顯著提高,而增加到3以后N的變化對(duì)棋盤標(biāo)定結(jié)果沒有明顯的影響。
根據(jù)仿真試驗(yàn)結(jié)果可知:①大視場中擺放的棋盤個(gè)數(shù)的理想值是4;②相機(jī)標(biāo)定精度會(huì)隨著棋盤和棋盤之間距離的增大而增大;③每個(gè)棋盤上角點(diǎn)個(gè)數(shù)(3以上)的增加不會(huì)明顯影響標(biāo)定結(jié)果的精度。
真實(shí)試驗(yàn)時(shí)設(shè)計(jì)了3種不同類型的棋盤:一個(gè)1 m×1 m的大棋盤、4個(gè)50 cm×50 cm的小棋盤和4個(gè)30 cm×30 cm的小棋盤,棋盤上的角點(diǎn)數(shù)都是8×8。以大棋盤標(biāo)定的結(jié)果作為參考值,通過對(duì)比兩種類型的小棋盤在優(yōu)化前后的試驗(yàn)結(jié)果和對(duì)比優(yōu)化后的結(jié)果與參考值的差別來驗(yàn)證算法的性能。試驗(yàn)采用Canon EOS 650D相機(jī),分辨率為5184×3456像素,依次在場景中擺放3種類型的棋盤,如圖7所示。分別使用相機(jī)從不同角度拍攝5張圖片,拍攝的過程中保持相機(jī)的焦距不變。
圖6
圖7
采用大棋盤和兩種小棋盤分別標(biāo)定相機(jī),得到的標(biāo)定結(jié)果見表3,分析可知:①優(yōu)化后的標(biāo)定結(jié)果普遍比優(yōu)化前好,這是由于提出的方法增大了標(biāo)定物覆蓋場景的面積;②50 cm×50 cm小棋盤的標(biāo)定結(jié)果比30 cm×30 cm的小棋盤好,能達(dá)到參考值的標(biāo)定精度,這是由于50 cm能夠提供較高精度的初值;③兩種不同類型的小棋盤fu、fv、u0、v0的標(biāo)定精度都很高,而k1、k2的標(biāo)定精度30 cm×30 cm的小棋盤較差,這說明了k1、k2的標(biāo)定精度對(duì)初值要求高。
表3 不同類型的棋盤標(biāo)定結(jié)果
本文提出了一種基于多個(gè)小棋盤的大視場相機(jī)標(biāo)定方法,通過多個(gè)小棋盤構(gòu)建一個(gè)整體的大棋盤標(biāo)定相機(jī),兼顧了相機(jī)標(biāo)定的精度和靈活性。試驗(yàn)結(jié)果表明了算法的有效性,不足之處是本文提出的算法中畸變系數(shù)的標(biāo)定對(duì)初值的要求高,提高畸變系數(shù)的標(biāo)定精度將是下一步研究的重點(diǎn)。
[1] BROWN D C.Close-range Camera Calibration Photogrammetric Engineering[J].Engineering and Remote Sensing,1971,37(8):855-866.
[2] FAIG W.Calibration of Close Range Photogrammetry System:MathematicalFormulationPhotogrammetric [J].Engineering and Remote Sensing,1975,41(12): 1479-1485.
[3] TSAI R Y.An Efficient and Accurate Camera Calibration Technique for 3D Machine Vision[C]∥Proceedings of IEEE Conference on Computer Vision and Pattern Recognition.San Francisco:IEEE,1986.
[4] ZHANG Z Y.A Flexible New Technique for Camera Calibration[J].IEEE Transactions on Pattern Analysis and Machine Automation,2000,3(4):323-344.
[5] STURM P.A Case against Kruppa’s Equations for Camera Self Calibration[J].IEEE Transactions on Pattern Analysis and Machine Intelligence,2000,22(10): 1199-1204.
[6] SONG L M,WU W F,GUO J R.Survey on Camera Calibration Technique[C]∥Fifth International Conference on Intelligent Human Machine Systems and Cybernetics.Hangzhou:IEEE,2013.
[7] LIU B X,LI S Z.A New Easy Fast Camera Self-calibration Technique[J].Computer Engineering&Science,2011,33(1):88-93.
[8] LIU P,JIA Y D.Vanishing Points Based Camera Calibration[J].Journal of Image and Graphics,2003,8 (A):134-138.
[9] GARY B,ADRIAN K.學(xué)習(xí)OpenCV中文版[M].北京:清華大學(xué)出版社,2009.
[10] 謝政,李建平,陳摯.非線性最優(yōu)化理論與方法[M].北京:高等教育出版社,2009.
Large-scale Scene Calibration Method Utilizing Multiple Chessboards
KUAI Yangliu,WEN Gongjian,HUI Bingwei,QIU Shaohua
10.13474/j.cnki.11-2246. 2016.0220.
P23
B
0494-0911(2016)07-0039-05
2015-06-18
蒯楊柳(1990—),女,研究方向?yàn)閿z影測量。E-mail:kuaiyangliu@126.com
引文格式:蒯楊柳,文貢堅(jiān),回丙偉,等.利用多個(gè)小棋盤的大視場相機(jī)標(biāo)定方法[J].測繪通報(bào),2016(7):39-43.