返回

成像模型与内外参数

Camera Model & Parameters
第二章 / 摄像机标定
参数面板

先选世界点,再分别展开内参 K 和外参 [R,t] 调整。主视觉会自动强调最近参数影响的成像环节。

0
当前点先按外参进入摄像机坐标系,再除以深度,最后由 K 映射到像素坐标。
内参 K
52
48
0
48
36
外参 [R,t]
-8°
10°
-4°
-1.6
-1.1
12
旋转顺序约定:roll(绕 X 轴)→ pitch(绕 Y 轴)→ yaw(绕 Z 轴),合成矩阵R=Rz·Ry·Rx,采用右手坐标系。
当前像素约为 (59.89, 37.42), 深度 Zc=11.17。最近调整参数:pointHeight,主视觉会自动强调它影响的链路段。
窗口定位辅助操作
用方向键或下方 4 个按钮移动当前窗口;也可以直接点击原图或结果图跳转。
当前像素 (60, 37)21 / 48
方向
概念说明

相机成像需要哪些参数

真实相机图像中的已知几何点可用于反推相机成像参数。图源:OpenCV calibration sample
任务

当知道一个物体在真实世界中的三维坐标时,要算出它会出现在照片上的哪个像素位置,必须同时考虑相机放在哪里、朝向哪里,以及镜头和传感器如何把光线变成像素。

思路

常用的处理办法是把成像拆成几步:先用外参把世界坐标转到相机坐标,再用透视投影把三维点映射到归一化平面,最后用内参把无单位坐标转成像素坐标。焦距决定放大倍数,主点决定光轴落在图像中的位置,像素尺度负责单位换算。

观察

拖动三维点或旋转相机姿态,观察世界坐标、相机坐标、归一化平面坐标和像素坐标四列数值如何联动;尝试只改外参、只改焦距或只改主点,看看哪一段变化对应图像上的平移,哪一段对应缩放。

先明确:摄像机标定到底要解什么

单目摄像机模型包含正向投影和反向标定两个视角。正向看,已知内参 K 和外参 [R,t],可以把世界点投影到像素点 (教学简化:把图像坐标 (x,y) 到像素坐标 (u,v) 的中间步骤合并进 K 矩阵); 反向看,摄像机标定就是用许多已知点对反求 K,以及每张照片对应的 [R,t]。

sm~=K[R,t]X~w
方向键移动角点 / 下拉菜单切换观察点投影像素 (60, 37)
21 / 48
成像模型的三维关系
当前世界点 21 / 深度 Zc=11.17 / 投影像素 (59.89, 37.42)
高亮深度:Zc 改变透视缩放关系拖动旋转滚轮缩放
蓝框:成像平面
绿框:视场落在棋盘平面
红点:棋盘世界点
绿点:图像投影点
1. 外参:回答摄像机与世界的相对姿态

第一步是刚体变换:Xc=RXw+t。它说明当前世界点在这台摄像机坐标系下的位置,这一段就是的作用范围。

世界点:第 3 行、第 5 列角点
Xc=(2.55, 0.33, 11.17)
2. 透视投影:除以深度

针孔模型的关键动作是x=Xc/Zc,y=Yc/Zc。这一步把点落到上,也解释了“远处物体成像更小”。

当前深度 Zc=11.17
(x,y)=(0.229, 0.030)
3. 内参:回答落在图像数组哪个像素

矩阵把归一化坐标变成图像数组中的u,v。其中由 u0、v0 表示。

u=59.89, v=37.42
K 的 5 个自由参数:α、β、γ、u0、v0
正向模型与反向标定

先按成像顺序理解正向模型,再用棋盘角点的世界坐标和图像坐标反求公式中的 K 与每张图的 [R,t]。

正向成像
sm~=K[R,t]X~w
已知参数时,世界点可以投影到像素点。
刚体变换
Xc=RXw+t
[R,t] 是每张照片对应的外参。
内参矩阵 K
[52.00.048.0048.036.0001]
K 是同一台摄像机通常保持不变的内部参数。
当前点如何代入公式
外参变换后
[2.550.3311.17]
该结果是以摄像机光心为原点的三维坐标。
透视除法
x=2.5511.17=0.229,y=0.3311.17=0.030
归一化坐标尚未转换为像素单位。
内参映射
u=αx+γy+u0=59.89,v=βy+v0=37.42
这一步得到图像数组中的像素坐标。
当前参数正在改变归一化平面上的位置

世界点高度 Zw 会先经旋转矩阵 R 同时影响 Xc、Yc、Zc 三个分量,再经平移 t 得到最终摄像机坐标,最后通过透视除法改变归一化平面坐标。

当前观察链路
x=Xc/Zc,y=Yc/Zc
最近调整参数:pointHeight
内参与外参的边界
内参 K

α、β、γ、u0、v0 描述摄像机成像几何和像素坐标系。K 把图像坐标 (x,y) 映射到像素坐标 (u,v), 其中 α=f/dx、β=f/dy 同时体现了焦距与像素物理尺寸。换一个拍摄角度,它们通常不变。

外参 [R,t]

R、t 描述当前这一张照片中,摄像机和世界坐标系之间的相对姿态。换一张标定图,它们会变。

深度为什么影响成像大小

保持 Xc 不变时,Zc 越大,x=Xc/Zc越接近 0,投影点越靠近主点。

2.558.67=0.295,2.5513.67=0.187
这也是透视投影和正交投影最直观的差别。
为什么需要标定板

投影方程中的未知量需要由观测数据来约束:必须获得许多组已知的Xw和检测到的m,才能反求 K 和每张图的 [R,t]。

典型标定结果数值示例

以下为一组常见量级的内参与某张标定图的外参,仅用于建立数值直觉。

内参 K(像素单位)
[86003200840240001]
α=f/dx、β=f/dy;u0、v0 为主点;γ 在理想相机中常为 0。
外参 [R,t](某张标定图)
[0.990.05-0.12-1.5-0.040.990.10-0.80.13-0.090.9912.0]
R 为世界坐标系到摄像机坐标系的旋转;t 为平移。