版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
本文是一篇關(guān)于相機(jī)標(biāo)定意義和原理的個(gè)人總結(jié),包含了OpenCV和Matlab中常用的相機(jī)標(biāo)定函數(shù)的注解。相機(jī)標(biāo)定是機(jī)器視覺的基礎(chǔ),標(biāo)定結(jié)果的好壞直接決定了機(jī)器視覺的系統(tǒng)精度,作用可見一斑。在這一年半的時(shí)間里,我個(gè)人也是隨著實(shí)驗(yàn)和程序的進(jìn)一步理解,對(duì)標(biāo)定的原理和意義有了更多的想法。同樣,由于博文的關(guān)系,仍有一些朋友會(huì)常常詢問(wèn)標(biāo)定的程序問(wèn)題。本人的2010-05-170penCV標(biāo)定程序的問(wèn)題也多次被朋友詢問(wèn),由于當(dāng)時(shí)對(duì)標(biāo)定的認(rèn)識(shí)還不夠系統(tǒng),因此現(xiàn)在認(rèn)為該文對(duì)標(biāo)定的意義和原理有很多誤解,并在此推薦一些較好的博文拱大家學(xué)習(xí):雙目測(cè)距及三維重建的OpenCV實(shí)現(xiàn)問(wèn)題集錦(一)圖像獲取及單目標(biāo)定;雙目測(cè)距及三維重建的OpenCV實(shí)現(xiàn)問(wèn)題集錦(二)雙目標(biāo)定及雙目校正;雙攝像頭測(cè)距的OpenCV實(shí)現(xiàn);分享一些OpenCV實(shí)現(xiàn)立體視覺的經(jīng)驗(yàn);下面結(jié)合本人的畢業(yè)論文及一年半來(lái)對(duì)機(jī)器視覺的學(xué)習(xí),對(duì)相機(jī)標(biāo)定的意義和原理進(jìn)行敘述。單目相機(jī)模型單目相機(jī)模型中的三種坐標(biāo)系關(guān)系如圖1所示,相機(jī)坐標(biāo)系即是以光軸中心O為原點(diǎn)的坐標(biāo)系,其z軸滿足右手法則,成像原點(diǎn)°所代表平面即為像平面坐標(biāo)系(實(shí)際應(yīng)用中,均以圖像左上角為坐標(biāo)系原點(diǎn)),實(shí)際物體坐標(biāo)系即為世界坐標(biāo)系。
圖1單目相機(jī)模型的三坐標(biāo)系統(tǒng)關(guān)系
其中,P在世界坐標(biāo)系的值為(x,Y,Z?,P是P在像平面坐標(biāo)系的投WWWu影點(diǎn),其相機(jī)坐標(biāo)系的值為(X,Y,Z)。,是相機(jī)坐標(biāo)系Z軸及像平面夾角,一般情況下z軸及像平面垂直,,值為90。且相機(jī)坐標(biāo)系xOy及像平面xOy平行,f為相機(jī)的焦距。fff對(duì)于從相機(jī)坐標(biāo)系到像平面坐標(biāo)系的變換,像平面坐標(biāo)系是用像素單位來(lái)表示的,而相機(jī)坐標(biāo)系則是以毫米為單位來(lái)表示,因此,要完成改變換過(guò)程就需要先得到像平面的像素單位及毫米單位之間的線性關(guān)系。在圖1中,相機(jī)光軸中心z軸方向上及像平面的交點(diǎn)O€稱為投影中心,坐標(biāo)為(c,c),是像素單位,而每個(gè)像素在X和Y的物理尺寸為$…/和$…則,單位是像素/毫米,則像平面的像素及毫米間的線性關(guān)系如式(1):(1)根據(jù)小孔模型下投影變換原理,像平面的物理坐標(biāo)(x,y)對(duì)應(yīng)的相機(jī)坐標(biāo)系滿足式(2):(2)其對(duì)應(yīng)的矩陣形式為式(3):
,f-f,f-fcos-1€0fsin-i€00A0010丿,xauYuZu11丿聯(lián)立式(1)和式(3),得到式(4)即為相機(jī)坐標(biāo)系及像平面坐標(biāo)系變換的矩陣。?vJ丿(rS?vJ丿(rS/?x?00-fcos-i€sfsin-i€y0cxcx1,xAu
??Yu?Z
?u11丿4)其中,即為相機(jī)的6個(gè)內(nèi)參數(shù),其組成的矩陣即為內(nèi)參數(shù)矩陣。對(duì)于從相機(jī)坐標(biāo)系到世界坐標(biāo)系的變換,是通過(guò)旋轉(zhuǎn)矩陣R和平移矩陣T完成的,如圖2所示。一一(R,T)P(Xw,Yw,Zw)一一(R,T)P(Xw,Yw,Zw)物體坐標(biāo)系圖2相機(jī)坐標(biāo)系及世界坐標(biāo)系的變換關(guān)系其中,平移矩陣T是三維列向量,旋轉(zhuǎn)矩陣R是坐標(biāo)軸依次繞x,y和z軸旋轉(zhuǎn)角度屮q和t所形成的三個(gè)矩陣R(<),R(<p),RG)的總乘積。它們的定義x y z如式(5):,100AR(<)=x0cos屮sin屮-sin屮cos屮丿,cos90-sin9AR(9)=y??010y、sin90cos9丿,costsint0aRG)=-sinTcost0z.001丿
sin屮sint-cos屮sin屮sint-cos屮sin€cost
sin屮cost+cos屮sin€sint
cos屮cos€6)/???cos€cost cos屮sint+sm屮sm€costR=-cos€sint cos屮cost-sin屮sin€sint、 sin€ -sin屮cos€因此,從相機(jī)坐標(biāo)系到世界坐標(biāo)系的變換如式(7),其中,ot表示(000<,R為旋轉(zhuǎn)矩陣,T為平移矩陣,該變換矩陣稱為外參數(shù)矩3x3 3x1陣。(7)最后,聯(lián)立式(4)和式(7)求得像平面坐標(biāo)系及世界坐標(biāo)系之間的變換關(guān)系,如式(8):-fcost9cxcy10?T-fcost9cxcy10?T?3x1丿1丿(X?wYwZw11丿‘mmm…000102mmm…101112mmm…202122immm303132usfsin-i9y0w03丿mY13丿wmZw23丿m丿3311丿m?fX?px?=MwYw3x4Zwi1 丿丿(R… 3x3、0t8)其中,M即為透視投影矩陣,表示空間中三維點(diǎn)坐標(biāo)及圖像平面二維坐其中,3x4標(biāo)之間的線性關(guān)系,Cv1)T表示P的像平面齊次坐標(biāo)值,(xYZ1)tu www表示p的世界坐標(biāo)系齊次坐標(biāo)值?;谝陨蠋缀卧砗拖鄼C(jī)模型得到的圖像信息和三維信息之間的關(guān)系,存在不可逆性,即可以通過(guò)已知世界坐標(biāo)系的坐標(biāo)值求得二維坐標(biāo)值,如果要進(jìn)行二維坐標(biāo)到三維坐標(biāo)的反求還需要其他的數(shù)學(xué)模型輔助求解。Matlab標(biāo)定工具箱應(yīng)用1)制作標(biāo)定板,標(biāo)定板尺寸為324(mm)X252(mm),即7行9列63個(gè)36mm的正方形方格組成,如圖3所示。
2) 將水平平行的左右相機(jī)同時(shí)采集標(biāo)定板的不同位姿圖像,共計(jì)12組位姿(對(duì)于采集的圖像,位姿越多,標(biāo)定結(jié)果也會(huì)越精確,建議在10組到20組之間)如圖4,5所示。Calibrationimages圖5右相機(jī)的標(biāo)定圖像3)在工具箱中通過(guò)Extractgridcorners提取每幅標(biāo)定圖像的特征點(diǎn)(即黑方格及白方格的交點(diǎn))。4) 進(jìn)行單目標(biāo)定,得到左右相機(jī)的內(nèi)外參數(shù)以及畸變系數(shù),并將參數(shù)保存到Calib_Results_left和Calib_Results_right兩個(gè)mat格式的文件中。Matlab標(biāo)定結(jié)果及OpenCV標(biāo)定結(jié)果的比較及分析Matlab標(biāo)定結(jié)果:通過(guò)上節(jié)的步驟(1)-(4),可以得到如圖6和7所示的左右相機(jī)的內(nèi)參數(shù)、畸變系數(shù)結(jié)果。CaLibialionresult?〔withurijceclairrties)tFacalLensth:Principalpoint:Skwi:FacalLensth:Principalpoint:Skwi:Distortion;Pinelerrar!fc= [ E54.32176BBS.E025& ] ?[57.3J772 57.S-3430]cc= [ 2&L15515 230-24OflD ] ?[IL55439 &名曲T]alpha_c= [ 0.00000J ?[0.00000 ] ->hti^Iba-£ pisceluer = 90. QDOOODLlflODdecreeskc= [ Dr03^16 -0,22269 -0, 00136Dr00151 0,DOOQO 1 ?[ 0, 027^7E:rr= [ D.33151 0?2862E][Dr03^16 -0,2225B -0,001360.1^400 0,002£6 0.00295 0,OUOOO1圖6左相機(jī)的內(nèi)參數(shù)和畸變系數(shù)Cullbra.-krnaresults1,'jriih.unctrtamtieaj:FocalLsncth:Piincip-dLpoint!Skew:DisFocalLsncth:Piincip-dLpoint!Skew:Distortion:Fizalerrorsfa=[82LT1D21 324.0887D]?[56.03100 56.D6327]cc二[31L1d761 244.554ID]?[7^99593 8-JE32]Lph.B_E:=[0.DOOOD]P[D.0U000] =>angle□£piXE-1UEZ=9D.00000?0.00000degreeska=[0,D2IS20.-0.00J2? 0-002160.OOQDO1H0.03411err=[山3L31S 0.26350]0.04452 -0.001270.27056D-0015.3a.00344 0.0000D1圖7右相機(jī)的內(nèi)參數(shù)和畸變系數(shù)對(duì)于左右相機(jī)由于透鏡畸變?cè)斐傻恼`差使用工具箱中的
visualize_distortions功能進(jìn)行分析,可以得到左相機(jī)的畸變圖,如8、9、10所示,相應(yīng)的右相機(jī)畸變圖,如11、12、13所示。CompleteDistortionModel:10U1502002503003E0<10PixelerrorFocalLengthPrincip-ilPointSk^wPixelerrorFocalLengthPrincip-ilPointSk^wR.jdi-alcoel+icienlsTjnqHntiEilcoelticinntE=[0.3315..O.2S63]=(854.328.858.803)=(251.155,Z3&.241)=0=(0.08416,-0.2227_.0)=C-0.O01B57^0.001E1)+/-[57.M57.84]+/-[11.55,6.835]+/-0+/■[0.02747.0.144_.0]4-/-[0.002255,0.002947]圖8左相機(jī)鏡頭畸變圖RadialComponentoftheDistortionModel0100 '^po 300<io500 GOOPixelerror=[O.531E/0.2S&3]Foc-=ilLenqth=^54.^0^05^.003)-+卜[購(gòu)Ftb;S4]Prin■:ipalPoint= 236.241).Skew=0R.jdialcOhjI+ici^ntE=(0.0841^-0^'22?3-:dL+/-.[0.02747^-0.144,.0]Tangentialcoefficients=(-0.0(1356.0.^151)+f-[Q,Q佗葢孔0.002947]圖9左相機(jī)徑向畸變圖TangentialComponentoftheDistortionModelO 100200 300■100EOO 600Pixelerror■=0,286)]FcicalLength=(854,323J1358,80^'十十[5734j57-;84]Princip.alPoint=(291.155,23G.241^+/-[11.5B,&.5JS]Skew=0+f-aRadial匚oeflficienh=(0^S41G;-Q孟禹知+/-[0.0274?,-0.144,0]Tangentialcoefficients=f-ti.001357,0.00151)+/-[C.OGZ25%0.002347]對(duì)于圖8到10,圖中的0點(diǎn)即為左相機(jī)光學(xué)中心,圖中的箭頭顯示相機(jī)圖像的畸變方向。圖8左相機(jī)整體畸變模型中,該相機(jī)的左側(cè)畸變不明顯,若物體的圖像在此則不易受畸變因素影響造成線條的彎曲;圖9左相機(jī)徑向畸變模型中,該相機(jī)的畸變系數(shù)由中心向外增大,即物體的圖像越靠近圖像邊緣,其線條的彎曲程度就越大;圖10左相機(jī)切向畸變模型中,箭頭方向顯示該相機(jī)切向畸變的增大方向,在相機(jī)的左側(cè)其切向畸變及徑向畸變的方向相反,使得整體畸變模型中,相機(jī)左側(cè)的畸變較小。圖11右相機(jī)鏡頭畸變圖Foc^lLengthPrincipalPointSkewRadialcoefificientsTangential.coefficients=[C313E,0.2E3E]=(g21.71/824^8^=^ril.l4S,.-244.354)=0'=(6碇輕『0.04452^0)=(-0.0C126E.O.O02-7&21+A[5&.03;Efe.Ot]+卜[7.996^.343]+/-0+廣[0.0^411,q渤亦旬+/-[0.00133b0.00Z44Z]圖12右相機(jī)徑向畸變圖PixelerrorFoc^lLengthPrincipalPointSkewRadial lent£,Tangentialcoefncienti=[ft.5135x0.^35]=Szi.7L624.38^).=^311.14S;244^,54);=0=(0.0273^,.0.04452,0)=(-0.00126.^-0.00^762)+/-[56.0t56.06]+/-[?.596.G.S4S]+7<0+J-[O.Q3411J-fl.^Ct>0]+/-[0.001351,0.002442]對(duì)于圖11到13,圖中的0點(diǎn)及左相機(jī)相同,即為右相機(jī)光學(xué)中心,圖中的箭頭顯示相機(jī)圖像的畸變方向。圖11右相機(jī)整體畸變模型中,該相機(jī)的中間及偏左側(cè)畸變不明顯,若物體的圖像在此則不易受畸變因素影響造成線條的彎曲;圖12右相機(jī)徑向畸變模型中,該相機(jī)的畸變系數(shù)由中心向外增大,但右相機(jī)比左相機(jī)在光軸中心附近有更大的區(qū)域畸變很小,因此位于右側(cè)相機(jī)光學(xué)中心的圖像,其線條因受畸變?cè)斐傻膹澢苄?;圖13右相機(jī)切向畸變模型中,箭頭方向顯示該相機(jī)切向畸變的增大方向,在相機(jī)的左側(cè)其切向畸變及徑向畸變的方向相反,使得整體畸變模型中,位于右相機(jī)圖像左側(cè)的線條受畸變影響較小。OpenCV標(biāo)定結(jié)果:在此列舉的OpenCV標(biāo)定結(jié)果是我雙目視覺標(biāo)定且優(yōu)化后的結(jié)果,及Matlab的會(huì)有差異。左側(cè)相機(jī)的內(nèi)參數(shù)矩陣:€837.62931 0 301.0371、TOC\o"1-5"\h\z0 840.95381238.93799 (9)?001…右側(cè)相機(jī)的內(nèi)參數(shù)矩陣:€837.34215 0 306.91534 ]0 842.97182 244.3674 (1°)?0 0 1…該式(9)-(1°)及式(1)相對(duì)應(yīng)。而Matlab中的cc對(duì)應(yīng)于式(1)中的相機(jī)光軸中心在圖像平面的投影坐標(biāo),fc即為式(1)中的$和$。xy至此,講解完了OpenCV及Matlab所對(duì)應(yīng)的相機(jī)標(biāo)定內(nèi)參數(shù)矩陣的含義。OpenCV及Matlab標(biāo)定中的差異:OpenCV的標(biāo)定參數(shù)中,對(duì)于鏡頭畸變采用的方法是Brown博士在71年發(fā)表的文章中提到的;而Matlab中的鏡頭畸變參數(shù)采用基于Heikkil博士提出的方法,將非線性干擾因素引入到內(nèi)外參數(shù)的求解過(guò)程。Heikkil米用5xl的矩陣(kkppk)來(lái)表示以上的兩種畸變系TOC\o"1-5"\h\z1 2 1 2 3數(shù)。根據(jù)Brown的非線性模型,k,k和k表示鏡頭的徑向畸變系數(shù),通常1 2 3只使用k,k兩項(xiàng),k只是針對(duì)即便較大的鏡頭(例如魚眼鏡頭,其余情況1 2 3下該系數(shù)值為°),而p和p表示切向畸變系數(shù),由式(11)和式(12)12求解該矩陣,本文的畸變系數(shù)求解伴隨在相機(jī)標(biāo)定過(guò)程中。x =xG,kr2,kr4,kr6)radical 1 2 3 (11)y =yU,kr2,kr4,kr6丿radical 1 2 3其中,(x,y)是像平面上的任一點(diǎn)坐標(biāo)值,(x,y)是進(jìn)行徑向畸變r(jià)adicalradical矯正后的坐標(biāo)值,r2,r4,r6是r作為光學(xué)中心畸變?yōu)?的點(diǎn)進(jìn)行泰勒級(jí)數(shù)展開后得到的。12)x =x+…2py+pC212)tangential12y =y+…P(r2+2y2),2pytangential12其中,(x,y)是像平面上的任一點(diǎn)坐標(biāo)值,(x ,y )是進(jìn)行切向畸變tangentialtangential矯正后的坐標(biāo)值,r2,r4,r6如式(11)的定義相同。4.外參數(shù)的作用及其在相機(jī)標(biāo)定中的意義外參數(shù)定義了如圖2所示的圖像平面到世界坐標(biāo)系的變換關(guān)系。而標(biāo)定就是通過(guò)相機(jī)尋找圖像平面中如圖3所示的標(biāo)定板的特征點(diǎn)位置,所以得到的外參數(shù)是圖像平面及標(biāo)定板所處平面的線性變換關(guān)系。在我的2010-06T4基于Matlab的雙目視覺定位問(wèn)題研究中,通過(guò)Matlab標(biāo)定工具箱產(chǎn)生的圖4及圖5就可以表達(dá)上述含義。 r上八 W.MBMI'i-爲(wèi)於Ha1丿BJ *■u*l圖2圖4圖5因此,對(duì)于不同的棋盤格標(biāo)定板空間位置,必然對(duì)應(yīng)于不同的外參數(shù)矩陣。同樣的,在視覺伺服中,雅可比矩陣也有同樣的數(shù)學(xué)意義。對(duì)于視覺伺服個(gè)人認(rèn)為可以看些徐德的論文入門。5.0penCV標(biāo)定程序說(shuō)明用于尋找圖像中的棋盤格標(biāo)定板的特征點(diǎn):CvSizeboard_sz=cvSize(board_w,board_h);IplImage*imgLeft=cvCreateImage(cvSize(imgL->width,imgL->height),imgL->depth,imgL->nChannels);IplImage*imgRight=cvCreateImage(cvSize(imgR->width,imgR->height),imgR->depth,imgR->nChannels);CvPoint2D32f*cornersLeft=newCvPoint2D32f[board_n];CvPoint2D32f*cornersRight=newCvPoint2D32f[board_n];intcorner_countLeft,corner_countRight;cvResize(imgL,imgLeft,CV_INTER_LINEAR);cvResize(imgR,imgRight,CV_INTER_LINEAR);if(frame++%board_dt==0){//Findchessboardcorners:intfoundLeft=cvFindChessboardCorners(imgLeft,board_sz,cornersLeft,&corner_countLeft,CV_CALIB_CB_ADAPTIVE_THRESH|CV_CALIB_CB_FILTER_QUADS);intfoundRight=cvFindChessboardCorners(imgRight,board_sz,cornersRight,&corner_countRight,CV_CALIB_CB_ADAPTIVE_THRESH|CV_CALIB_CB_FILTER_QUADS);//GetSubpixelaccuracyonthosecornerscvCvtColor(imgLeft,grayLeft,CV_BGR2GRAY);//ifinputiscolorfulthenusethiscvCvtColor(imgRight,grayRight,CV_BGR2GRAY);//cvCopy(image1,gray_image1);//cvCopy(image2,gray_image2);cvFindCornerSubPix(grayLeft,cornersLeft,corner_countLeft,cvSize(11,11),cvSize(-1,-1),cvTermCriteria(CV_TERMCRIT_EPS+CV_TERMCRIT_ITER,30,0.1));//尋找棋盤格標(biāo)定板的特征點(diǎn)cvFindCornerSubPix(grayRight,cornersRight,corner_countRight,cvSize(11,11),cvSize(-1,-1),cvTermCriteria(CV_TERMCRIT_EPS+CV_TERMCRIT_ITER,30,0.1));//尋找棋盤格標(biāo)定板的特征點(diǎn)//畫出找到的特征點(diǎn)cvDrawChessboardCorners(imgLeft,board_sz,cornersLeft,corner_countLeft,foundLeft);cvDrawChessboardCorner
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025版體育賽事運(yùn)營(yíng)權(quán)收購(gòu)協(xié)議書范本(含贊助商權(quán)益)3篇
- 農(nóng)業(yè)科技項(xiàng)目2025年度市場(chǎng)開發(fā)與品牌建設(shè)合同3篇
- 2025版二零二五民辦學(xué)校教師職業(yè)發(fā)展規(guī)劃聘用協(xié)議4篇
- 2025年度美容美發(fā)行業(yè)技師勞動(dòng)合同續(xù)簽條件合同4篇
- 2025年度美甲店品牌形象保護(hù)與侵權(quán)糾紛處理合同4篇
- 二零二五年度車牌租賃經(jīng)營(yíng)合作協(xié)議范本3篇
- 2025年高科技研發(fā)中心投資合作框架協(xié)議3篇
- 2025年度綠化工程進(jìn)度跟蹤與管理合同4篇
- 2025年攤位電子支付系統(tǒng)合作協(xié)議3篇
- 2025年智能城市基礎(chǔ)設(shè)施建設(shè)土地買賣合同范例3篇
- 2024年住院醫(yī)師規(guī)范化培訓(xùn)師資培訓(xùn)理論考試試題
- 期末綜合測(cè)試卷(試題)-2024-2025學(xué)年五年級(jí)上冊(cè)數(shù)學(xué)人教版
- 2024年廣東省公務(wù)員錄用考試《行測(cè)》試題及答案解析
- 結(jié)構(gòu)力學(xué)本構(gòu)模型:斷裂力學(xué)模型:斷裂力學(xué)實(shí)驗(yàn)技術(shù)教程
- 黑色素的合成與美白產(chǎn)品的研究進(jìn)展
- 金蓉顆粒-臨床用藥解讀
- 法治副校長(zhǎng)專題培訓(xùn)課件
- 《幼兒園健康》課件精1
- 汽車、電動(dòng)車電池火災(zāi)應(yīng)對(duì)
- 中醫(yī)藥適宜培訓(xùn)-刮痧療法教學(xué)課件
- 免疫組化he染色fishish
評(píng)論
0/150
提交評(píng)論