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