轉自https://blog.csdn.net/xuelabizp/article/details/50314633html
1.針 孔 攝 像 機 模型
-
在介紹攝像機標定參數以前,須要先簡單說一下針孔 攝 像 機的原理。投影平面到小孔的距離爲焦距f,物體到小孔的距離爲Z,其中物體和投影是倒立類似的關係,下圖爲針 孔 攝像機的投影示意圖:api
-
若是按照實際的投影關係創建座標系,那麼投影座標和物體座標的符號老是相反的,考慮起來不太方便,因而在「數學上」把投影平面平移到其關於小孔對稱的位置,這樣投影座標和物體座標符號就相同了,示意圖以下:app
-
根據三角形類似的原理,能夠列出以下等式:
fZ=l投影l物體
Zf=l物體l投影ide
2.攝像機中的座標系
-
攝像機中的座標系有4個,均爲右手座標系,分別記爲{world},{camera},{picture},{pixel},下圖所示列出了{camera},{picture}和{pixel}座標系:工具
-
{world},{camera},{picture}和{pixel}座標系的座標用下標來區分,分別是W,c,p,pix學習
-
{world},{camera},{picture}座標系單位爲長度,通常爲mm;{pixel}座標系單位爲像素,通常爲pixspa
-
{world}座標系爲世界座標系,能夠任意指定,其餘座標系都有明確的定義.net
-
{camera}座標系爲攝像機座標系,原點在小孔的位置,z軸與光軸重合,Xc軸和Yc軸分別和投影面兩邊平行3d
-
{picture}座標系爲圖像座標系,光軸和投影面的交點爲原點,Xp軸和Yp軸分別和投影面兩邊平行code
-
{pixel}座標系爲像素座標系,從小孔向投影面方向看,投影面的左上角爲原點Opix,Xpix軸和Ypix軸和投影面兩邊重合
3.各個座標系的座標轉換
3.1{world}到{camera}
設某點在{world}座標系中的座標爲
PW=[xW,yW,zW,]T
PW=[xW,yW,zW,]T,該點在{camera}座標系中的座標爲
Pc=[xc,yc,zc,]T
Pc=[xc,yc,zc,]T,則有
Pc=[R0T1]PW(1)
Pc=[R0T1]PW(1)
其中R是正交旋轉矩陣:
R=⎡⎣⎢⎢⎢r11r21r31r12r22r32r13r23r33⎤⎦⎥⎥⎥(2)
R=⎣⎡r11r21r31r12r22r32r13r23r33⎦⎤(2)
T是平移矩陣:
T=[txtytz]T(3)
T=[txtytz]T(3)
肯定R須要3個參數,肯定T須要3個參數,共需6個參數,這6個參數稱爲攝像機的外部參數。
3.2{camera}到{picture}
根據三角形類似原理,可得
⎧⎩⎨⎪⎪xp=fxczcyp=fyczc(4)
⎩⎪⎨⎪⎧xp=fzcxcyp=fzcyc(4)
寫成矩陣形式
zc⎡⎣⎢⎢⎢xpyp1⎤⎦⎥⎥⎥=⎡⎣⎢⎢⎢f000f0001000⎤⎦⎥⎥⎥⋅⎡⎣⎢⎢⎢⎢xcyczc1⎤⎦⎥⎥⎥⎥(5)
zc⎣⎡xpyp1⎦⎤=⎣⎡f000f0001000⎦⎤⋅⎣⎢⎢⎡xcyczc1⎦⎥⎥⎤(5)
3.3{picture}到{pixel}
sx
sx表示Xpix方向上單位mm的像素數,單位是pix/mm
sy
sy表示Ypix方向上單位mm的像素數,單位是pix/mm
x0,y0
x0,y0表示投影平面中心在{pixel}中的座標,則有
{xpix=x0+xp⋅sxypix=y0+yp⋅sy(6)
{xpix=x0+xp⋅sxypix=y0+yp⋅sy(6)
寫成矩陣形式
⎡⎣⎢⎢⎢xpixypix1⎤⎦⎥⎥⎥=⎡⎣⎢⎢⎢sx000sy0x0y01⎤⎦⎥⎥⎥⋅⎡⎣⎢⎢⎢xpyp1⎤⎦⎥⎥⎥(7)
⎣⎡xpixypix1⎦⎤=⎣⎡sx000sy0x0y01⎦⎤⋅⎣⎡xpyp1⎦⎤(7)
3.4{world}到{pixel}
記
{fx=f⋅sxfy=f⋅sy(8)
{fx=f⋅sxfy=f⋅sy(8)
分別表示焦距f在Xpix和Ypix方向上的等效焦距,單位是pix,結合(1)(5)(7)(8)式可得
zc⎡⎣⎢⎢⎢xpixypix1⎤⎦⎥⎥⎥=⎡⎣⎢⎢⎢fx000fy0x0y01000⎤⎦⎥⎥⎥⋅[R0T1]⎡⎣⎢⎢⎢⎢xWyWzW1⎤⎦⎥⎥⎥⎥(9)
zc⎣⎡xpixypix1⎦⎤=⎣⎡fx000fy0x0y01000⎦⎤⋅[R0T1]⎣⎢⎢⎡xWyWzW1⎦⎥⎥⎤(9)
3.5小結
單目攝像機須要標定參數就是
fx,fy,x0,y0
fx,fy,x0,y0這4個參數
-
fx,fy,x0,y0
fx,fy,x0,y0叫作攝像機的內部參數,由於這些參數只和攝像機有關係,和具體的攝像場景,和世界座標系沒有關係
-
R
R和
T
T內部一共有6個獨立的參數,叫作外部參數。外部參數是描述世界座標系和攝相機座標系的參數,因此只要世界座標系和攝相機座標系的相對位姿發生了變化,
R
R和
T
T就會改變,甚至能夠說,每一張圖片的
R
R和
T
T都不同
- 單目攝像機標定就是已知像素座標系下的座標
Ppix
Ppix和世界座標系下的座標
PW
PW,列方程組求解內部參數
4.攝像機透鏡畸變
因爲針孔能夠透過的光線太少,成像會不清楚,因此每每都會加上凸透鏡匯聚更多的光線。可是加上凸透鏡之後,會致使成像畸變,因此還須要校訂透鏡畸變。透鏡的畸變主要分爲兩類,一類是徑向畸變,一類是切向畸變
4.1徑向畸變
徑向畸變會產生「魚眼」現象。成像中心處徑向畸變爲0,徑向畸變隨着與成像中心距離增大而增大,在圖像邊緣處達到最大徑向畸變。經常用偶次冪的泰勒公式描述徑向畸變
{xcerrected=x(1+k1r2+k2r4+k3r6)ycerrected=y(1+k1r2+k2r4+k3r6)(10)
{xcerrected=x(1+k1r2+k2r4+k3r6)ycerrected=y(1+k1r2+k2r4+k3r6)(10)
4.2切向畸變
切向畸變由透鏡和成像平面不平行引發。經常使用以下公式描述
{xcerrectedycerrected=x+[2p1y+p2(r2+2x2)]=y+[p1(r2+2y2)+2p2x](11)
{xcerrectedycerrected=x+[2p1y+p2(r2+2x2)]=y+[p1(r2+2y2)+2p2x](11)
4.3小結
單目攝像機透鏡畸變校訂須要肯定的就是
k1,k2,k3,p1,p2
k1,k2,k3,p1,p2這5個參數,若是「魚眼」現象不明顯的話,經常使用
k1,k2
k1,k2來校訂徑向畸變
5.總結