asp.net網(wǎng)站開發(fā)教程 pdf網(wǎng)站關(guān)鍵詞排名外包
一、為什么做相機標定?
標定是為了得到相機坐標系下的點和圖像像素點的映射關(guān)系,為攝影幾何、計算機視覺等應(yīng)用做準備。
二、為什么需要張正友標定法?
張正友標定法使手工標定相機成為可能,使相機標定不再需要精密的設(shè)備幫助。但內(nèi)參標定的精度卻需要依賴采集數(shù)據(jù)的質(zhì)量。精度不如專業(yè)設(shè)備的結(jié)果,不過在日??蒲械葘纫蟛皇欠浅8叩念I(lǐng)域足夠滿足。
三、為什么張正友使手工標定相機成為可能?
我們先思考一個問題,以針孔模型為例相機標定需要那些參數(shù):
內(nèi)參:fx fy cx cy k1 k2?p1 p2;
外參:R t。
假如我們用n張圖像來標定相機的話,我們需要求解8 +(3 + 3)x n = 6n + 8個參數(shù)。求解這么多參數(shù)需要使用最優(yōu)化。構(gòu)建目標函數(shù):
其中為圖像上角點,
為投影點。
我們知道優(yōu)化問題最害怕的就是遇到局部最優(yōu),導(dǎo)致優(yōu)化后的結(jié)果和真實值相差較大。為了解決局部最優(yōu),最好的方法是提供較為準確的初值,這就是張正友標定法最重要的作用。通過正交矩陣性質(zhì)計算出不考慮畸變的相機內(nèi)參和外參初值,然后利用最優(yōu)化的方法,便可以得到精確的內(nèi)參。
四、如何推導(dǎo)?
已知相機成像過程:世界坐標系->相機坐標系->相機坐標系->像素坐標系??梢杂孟旅婀矫枋?#xff1a;
其中M為世界坐標系點,R t為世界坐標系到相機坐標系的旋轉(zhuǎn)矩陣和平移量,A為相機內(nèi)參矩陣,s為比例系數(shù)。
將具體數(shù)值代入公式可以獲得:
其中r為R矩陣的列向量。已知世界坐標系在實際中選取為標定板坐標系,因此世界坐標系下點的Z值為零,因此可以進一步化簡。
由于相機圖像和標定板都是平面,兩個平面上坐標的對應(yīng)關(guān)系就可以利用單應(yīng)矩陣。因此可以引入單應(yīng)矩陣H:
用列向量表示H得:
由旋轉(zhuǎn)矩陣是正交矩陣可以得到兩條性質(zhì):列向量兩兩正交,且列向量是單位向量,因此可以得到:
因此可以用B表示:
將B代入上式并展開得到:
其中:
最后得到:
到現(xiàn)在,需要先求解H矩陣,然后利用H矩陣求解B矩陣。已知H矩陣有八個未知數(shù)(約去比例系數(shù),使矩陣最后一項為1),利用下面公式,一對對應(yīng)點可以提供兩個約束,因此需要四個點可以求出單應(yīng)矩陣H;
有了H矩陣值后可以得到值,已知B是對稱矩陣因此有六個未知數(shù),每個單應(yīng)矩陣H可以提供兩個約束,所以求解B最少需要三個不同的單應(yīng)矩陣,也就是三個不同視角的標定圖像。
求出B后便可以求解內(nèi)參矩陣A,再得到A后利用下面公司便可以求出外參矩陣R和t:
至此便得到了相機內(nèi)參的初值和不同標定圖像外參的初值,然后再利用上面提到的目標函數(shù)進行最優(yōu)化得到最后標定的內(nèi)參。
總結(jié):
1.張正友標定法最重要的地方是計算出了相機內(nèi)參和外參的數(shù)值解,然后作為初始值代入的優(yōu)化函數(shù),解決了局部最優(yōu)化的問題,使手工標定相機內(nèi)參成為可能。
2.由于相機標定數(shù)據(jù)是手工采集,因此相機內(nèi)參標定的精度取決于數(shù)據(jù)質(zhì)量。涉及標定板選取和采集圖像的注意事項,后續(xù)文章會介紹如何采集圖像。
3.由于相機內(nèi)外參在投影過程具有耦合關(guān)系,所以在優(yōu)化時外參結(jié)果不準確也會影響內(nèi)參結(jié)果,導(dǎo)致重投影誤差很小但是得到的相機內(nèi)參誤差較大。
4.在需要精確內(nèi)參標定結(jié)果時推薦使用相機廠商標定結(jié)果,在專業(yè)相機內(nèi)參標定時,利用機械臂抓住相機在特定位置進行采圖。相機外參有非常準確的初值,在優(yōu)化時可以得到非常高的內(nèi)參精度。