李明彩 郭軒 于毅
摘要:相機標定是計算機視覺領域的關鍵技術之一。本文介紹了攝像機成像原理,明確其內外參數的含義,選擇基于Matlab的Camera Calibration工具箱和Camera Calibrator程序實踐了基于平面板標定的相機標定方法,給出了分組實驗結果,對比了兩種工具在操作、運行和精度方面的特點。
關鍵詞:Matlab;攝像機標定;平面板標定
中圖分類號:TP391 文獻標識碼:A 文章編號:1007-9416(2018)02-0085-01
攝像機標定是視覺技術的基礎,核心是建立標記點三維坐標和圖像對應二維坐標的關系模型。本文從攝相機標定原理出發,明確標定中最重要的矩陣變換和相機參數[1],采用棋盤格平面標定法進行標定,分別利用Matlab的Camera Calibration工具箱和Camera Calibrator程序實驗,得出標定結果并進行對比分析。
1 攝像機的標定原理
目前最常用的攝像機成像模型是小孔攝像機模型,系統中建立世界坐標系(Xw,Yw,Zw)、攝像機坐標系(Xc,Yc,Zc)、圖像坐標系(u,v)和成像坐標系(x,y)四個坐標系[1-2]。世界坐標(Xw,Yw,Zw)經平移和旋轉得到攝像機坐標;攝像機坐標點P(Xc,Yc,Zc)經透視投影變換可得成像平面點p(x,y);成像平面到圖像平面坐標則是離散化和平移的結果,成像空間原點Oxy在圖像平面的坐標為(u0,v0),x軸和y軸方向按照長度為dx,dy為單位長度進行離散化,如此導出圖像坐標系反求世界坐標的公式[1-2]:
其中R為正交旋轉矩陣,由世界和攝像機坐標系的軸間旋轉夾角決定,T為平移矩陣;f為透視投影變換中攝像機光心到物理成像平面的距離;dx,dy為離散化單位長度,(u0,v0)為物理成像空間原點Oxy在圖像平面的坐標。變換組成系數矩陣M1M2,M1為攝像機內部參數固定不變,定標就是求M1,即焦距fx和fy、光心cx和cy、畸變系數k1,k2,k3,p1,p2。5個畸變系數來自畸變模型,可矯正因鏡頭焦距定位不當或質量問題致使模型產生的透鏡畸變(徑向畸變和切向畸變模型)[1-2],根據標定精度要求可選擇求解畸變參數。
2 實驗過程和結果
基于Matlab的相機標定工具,常用Jean-Yves Bouguet開發的Camera Calibration Toolbox和2014a版后支持的Camera Calibreator,下文稱工具1和工具2,二者均以張氏平面標定法為理論基礎[1-2],標定包括角點提取和參數計算、優化兩個步驟。利用多幅不同位姿的平面棋盤靶圖像,從每幅圖像中提取棋盤靶角點,根據攝像機成像模型和畸變模型,建立平面棋盤靶標角點的世界坐標與采集后靶標圖像坐標的對應關系,通過非線性優化的方法計算攝像機的內外參數。本文采用7*8棋盤格標定板,方格大小25mm。
工具1的開發者將其共享[4],將標定功能集成在一個GUI程序中,提供參數設置、加載圖片、角點提取、相機參數計算和優化、重投影誤差分析、數據保存和導出等關鍵功能,操作多為工作區命令行方式,操作繁瑣,對使用者要求較高[3-4]。工具2集成在Matlab的應用程序中,對標定任務進行集成Session管理,將載入圖片、選擇預期計算的畸變參數、優化參數設置、標定等過程設計在應用程序菜單欄[3,5],標定后直接提供重投影誤差、3D視圖的展示和相機參數、誤差等數據的標準格式導出。程序界面友好,誤差分析以程序為主人工為輔,比工具1操作大大簡化,但也因其對程序的打包,不利于程序跟蹤和二次開發。
實驗中采集到的圖像按每組15張分為8組,表1為各組結果的數值平均。
二者均完成了相機標定和誤差分析,從結果可看出二者對同一批圖像的結果均較為接近,如光心和焦距坐標;畸變系數小結果較精確;像素誤差小于0.5,略大原因是棋盤格誤差較大、平面板不夠平整,而工具2略優的原因是手動誤差分析和優化存在人為因素影響。實驗中采集圖像需注意:拍攝圖像要能覆蓋整個視場,標定板的位姿對標定結果影響比標定照片數目的影響大得多,每組均應包含標定板正視、左遠右近、左近右遠、上遠下近、上近下遠等位姿。
3 結語
本文在Matlab平臺上針對標定工具箱和Camera Calibreator進行對比實驗,得出主要內部參數,結果較為精確,證明兩種工具都較為穩定和可靠,可根據實際應用需求使用,進一步可通過提高標定板質量、嘗試多種標定板位姿組合等方式提高結果精度。
參考文獻
[1]馬頌德,張正友.計算機視覺一計算理論與算法基礎[M].北京:科學出版社,2003.
[2]Zhang Z. A Flexible New Technique for Camera Calibration.IEEE Transactions on Pattern Analysis and Machine Intelligence,2000,11(22):1330-1334.
[3]吳淵凱,卞新高.計算機視覺中的攝像機標定的實驗分析[J].電子測量技術,2016,39(11):95-99.
[4]張偉波,劉明芹,袁明,等.基于Matlab 的計算機視覺測量中攝像機標定方法研究[J].數字技術與應用,2014,(2):53-54.