雙目視覺理論篇

相機模型與四種參考座標系

上圖中右下角的黑點是真實世界的一個點,最左邊的灰色部分是一張數字照片,稱爲像平面,單位爲毫米(mm)。青色的格子則是像平面中一個一個的像素。我們現在需要知道的是黑色的點是如何變成像平面中的一個像素。中間的灰色部分是相機的透鏡,而該部分中心點稱爲光心。真實世界的黑點會經過各種模型(線性或非線性的),通過光心在像平面中得到一個像素點。

像素座標系

我們會在像平面中建立一個直角座標系,稱爲像素座標系。

整個像平面是一個高*寬(H*W)的數組,圖像的左上角定義爲原點\(O_p\),橫軸爲U,縱軸爲V,該座標系中的一點P(u,v)代表第u列,第v行的一個像素。但是這裏會有一個問題,那就是像素座標系是以像素爲單位的,而圖像座標系是以mm爲單位的,它們之間存在一個轉換關係。

上圖中\(O_p\)是像素座標系的原點,\(O_I(u_0,v_0)\)是圖像座標系的原點,它是像素座標系的中點,但有時候也會發生一些偏離,不完全在中點上,它的單位既爲mm。當我們有了P(x,y)在圖像座標系上的座標以後就可以得到像素座標系的座標,轉換關係如下

  1. \(u={x\over dx}+u_0\)
  2. \(v={y\over dy}+v_0\)

上式中x、y是P點在圖像座標系中的座標,單位爲mm,dx、dy是一個像素的寬度和高度,單位也爲mm,\(u_0、v_0\)是圖像座標系原點在像素座標系中的座標,單位是像素。上式用矩陣運算的形式來表達爲

左邊的部分是P點在像素座標系中的座標,最右邊的部分是P點在圖像座標系中的座標,中間的矩陣則爲圖像座標系座標變換爲像素座標系座標的變換矩陣。

相機座標系

上圖中的藍色塊爲像平面的座標系,\(O_c\)相機座標系的原點,\(Y_c\)是縱軸,\(X_c\)是橫軸,\(Z_c\)是深度軸,也就是說相機座標系是一個空間三維座標系\(P(x_c,y_c,z_c)\)是真實世界的一個點在相機座標系中的座標,
\(PO_c\)與像平面相交於P',A是P點在\(X_cZ_c\)平面上的投影,其座標即爲\(A(x_c,0,z_c)\)\(AO_c\)與像平面相交於B,P'B=y,那麼很明顯

\(△PO_cA∽△P'O_cB\)  (三角形\(PO_cA\)與三角形\(P'O_cB\)相似) => \({y_c\over y}={PO_c\over P'O_c}={AO_c\over BO_c}\)

C是P點在\(Y_cZ_c\)平面上的投影,其座標即爲\(C(0,y_c,z_c)\)\(CO_c\)與像平面相交於E,P'E=x,那麼很明顯

\(△PO_cC∽△P'O_cE\) => \({x_c\over x}={PO_c\over P'O_c}={CO_c\over EO_c}\)

D是P點在\(Z_c\)軸上的投影,其座標即爲\(D(0,0,z_c)\)\(DO_c\)與像平面相交於像平面座標系原點\(O_I\)\(O_cO_I=f\)\(EO_I=y\),這個f我們稱爲焦距,那麼很明顯

\(△DO_cC∽△O_IO_cE\) => \({z_c\over f}={y_c\over y}={CO_c\over EO_c}\)

由以上的關係,我們可以得到

  1. \({x_c\over x}={z_c\over f}\) => \(x={fx_c\over z_c}\)
  2. \({y_c\over y}={z_c\over f}\) => \(y={fy_c\over z_c}\)

這裏的x,y就是P點在像平面的圖像座標系中成像的座標。用矩陣乘法來表示就爲

左邊的x,y就是P點在像平面成像的圖像座標系中的座標,單位爲mm,最右邊的\(X_c、Y_c、Z_c\)就是P點在相機座標系中的座標。再轉爲像素座標系就有

就得到最終像素座標系中的座標(u,v)。當然也可以簡化爲

世界座標系

爲了知道相機在三維空間中的座標,因此我們還需要引入一個世界座標系,相機座標系到世界座標系的變換可以看作是剛體變換,由旋轉和平移決定。對於旋轉因子,我們可以將剛體在三維空間的三維旋轉看作是三個方向上的二維旋轉:(有關三維旋轉的內容可以參考機械臂運動學整理 中的旋轉矩陣與轉角)

上式中的第一個式子表示相機座標系圍繞相機座標系的自己的Z軸逆時針進行旋轉了θ角得到了P點在新的相機座標系中的座標\((X_W,Y_W,Z_W)\);第二個式子表示相機座標系圍繞相機座標系的自己的Y軸逆時針進行旋轉了φ角得到了P點在新的相機座標系中的座標\((X_W,Y_W,Z_W)\);第三個式子表示相機座標系圍繞相機座標系的自己的X軸逆時針進行旋轉了β角得到了P點在新的相機座標系中的座標\((X_W,Y_W,Z_W)\)。其中\(R_1、R_2、R_3\)分別是這三種旋轉的旋轉矩陣。

第四個式子表示(這裏的\(R_c\)有問題,改爲\(R_c=R_1R_2R_3\))依次圍繞X、Y、Z軸旋轉β、φ、θ角後得到最終的P點在新的相機座標系中的座標\((X_W,Y_W,Z_W)\)

以上是旋轉的部分,那麼對於平移因子,我們可以把剛體在三維空間的三維平移分解到三個方向上的一維向量平移:

上面的式子中,\(t_0\)爲相機座標系沿着相機座標系自己的X軸移動的距離; \(t_1\)爲相機座標系沿着相機座標系自己的Y軸移動的距離; \(t_2\)爲相機座標系沿着相機座標系自己的Z軸移動的距離。最後一個式子就是該變換的矩陣運算表示。

整合旋轉與平移就有

其中\(R_c\)是3*3的旋轉矩陣,T是3*1的平移向量。最後可以得出從世界座標系到像素座標系的變換

其中\(f_x、f_y\)爲X和Y方向的座標尺度因子,爲焦距f與dx、dy的比值,即爲\(f_x={f\over dx}\)\(f_y={f\over dy}\)

的結合矩陣稱爲投影矩陣,又叫M矩陣。\(M_1\)矩陣,又叫內參矩陣,由相機出廠確定\(M_2\)矩陣,又叫外參矩陣,由相機相對於世界座標系的方位決定。我們確定M矩陣的過程稱爲攝像機的標定

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章