1. 程式人生 > 實用技巧 >第五章第一節-相機與影象-相機模型

第五章第一節-相機與影象-相機模型

相機將三維世界中的點投影到二維影象平面,這一過程可以由針孔模型和畸變模型共同描述,這兩個模型構成了相機的內參數。

一、針孔相機模型

1、針孔相機原始模型

針孔相機模型如圖所示:
在這裡插入圖片描述

相機座標系 O − x y z O-xyz Oxyz:從相機後面看,相機座標系的 z z z軸指向前方, x x x軸指向右方, y y y軸指向下方。點 O O O是相機的光心。
物理成像平面 O ′ − x ′ y ′ O' - x'y' Oxy x ′ x' x軸方向與 x x x軸方向一致; y ′ y' y軸方向與 y y y軸方向一致。
焦距 f f f:光心到物理成像平面的距離
設真實世界中點 P P

P的座標為 [ X , Y , Z ] T [X,Y,Z]^T [X,Y,Z]T,成像平面上的點為 [ X ′ , Y ′ , Z ′ ] T [X',Y',Z']^T [X,Y,Z]T,根據三角形相似原理:
Z f = − X X ′ = − Y Y ′ \frac{Z}{f} = - \frac{X}{{X'}} = - \frac{Y}{{Y'}} fZ=XX=YY
其中符號表示成像平面上成的是倒像。

2、針孔相機模型的改進

實際上相機上拍出來的不是倒像,這是因為相機已經對圖片進行了預處理,將其翻轉成正像。對對應的,我們可以將真實成像平面上的像關於光心做對稱,得到對稱的成像平面


在這裡插入圖片描述
在對稱的成像平面中,由於不在是倒像,因此針孔相機模型可以去掉負號:
在這裡插入圖片描述
整理得式5-3:
在這裡插入圖片描述
這個公式描述了三維空間點 P P P和他的像 P ′ P' P的空間關係。

3、相機座標系到畫素(影象)座標系

畫素座標系 o ′ − u v o'-uv ouv:(原始從影象的後面看)原點 o ′ o' o在影象的左上角, u u u軸向右與 x x x軸一致, v v v軸向下與 y y y軸一致。在電腦上看一幅圖片時,其影象座標系與上述方向是一致的,如下:
在這裡插入圖片描述
成像平面座標系 O ′ − x ′ y ′ O' - x'y' Oxy到畫素座標系 o ′ − u v o'-uv o

uv的變換:相差了一個平移和一個縮放。記原點平移量為 [ c x , c y ] T [c_x,c_y]^T [cx,cy]T,在 u u u軸上的縮放了 α \alpha α倍,在 v v v軸上縮放了 β \beta β倍。則成像平面座標系 P ′ P' P座標與其在畫素平面座標系座標 [ u , v ] T [u,v]^T [u,v]T的關係為:
在這裡插入圖片描述
習慣性將 Z Z Z左移,得到三維空間點 P P P從相機座標系到影象座標系的變換公式
在這裡插入圖片描述
其中,矩陣K稱為相機的內參矩陣。一般來說,相機的內參矩陣出廠後是固定的,可以由廠家給定或者自己標定。

4、世界座標系到畫素(影象)座標系

P = [ X , Y , Z ] T P=[X,Y,Z]^T P=[X,Y,Z]T是點 P P P在相機座標系下的座標,而相機在世界座標系下是運動的。設相機在世界座標系下的位姿為 R , t R,t R,t。點 P P P在世界座標系下的座標是 P w P_w Pw,則點 P P P世界座標系到影象座標系的轉換公式為:
在這裡插入圖片描述
其中,相機在世界座標系下的位姿 R , t R,t R,t成為相機的外參,該外參也是SLAM中待估計的目標。

5、歸一化成像平面

世界座標系到影象座標系的轉換公式反映了投影過程的另外一個角度:
我們可以把一個世界座標點先轉換到相機座標系,再除掉它最後一維的數值 Z Z Z ,這相當於把最後一維進行歸一化處理,得到點 P 在相機歸一化平面上的投影:
在這裡插入圖片描述
歸一化座標為(三維世界點 P P P與相機光心的連線)與相機前方 z = 1 z=1 z=1平面上的的交點在相機座標系下的座標。而相機前方 z = 1 z=1 z=1平面稱為歸一化平面
在這裡插入圖片描述
因此,點 P P P的畫素座標 [ u , v ] T [u,v]^T [u,v]T可以看成是對點 P P P在歸一化平面上的對應的點進行量化測量的結果。
同時,這闡述了一個重要結論:
如果對點 P P P在相機座標系下的座標同時乘以任意非零常數,歸一化座標都是一樣的,這說明點的深度在技影過程中被丟失了,所以單目視覺中沒法得到畫素點的深度值。

二、畸變模型

1、徑向畸變

畸變原因:由透鏡形狀引起的影象畸變
畸變特點:直線畸變成曲線,越靠近影象邊緣越嚴重。由於透鏡通常是中心對稱的,因此徑向畸變通常也是徑向(中心)對稱的。穿過影象中心的直線不會發生徑向畸變。
畸變分類

  • 桶形畸變影象放大率隨著與光軸之間的距離增加而減小
  • 枕形畸變影象放大率隨著與光軸之間的距離增加而增加

在這裡插入圖片描述

2、切向畸變

畸變原因:由於透鏡與成像平面不嚴格平行
在這裡插入圖片描述

3、畸變數學模型

在歸一化平面上建立歸一化平面座標系,原點為光軸與歸一化平面的交點。設點 p p p座標為 [ x , y ] T [x,y]^T [x,y]T,其極座標形式為 [ r , θ ] T {[r,\theta ]^T} [r,θ]T。點 p p p畸變後的座標為 ( x d i s t o r t e d , y d i s t o r t e d ) ({x_{distorted}},{y_{distorted}}) (xdistorted,ydistorted)
1)徑向畸變使得座標點沿著長度方向發生了變化,即其距離原點的距離發生了變化。可以用三個引數 k 1 , k 2 , k 3 k_1,k_2,k_3 k1,k2,k3描述:
在這裡插入圖片描述
2)切向畸變使得座標點沿著切向方向發生了變化,即水平夾角發生了變化。可以用兩個引數 p 1 , p 2 p_1,p_2 p1,p2描述:
在這裡插入圖片描述
3)聯合畸變模型
同時考慮徑向畸變和切向畸變:
在這裡插入圖片描述
在實際用用中,我們也可以只選擇 k 1 , p 1 , p 2 k_1,p_1,p_2 k1,p1,p2三個引數建立畸變模型。
4)去畸變過程
在這裡插入圖片描述
理解:通常我們已知的是空間通過有畸變相機在影象座標系下的座標 [ u , v ] T [u,v]^T [u,v]T,因此我們根據上述公式反解該點在無畸變情況向在歸一化平面的座標 [ x , y ] T [x,y]^T [x,y]T,在將其通過內參矩陣重新投影到影象座標系下,得到去畸變的影象。這一過程成為影象去畸變

4、總結

在這裡插入圖片描述
**注意:**上述過程是真實世界中點到影象座標系下的轉換過程。而實際我們在處理視覺資訊時,通常是已經帶有第五步中的畫素座標,要還原影象中點所對應的世界座標系。因此,我們對影象的處理實際上是上述成像過程的逆過程。因此,我們首先要去畸變。