相機標定(一)-原理及內參、外參

>>>文章索引<<<

相機標定(一)-原理及內參、外參
相機標定(二)-畸變校正,張正友標定法
相機標定(三)-相機成像模型


在圖像測量過程以及機器視覺應用中,爲確定空間物體表面某點的三維幾何位置與其在圖像中對應點之間的相互關係,必須建立相機成像的幾何模型,這些幾何模型參數就是相機參數。在大多數條件下這些參數必須通過實驗與計算才能得到,這個求解參數的過程就稱之爲相機標定(或攝像機標定)。無論是在圖像測量或者機器視覺應用中,相機參數的標定都是非常關鍵的環節,其標定結果的精度及算法的穩定性直接影響相機工作產生結果的準確性。因此,做好相機標定是做好後續工作的前提,提高標定精度是科研工作的重點所在。

1 座標系基礎

理解四個座標系是進行相機標定的基礎,它們是:

  • 圖像像素座標系
  • 圖像物理座標系
  • 相機座標系
  • 世界座標系

1.1 圖像像素座標系、圖像物理座標系

在這裏插入圖片描述

  • 圖像像素座標系:是一個二維直角座標系,反映了相機CCD芯片中像素的排列情況。其原點OO位於圖像的左上角,uuvv座標軸分別餘圖像的兩條邊重合。像素座標爲離散值(0,1,2,…),以像素(pixel)爲單位。
  • 圖像物理座標系:爲了將圖像與物理空間相關聯,需要將圖像轉換到物理座標系下。原點OO位於圖像中心(理想狀態下),是相機光軸與像平面的交點(稱爲主點)。XXYY座標軸分別與uuvv軸平行。兩座標系實爲平移關係,平移量爲(u0,v0)(u_0,v_0)

假設相機感光器件中單個像素的物理尺寸爲dX×dYdX \times dY,有:

{u=xdX+u0v=ydY+v0(1) \begin{cases} u=\frac{x}{dX}+u_0 \\ v=\frac{y}{dY}+v_0 \end{cases} \tag{1}

把上式寫成齊次形式,有:

[uv1]=[1dX0u001dYv0001][xy1](2) \begin{bmatrix} u \\ v \\ 1 \end{bmatrix} = \begin{bmatrix} \frac{1}{dX} & 0 & u_0 \\ 0 & \frac{1}{dY} & v_0 \\ 0 & 0 & 1 \end{bmatrix} \begin{bmatrix} x \\ y \\ 1 \end{bmatrix} \tag{2}

公式(2)完成了圖像物理座標系圖像像素座標系的轉換。

1.2 相機座標系

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

在這裏插入圖片描述

P(Xc,Yc,Zc)P(X_c,Y_c,Zc)爲空間中任意一點,其通過投影中心的光線投影到圖像平面上,在圖像物理空間的投影點爲p(x,y)p(x,y),擴展到相機座標系下其座標爲(x,y,f)(x,y,f)。根據相似三角形原理,有:

Zcf=Xcx=Ycy{x=fXcZcy=fYcZc(3) \frac{Z_c}{f}=\frac{X_c}{x}=\frac{Y_c}{y} \Rightarrow \begin{cases} x=f\frac{X_c}{Z_c} \\ y=f\frac{Y_c}{Z_c} \end{cases} \tag{3}

轉爲齊次形式爲:

Zc[xy1]=[f0000f000010][XcYcZc1](4) Z_c \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} X_c \\ Y_c \\ Z_c \\ 1 \end{bmatrix} \tag{4}

公式(4)完成了相機座標系圖像物理座標系的轉換。

1.3 世界座標系

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

在這裏插入圖片描述

世界座標系到相機座標系的變換,實際上就是一個剛體變換,可以由旋轉矩陣RR和平移矢量tt來表示。設(Xw,Yw,Zw)T(X_w,Y_w,Z_w)^T表示世界座標系中的點,(Xc,Yc,Zc)T(X_c,Y_c,Z_c)^T表示相機座標系中的點,則它們之間的轉換可由下式表示:

[XcYcZc]=R[XwYwZw]+t(5) \begin{bmatrix} X_c \\ Y_c \\ Z_c \end{bmatrix}= R \begin{bmatrix} X_w \\ Y_w \\ Z_w \end{bmatrix} +t \tag{5}

即:

[XcYcZc1]=[R3×3t3×101×311×1][XwYwZw1](6) \begin{bmatrix} X_c \\ Y_c \\ Z_c \\ 1 \end{bmatrix}= \begin{bmatrix} R_{3\times3} & t_{3\times1}\\ 0_{1\times3} & 1_{1\times1} \end{bmatrix} \begin{bmatrix} X_w \\ Y_w \\ Z_w \\ 1 \end{bmatrix} \tag{6}

公式(6)完成了世界座標系相機座標系的轉換。

1.4 世界座標系到像素座標系

聯立上面的(2)、(4)、(6)式,可以得到世界座標系與像素座標系之間的轉換關係,有:

Zc[uv1]=[1dX0u001dYv0001][f0000f000010][Rt0T1][XwYwZw1]=M1M2[XwYwZw1]=M[XwYwZw1](7) \begin{aligned} Z_c \begin{bmatrix} u \\ v \\ 1 \end{bmatrix} &= \begin{bmatrix} \frac{1}{dX} & 0 & u_0 \\ 0 & \frac{1}{dY} & v_0 \\ 0 & 0 & 1 \end{bmatrix} \begin{bmatrix} f & 0 & 0 & 0\\ 0 & f & 0 & 0\\ 0 & 0 & 1 & 0 \end{bmatrix} \begin{bmatrix} R & t\\ 0^T & 1 \end{bmatrix} \begin{bmatrix} X_w \\ Y_w \\ Z_w \\ 1 \end{bmatrix} \\ &=M_1M_2 \begin{bmatrix} X_w \\ Y_w \\ Z_w \\ 1 \end{bmatrix} \\ &=M \begin{bmatrix} X_w \\ Y_w \\ Z_w \\ 1 \end{bmatrix} \end{aligned} \tag{7}

M1=[1dX0u001dYv0001][f0000f000010]=[fx0u000fyv000010](8) M_1= \begin{bmatrix} \frac{1}{dX} & 0 & u_0 \\ 0 & \frac{1}{dY} & v_0 \\ 0 & 0 & 1 \end{bmatrix} \begin{bmatrix} f & 0 & 0 & 0\\ 0 & f & 0 & 0\\ 0 & 0 & 1 & 0 \end{bmatrix}= \begin{bmatrix} f_x & 0 & u_0 & 0 \\ 0 & f_y & v_0 & 0 \\ 0 & 0 & 1 & 0 \end{bmatrix} \tag{8}

M2=[Rt0T1](9) M_2= \begin{bmatrix} R & t\\ 0^T & 1 \end{bmatrix} \tag{9}

其中:

  • M1M_1稱爲相機的內部參數矩陣
  • M2M_2稱爲相機的外部參數矩陣
  • MM稱爲投影矩陣
  • fxf_xfyf_y分別爲相機在x、y軸方向上的歸一化焦距,單位爲像素,具體解釋可以參考這裏
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章