三维重建学习(2):相机标定基础
前言
在相機(jī)標(biāo)定過(guò)程中,我們會(huì)碰到一些概念,比如:攝像機(jī)模型、世界坐標(biāo)系、圖像坐標(biāo)系等等。為便于理解推導(dǎo),所以又整理了相關(guān)的筆記,介紹的都是些比較基礎(chǔ)的概念,也比較容易。
相機(jī)模型
針孔相機(jī)模型
注:下面的兩幅圖片摘自:
http://blog.csdn.net/xuelabizp/article/details/50314633
上圖是現(xiàn)實(shí)中針孔相機(jī)的成像模型,物體的投影與物體本身總是相反的。坐標(biāo)也會(huì)是相反的,比較不方便。
正如前面所說(shuō)的,實(shí)際的針孔相機(jī)模型,考慮起來(lái)不太方便,于是我們可以等效地表示成上圖所示形式(相似三角形,比例相同)。
注:下圖摘自:
https://www.cnblogs.com/Jessica-jie/p/6596450.html
如圖是一個(gè)小孔模型。
- O點(diǎn)是相機(jī)中心,也就是小孔,同時(shí)也是整個(gè)相機(jī)坐標(biāo)系的中心;
- z軸是相機(jī)的主軸;
- 坐標(biāo)系oxyz構(gòu)成了相機(jī)坐標(biāo)系;
- q點(diǎn)是點(diǎn)Q在像平面上的投影,所在平面為圖像坐標(biāo)系;
- O1點(diǎn)為主點(diǎn),主軸與像平面相交的點(diǎn);
- 在像平面上的坐標(biāo)系為圖像坐標(biāo)系,其x、y軸與相機(jī)坐標(biāo)系的x、y軸相平行;
- O點(diǎn)到O1點(diǎn)的距離為相機(jī)的焦距f;
四個(gè)坐標(biāo)系
攝像機(jī)中的坐標(biāo)系有4個(gè),均為右手坐標(biāo)系,分別有:世界坐標(biāo)系、相機(jī)坐標(biāo)系、圖像坐標(biāo)系、像素坐標(biāo)系。后面用幾個(gè)簡(jiǎn)寫(xiě)字母分別表示:w、c、pic、pix。
坐標(biāo)系之間的轉(zhuǎn)換
世界坐標(biāo)系 -> 相機(jī)坐標(biāo)系
設(shè)某點(diǎn)在世界坐標(biāo)系中的坐標(biāo)為(xw,yw,zw) (xw,yw,zw),在相機(jī)坐標(biāo)系中的矩陣為(xc,yc,zc)。
則兩個(gè)坐標(biāo)系之間的關(guān)系為:
其中: R為一個(gè)3×3的旋轉(zhuǎn)矩陣,T是一個(gè) 3×1的矩陣,表示偏移;
表示成齊次形式:
?????xcyczc1?????=[R0t1]?????xwywzw1?????
確定 R需要3個(gè)參數(shù),確定t也需要3個(gè)參數(shù),總計(jì)6個(gè)參數(shù),稱為 外部參數(shù)。
相機(jī)坐標(biāo)系 -> 圖像坐標(biāo)系
以O點(diǎn)為原點(diǎn)建立相機(jī)坐標(biāo)系,點(diǎn)Q(xc,yc,zc)為相機(jī)坐標(biāo)系空間中的任意一點(diǎn),假設(shè)該點(diǎn)被光線投影到平面上的q(xpic,ypic)點(diǎn)上。
注意到小孔模型中的相似三角形關(guān)系,我們可以得到:
{xpic=fxczcypic=fyczc
寫(xiě)成矩陣形式:
zc???xpicypic1???=???f000f0001000?????????xcyczc1?????
圖像坐標(biāo)系 -> 像素坐標(biāo)系
這里看下這個(gè)圖,很好理解:
先設(shè)每個(gè)像素的物理尺寸為 dx×dy(mm2) 。
那么對(duì)于點(diǎn)在像素坐標(biāo)系中的坐標(biāo)(u,v):
寫(xiě)成矩陣形式:
???uv1???=???????1dx0001dy0u0v01??????????xpicypic1???
世界坐標(biāo)系 -> 像素坐標(biāo)系
把前面幾個(gè)步驟都綜合一下:
化簡(jiǎn)一下:
zc???uv1???=???fx000fy0u0v01000????[R0t1]?????xwywzw1?????
其中: fx=fdx, fy=fdy。
透鏡畸變
到前面為止的內(nèi)容都是有關(guān)針孔相機(jī)模型的,但是針孔可以透過(guò)的光線太少,成像慢且不清晰,所以往往都會(huì)加上凸透鏡以匯聚更多的光線。但是加上凸透鏡之后,不可避免地,就會(huì)產(chǎn)生透鏡畸變。透鏡畸變有兩種:徑向畸變、切向畸變。
徑向畸變
對(duì)于某些透鏡,光線在遠(yuǎn)離透鏡中心的地方比靠近中心的地方彎曲更厲害,產(chǎn)生“筒形”或“魚(yú)眼”現(xiàn)象。
一般來(lái)講,成像中興點(diǎn)的徑向畸變?yōu)?,越向邊緣移動(dòng),畸變?cè)絿?yán)重。通常,徑向畸變通過(guò)下面的公式來(lái)校正,常用偶次冪的泰勒公式描述徑向畸變:
其中: (x,y)為畸變點(diǎn)在成像平面上的原始位置, r為該點(diǎn)到成像面中心的距離,(xcorrected,ycorrected)為校正后的新位置。
切向畸變
切向畸變是由于攝像機(jī)制造上的缺陷使得透鏡本身與圖像平面不平行而產(chǎn)生的,可定量描述為:
其中: (x,y)為畸變點(diǎn)在成像平面上的原始位置, r為該點(diǎn)到成像面中心的距離,(xcorrected,ycorrected)為校正后的新位置。
現(xiàn)在的攝像機(jī)一般不會(huì)產(chǎn)生切向畸變,所以通常不考慮其影響。
透鏡畸變校正
我們進(jìn)行透鏡畸變校正,就是要確定k1、k2、k3、p1、p2這5個(gè)參數(shù)。
相機(jī)標(biāo)定
參考資料:
總結(jié)
以上是生活随笔為你收集整理的三维重建学习(2):相机标定基础的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 三维重建学习(1):基础知识:旋转矩阵与
- 下一篇: 使用python和树莓派实现远程监控