曲 華,吳朝娜
(天津工業(yè)大學(xué) 理學(xué)院,天津 300387)
機(jī)器視覺具有廣泛的應(yīng)用前景,也是近年來的研究熱點(diǎn).攝像機(jī)標(biāo)定是計(jì)算機(jī)視覺測(cè)量系統(tǒng)的基礎(chǔ),高精度的攝像機(jī)標(biāo)定是精確測(cè)量物體方位的前提[1-4].在現(xiàn)實(shí)中,攝像機(jī)本身不是理想的線性模型,存在各種成像失真和誤差,因此有必要在真實(shí)環(huán)境中研究攝像機(jī)的成像模型.通常把獲得攝像機(jī)位置及特征參數(shù)的過程稱為攝像機(jī)標(biāo)定.攝像機(jī)參數(shù)包括攝像機(jī)內(nèi)部參數(shù)和外部參數(shù):內(nèi)部參數(shù)是攝像機(jī)成像的基本參數(shù),描述空間三維坐標(biāo)系中的點(diǎn)與圖像中像素點(diǎn)的對(duì)應(yīng)關(guān)系.包括實(shí)際焦距、主點(diǎn)(理想地應(yīng)該是圖像的中心)、透鏡畸變(主要包括徑向畸變和切向畸變)和其他系統(tǒng)誤差參數(shù);外部參數(shù)是描述攝像機(jī)相對(duì)于外部世界方向的參數(shù),指空間三維坐標(biāo)系中的點(diǎn)與攝像機(jī)坐標(biāo)系中對(duì)應(yīng)點(diǎn)的關(guān)系,具體指旋轉(zhuǎn)矩陣和平移向量中所描述的參數(shù)[5].
目前攝像機(jī)的標(biāo)定方法很多,近年來也提出了許多針對(duì)各類攝像機(jī)的標(biāo)定方法,比如文獻(xiàn)[6]實(shí)現(xiàn)了對(duì)交通監(jiān)控?cái)z像機(jī)的標(biāo)定,文獻(xiàn)[7]研究了對(duì)水下攝像機(jī)外殼參數(shù)的標(biāo)定,文獻(xiàn)[8]完成了針對(duì)低分辨率傳感器攝像機(jī)的標(biāo)定,文獻(xiàn)[9]實(shí)現(xiàn)了對(duì)多攝像機(jī)的標(biāo)定等.但總體來說,一般可以分為3類:傳統(tǒng)攝像機(jī)標(biāo)定、攝像機(jī)自標(biāo)定和主動(dòng)視覺標(biāo)定.傳統(tǒng)攝像機(jī)標(biāo)定方法需要有特定的定標(biāo)參照物,然后通過理論計(jì)算,得到攝像機(jī)內(nèi)部參數(shù)和外部參數(shù).攝像機(jī)自標(biāo)定方法,不需要特殊的定標(biāo)參照物,它利用了攝像機(jī)本身參數(shù)之間的約束關(guān)系來得到標(biāo)定結(jié)果.攝像機(jī)主動(dòng)視覺標(biāo)定一般用于攝像機(jī)在世界坐標(biāo)系中運(yùn)動(dòng)參數(shù)已知的情況下,通常線性求解獲得標(biāo)定結(jié)果.
傳統(tǒng)的攝像機(jī)標(biāo)定方法適用范圍廣,標(biāo)定精度高,但是標(biāo)定過程復(fù)雜.自標(biāo)定過程相對(duì)簡(jiǎn)單,但是精度低[10].由于機(jī)器人是通過攝像機(jī)所獲得的圖像信息來識(shí)別物體的,因此基于主動(dòng)視覺的標(biāo)定方法更具有實(shí)用性.雖然主動(dòng)視覺的標(biāo)定方法優(yōu)于以上2種方法,但是它不能用于攝像機(jī)運(yùn)動(dòng)參數(shù)未知情況下的標(biāo)定.因此,本文采用了一種在傳統(tǒng)標(biāo)定和自標(biāo)定之間的攝像機(jī)分步標(biāo)定方法,其內(nèi)部參數(shù)仍采用簡(jiǎn)單的標(biāo)定方法獲得—張正友棋盤格法[11],對(duì)于外部參數(shù)的獲得,使用了一種當(dāng)攝像機(jī)平移和旋轉(zhuǎn)時(shí)的標(biāo)定方法.本分步標(biāo)定法通過先計(jì)算單個(gè)攝像機(jī)的內(nèi)參,再計(jì)算立體外參,不僅彌補(bǔ)了自標(biāo)定精度低和傳統(tǒng)標(biāo)定過程復(fù)雜的不足,還解決了主動(dòng)視覺標(biāo)定無法解決的攝像機(jī)運(yùn)動(dòng)參數(shù)未知情況下的標(biāo)定問題,與此同時(shí),本文還從Harris角度[12]對(duì)影響標(biāo)定精度的因素進(jìn)行了分析.
攝像機(jī)標(biāo)定模型如圖1所示.針孔模型是一個(gè)簡(jiǎn)單而實(shí)用的攝像機(jī)模型,通常用它來處理基本的幾何投影射線.根據(jù)針孔成像理論,攝像機(jī)由4個(gè)坐標(biāo)系組成,它們分別是三維世界坐標(biāo)系(OwXwYwZw)、攝像機(jī)坐標(biāo)系(OcXcYcZc)、成像平面像素坐標(biāo)系OUV和成像平面物理坐標(biāo)系O1XY.
根據(jù)小孔成像攝像機(jī)模型,在圖像上的點(diǎn)m=[U V]T和三維空間中的點(diǎn)M=[XwYwZw]T之間的投影關(guān)系如下:
式中:A為攝像機(jī)的內(nèi)參;R為3×3的旋轉(zhuǎn)矩陣;t為3×1的平移向量.
在三維空間坐標(biāo)系中,定義3D平面Z=0,公式(1)可以寫成以下形式:
圖1 攝像機(jī)標(biāo)定模型Fig.1 Camera calibration model
公式(2)描述了空間三維平面到圖像二維平面的映射關(guān)系.根據(jù)公式(2)得出,如果在三維平面和二維平面之間有4個(gè)相對(duì)應(yīng)的點(diǎn),那么能夠得到這個(gè)單應(yīng)性矩陣H:
由于旋轉(zhuǎn)向量是彼此正交的,從公式(3)可以看出,一幅圖像可以提供跟攝像機(jī)參數(shù)相關(guān)的2個(gè)約束方程.因此,如果要求出攝像機(jī)中的5個(gè)內(nèi)參,那就需要至少3幅圖像(N≥3).定義矩陣B=A-TA-1,就可以求出B的值,進(jìn)而確定攝像機(jī)的參數(shù).
考慮到透鏡畸變,參考坐標(biāo)系從理想投影平面轉(zhuǎn)換為實(shí)際投影平面:
相機(jī)的鏡頭總是有一定的失真,這使得空間物體的成像不是理想的線性變換.有2個(gè)透鏡畸變類型,即徑向畸變和切向畸變.公式(4)表示了理想投影點(diǎn)和實(shí)像點(diǎn)之間的關(guān)系.其中k1和k2為徑向畸變的系數(shù),p1和p2為切向畸變的系數(shù),同時(shí)
針對(duì)雙目立體視覺系統(tǒng)的標(biāo)定,確定2個(gè)攝像機(jī)之間的相對(duì)位置.首先分別標(biāo)定其自身的內(nèi)外參數(shù),按照內(nèi)外參數(shù)分離法,再通過它們之間的外部參數(shù)關(guān)系獲得2個(gè)相機(jī)相對(duì)位置R和T,標(biāo)定方程為:
由此可見,只要先標(biāo)定2個(gè)攝像機(jī),就可以得到2個(gè)攝像機(jī)的相對(duì)位置關(guān)系R和T.
本實(shí)驗(yàn)結(jié)合OpenCV庫開發(fā)了一套攝像機(jī)內(nèi)外參標(biāo)定程序,軟件環(huán)境為VS2010開發(fā)平臺(tái)及OpenCV2.4.1版本.在OpenCV中,主要使用cvLoad-Image()讀取圖像、使用 cvFindChessboardCorners()進(jìn)行角點(diǎn)提取、使用cvFindCornerSubPix()對(duì)角點(diǎn)進(jìn)行亞像素求精以及cvCalibrateCamera2()求取攝像機(jī)內(nèi)外參,攝像機(jī)采用的是工業(yè)攝像機(jī),圖像最大分辨率為2 592×1 944.2個(gè)攝像機(jī)之間的間距為192.0 mm,標(biāo)定板采用5×7棋盤,其角點(diǎn)數(shù)為4×6,棋盤格邊長為40 mm×40 mm,如圖2所示.
圖2 棋盤格Fig.2 Chessboard
分步標(biāo)定實(shí)驗(yàn)步驟:①制作棋盤格;②分別使用左右攝像機(jī)對(duì)標(biāo)定板從8個(gè)不同角度拍照;③在VS2010開發(fā)平臺(tái)上使用OpenCV分別計(jì)算出左右攝像機(jī)的內(nèi)參;④左右攝像機(jī)同時(shí)對(duì)標(biāo)定板從5個(gè)不同角度拍照,左右攝像機(jī)各拍出5張;⑤利用Matlab計(jì)算出雙目立體參數(shù).
實(shí)驗(yàn)中用左攝像機(jī)單獨(dú)對(duì)標(biāo)定板從不同的角度拍攝圖片,所拍得的圖片如圖3所示.
圖3 單獨(dú)左攝像機(jī)拍攝圖片F(xiàn)ig.3 Separate pictures taken by the left camera
左攝像機(jī)內(nèi)參標(biāo)定結(jié)果如下:
左攝像機(jī)內(nèi)參:
左攝像機(jī)畸變系數(shù):
實(shí)驗(yàn)中用右攝像機(jī)單獨(dú)對(duì)標(biāo)定板從不同的角度拍攝圖片,所拍得的圖片如圖4所示.
圖4 單獨(dú)右攝像機(jī)拍攝圖片F(xiàn)ig.4 Separate pictures taken by the right camera
右攝像機(jī)內(nèi)參標(biāo)定結(jié)果如下:
右攝像機(jī)內(nèi)參:
右攝像機(jī)畸變系數(shù):
2個(gè)攝像機(jī)同時(shí)對(duì)標(biāo)定板從不同角度拍攝照片,分別如圖5和圖6所示.
圖5 雙目左攝像機(jī)拍攝圖片F(xiàn)ig.5 Binocular pictures from the left camera
圖6 雙目右攝像機(jī)拍攝圖片F(xiàn)ig.6 Binocular pictures from the right camera
使用以上計(jì)算出的單個(gè)攝像機(jī)的內(nèi)參,通過Matlab得出5組外參,求取這5組外參的平均值,得出2個(gè)攝像機(jī)的相對(duì)位置關(guān)系R和T:
通過以上數(shù)據(jù)可以得出,2個(gè)攝像機(jī)的焦距f計(jì)算值為11.8 mm,攝像機(jī)實(shí)際焦距(規(guī)格)為12.0 mm,同時(shí)根據(jù)2個(gè)攝像機(jī)的立體參數(shù)得出其基線長度為190.0 mm,而實(shí)測(cè)值為192.0 mm,因此,這個(gè)標(biāo)定結(jié)果是可信的,符合預(yù)期的結(jié)果.
本文采用的攝像機(jī)分步標(biāo)定法是一種介于攝像機(jī)傳統(tǒng)標(biāo)定和自標(biāo)定之間的一種標(biāo)定方法.攝像機(jī)傳統(tǒng)標(biāo)定精度高,但計(jì)算過程復(fù)雜,標(biāo)定的傳統(tǒng)方法主要有雙平面法[13]、兩步法[14]、非線性優(yōu)化法[15]等,攝像機(jī)自標(biāo)定靈活性強(qiáng),但標(biāo)定精度差,自標(biāo)定方法主要有基于Kruppa方程的自標(biāo)定方法[16]、分層逐步標(biāo)定方法[17]和可變內(nèi)參數(shù)自標(biāo)定法[18].使用文獻(xiàn)[19]提供的方法分別對(duì)傳統(tǒng)標(biāo)定、分步標(biāo)定和自標(biāo)定結(jié)果進(jìn)行總的圖像殘差均值的計(jì)算,對(duì)標(biāo)定精度進(jìn)行比較,結(jié)果如表1所示.
表1 圖像殘差均值和EdTab.1 dand the mean value of image residuals
表1 圖像殘差均值和EdTab.1 dand the mean value of image residuals
標(biāo)定方法 雙平面法(傳統(tǒng))兩步法(傳統(tǒng))非線性優(yōu)化法(傳統(tǒng)) 分步標(biāo)定X方向的圖像殘差均值/像素0.120 2 0.123 5 0.126 5 0.122 1 Y方向的圖像殘差均值/像素0.060 5 0.062 5 0.070 1 0.061 0 Ed/像素0.127 2 0.138 0 0.148 8 0.158 5時(shí)間/s 230 243 240 200標(biāo)定方法基于Kruppa方程的自標(biāo)定方法(自標(biāo)定)可變內(nèi)參數(shù)標(biāo)定方法(自標(biāo)定)0.135 7 0.142 3 0.138 9分層逐步標(biāo)定方法(自標(biāo)定)X方向的圖像殘差均值/像素Y方向的圖像殘差均值/像素Ed/像素0.071 2 0.081 0 0.075 6時(shí)間/s 0.175 0 0.186 0 0.163 0 182 187 193
通過表1可以看出,使用傳統(tǒng)標(biāo)定方法得出的最大0.148 8,而本文的分步標(biāo)定法為0.158 5,使用自標(biāo)定方法得出的最小為0.163 0.同時(shí)從表1中易得出,自標(biāo)定運(yùn)行時(shí)間最短,而傳統(tǒng)標(biāo)定時(shí)間最長.可見,本文分步標(biāo)定法比自標(biāo)定方法精度高,同時(shí)比傳統(tǒng)標(biāo)定方法時(shí)間短.分步標(biāo)定法不僅克服了自標(biāo)定方法精度低和傳統(tǒng)標(biāo)定方法過程復(fù)雜的缺點(diǎn),還解決了主動(dòng)視覺標(biāo)定中攝像機(jī)運(yùn)動(dòng)參數(shù)未知情況下的標(biāo)定問題.
通過實(shí)驗(yàn)得出以下影響攝像機(jī)標(biāo)定精度的幾個(gè)因素,并對(duì)此進(jìn)行分析.
(1)在標(biāo)定實(shí)驗(yàn)中,提取角點(diǎn)用的是OpenCV中的cvFindChessboardCorners()函數(shù),該函數(shù)用的是Harris算子,因此利用攝像機(jī)拍照時(shí),盡量選擇光照好的環(huán)境.Harris算子在角點(diǎn)檢測(cè)時(shí),使用了微分算子對(duì)圖像進(jìn)行微分運(yùn)算,而微分運(yùn)算對(duì)圖像密度的升降和對(duì)亮度的強(qiáng)弱不敏感(不改變Harris響應(yīng)極值點(diǎn)出現(xiàn)的位置),但是,由于閾值的選擇會(huì)影響角點(diǎn)檢測(cè)的數(shù)量,導(dǎo)致角點(diǎn)不能檢測(cè)完全,以致會(huì)影響攝像機(jī)標(biāo)定的精度.攝像機(jī)標(biāo)定過程中必須讓標(biāo)定靶分別在X、Y、Z軸上進(jìn)行一定的旋轉(zhuǎn)(Harris角點(diǎn)檢測(cè)算子具有旋轉(zhuǎn)不變性),這樣求解攝像機(jī)內(nèi)外參用到的矩陣才不會(huì)是病態(tài)的,才能準(zhǔn)確計(jì)算出攝像機(jī)內(nèi)外參.
(2)實(shí)驗(yàn)發(fā)現(xiàn),攝像機(jī)的分辨率越高(圖片的尺寸越大),對(duì)圖片的拍攝條件要求越高,檢測(cè)角點(diǎn)的難度越大,這是因?yàn)镠arris角點(diǎn)檢測(cè)算子不具有尺度不變性(在同一個(gè)檢測(cè)窗口可能會(huì)被檢測(cè)成邊緣或曲線,不易檢測(cè)出角點(diǎn)或角點(diǎn)檢測(cè)不完全).
本文在雙目立體視覺和傳統(tǒng)攝像機(jī)標(biāo)定的基礎(chǔ)上,提出了分步標(biāo)定的方法,首先利用OpenCV平臺(tái),標(biāo)定出單個(gè)攝像機(jī)的內(nèi)外參,然后再利用Matlab平臺(tái),計(jì)算了攝像機(jī)運(yùn)動(dòng)參數(shù)未知情況下的立體參數(shù),完成了攝像機(jī)的分步標(biāo)定.經(jīng)計(jì)算得出總的圖像殘差均值為0.158 5像素,時(shí)間為200 s.標(biāo)定結(jié)果比自標(biāo)定方法精度高,同時(shí)比傳統(tǒng)標(biāo)定方法時(shí)間短.實(shí)驗(yàn)結(jié)果不僅達(dá)到了預(yù)期目的,而且從Harris角度分析發(fā)現(xiàn)光照、標(biāo)定靶的旋轉(zhuǎn)程度對(duì)精度影響很大,同時(shí)攝像機(jī)的分辨率越高,對(duì)圖片的拍攝條件要求越高.本分步標(biāo)定法不僅彌補(bǔ)了自標(biāo)定精度低和傳統(tǒng)標(biāo)定過程復(fù)雜的不足,還解決了主動(dòng)視覺標(biāo)定無法解決的攝像機(jī)運(yùn)動(dòng)參數(shù)未知情況下的標(biāo)定問題.與此同時(shí),本文還對(duì)影響標(biāo)定精度的因素進(jìn)行了分析.攝像機(jī)標(biāo)定作為機(jī)器視覺研究的第一步,同時(shí)也是最重要的一步,它為后續(xù)的三維測(cè)量和重建等工作奠定了良好的基礎(chǔ).
[1]LI F,SEKKATI H,DEGLINT J,et al.Simultaneous projector-camera self-calibration for three-dimensional reconstruction and projection mapping[J].IEEE Transactions on Com-putational Imaging,2017,3(1):74-83.
[2]SUN J,HOSSAIN M M,XU C L,et al.A novel calibration method of focused light field camera for 3-D reconstruction of flametemperature[J].OpticsCommunications,2017,390:7-15.
[3]LUHMANN T,F(xiàn)RASER C,MAAS H G.Sensor modelling and camera calibration for close-range photogrammetry[J].ISPRS Journal of Photogrammetry and Remote Sensing,2016,115:37-46.
[4]ALZAROK H,F(xiàn)LETCHER S,LONGSTAFF A P.A new strategy for improving vision based tracking accuracy based on utilization of camera calibration information[C]//Automation and Computing(ICAC),2016 22nd International Conference on.Colchester,UK:IEEE,2016:278-283.
[5]馬頌德,張正友.計(jì)算機(jī)視覺:計(jì)算理論與算法基礎(chǔ)[M].北京:科學(xué)出版社,1998.MA S D,ZHANG Z Y.Computer Vision-Calculation Theory and Algorithm[M].Beijing:Science Press,1998(in Chinese).
[6]SOCHOR J,JURáNEK R,HEROUT A.Traffic surveillance camera calibration by 3D model bounding box alignment for accurate vehicle apeed measurement[J].Computer Vision and Image Understanding,2017,161:87-98.
[7]TRAFFELET L,EPPENBERGER T,MILLANE A,et al.Target-based calibration of underwater camera housing parameters[C]//Safety,Security,and Rescue Robotics(SSRR),2016 IEEE International Symposium on.Lausanne,Switzerland:IEEE,2016:201-206.
[8]GRATER J,STRAUSS T,LAUER M.Photometric laser scanner to camera calibration for low resolution sensors[C]//Intelligent Transportation Systems(ITSC),2016 IEEE 19th International Conference on.Rio de Janeiro,Brazil:IEEE,2016:1552-1557.
[9]CóRDOVA-ESPARZA D M,TERVEN J R,JIMéNEZHERNáNDEZ H,et al.A multiple camera calibration and point cloud fusion tool for kinect V2[J].Science of Computer Programming,2017,143:1-8.
[10]BOUDINE B,KRAMM S,El AKKAD N,et al.A flexible technique based on fundamental matrix for camera self-calibration with variable intrinsic parameters from two views[J].Journal of Visual Communication and Image Representation,2016,39:40-50.
[11]ZHANG Z Y.A flexible new technique for camera calibration[J].IEEE Transactions on Pattern Analysis and Machine Intelligence,2000,22(11):1330-1334.
[12]HARRIS C.A combined corner and edge detector[J].Proc Alvey Vision Conf,1988(3):147-151.
[13]田小超,李忠科.雙平面法標(biāo)定的雙目視覺三維測(cè)量系統(tǒng)[J].電光與控制,2015,22(3):54-57.TIAN X C,LI Z K.Binocular vision three-dimensional measurement system calibrated by double plane method[J].Electro-Optical and Control,2015,22(3):54-57(in Chinese).
[14]SUSYANTO N,VELDHUIS R N J,SPREEUWERS L J,et al.Two-step calibration method for multi-algorithm score-based face recognition systems by minimizing discrimination loss[C]//International Conference on.Halmstad,Sweden:IEEE,2016:1-7.
[15]WEI Z,CAO Z,ZHANG G.Nonlinear optimization method in camera calibration[C]//International Conference on Electronic Measurement&Instruments.Beijing:IEEE,2009:(2)459-(2)461.
[16]LAO W,CHENG Z,KAM A H,et al.Focal length self-calibration based on degenerated Kruppa's equations:Method and evaluation[C]//International Conference on Image Processing.Singapore:IEEE,2004:3391-3394.
[17]GUO Y,LI B Z.Blind image watermarking method based on linear canonical wavelet transform and QR decomposition[J].I-et Image Processing,2016,10(10):773-786.
[18]RUSSELL D,WEINREB S.Cryogenic self-calibrating noise parameter measurement system[J].IEEE Transactions on Microwave Theory&Techniques,2012,60(5):1456-1467.
[19]劉國瑛,薛月菊,鄒湘軍,等.基于圖像殘差的攝像機(jī)標(biāo)定精度比較[J].農(nóng)機(jī)化研究,2010,32(10):118-121.LIU G Y,XUE Y J,ZOU X J,et al.Comparison of camera calibration accuracy based on image residual[J].Research on Agricultural Mechanization,2010,32(10):118-121(in Chinese).