1. 程式人生 > >【入門】

【入門】

目錄

一、相機模型、內參、外參,畸變以及相機標定

1、座標系轉換

(1)座標系概念

世界座標系:與相機無關,獨立的座標系

世界座標系(world coordinate)(Xw,Yw,Zw)也稱為測量座標系,是一個三維直角座標系,以其為基準可以描述相機和待測物體的空間位置。世界座標系的位置可以根據實際情況自由確定。

相機座標系:與相機有關的座標系,其中X,Y與成像平面平行,原點為光心,Z為光軸方向

相機座標系(camera coordinate)(Xc,Yc,Zc)也是一個三維直角座標系,原點位於鏡頭光心處,x、y軸分別與相面的兩邊平行,z軸為鏡頭光軸,與像平面垂直。

影象座標系:平面二維座標系,與成像平面平行,原點在影象中心。

畫素座標系:以畫素為單位,原點在影象左上角。

(2)座標系之間的轉換

世界座標系與相機座標系:

反映相機在世界座標系中的位置,也可以叫做外參,用一個旋轉R和平移T矩陣表示。其轉換關係如下所示:

其中R為3*3的旋轉矩陣,t為3*1的平移向量,(xc,yc,zc,1)T為相機座標系的齊次座標,(xw,yw,zw,1)T為世界座標系的齊次座標。

推導過程:

設Pc是空間點P在相機座標系座標,Pw是其在世界座標系下的座標,則Pc和Pw之間的座標變換可以用一個旋轉矩陣R和一個平移向量t表示,如下所示

Pc=PwR+t,座標矩陣表示如下所示,R為3*3的旋轉矩陣,t為3*1的平移矩陣,分別表示在x,y,z三個方向上的旋轉平移

\begin{bmatrix} Xc\\ Yc\\ Zc \end{bmatrix}=\begin{bmatrix} R11 & R12 & R13\\ R21& R22& R23\\ R31& R32& R33 \end{bmatrix} \begin{bmatrix} Xw\\ Yw\\ Zw \end{bmatrix}+\begin{bmatrix} t1\\ t2\\ t3 \end{bmatrix}

為了計算方便,改為齊次座標表示如下所示

\begin{bmatrix} Xc\\ Yc\\ Zc\\ 1 \end{bmatrix}=\begin{bmatrix} Xw\\ Yw\\ Zw\\ 1 \end{bmatrix} \begin{bmatrix} R11 & R12& R13 & t1\\ R 21& R22& R23 &t2 \\ R31& R32& R33& t3\\ 0& 0& 0 & 1 \end{bmatrix}=\begin{bmatrix} R &t \\ 0^{T}& 1 \end{bmatrix} \begin{bmatrix} Xw\\ Yw\\ Zw\\ 1 \end{bmatrix}

三維相機座標系與二維影象座標系的轉換:利用小孔成像原理。

相機針孔成像模型如下所示:

相機座標系與影象座標系轉換為空間點P(Xc,Yc,Zc)和其像點P(x,y)的轉換,假設空間在P在相機座標系中的座標為[Xc,Yc,Zc]^{T},其成像點p在成像平面上的座標為[x,y]^{T},那麼兩者可以用如下公式表示

s\begin{bmatrix} x\\ y\\ 1 \end{bmatrix}=\begin{bmatrix} f &0 &0 &0\\ 0 & f &0&0 \\ 0&0 &1&0 \end{bmatrix} \begin{bmatrix} Xc\\ Yc\\ Zc\\ 1 \end{bmatrix},其中f為相機焦距(光心到影象平面的距離),s為比例因子(s不為0),公式中為齊次座標表示。

推導過程如下:

