(幾何)相機標定_投影轉換_針孔成像_相機內外部參數_齊次座標(homogeneous)

 
(幾何)相機標定(校正)/(Geometric) Camera calibration
是用來求初將三維世界投影成二維影像所需要的各種參數,這些參數也就是攝影機參數。
也可理解為從世界座標系換到二維影像座標系的過程,也就是求出最終投影矩陣的過程,用於估計成像過程的數學參數。

小(針)孔成像(Pinhole)

在進入到相機標定前,需要先掌握針孔成像的基本原理。
以下是一張圖,從右側去看是一個世界坐標系中的一棟房子,左側是一個成像的螢幕。
如何在成像螢幕上去呈現出清晰完整的房子影像呢?

最簡單方法是透過針孔,開一個小孔的薄板。
摘自 https://kknews.cc/zh-mo/other/mlkmga2.html

以前國中時候學過的自然科學實驗,會拿蠟燭發光的光線通過針孔後,投影在後方紙屏上,蠟燭燭光在照射到後面紙屏之前,在中間額外再放一個隔板一個小孔,可觀察到上下顛倒左右相反的實像。
如果目標成像紙屏往後移動遠離中間隔板,則會發現針孔成像會放大,影像相對變比較暗。
如果目標成像紙屏往前移動靠近中間隔板,則會發現針孔成像會縮小,影像相對變比較亮。

此外還滿足以下比例關係

\[ \frac{\text{物長}}{\text{像長}} = \frac{\text{物距}}{\text{像距}} \]


回過頭去看Perspective Imaging with Pinhole 的圖繼續去探討,中間虛線是光軸也就是垂直於影像平面的軸,在空間座標戲中建構三維xyz軸座標。而針孔到影像平面的距離就是有效焦距 f。

真實的三維空間以房子頂部的一個點 \(P_o\),它在「相機座標系」中的三維座標寫成:
\[ \mathbf r_o=(x_o,y_o,z_o) \]

其中 \(x_o\) 是左右位置、\(y_o\) 是上下位置、\(z_o\) 是物體離相機沿光軸方向的深度。

光線從物體點 \(P_o\) 出發,經過 Pinhole,最後與左邊的成像平面相交,得到影像點 \(P_i\)。
因此:
\[ P_o \rightarrow \text{Pinhole} \rightarrow P_i \]

這就是「3D 世界中的一個點,怎麼投影成 2D 影像中的一個點」。

圖中的 \(f\) 是 Effective Focal Length,有效焦距,代表 Pinhole 到 Image Plane 的距離。

影像點寫成:

\[ \mathbf r_i=(x_i,y_i,f) \]

因為所有影像點都位於固定的成像平面上,所以它的深度座標固定為 \(f\)。

利用 相似三角形定理:

\[ \frac{\mathbf r_i}{f} = \frac{\mathbf r_o}{z_o} \]

分別拆成 \(x\)、\(y\) 方向,就得到:

\[ \frac{x_i}{f} = \frac{x_o}{z_o} \]

以及:

\[ \frac{y_i}{f} = \frac{y_o}{z_o} \]

移項之後就是針孔相機最核心的透視投影公式:

\[ \boxed{ x_i=f\frac{x_o}{z_o} } \]\[ \boxed{ y_i=f\frac{y_o}{z_o} } \]

它有一個非常重要的實際涵義:影像大小與深度 \(z_o\) 成反比,也是透視投影機處方程式。

從相機坐標系轉換到圖像坐標系,屬於透視投影關係。



齊次座標系統(homogeneous coordinate system)的表示方式
齊次座標其實有一個矩陣運算上比較直觀的改變理解,也就是升維多一個1。

於影像處裡、電腦圖學中,幾何轉換根據是否可線性轉換的特性
細分以下這兩大類
  • 線性轉換(旋轉、縮放):可以用矩陣乘法來表示
  • 非線性轉換(位移、透視投影):無法用矩陣乘法表示
這樣會造成程式撰寫設計上,會有兩種表達方式,不利於後續技術發展。後來才衍生出齊次座標系統的表示方式,能夠統一將線性、非線性轉換統一都用線性轉換的矩陣乘法來表示。


三維齊次座標(Cartesian homogeneous coordinate)

摘自 20140609_虛擬實境_part2

常見的三個座標系
  • 世界座標系統(World Coordinate System,WCS),又可稱作真實座標系統,也就是於真實環境中選擇一個參考座標系統來描述物體跟相機的位置,可白話理解攝影機跟物體之間測距時候,會需要一個位置關係。
  • 相機座標系統(Camera Coordinate System,CCS):是以相機的光心為座標原點,Z軸與光軸重合,與成像平面垂直。x軸與y軸分別與影像座標軸系的x軸、y軸平行的坐標系。
  • 影像座標系統:單位為像素,是建構在影像中的平面直角坐標系。用於表示各像素在成像平面上的位置,原點位於影像左上角。
