《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 嵌入式技術(shù) > 設(shè)計(jì)應(yīng)用 > 基于MATLAB中calibration toolbox的相機(jī)標(biāo)定應(yīng)用研究
基于MATLAB中calibration toolbox的相機(jī)標(biāo)定應(yīng)用研究
來源:微型機(jī)與應(yīng)用2011年第14期
張 曦1,, 黃 亮1,, 徐 洋2, 郭冬霄2
(1.重慶市電力公司南岸供電局,,重慶 400060,; 2. 重慶郵電大學(xué),重慶 400065)
摘要: 相機(jī)標(biāo)定的目的是確定相機(jī)的幾何和光學(xué)參數(shù)以及相機(jī)相對(duì)于世界坐標(biāo)系的方位,。calibration toolbox作為一個(gè)標(biāo)定工具,,容納了如Tsai、Faugeras等多種經(jīng)典的標(biāo)定方法,從自主標(biāo)定的使用方面詳細(xì)介紹了calibration toolbox的使用方法,。
Abstract:
Key words :

摘   要: 相機(jī)標(biāo)定的目的是確定相機(jī)的幾何和光學(xué)參數(shù)以及相機(jī)相對(duì)于世界坐標(biāo)系的方位,。calibration toolbox作為一個(gè)標(biāo)定工具,容納了如Tsai,、Faugeras等多種經(jīng)典的標(biāo)定方法,,從自主標(biāo)定的使用方面詳細(xì)介紹了calibration toolbox的使用方法。
關(guān)鍵詞: 相機(jī)標(biāo)定,; MATLAB,; 標(biāo)定工具箱

 隨著人們對(duì)可視化要求的提高,計(jì)算機(jī)視覺作為一門新興的高科技學(xué)科,,被越來越多地應(yīng)用于產(chǎn)品在線質(zhì)量監(jiān)控,、微電子器件的自動(dòng)檢測(cè)、各種模具三維形狀的測(cè)量及生產(chǎn)線中機(jī)械手的定位與瞄準(zhǔn)等[1,2]領(lǐng)域,。相機(jī)標(biāo)定作為計(jì)算機(jī)視覺中最基礎(chǔ)的一部分,,已形成了很多種標(biāo)定方法,有關(guān)理論問題也得到了較好的解決,,當(dāng)前的研究工作應(yīng)該集中于如何針對(duì)具體的實(shí)際應(yīng)用問題,,采用特定的簡(jiǎn)便、實(shí)用,、快速,、準(zhǔn)確的標(biāo)定方法[3-6]。
 MATLAB中的相機(jī)標(biāo)定工具箱(camera calibration toolbox)提供了各種例程以及標(biāo)定方法,,非常詳細(xì),甚至還提供了方格型的靶標(biāo),。用戶接口方便靈活,在相機(jī)標(biāo)定時(shí)使用非常簡(jiǎn)單,,而且該工具箱的C源碼在開源計(jì)算機(jī)視覺庫中開放,,為深入學(xué)習(xí)進(jìn)行二次開發(fā)提供了理想的條件[7-9]。攝像機(jī)的標(biāo)定與相機(jī)同理,。
1 相機(jī)標(biāo)定原理
 標(biāo)定中有3個(gè)不同層次的坐標(biāo)系:世界坐標(biāo)系,、相機(jī)坐標(biāo)系和像平面坐標(biāo)系(物理坐標(biāo)系和像素坐標(biāo)系),如圖1所示。
1.1 世界坐標(biāo)系
 世界(world)坐標(biāo)系也稱真實(shí)或現(xiàn)實(shí)世界坐標(biāo)系,用XwYwZw表示,,它是客觀世界的絕對(duì)坐標(biāo)(所以也稱客觀坐標(biāo)系),。一般的3D場(chǎng)景都用這個(gè)坐標(biāo)系來表示。
1.2 相機(jī)坐標(biāo)系
 相機(jī)坐標(biāo)系是以相機(jī)為中心制定的坐標(biāo)系,用XcYcZc表示,,一般取相機(jī)的光學(xué)軸為Zc軸,。
