相机的镜头将三维世界中的物体反射或自身发出的光线汇聚到相机的感光芯片上;感光芯片将汇聚的环境光转换成数字信号,即像素,从而形成图像,即曝光。简单说:相机将三维世界中的 3D 坐标点经过映射到二维成像平面,这个几何映射的过程称之为“相机模型”。
相机又因为视场角(Field Of Vision)的大小(即不同的镜头可以汇聚的环境光不一样)可分为:普通相机(FOV 小于 90 度);广角相机(FOV 大于 90 度,小于 180 度);全向相机(FOV 大于 180 度)。
不同大小的视场角的相机的成像模型不同,接下来选择具有代表性的两个相机模型(针孔相机模型和全向模型)进行简单介绍和推导。
1 相机模型
1.1 针孔相机模型
针孔相机模型(也称为 rectilinear projection model,即直线投影模型)。

图 1 针孔相机模型(视觉 SLAM 十四讲)
x-o-y 是相机坐标系,x’-o’-y’ 是成像坐标系。3D 点 P 的坐标为 ,对应成像平面的 2D 点坐标为 ;且从相机光心到物理成像平面的距离称为焦距,记为 。根据相似三角形的边比关系,有: 。负号表示成像倒立,进行翻转: ,则 (1)。
ATTENTION:成像平面并不是像素平面。像素坐标系的原点在图像的左上角,所以像素坐标系 和成像坐标系 之间存在一个缩放和一个原点的平移。 (2)。将式(1)带入式(2): (3),其中 , 。式(3)中 单位是米, , 单位是像素每米,所以 , 的单位为像素。将式(3)用矩阵形式表示:
。矩阵 称为相机内参矩阵。
1.2 全向模型
广角相机采用的镜片(mirror)通常为凸透镜,所以感光传感器上汇聚的环境光会发生折射导致坐标点会有变化,如图 2 所示,因为特殊 mirror 发生的坐标值变化,所以将凸透镜片称为 mirror 系。因为有 mirror 系的存在,所以广角相机模型比普通相机模型多一个参数 。

图 2 相关坐标系示意图

成像示意图 [2]
是世界坐标系的 3D 点坐标值。
一、将 mirror 系下的世界坐标点投影到归一化球面: 。
二、将投影点的坐标变换到一个新坐标系下表示,新坐标系的原点位于 , 。
三、投影到归一化平面: 。
四、乘上相机模型 投影到像素坐标系上: 。其中 , 是焦距, 是像素坐标系原点, 是坐标系倾斜角度, 是坐标系的纵横比。
全向相机参数 和 的关系如图 4:

图 4
同时,可以推导:
可得:
注意,当 时,全向模型就是针孔相机模型。
1.3 Unified Projection Model/MEI Model
SLAM 中还经常见到Unified Projection Model 或者 MEI Model 相机模型,实质上就是全向相机模型 +radtan 畸变模型(见 2)。又因为全向相机模型的特殊情况( )就是针孔相机模型,所以 Unified Projection Model 或者 MEI Model 可以采用鱼眼相机也可以使用非鱼眼相机。
2 畸变模型
2.1 径向畸变和切向畸变(radial-tangential distortion)
径向畸变和切向畸变模型,简称为radtan 畸变模型。
为了获得更好的成像效果,会在相机前加入透镜。透镜会影响光线的传播,由透镜形状引其的畸变称为径向畸变。径向畸变可分为桶形畸变和枕形畸变。

图 5 径向畸变
在相机组装过程中,由于不能使得透镜和成像平面完全平行,会引入切向畸变。

图 5 径向畸变和切向畸变示意图
至此径向畸变和切向畸变的基本概念讨论完毕。那么如何消除径向、切向畸变呢?
对于径向畸变,离中心的距离越远畸变越严重。可以用一个多项式函数描述畸变前后坐标值的变化:
,
其中 是未矫正的点坐标; 是矫正后的点坐标。注意:都是相机归一化平面上的点。
切向畸变用另外的两个参数进行矫正:
综上,对相机归一化平面的点同时进行径向畸变和切向畸变矫正:
。
2.2 FOV 畸变
鱼眼相机模型是一种用于宽视场相机的相机模型。因为当视场接近 180 度时,针孔透视相机模型不能建模图像投影,鱼眼相机排上用场。
,
其中 , , 是视场失真系数。
2.3 鱼眼畸变
鱼眼相机模型大致分为:等距投影模型、等立体角投影模型、正交投影模型和体视投影模型四种。

图 6 鱼眼相机成像示意图 [3]
等距投影模型:

图 8 等距投影模型 [3]
等立体角投影模型:

图 9 等立体角投影 [3]
正交投影模型:

图 10 正交投影模型 [3]
体视投影模型:

图 11 体视投影模型 [3]
其中使用最多得是等距投影(Equidistant)模型,我在代码看见这种畸变模型简称 KB。给出 Equidistant(KB)畸变模型:
其中:
。
3 注意
相机畸变矫正是在相机坐标系归一化之后,投影到像素坐标之前。
参考
[1]《视觉 SLAM 十四讲》 [2] A Generic Camera Model and Calibration Method for Conventional, Wide-Angle, and Fish-Eye Lenses [3] 【图像处理】鱼眼相机的成像及畸变校正模型研究_小黑先森的博客-CSDN博客