《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 可編程邏輯 > 設(shè)計(jì)應(yīng)用 > 一種基于參數(shù)約束關(guān)系的工業(yè)相機(jī)的線性標(biāo)定法
一種基于參數(shù)約束關(guān)系的工業(yè)相機(jī)的線性標(biāo)定法
2014年微型機(jī)與應(yīng)用第11期
楊幸芳,張夢(mèng)文,嚴(yán) 凱,郭恩躍,王 宇,郭 根
西安工程大學(xué),陜西 西安
摘要: 視覺檢測(cè)由于具有非接觸、測(cè)量速度快、信息量大等優(yōu)點(diǎn)而被廣泛應(yīng)用于質(zhì)量檢測(cè)[1-2]、尺寸檢測(cè)[3-5]以及方位檢測(cè)[6-8]等諸多工業(yè)檢測(cè)領(lǐng)域[9]。其中,視覺檢測(cè)的一個(gè)基本任務(wù)就是通過工業(yè)相機(jī)獲取的二維圖像信息精確地計(jì)算出空間物體的三維幾何信息,而實(shí)現(xiàn)這一過程的前提和基礎(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ù)不僅可以提高視覺檢測(cè)任務(wù)的可靠性,而且還可以提高視覺檢測(cè)任務(wù)的精度;同時(shí),標(biāo)定的實(shí)時(shí)性可以更好地滿足工業(yè)現(xiàn)場(chǎng)檢測(cè)應(yīng)用的需要。
Abstract:
Key words :

  摘  要: 提出了一種基于參數(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ù)分解誤差大的問題,是一種簡(jiǎn)單、高效、實(shí)用的攝像機(jī)標(biāo)定算法。

  關(guān)鍵詞視覺檢測(cè);攝像機(jī)標(biāo)定;參數(shù)約束關(guān)系;線性標(biāo)定

  視覺檢測(cè)由于具有非接觸、測(cè)量速度快、信息量大等優(yōu)點(diǎn)而被廣泛應(yīng)用于質(zhì)量檢測(cè)[1-2]、尺寸檢測(cè)[3-5]以及方位檢測(cè)[6-8]等諸多工業(yè)檢測(cè)領(lǐng)域[9]。其中,視覺檢測(cè)的一個(gè)基本任務(wù)就是通過工業(yè)相機(jī)獲取的二維圖像信息精確地計(jì)算出空間物體的三維幾何信息,而實(shí)現(xiàn)這一過程的前提和基礎(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ù)不僅可以提高視覺檢測(cè)任務(wù)的可靠性,而且還可以提高視覺檢測(cè)任務(wù)的精度;同時(shí),標(biāo)定的實(shí)時(shí)性可以更好地滿足工業(yè)現(xiàn)場(chǎng)檢測(cè)應(yīng)用的需要。

  目前攝像機(jī)標(biāo)定方法很多,按其求解算法大致可以分為線性標(biāo)定法、非線性標(biāo)定法以及兩步法[14]。本文提出了一種用于工業(yè)視覺檢測(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所示。

_6L4AVUD]JCK$__7%28]69M.png

  該模型共有4個(gè)坐標(biāo)系,分別為:

 ?。?)世界坐標(biāo)系owxwywzw:是由用戶任意定義的三維空間坐標(biāo)系,(xw,yw,zw)表示物點(diǎn)P在世界坐標(biāo)系下的三維坐標(biāo)。

 ?。?)攝像機(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。

 ?。?)圖像物理坐標(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)定。

 ?。?)內(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。

_Z(]I1M2`3I79(IAV}E3JJR.png

  將式(4)改寫為:

  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)說,M乘以任何不為零的常數(shù)都不會(huì)影響(xw,yw,zw)與(u,v)的關(guān)系,所以可以指定m34=1,故M矩陣由11個(gè)參數(shù)確定??梢娺@11個(gè)參數(shù)并非相互獨(dú)立,存在著變量之間的約束關(guān)系,但用式(7)求解這些參數(shù)時(shí),并沒有考慮這些參數(shù)之間的約束關(guān)系,因此在數(shù)據(jù)存在誤差的情況下,計(jì)算結(jié)果肯定是有誤差的,且誤差沒有按照參數(shù)之間的約束關(guān)系進(jìn)行分配,特別是在分解內(nèi)外部參數(shù)時(shí),誤差顯得尤為突出。

  為此,本文提出一種基于參數(shù)約束關(guān)系的線性標(biāo)定法,通過考慮參數(shù)之間的約束關(guān)系來(lái)提高參數(shù)標(biāo)定的精度。具體計(jì)算過程如下:令式(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個(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ù)的問題,提出了一種基于參數(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)中模型迎角視覺測(cè)量技術(shù)研究[J].航空學(xué)報(bào),2013,34(1):66-69.

  [4] 程朋樂.面向裝配的微小型零件視覺檢測(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ī)器人快速視覺定位算法[J].中山大學(xué)學(xué)報(bào)(自然科學(xué)版),2013,52(4):7-13.

  [7] 譚磊,王耀南,沈春生.輸電線路除冰機(jī)器人障礙視覺檢測(cè)識(shí)別算法[J].儀器儀表學(xué)報(bào),2011,32(11):2564-2570.

  [8] 袁俊杰,何廣平.基于視覺定位和力反饋的鋁電解陽(yáng)極炭碗清理系統(tǒng)[J].制造業(yè)自動(dòng)化,2013,35(8):137-141.

  [9] 盛遵冰.機(jī)器視覺圖像檢測(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ī)視覺中攝像機(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.


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