1.3 像平面坐標(biāo)系
 圖像物理坐標(biāo)系是在相機(jī)內(nèi)所形成的像平面xy坐標(biāo)系,一般取像平面與相機(jī)坐標(biāo)系平面平行,。
 圖像像素坐標(biāo)系是在相機(jī)內(nèi)所形成的uv坐標(biāo)系,,一般取像平面∏的左上角為原點(diǎn),。
 圖像上每一點(diǎn)的亮度與物體某個(gè)表面點(diǎn)的反射光的強(qiáng)度有關(guān),而圖像點(diǎn)在圖像平面上的位置僅與相機(jī)空間物體的相對(duì)方位和相機(jī)的內(nèi)部結(jié)構(gòu)有關(guān),相機(jī)的內(nèi)部結(jié)構(gòu)是由相機(jī)的內(nèi)部參數(shù)所決定的,。為了描述相機(jī)的成像幾何關(guān)系,需要對(duì)相機(jī)進(jìn)行數(shù)學(xué)建模,。通常采用針孔模型,也稱為線性模型,這種模型在數(shù)學(xué)上是三維空間到二維平面的中心投影,,由一個(gè)3×4矩陣來描述,,這種模型是一個(gè)(退化的)攝影變換,因此通常又稱它為攝影攝像機(jī),。
1.4 相機(jī)標(biāo)定原理
 相機(jī)標(biāo)定是指建立攝像機(jī)圖像像素位置與場(chǎng)景點(diǎn)位置之間的關(guān)系,,其途徑是根據(jù)相機(jī)模型,由已知特征點(diǎn)的圖像坐標(biāo)和世界坐標(biāo)求解相機(jī)的模型參數(shù),如圖2所示,。相機(jī)需要標(biāo)定的模型參數(shù)分為內(nèi)部參數(shù)和外部參數(shù),,轉(zhuǎn)換關(guān)系為:

    世界坐標(biāo)系中的點(diǎn)到相機(jī)坐標(biāo)系的變換可用一個(gè)正交變換矩陣R和一個(gè)平移變換矩陣T表示,fx,、fy,、γ、u0,、v0是線性模型的內(nèi)部參數(shù),其中fx,、fy分別定義為X和Y方向的等效焦距,,u0、v0是圖像中心(光軸與圖像平面的交點(diǎn))坐標(biāo),,γ是u軸和v軸不垂直因子,;R和T是旋轉(zhuǎn)矩陣和平移矩陣。若已知矩陣M1,、M2,,就可建立起世界坐標(biāo)和像素坐標(biāo)的對(duì)應(yīng)關(guān)系。相機(jī)的標(biāo)定任務(wù)就是求出每個(gè)變換矩陣中的參數(shù),。
 由于相機(jī)光學(xué)系統(tǒng)并不是精確地按理想化的小孔成像原理工作,,存在透鏡畸變,即物體點(diǎn)在相機(jī)成像面上實(shí)際所成的像與理想成像之間存在光學(xué)畸變誤差[2,3],。主要的畸變誤差有三類:徑向畸變,、偏心畸變和薄棱鏡畸變,分別用δr,、δd,、δp表示。第一類只產(chǎn)生鏡像位置的偏差,,后兩類則既產(chǎn)生徑向偏差,,又產(chǎn)生切向偏差,。
 考慮畸變后,圖像平面理想圖像點(diǎn)坐標(biāo)(Xu,Yu)等于實(shí)際圖像點(diǎn)坐標(biāo)(Xd,Yd)與畸變誤差之和,,即:
 