都是採用右手座標系統(Right-handed Coordinate System),把大拇指做為正 x 軸、食指為正 y 軸而中指為正 z 軸(朝自己)表示。如下方圖的右上區塊




投影轉換
摘自 20140609_虛擬實境_part2

不管是位置轉換或座標轉換都是描述世界座標轉到相機座標的關係。
而相機座標轉換到影像座標系統則是透視投影轉換。

世界座標轉換到相機座標系統(相機外部參數)
  • 世界座標轉換到相機座標系統,基本上透過旋轉矩陣R (3x3)跟平移向量t (3x1),可實踐世界座標點到相機座標中的映射。
  • 世界座標系與相機座標系之間轉換關係的矩陣(含R、t)也就是就是相機外部參數。
摘自 Multiple View Geometry Tutorials CVPR 1999 Part 1 pdf 
當已知相機座標系中某一個相對於世界座標系的旋轉矩陣跟平移向量,則它們彼此轉換關係可用上面數學式子去表示。


相機座標轉換到影(圖)像座標系統

如下圖,成像平面(中間灰色的)所在的平面座標系,就是圖像物理座標系。
假設空間中任一點比方在這邊是X,而投影到成像平面後寫成u。

空間中任意一點 \(\mathbf{X}\) 在影像平面上的投影點 \(\mathbf{u}\),為相機光心 \(O\) 與空間點 \(\mathbf{X}\) 的連線和成像平面的交點。由透視投影關係可知:
\[ x=\frac{fX}{Z},\qquad y=\frac{fY}{Z} \]

 式中,\(\mathbf{X}=(X,Y,Z)\) 為空間點在相機座標系下的三維座標,\(\mathbf{u}=(x,y)\) 為其對應的影像物理座標,\(f\) 為相機焦距,\(Z\) 為空間點沿相機光軸方向的深度。

根據上述透視投影關係,可將相機座標系至影像物理座標系的轉換表示為




影(圖)像座標轉換跟像素座標系統之間轉換
下圖展示的就是圖像像素座標系跟物理座標系之間對應關係。


  • 像素座標系可以從上圖去看,是uov(u->o->v)一個二維直角座標系,反映相機CCD/CMOS晶片中像素排列狀況。
  • 其中原點O位於左上角,u軸、v軸分別於成像平面的兩邊平行。
  • 像素座標系一律水平垂直的間隔,都是整數。
  • 由於像素座標系不利於座標變換,因此須建立圖像座標系xoy(x->o->y)。
  • 圖像座標系座標軸單位通常為毫米(mm),原點是相機光軸與相面的交點,即圖像中心點。
  • x軸、y軸分別與u軸、v軸平行,故兩個座標系可視為平移的關係。
  • 上述兩座標系之間轉換關係可用以下數學式表達

其中,dX跟dY分別代表像素在X、Y軸方向上實際尺寸,u0,v0為影像原點座標。
由於相機傳感器在水平、垂直方向上像素尺寸可能不同,因此需要分別進行尺度轉換。
可以把上面式子用齊次座標矩陣形式來表達







Ref:
Multiple View Geometry in Computer Vision Cambridge University Press
Richard Hartley & Andrew Zisserman
Multiple View Geometry Tutorials
Multiple View Geometry Tutorials CVPR 1999 Part 1 pdf (經典世界座標轉換相機座標圖文參考)

CVFX Lecture 17: Image formation and single-camera calibration (國外課程有手寫推導)
ECSE-6969 Computer Vision for Visual Effects

三维重建第三课:相机标定原理步骤(一)坐标系变换 (很推薦講解十分容易入門)
三维重建第四课:相机标定原理步骤(二)世界坐标系到相机坐标系与畸变 
(很推薦講解十分容易入門)

55-相机标定4-DLT,张正友标定法,Halcon标定算子

3 4 1 示範探索 觀察針孔成像
針孔成像
相机的内参矩阵、外参矩阵、相机矩阵
Pinhole Camera Model 針孔相機模型(這篇很推十分詳細)
What Is Camera Calibration?
中央大學在職專班-20140609_虛擬實境_part2
相机座标系与世界座标系转换-Part1
相機座標系與世界座標系轉換 Part2
Camera Calibration 相機校正
Pinhole and Perspective Projection | Image Formation
相机模型都没弄懂,怎么搞机器人视觉算法?
啥是相机标定?内参外参又是个啥?
相机模型(小孔成像原理)/针孔相机模型推导
相机位姿估计入门


计算机视觉(本科) 北京邮电大学 鲁鹏 清晰完整合集
11.三维重建-摄像机模型
12.摄像机标定&三维重建基础&极几何
教材
2-3齐次坐标变换

留言

這個網誌中的熱門文章

何謂淨重(Net Weight)、皮重(Tare Weight)與毛重(Gross Weight)

外貿Payment Term 付款條件(方式)常見的英文縮寫與定義