摘 要: 提出了一種基于參數(shù)約束關系的工業(yè)相機的線性標定法,該方法充分考慮了攝像機標定參數(shù)之間的約束關系,利用單位正交矩陣的6個約束關系,使標定誤差按參數(shù)之間的約束關系進行分配。該方法既避免了攝像機非線性標定所需優(yōu)化算法的繁瑣和不穩(wěn)定,亦解決了其他線性標定法中攝像機內(nèi)外部參數(shù)分解誤差大的問題,是一種簡單、高效、實用的攝像機標定算法。
視覺檢測由于具有非接觸、測量速度快、信息量大等優(yōu)點而被廣泛應用于質(zhì)量檢測[1-2]、尺寸檢測[3-5]以及方位檢測[6-8]等諸多工業(yè)檢測領域[9]。其中,視覺檢測的一個基本任務就是通過工業(yè)相機獲取的二維圖像信息精確地計算出空間物體的三維幾何信息,而實現(xiàn)這一過程的前提和基礎是攝像機標定[10-12]。
攝像機標定就是確定攝像機的位置、屬性參數(shù)(稱為攝像機內(nèi)外部參數(shù)),以便于確定世界坐標系中物理點與其在圖像坐標系中所成的像點之間的對應關系[13]。精確標定攝像機內(nèi)外部參數(shù)不僅可以提高視覺檢測任務的可靠性,而且還可以提高視覺檢測任務的精度;同時,標定的實時性可以更好地滿足工業(yè)現(xiàn)場檢測應用的需要。
目前攝像機標定方法很多,按其求解算法大致可以分為線性標定法、非線性標定法以及兩步法[14]。本文提出了一種用于工業(yè)視覺檢測應用的簡單的攝像機標定方法。該方法是一種全線性標定方法,只利用線性方程和矩陣計算,分解出攝像機內(nèi)外部參數(shù),由于在進行參數(shù)分解時充分考慮了攝像機標定參數(shù)之間的約束關系,實現(xiàn)了標定誤差按參數(shù)之間的約束關系進行分配,因而該算法精度高、速度快。
1 攝像機模型及標定參數(shù)
1.1 針孔成像模型
理想的攝像機成像模型是針孔模型,由于攝像機光學系統(tǒng)的加工誤差和裝配誤差,攝像機實際成像并不完全滿足針孔成像,即攝像機實際成像與理想成像之間存在著光學畸變誤差[15]。由于針孔成像原理簡單,再加之現(xiàn)代光電技術的發(fā)展,攝像機成像的畸變誤差越來越小,成像質(zhì)量越來越高,因此在針孔成像模型的基礎上,只要適當?shù)乜紤]一些鏡頭的畸變因素,就能滿足多數(shù)的應用需求。因此,本文的成像模型采用針孔模型,如圖1所示。
該模型共有4個坐標系,分別為:
(1)世界坐標系owxwywzw:是由用戶任意定義的三維空間坐標系,(xw,yw,zw)表示物點P在世界坐標系下的三維坐標。
(2)攝像機坐標系o0x0y0z0:是以鏡頭光學中心為原點,z0軸平行于攝像機光軸的坐標系。世界坐標系與攝像機坐標系的變換可以用旋轉(zhuǎn)矩陣R和平移向量T來描述:
x0y0z0=Rxwywzw+T(1)
其中,R=r11 r12 r13r21 r22 r23r31 r32 r33,T=txtytz。
(3)圖像物理坐標系oxy:原點位于攝像機光軸與圖像平面的交點,x、y軸分別與x0、y0軸平行。攝像機坐標系與圖像物理坐標系的變換為:
xy1=f 0 00 f 00 0 1x0y0z0(2)
(4)圖像像素坐標系ofuv:原點of位于CCD圖像平面的左上角,單位是像素,設圖像平面中心坐標(即圖像物理坐標系的原點o在圖像像素坐標系中的坐標)為(u0,v0),u和v分別表示像素所在的列和行。圖像物理坐標系與圖像像素坐標系的變換為:
uv1=1/dx 0 u0 0 1/dx v0 0 0 1xy1(3)
從世界坐標系owxwywzw到圖像像素坐標系總的變換為:
z0uv1=?琢x 0 u0 00 ?琢y v0 00 0 1 0R T0 1 xwywzw1=Mxwywzw1(4)
1.2 需要標定的參數(shù)
(1)外部參數(shù):包括R和T,共12個,但因R為單位正交矩陣,必須滿足6個正交約束條件,故實際上只有6個外部參數(shù)需要標定。
(2)內(nèi)部參數(shù):包括?琢x、?琢y、u0、v0 4個。其中,?琢x=f/dx,?琢y=f/dy、dx、dy分別為一個像素在x、y方向上的物理尺寸。
2 參數(shù)標定
做一個特制的標定參照物如圖2所示,攝像機獲取該參照物圖像,用特征點提取算法計算參照物上每一個標定點的圖像像素坐標u、v,世界坐標系可選標定參照物的物體坐標系。已知標定參照物上標定點的世界坐標及其對應的圖像像素坐標,就可以求出攝像機投影變換矩陣M。
將式(4)改寫為:
z0uv1=Mxwywzw1=m11 m12 m13 m14m21 m22 m23 m24m31 m32 m33 m34xwywzw1(5)
整理消去z0后,可得到如下兩個線性方程:
m11xw+m12yw+m13zw+m14-um31xw-um32yw-um33zw=um34
m21xw+m22yw+m23zw+m24-vm31xw-vm32yw-vm33zw=vm34(6)
對每一個標定點都有式(6)所示的兩個方程。若采用n≥6個點,就可以得到2n個關于mij的線性方程,用最小二乘法可以計算出投影變換矩陣M的系數(shù)。
xw1 yw1 zw1 1 0 0 0 0 -u1xw1 -u1yw1 -u1zw1 0 0 0 0 xw1 yw1 zw1 1 -v1xw1 -v1yw1 -v1zw1 … … … … … … … … … … …xwn ywn zwn 1 0 0 0 0 -unxwn -unywn -unzwn 0 0 0 0 xwn ywn zwn 1 -vnxwn -vnywn -vnzwnm=m34u1m34v1 …m34unm34vn(7)
其中,m=[m11 m12 m13 m14 m21 m22 m23 m24 m31 m32 m33]T。
變換矩陣M由4個內(nèi)部參數(shù)和6個外部參數(shù)(3個獨立旋轉(zhuǎn)矩陣參數(shù),3個獨立平移參數(shù))組成,即M矩陣應由10個獨立的變量確定。但M為3×4的矩陣,共有12個參數(shù)。對于式(5)來說,M乘以任何不為零的常數(shù)都不會影響(xw,yw,zw)與(u,v)的關系,所以可以指定m34=1,故M矩陣由11個參數(shù)確定??梢娺@11個參數(shù)并非相互獨立,存在著變量之間的約束關系,但用式(7)求解這些參數(shù)時,并沒有考慮這些參數(shù)之間的約束關系,因此在數(shù)據(jù)存在誤差的情況下,計算結果肯定是有誤差的,且誤差沒有按照參數(shù)之間的約束關系進行分配,特別是在分解內(nèi)外部參數(shù)時,誤差顯得尤為突出。
為此,本文提出一種基于參數(shù)約束關系的線性標定法,通過考慮參數(shù)之間的約束關系來提高參數(shù)標定的精度。具體計算過程如下:令式(7)兩邊同除以m34,變換后公式縮寫為Kd=U。其中,K為式(7)左邊2n×11的矩陣;d=[d1 d2 d3 d4 d5 d6 d7 d8 d9 d10 d11]T,d1,…,d11分別表示;U=[u1 v1 … un vn]T。然后利用最小二乘法求解矩陣d為:
d=(KTK)-1KTU(8)
由式(4)、(5)可得:
?琢xR1T+u0R3T ?琢xtx+u0tz?琢yR2T+v0R3T ?琢yty+v0tz R3T tz=M1T m14M2T m14M3T m14(9)
其中,M1T ,M2T ,M3T分別是矩陣M的第1、2、3行的前3個元素;R1=[r11 r12 r13]T,R2=[r21 r22 r23]T,R3=[r31 r32 r33]T,R=R1T R2TR3T,并且它們之間滿足如下關系:
‖R1‖2=r112+r122+r132=1(10)
‖R2‖2=r212+r222+r232=1(11)
‖R3‖2=r312+r322+r332=1(12)
R1TR2=r11r21+r12r22+r13r23=0(13)
R2TR3=r21r31+r22r32+r23r33=0(14)
R3TR1=r11r31+r12r12+r23r33=0(15)
由式(9)可以看出M3=R3,所以‖M3‖2=1,即(d92+d102+d112)m342=1,則可以求出:
m34=16)
則m11=d1m34,m12=d2m34,m13=d3m34,m14=d4m34,m21=d5m34,m22=d6m34,
m23=d7m34,m24=d8m34,m31=d9m34,m32=d10m34,m33=d11m34。
變換矩陣M的各個參數(shù)求解如下:
R3=M3tz=m34u0=(?琢xR1T+u0R3T)R3=M1TM3v0=(?琢yR2T+v0R3T)R3=M2TM3?琢x=|M1×M3|?琢y=|M2×M3|R1=
綜上所述,由6個以上點就可以計算出變換矩陣M,并且在求解內(nèi)外參數(shù)時利用了單位矩陣的6個約束關系,對攝像機內(nèi)外參數(shù)進行分配,即便數(shù)據(jù)存在誤差,誤差也能按照各參數(shù)之間的約束關系分配,從而提高了標定精度。
本文基于理想的攝像機小孔模型,對目前攝像機的線性標定法進行了分析。針對以往線性標定中參數(shù)并非相互獨立而無法準確計算出攝像機內(nèi)外參數(shù)的問題,提出了一種基于參數(shù)時間約束關系的線性標定法。該方法充分考慮了攝像機標定參數(shù)之間的約束關系,利用約束關系計算攝像機內(nèi)外部參數(shù),使數(shù)據(jù)誤差能夠按各參數(shù)之間的約束關系進行分配,從而可以提高攝像機標定的精度。
參考文獻
[1] 王小鵬,劉志華,陳天寧.透明材料微小器件鍵合質(zhì)量檢測系統(tǒng)設計[J].光學精密工程,2013,21(1):69-75.
[2] 蔣興良,夏云峰,張志勁,等.基于優(yōu)化Gabor濾波器的輸電導線斷股圖像檢測[J].電力系統(tǒng)自動化,2011,35(15):78-83.
[3] 孫巖,張征宇,黃詩捷,等.風洞試驗中模型迎角視覺測量技術研究[J].航空學報,2013,34(1):66-69.
[4] 程朋樂.面向裝配的微小型零件視覺檢測技術[J].電子測量與儀器學報,2013,27(2):151-155.
[5] 任子真,王保輝.塑料鉚接縫隙圖像檢測系統(tǒng)的研究[J].微型機與應用,2013,32(3):32-34.
[6] 吳俊君,胡國生.室內(nèi)環(huán)境仿人機器人快速視覺定位算法[J].中山大學學報(自然科學版),2013,52(4):7-13.
[7] 譚磊,王耀南,沈春生.輸電線路除冰機器人障礙視覺檢測識別算法[J].儀器儀表學報,2011,32(11):2564-2570.
[8] 袁俊杰,何廣平.基于視覺定位和力反饋的鋁電解陽極炭碗清理系統(tǒng)[J].制造業(yè)自動化,2013,35(8):137-141.
[9] 盛遵冰.機器視覺圖像檢測與定位系統(tǒng)關鍵技術研究[D].哈爾濱:哈爾濱工業(yè)大學,2009.
[10] SALVI J, ARMANGU X, BATLLE J. A comparative review of camera calibrating methods with accuracy evaluation[J]. Pattern Recognition, 2002,35(7):1617-1635.
[11] 邱茂林,馬頌德,李毅.計算機視覺中攝像機定標綜述[J].自動化學報,2001,26(1):43-55.
[12] 張曦,黃亮,徐洋,等.基于MATLAB中calibration toolbox的相機標定應用研究[J].微型機與應用,2011,30(14):31-33.
[13] 張鋮偉,王彪,徐貴力.攝像機標定方法研究[J].計算機技術與發(fā)展,2010,20(11):174-179.
[14] 鄒鳳嬌,蘇顯渝,李美菊.基于共面點的攝像機線性標定法[J].光電工程,2005,32(4):70-74.
[15] WENG J, COHEN P , HERNIOU M. Camera calibration with distortion models and accuracy evaluation[J]. Transactions on Pattern and Machine Intelligence, 1992,14 (10):324.
編輯:jq
-
線性
+關注
關注
0文章
198瀏覽量
25159 -
視覺檢測
+關注
關注
2文章
377瀏覽量
19289 -
攝像機標定
+關注
關注
0文章
7瀏覽量
7990
發(fā)布評論請先 登錄
相關推薦
評論