(幾何)相機標定_針孔成像_相機內外部參數_張正友標定法

 
(幾何)相機標定(校正)/(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\) 成反比,也是透視投影機處方程式。










張正友標定法(張氏標定法)/Zhang's calibration method
是張正友博士於1999年發表在IEEE上此篇論文
Flexible camera calibration by viewing a plane from unknown orientations















Ref:
3 4 1 示範探索 觀察針孔成像
針孔成像
相机的内参矩阵、外参矩阵、相机矩阵
Pinhole Camera Model 針孔相機模型(這篇很推十分詳細)
相机模型都没弄懂,怎么搞机器人视觉算法?
啥是相机标定?内参外参又是个啥?
相机模型(小孔成像原理)/针孔相机模型推导
相机位姿估计入门


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


留言

這個網誌中的熱門文章

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

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