相機模型與標定
內外參定義
相機中有四個座標系,分別是{world}
、{camera}
、{image}
、{pixel}
{world}
:世界座標系,可以任意指定xw和yw軸{camera}
:相機座標系,原點位於小孔,z軸與光軸重合,xc軸和yc軸平行投影面{image}
:圖像座標系,原點位於光軸和投影面的交點,xp軸和yp軸平行投影面{pixel}
:像素座標系,從小孔向投影面方向看,投影面的左上角爲原點Opix,uv軸和投影面兩邊重合
關係
-
從
{world}
到{camera}
- 設某點在
{world}
中的座標Pw=(xw, yw, zw)T,在{camera}
中的座標爲Pc=(xc, yc, zc)T,則:
- R爲正交旋轉矩陣
- T爲平移矩陣
- R爲正交旋轉矩陣
- 設某點在
-
從
{camera}
到{image}
- 設空間點Xc在
{camera}
下:Pc=(xc, yc, zc)T,其像點m在{image}
的齊次座標爲m=(xp, yp, 1)T。由圖中相似三角形可得:
寫成矩陣表示:
- 實際中,主點可能不在圖像座標系原點,若主點在圖像座標系中的座標爲P=(x0, y0, 1)T,則
- 設空間點Xc在
-
從
{image}
到{pixel}
- 假設一個像素的長和寬分爲爲dx,dy,設像素座標Pix=(u, v, 1)T,則
- 結合
{camera}
到{image}
的變換,則{camera}
到{pixel}
的變換矩陣K爲:
其中,fx=f/dx,fy=f/dy,稱爲相機在u軸和v軸方向上的尺度因子。相機主點爲:(u0, v0)T=(u0/dx, v0/dy)T
- 假設一個像素的長和寬分爲爲dx,dy,設像素座標Pix=(u, v, 1)T,則
-
從
{world}
到{pixel}
- 四個座標系的變換過程:
- 矩形表示爲:
- 其中K爲內參
- 外參:
- 四個座標系的變換過程:
標定方法概述
- 打印一張棋盤格A4紙張(黑白間距已知),並貼在一個平板上
- 針對棋盤格拍攝若干張圖片(一般10~20張)
- 在圖片中檢測特徵點(Harris特徵)
- 利用解析解估算方法計算出5個內部參數,以及6個外部參數
- 根據極大似然估計策略,設計優化目標並實現參數的
refinement
標定板介紹
例:
標定方法
計算外參
設三維世界座標點爲M=[X, Y, Z, 1]T,二維相機平面像素座標爲m=[u, v, 1]T,所以標定用的棋盤格平面到圖像平面的單應性關係爲sm=A[R, t]M,其中
s
:世界座標系到圖像座標系的尺度因子A
:相機內參矩陣- (u0, v0):像主點座標
- α,β:焦距與像素橫縱比的融合
- γ(gamma):徑向畸變參數
- R:旋轉矩陣
- t:平移向量
不妨設棋盤格位於Z=0,定義旋轉矩陣R的第i列爲ri,則有:
令H=[h1, h2, h3]=λ[r1, r2, t],於是空間到圖像的映射可改爲:sm=HM,其中H是描述Homographic矩陣,H是一個齊次矩陣,所以有8個未知數,至少需要8個方程,每對對應點能提供兩個方程,所以至少需要四個對應點,就可以算出世界平面到圖像平面的單應性矩陣H。
外部參數可通過Homography求解,由H=[h1, h2, h3]=λ[r1, r2, t]可推出
計算內參
由r1和r2正交,且r1和r2的模相等,可以的得到如下約束:
則B中未知量可表示爲6D 向量b,b=[B11 B12 B22 B13 B23 B33]T
設H中的第i列爲hi,則hi=[hi1 hi2 hi3]T,根據b的定義,可以推導出如下公式
即
內部參數可通過如下公式計算(cholesky分解):
上述的推導結果是基於理想情況下的解,但由於可能存在高斯噪聲,可以使用最大似然估計進行優化。