(幾何)相機標定_針孔成像_相機內外部參數_齊次座標
(幾何)相機標定(校正)/(Geometric) Camera calibration
是用來求初將三維世界投影成二維影像所需要的各種參數,這些參數也就是攝影機參數。
也可理解為從世界座標系換到二維影像座標系的過程,也就是求出最終投影矩陣的過程,用於估計成像過程的數學參數。
小(針)孔成像(Pinhole)
在進入到相機標定前,需要先掌握針孔成像的基本原理。
以下是一張圖,從右側去看是一個世界坐標系中的一棟房子,左側是一個成像的螢幕。
如何在成像螢幕上去呈現出清晰完整的房子影像呢?
摘自youtube影片截圖-Pinhole and Perspective Projection | Image Formation
最簡單方法是透過針孔,開一個小孔的薄板。
以前國中時候學過的自然科學實驗,會拿蠟燭發光的光線通過針孔後,投影在後方紙屏上,蠟燭燭光在照射到後面紙屏之前,在中間額外再放一個隔板一個小孔,可觀察到上下顛倒左右相反的實像。
如果目標成像紙屏往後移動遠離中間隔板,則會發現針孔成像會放大,影像相對變比較暗。
\[
\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)的表示方式
於影像處裡、電腦圖學中,幾何轉換根據是否可線性轉換的特性
細分以下這兩大類
- 線性轉換(旋轉、縮放):可以用矩陣乘法來表示
- 非線性轉換(位移、透視投影):無法用矩陣乘法表示
這樣會造成程式撰寫設計上,會有兩種表達方式,不利於後續技術發展。後來才衍生出齊次座標系統的表示方式,能夠統一將線性、非線性轉換統一都用線性轉換的矩陣乘法來表示。
三維齊次座標(Cartesian homogeneous coordinate)
我們常見的以下這兩個坐標系
- 世界座標系統(World Coordinate System,WCS)
- 相機座標系統(Camera Coordinate System,CCS)
都是採用右手座標系統(Right-handed Coordinate System),把大拇指做為正 x 軸、食指為正 y 軸而中指為正 z 軸(朝自己)表示。如下方圖的右上區塊
https://til.jakelazaroff.com/math/convert-between-3d-coordinate-systems/
https://medium.com/@maximilianhuang/2018-02-08-acc64d5d5982
https://medium.com/@maximilianhuang/2018-02-08-acc64d5d5982
張正友標定法(張氏標定法)/Zhang's calibration method
是張正友博士於1999年發表在IEEE上此篇論文
Flexible camera calibration by viewing a plane from unknown orientations
Ref:
3 4 1 示範探索 觀察針孔成像
針孔成像
相机的内参矩阵、外参矩阵、相机矩阵
Pinhole Camera Model 針孔相機模型(這篇很推十分詳細)
What Is Camera Calibration?
中央大學在職專班-20140609_虛擬實境_part2
中央大學在職專班-20140609_虛擬實境_part3
相机座标系与世界座标系转换-Part1
相機座標系與世界座標系轉換 Part2
Camera Calibration 相機校正
Pinhole and Perspective Projection | Image Formation
相机模型都没弄懂,怎么搞机器人视觉算法?
啥是相机标定?内参外参又是个啥?
相机模型(小孔成像原理)/针孔相机模型推导
相机位姿估计入门
Flexible camera calibration by viewing a plane from unknown orientations
计算机视觉(本科) 北京邮电大学 鲁鹏 清晰完整合集
11.三维重建-摄像机模型
12.摄像机标定&三维重建基础&极几何
教材
留言
張貼留言