P在相機座標系中的座標為[Xc,Yc,Zc]^{T},其成像點p在成像平面上的座標為[x,y]^{T},像點p在相機座標系上的座標為[x',y',z']^{T},其中z'=f,x‘=x,y'=y。

根據小孔成像原理,有如下相似三角形:

根據三角形的相似關係(圖中),有如下公式:

\frac{Zc}{f}=\frac{Xc}{x'}=\frac{Yc}{y'},公式整理可以得到\left\{\begin{matrix} x'=f\frac{Xc}{Zc}\\ y'=f\frac{Yc}{Zc} \\ z'=f \end{matrix}\right.,即有\left\{\begin{matrix} x=f\frac{Xc}{Zc}\\ y=f\frac{Yc}{Zc}\end{matrix}\right.擴充套件座標的維度)將其線性化,則有如下表達式

\begin{bmatrix} \breve{x}\\ \breve{y}\\ \breve{z} \end{bmatrix}=\begin{bmatrix} f & 0& 0& 0\\ 0& f & 0& 0\\ 0& 0& 1& 0\\ \end{bmatrix} \begin{bmatrix} Xc\\ Yc\\ Zc\\ 1 \end{bmatrix}=\begin{bmatrix} fXc\\ fYc\\ Zc \end{bmatrix}=\begin{bmatrix} xZc\\ yZc\\ Zc \end{bmatrix},其中\left\{\begin{matrix} x=\breve{x}/Zc\\ y=\breve{y}/Zc\\ Zc\neq 0 \end{matrix}\right.,則從相機座標到平面座標的轉換關係如下:

s\begin{bmatrix} x\\ y\\ 1 \end{bmatrix}=\begin{bmatrix} f &0 &0 &0\\ 0 & f &0&0 \\ 0&0 &1&0 \end{bmatrix} \begin{bmatrix} Xc\\ Yc\\ Zc\\ 1 \end{bmatrix},其中s=Zc,為比例因子。

影象座標系與畫素座標系\Rightarrow畫素座標系到相機座標系

æ­¤å¤è¾å¥å¾ççæè¿°

二維畫素座標系和二維影象座標系之間有一個平移和縮放變換。推導過程如下

設點p影象座標為p(x,y),畫素座標為(u,v),畫素座標原點在左上角,u軸水平向左,v軸豎直向下,影象座標原點在影象中心點,其之間有一個平移(cx,cy),畫素是個矩形塊,設其在x,y方向上長度分別為\alpha ,\beta,那麼從影象座標系變為畫素座標系為x方向縮放\alpha倍,豎直方向縮放\beta倍,且平移(cx,cy),有如下公式

\left\{\begin{matrix} u=\alpha x+c_{x}\\ v=\beta y+c_{y} \end{matrix}\right.= \left\{\begin{matrix} u=\alpha f\frac{Xc}{Zc}+c_{x}\\ v=\beta f\frac{Yc}{Zc}+c_{y} \end{matrix}\right.,則有

\begin{bmatrix} u\\ v\\ 1 \end{bmatrix}=\frac{1}{Zc}\begin{bmatrix} f_{x}&0&c_{x}\\ 0&f_{y}&c_{y}\\ 0&0&1 \end{bmatrix} \begin{bmatrix} Xc\\ Yc\\ Zc \end{bmatrix}

其中K=\begin{bmatrix} f_{x}&0&c_{x}\\ 0&f_{y}&c_{y}\\ 0&0&1 \end{bmatrix}為相機內參

世界座標系到畫素座標系

\begin{bmatrix} u\\ v\\ 1 \end{bmatrix}=\frac{1}{Zc}\begin{bmatrix} f_{x}&0&c_{x}&0\\ 0&f_{y}&c_{y}&0\\ 0&0&1&0 \end{bmatrix} \begin{bmatrix} Xc\\ Yc\\ Zc \\1\end{bmatrix}=\frac{1}{Zc}\begin{bmatrix} f_{x}&0&c_{x}&0\\ 0&f_{y}&c_{y}&0\\ 0&0&1&0 \end{bmatrix}\begin{bmatrix} R&t \\ 0^{T}& 1 \end{bmatrix} \begin{bmatrix} Xw\\ Yw\\ Zw \\1\end{bmatrix}

其中\begin{bmatrix} R &t \\ 0^{T}& 1 \end{bmatrix}相機外參

2、相機畸變引數

畸變引數:

畸變(distortion)是對直線投影(rectilinear projection)的一種偏移。

簡單來說直線投影是場景內的一條直線投影到圖片上也保持為一條直線。

畸變簡單來說就是一條直線投影到圖片上不能保持為一條直線了,這是一種光學畸變(optical aberration),可能由於攝像機鏡頭原因。

徑向畸變與切向畸變

1、徑向畸變來自於透鏡形狀 ,由於光線透過鏡頭的彎曲程度造成,在遠離透鏡中心的地方比靠近中心的地方更加彎曲,對於徑向畸變,成像儀中心(光學中心)的畸變為0,隨著向邊緣移動,畸變越來越嚴重。一般包括枕形畸變、桶形畸變。

2、切向畸變來自於整個攝像機的組裝過程,是由於透鏡本身與成像平面不平行而產生的。

考慮畸變的情況:考慮較為明顯的徑向畸變和切向畸變

徑向畸變矯正引數:k1,k2,k3,切向畸變矯正引數:p1,p2,一共需要考慮5個畸變引數。

二、單應矩陣

三、基本矩陣

四、相機姿勢估計