相機模型與座標系

個人筆記梳理。

座標系

世界座標系

一個相機是在3D空間中,如果我們想描述這個相機或者物品在空間中的位置,那麼就是使用這個座標系來描述相機的位置。(Xw,Yw,Zw)(X_w,Y_w,Z_w)

相機座標系

顧名思義,就是以相機爲原點建立一個座標系。(X,Y,Z)(X, Y, Z).
在這裏插入圖片描述

圖像座標系

圖中以圖像中心爲原點建立的座標系就是圖像座標系。
在這裏插入圖片描述

像素座標系

圖中以圖像左上角爲原點建立的座標系就是像素座標系。
在這裏插入圖片描述

座標變換

一般來說對應的轉換關係包括
相機座標系圖像座標系像素座標系

相機座標系到圖像座標系

投影相機的一個特殊情況(理想模型)是透視(或中心)投影,當我們變換矩陣按焦距進行如下縮放時,就對應了我們熟悉的針孔相機:

已知相機座標系是(X,Y,Z)(X,Y,Z) 圖像座標系是(x,y)(x,y)
設置 ff爲焦距(圖像平面與相機座標系原點的距離)

Z[xy1]=[f0000f000010][XYZ1] Z \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 \\ Y \\ Z \\ 1 \end{bmatrix}
所以
x=fXZx = \frac{fX}{Z}
y=fYZy = \frac{fY}{Z}
在這裏插入圖片描述
這是如何來的呢?
首先說可以簡單把焦距理解爲相機到圖像空間的距離:
在這裏插入圖片描述
因此,對於下圖中,OO即代表了相機位置爲,ff即爲焦距,BB處是圖像空間,PP處是真實的物體,PP' 是該物體經過相機對應在圖像空間的點,ZZ是相機原點到物體的垂直距離。

在這裏插入圖片描述
因此有:
在這裏插入圖片描述
變換後得到:(注意這裏的x,yx,y就是上圖的X,YX',Y'
x=fXZx = \frac{fX}{Z}
y=fYZy = \frac{fY}{Z}

圖像座標系到像素座標系

對於圖像座標系(x,y)和像素座標系(u,v)
u=xdx+u0u=ydy+v0(1) \begin{matrix} u = \frac{x}{dx}+u_0\\ \\ u = \frac{y}{dy}+v_0\\ \end{matrix} \tag{1}
此公式可以寫到其次座標系下:
[uv1]=[1dx0u001dyv0001][xy1] \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}
(u0, v0)是圖像座標系原點在像素座標系中的座標,dx 和 dy相當於縮放因子,是每個像素在圖像平面x和y方向上的尺寸比例。

綜合上述:可以得到像素座標系相機座標系的關係。(注意這裏的X,YX',Y'就是圖像座標。)
在這裏插入圖片描述
其次座標系表達爲:
在這裏插入圖片描述

世界座標系到相機座標系

給定一個物體或者說一個座標。我們知道,在世界座標系下他對應了一個座標,但是他在相機座標系下也對應了一個座標。下面的公式將這兩者統一。

這裏下標爲c的就是相機座標,下標爲w的就是世界座標,其中RR3×33 \times 3的旋轉矩陣,tt是三維的平移向量。
在這裏插入圖片描述這個R,tR,t 是相機的外部參數,一般用TT表示。

綜合上述,世界座標系像素座標系之間的關係爲:
在這裏插入圖片描述

小結

綜合上述:可以得到像素座標系相機座標系的關係。(注意這裏的X,YX',Y'就是圖像座標。)
在這裏插入圖片描述
其次座標系表達爲:
在這裏插入圖片描述
影響投影結果的參數可以分爲內外兩類:內部/外部參數(intrinsic and/or extrinsic parameters)。內部參數指相機的內生特性,比如焦距、傾斜度、失真、畫布中心等。外部參數指相機旋轉矩陣、平移向量等。

回顧我們之前的公式:
x=fXZx = \frac{fX}{Z}
y=fYZy = \frac{fY}{Z}
這意味着我們在進行從相機座標到圖像座標進行變換的時候我們是對每個點的深度Z進行放縮,投影到圖像上。

但是在實際的應用中,最常見的假設其弱透視相機(weak perspective camera)。
在弱透視相機(weak perspective camera)中,從相機座標到圖像座標進行變換時:
在這裏插入圖片描述
我們使用的是一個平均深度ZaveZ_{ave}。使用一個constant深度ZaveZ_{ave}去代替了每個點的深度ZiZ_i ,從而使得分析變得簡單。但是要滿足弱透視的要求,需要滿足幾個假設:

  • 沿着光軸上的,物體的深度的平均差別ΔZ\Delta Z,需要遠遠小於ZaveZ_{ave}
  • 視角場(filed of view)(也就是觀察某個物體點的夾角, XZave,YZave\frac{X}{Z_{ave}}, \frac{Y}{Z_{ave}})必須足夠小。

這樣假設的好處是:
在這裏插入圖片描述

補充

上述爲基本的相機模型,但是實際中會有畸變問題,可以進一步參考:
https://blog.csdn.net/lsh_2013/article/details/47615309

Camera system的內容,pls refer to:
https://blog.csdn.net/loseinvain/article/details/102883243 寫的非常好。

Ref

  • https://blog.csdn.net/lsh_2013/article/details/47615309
  • https://zhuanlan.zhihu.com/p/47994715
  • https://zhuanlan.zhihu.com/p/67662499
  • https://blog.csdn.net/loseinvain/article/details/102883243
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章