2 相機(jī)標(biāo)定
 相機(jī)的輸出畫面分辨率為3 280×2 460,,采用黑白棋盤作為標(biāo)定模板,模板正方形邊長為30 mm,。實(shí)時(shí)標(biāo)定過程如下:
    (1)運(yùn)行標(biāo)定主函數(shù)calib_gui,,顯示如圖3所示模式選擇窗口。

    通過這個(gè)操作,,可以選擇一次性上傳所有標(biāo)定照片或在電腦內(nèi)存不足的情況下分張上傳,。無論選擇哪種模式,都會(huì)有相同的用戶窗口,,接下來的標(biāo)定過程可全部由此窗口完成,如圖4所示,。

 

 

 (2)在主窗口中通過讀取圖片,可以獲得所要標(biāo)定的照片,。
 (3)獲取角點(diǎn),。程序運(yùn)行界面如圖5所示。程序標(biāo)定結(jié)果如下:

        %--Focal length:
    fc=[3463.194803808018200;3807.341090056066200];
        %--Principal point:
    cc=[1633.861831663415600;1394.235351077526500];
               %--Skew coefficient:
         alpha_c=0.000000000000000;
               %--Distortion coefficients:
        kc=[-0.208188511841198;0.035081678657317;0.0023875
81735940;0.000491712255333;0.000000000000000];
               %-- Focal length uncertainty:
      fc_error=[260.123743256455500;284.746622601852150];
         %--Principal point uncertainty:
     cc_error=[36.917650368224287;47.589021356646775];
               %--Skew coefficient uncertainty:
     alpha_c_error=0.000000000000000;
               %--Distortion coefficients uncertainty:
    kc_error=[0.031723675208984;0.077972615251388; 0.002
023682615518;0.001567520438212;0.000000000000000];
               %--Image size:
        nx=3280;
       ny=2460;
               %--Various other variables (may be ignored if you do not use the Matlab Calibration Toolbox):
               %--Those variables are used to control which intrinsic parameters should be optimized
    n_ima=12;
        %Number of calibration images
        est_fc=[1;1];    
        %Estimation indicator of the two focal variables
        est_aspect_ratio=1;
        % Estimation indicator of the aspect ratio fc(2)/fc(1)
       center_optim=1;
        % Estimation indicator of the principal point
         est_alpha=0;
        % Estimation indicator of the skew coefficient
        est_dist=[1;1;1;1;0];
        %Estimation indicator of the distortion coefficientspoint
       est_alpha=0;        
        % Estimation indicator of the skew coefficient
    est_dist=[1;1;1;1;0];
        % Estimation indicator of the distortion coefficients
    從實(shí)驗(yàn)可以看出,,使用MATLAB中的標(biāo)定工具箱可以很快地得到標(biāo)定結(jié)果,,操作簡(jiǎn)單易懂,可視化效果好,,對(duì)結(jié)果誤差,、畸變等可以圖像的方式顯示。
參考文獻(xiàn)
[1] 張廣軍.視覺測(cè)量[M].北京:科學(xué)出版社,2008.
[2] 吳福朝.計(jì)算機(jī)視覺中的數(shù)學(xué)方法[M]. 北京:科學(xué)出版社,2008.
[3] ROGER Y. TSAI. A versatile camera calibration technique for high-accuracy 3D machine vision metrology using off-the-shelf TV cameras and lenses[J]. IEEE Journal of  robotics and automation, 1987,RA-3(4):323-344.
[4] TSAI R Y. An efficient and accurate camera calibration technique for 3D machine vision[M]. Proc. of IEEE Conference of computer Vision and Pattern Recognition, 1986:364-374.
[5] ZHANG Z Y. Flexible camera calibration by viewing a plane from unknown orientations[C].In: Proceedings of the International Conference on Computer Vision (ICCV’99),1999:666-673.
[6] 靳志光,衛(wèi)建東,張冠宇,等.基于LCD的相機(jī)標(biāo)定新方法[J].遙感應(yīng)用, 2008,1:87-90.
[7] Meng Xiaoqiao, Hu Zhanyi. A new easy camera calibration technique based on circular points[J]. pattern recognition, 2003,36(5):1155-1164.
[8] WU Y H, ZHU H J, HU Z Y, et al. Camera calibration from the quasi-affine invariance of two parallel circles[C]. In Proc. European Conference on Computer Vision(ECCV’2004), 2004,I:190-202.
[9] 徐德,趙曉光,涂志國,,等.基于單特征點(diǎn)的手眼系統(tǒng)攝像機(jī)標(biāo)定[J].IEEE Transtration on Pattern Analysis and Machine Intelligence, 2000,22(11):1330-1334.
 

此內(nèi)容為AET網(wǎng)站原創(chuàng),,未經(jīng)授權(quán)禁止轉(zhuǎn)載。