摘 要: 提出了一種基于參數(shù)約束關(guān)系的工業(yè)相機(jī)的線性標(biāo)定法,,該方法充分考慮了攝像機(jī)標(biāo)定參數(shù)之間的約束關(guān)系,利用單位正交矩陣的6個(gè)約束關(guān)系,,使標(biāo)定誤差按參數(shù)之間的約束關(guān)系進(jìn)行分配,。該方法既避免了攝像機(jī)非線性標(biāo)定所需優(yōu)化算法的繁瑣和不穩(wěn)定,亦解決了其他線性標(biāo)定法中攝像機(jī)內(nèi)外部參數(shù)分解誤差大的問(wèn)題,,是一種簡(jiǎn)單,、高效、實(shí)用的攝像機(jī)標(biāo)定算法,。
關(guān)鍵詞: 視覺(jué)檢測(cè),;攝像機(jī)標(biāo)定;參數(shù)約束關(guān)系,;線性標(biāo)定
視覺(jué)檢測(cè)由于具有非接觸,、測(cè)量速度快、信息量大等優(yōu)點(diǎn)而被廣泛應(yīng)用于質(zhì)量檢測(cè)[1-2],、尺寸檢測(cè)[3-5]以及方位檢測(cè)[6-8]等諸多工業(yè)檢測(cè)領(lǐng)域[9],。其中,,視覺(jué)檢測(cè)的一個(gè)基本任務(wù)就是通過(guò)工業(yè)相機(jī)獲取的二維圖像信息精確地計(jì)算出空間物體的三維幾何信息,而實(shí)現(xiàn)這一過(guò)程的前提和基礎(chǔ)是攝像機(jī)標(biāo)定[10-12],。攝像機(jī)標(biāo)定就是確定攝像機(jī)的位置,、屬性參數(shù)(稱為攝像機(jī)內(nèi)外部參數(shù)),以便于確定世界坐標(biāo)系中物理點(diǎn)與其在圖像坐標(biāo)系中所成的像點(diǎn)之間的對(duì)應(yīng)關(guān)系[13],。精確標(biāo)定攝像機(jī)內(nèi)外部參數(shù)不僅可以提高視覺(jué)檢測(cè)任務(wù)的可靠性,,而且還可以提高視覺(jué)檢測(cè)任務(wù)的精度;同時(shí),,標(biāo)定的實(shí)時(shí)性可以更好地滿足工業(yè)現(xiàn)場(chǎng)檢測(cè)應(yīng)用的需要,。
目前攝像機(jī)標(biāo)定方法很多,按其求解算法大致可以分為線性標(biāo)定法,、非線性標(biāo)定法以及兩步法[14],。本文提出了一種用于工業(yè)視覺(jué)檢測(cè)應(yīng)用的簡(jiǎn)單的攝像機(jī)標(biāo)定方法。該方法是一種全線性標(biāo)定方法,,只利用線性方程和矩陣計(jì)算,,分解出攝像機(jī)內(nèi)外部參數(shù),由于在進(jìn)行參數(shù)分解時(shí)充分考慮了攝像機(jī)標(biāo)定參數(shù)之間的約束關(guān)系,,實(shí)現(xiàn)了標(biāo)定誤差按參數(shù)之間的約束關(guān)系進(jìn)行分配,,因而該算法精度高、速度快,。
1 攝像機(jī)模型及標(biāo)定參數(shù)
1.1 針孔成像模型
理想的攝像機(jī)成像模型是針孔模型,,由于攝像機(jī)光學(xué)系統(tǒng)的加工誤差和裝配誤差,攝像機(jī)實(shí)際成像并不完全滿足針孔成像,,即攝像機(jī)實(shí)際成像與理想成像之間存在著光學(xué)畸變誤差[15],。由于針孔成像原理簡(jiǎn)單,再加之現(xiàn)代光電技術(shù)的發(fā)展,,攝像機(jī)成像的畸變誤差越來(lái)越小,,成像質(zhì)量越來(lái)越高,因此在針孔成像模型的基礎(chǔ)上,,只要適當(dāng)?shù)乜紤]一些鏡頭的畸變因素,,就能滿足多數(shù)的應(yīng)用需求。因此,,本文的成像模型采用針孔模型,,如圖1所示。
該模型共有4個(gè)坐標(biāo)系,,分別為:
?。?)世界坐標(biāo)系owxwywzw:是由用戶任意定義的三維空間坐標(biāo)系,(xw,,yw,,zw)表示物點(diǎn)P在世界坐標(biāo)系下的三維坐標(biāo),。
(2)攝像機(jī)坐標(biāo)系o0x0y0z0:是以鏡頭光學(xué)中心為原點(diǎn),,z0軸平行于攝像機(jī)光軸的坐標(biāo)系,。世界坐標(biāo)系與攝像機(jī)坐標(biāo)系的變換可以用旋轉(zhuǎn)矩陣R和平移向量T來(lái)描述:
x0y0z0=Rxwywzw+T(1)
其中,R=r11 r12 r13r21 r22 r23r31 r32 r33,,T=txtytz,。
(3)圖像物理坐標(biāo)系oxy:原點(diǎn)位于攝像機(jī)光軸與圖像平面的交點(diǎn),,x,、y軸分別與x0、y0軸平行,。攝像機(jī)坐標(biāo)系與圖像物理坐標(biāo)系的變換為:
xy1=f 0 00 f 00 0 1x0y0z0(2)
?。?)圖像像素坐標(biāo)系ofuv:原點(diǎn)of位于CCD圖像平面的左上角,單位是像素,,設(shè)圖像平面中心坐標(biāo)(即圖像物理坐標(biāo)系的原點(diǎn)o在圖像像素坐標(biāo)系中的坐標(biāo))為(u0,,v0),u和v分別表示像素所在的列和行,。圖像物理坐標(biāo)系與圖像像素坐標(biāo)系的變換為:
uv1=1/dx 0 u0 0 1/dx v0 0 0 1xy1(3)
從世界坐標(biāo)系owxwywzw到圖像像素坐標(biāo)系總的變換為:
z0uv1=?琢x 0 u0 00 ?琢y v0 00 0 1 0R T0 1 xwywzw1=Mxwywzw1(4)
1.2 需要標(biāo)定的參數(shù)
?。?)外部參數(shù):包括R和T,共12個(gè),,但因R為單位正交矩陣,,必須滿足6個(gè)正交約束條件,故實(shí)際上只有6個(gè)外部參數(shù)需要標(biāo)定,。
(2)內(nèi)部參數(shù):包括?琢x,、?琢y,、u0、v0 4個(gè),。其中,,?琢x=f/dx,?琢y=f/dy,、dx,、dy分別為一個(gè)像素在x、y方向上的物理尺寸,。
2 參數(shù)標(biāo)定
做一個(gè)特制的標(biāo)定參照物如圖2所示,,攝像機(jī)獲取該參照物圖像,用特征點(diǎn)提取算法計(jì)算參照物上每一個(gè)標(biāo)定點(diǎn)的圖像像素坐標(biāo)u,、v,,世界坐標(biāo)系可選標(biāo)定參照物的物體坐標(biāo)系,。已知標(biāo)定參照物上標(biāo)定點(diǎn)的世界坐標(biāo)及其對(duì)應(yīng)的圖像像素坐標(biāo),就可以求出攝像機(jī)投影變換矩陣M,。
將式(4)改寫(xiě)為:
z0uv1=Mxwywzw1=m11 m12 m13 m14m21 m22 m23 m24m31 m32 m33 m34xwywzw1(5)
整理消去z0后,,可得到如下兩個(gè)線性方程:
m11xw+m12yw+m13zw+m14-um31xw-um32yw-um33zw=um34
m21xw+m22yw+m23zw+m24-vm31xw-vm32yw-vm33zw=vm34(6)
對(duì)每一個(gè)標(biāo)定點(diǎn)都有式(6)所示的兩個(gè)方程。若采用n≥6個(gè)點(diǎn),,就可以得到2n個(gè)關(guān)于mij的線性方程,,用最小二乘法可以計(jì)算出投影變換矩陣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個(gè)內(nèi)部參數(shù)和6個(gè)外部參數(shù)(3個(gè)獨(dú)立旋轉(zhuǎn)矩陣參數(shù),3個(gè)獨(dú)立平移參數(shù))組成,,即M矩陣應(yīng)由10個(gè)獨(dú)立的變量確定,。但M為3×4的矩陣,共有12個(gè)參數(shù),。對(duì)于式(5)來(lái)說(shuō),,M乘以任何不為零的常數(shù)都不會(huì)影響(xw,yw,,zw)與(u,,v)的關(guān)系,所以可以指定m34=1,,故M矩陣由11個(gè)參數(shù)確定,。可見(jiàn)這11個(gè)參數(shù)并非相互獨(dú)立,,存在著變量之間的約束關(guān)系,,但用式(7)求解這些參數(shù)時(shí),并沒(méi)有考慮這些參數(shù)之間的約束關(guān)系,,因此在數(shù)據(jù)存在誤差的情況下,,計(jì)算結(jié)果肯定是有誤差的,且誤差沒(méi)有按照參數(shù)之間的約束關(guān)系進(jìn)行分配,,特別是在分解內(nèi)外部參數(shù)時(shí),,誤差顯得尤為突出。
為此,,本文提出一種基于參數(shù)約束關(guān)系的線性標(biāo)定法,,通過(guò)考慮參數(shù)之間的約束關(guān)系來(lái)提高參數(shù)標(biāo)定的精度。具體計(jì)算過(guò)程如下:令式(7)兩邊同除以m34,,變換后公式縮寫(xiě)為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個(gè)元素;R1=[r11 r12 r13]T,,R2=[r21 r22 r23]T,,R3=[r31 r32 r33]T,R=R1T R2TR3T,,并且它們之間滿足如下關(guān)系:
‖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的各個(gè)參數(shù)求解如下:
R3=M3tz=m34u0=(?琢xR1T+u0R3T)R3=M1TM3v0=(?琢yR2T+v0R3T)R3=M2TM3?琢x=|M1×M3|?琢y=|M2×M3|R1=
綜上所述,,由6個(gè)以上點(diǎn)就可以計(jì)算出變換矩陣M,并且在求解內(nèi)外參數(shù)時(shí)利用了單位矩陣的6個(gè)約束關(guān)系,,對(duì)攝像機(jī)內(nèi)外參數(shù)進(jìn)行分配,,即便數(shù)據(jù)存在誤差,誤差也能按照各參數(shù)之間的約束關(guān)系分配,,從而提高了標(biāo)定精度,。
本文基于理想的攝像機(jī)小孔模型,對(duì)目前攝像機(jī)的線性標(biāo)定法進(jìn)行了分析。針對(duì)以往線性標(biāo)定中參數(shù)并非相互獨(dú)立而無(wú)法準(zhǔn)確計(jì)算出攝像機(jī)內(nèi)外參數(shù)的問(wèn)題,,提出了一種基于參數(shù)時(shí)間約束關(guān)系的線性標(biāo)定法,。該方法充分考慮了攝像機(jī)標(biāo)定參數(shù)之間的約束關(guān)系,利用約束關(guān)系計(jì)算攝像機(jī)內(nèi)外部參數(shù),,使數(shù)據(jù)誤差能夠按各參數(shù)之間的約束關(guān)系進(jìn)行分配,,從而可以提高攝像機(jī)標(biāo)定的精度。
參考文獻(xiàn)
[1] 王小鵬,,劉志華,,陳天寧.透明材料微小器件鍵合質(zhì)量檢測(cè)系統(tǒng)設(shè)計(jì)[J].光學(xué)精密工程,2013,,21(1):69-75.
[2] 蔣興良,,夏云峰,張志勁,,等.基于優(yōu)化Gabor濾波器的輸電導(dǎo)線斷股圖像檢測(cè)[J].電力系統(tǒng)自動(dòng)化,,2011,35(15):78-83.
[3] 孫巖,,張征宇,,黃詩(shī)捷,等.風(fēng)洞試驗(yàn)中模型迎角視覺(jué)測(cè)量技術(shù)研究[J].航空學(xué)報(bào),,2013,,34(1):66-69.
[4] 程朋樂(lè).面向裝配的微小型零件視覺(jué)檢測(cè)技術(shù)[J].電子測(cè)量與儀器學(xué)報(bào),2013,,27(2):151-155.
[5] 任子真,,王保輝.塑料鉚接縫隙圖像檢測(cè)系統(tǒng)的研究[J].微型機(jī)與應(yīng)用,2013,,32(3):32-34.
[6] 吳俊君,,胡國(guó)生.室內(nèi)環(huán)境仿人機(jī)器人快速視覺(jué)定位算法[J].中山大學(xué)學(xué)報(bào)(自然科學(xué)版),2013,,52(4):7-13.
[7] 譚磊,,王耀南,沈春生.輸電線路除冰機(jī)器人障礙視覺(jué)檢測(cè)識(shí)別算法[J].儀器儀表學(xué)報(bào),,2011,,32(11):2564-2570.
[8] 袁俊杰,何廣平.基于視覺(jué)定位和力反饋的鋁電解陽(yáng)極炭碗清理系統(tǒng)[J].制造業(yè)自動(dòng)化,,2013,,35(8):137-141.
[9] 盛遵冰.機(jī)器視覺(jué)圖像檢測(cè)與定位系統(tǒng)關(guān)鍵技術(shù)研究[D].哈爾濱:哈爾濱工業(yè)大學(xué),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ì)算機(jī)視覺(jué)中攝像機(jī)定標(biāo)綜述[J].自動(dòng)化學(xué)報(bào),2001,,26(1):43-55.
[12] 張曦,,黃亮,徐洋,,等.基于MATLAB中calibration toolbox的相機(jī)標(biāo)定應(yīng)用研究[J].微型機(jī)與應(yīng)用,,2011,30(14):31-33.
[13] 張鋮偉,,王彪,,徐貴力.攝像機(jī)標(biāo)定方法研究[J].計(jì)算機(jī)技術(shù)與發(fā)展,2010,,20(11):174-179.
[14] 鄒鳳嬌,,蘇顯渝,李美菊.基于共面點(diǎn)的攝像機(jī)線性標(biāo)定法[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.