通过相机拍摄图像可以将3D世界投影到2D图像当中,因此,我们可以把相机模型看作是一个3D空间到2D空间的映射。下面我们介绍最简单的相机模型——小孔成像模型,也是针对普通数字相机最为广泛应用的一种相机模型。
假设相机的投影中心位于一个欧式坐标系的原点,相机面向z轴正方向,并且成像平面(或者说焦平面)在当前坐标系下的表达为。那么,在小孔成像模型的作用下下,如图1所示,3D空间中的一个点会被投影为成像平面上的一个2D点,也即连接相机投影中心和3D点的直线与成像平面的交点。通过相似三角形,我们可以很容易的看出3D点被投影成为成像平面上的。暂时先不考虑最终的图像坐标,我们可以看出
将3D点从三维的欧式空间投影到了2D图像平面,也即二维的欧式空间中。
假如使用严格的齐次坐标进行表述,那么上述投影过程可以表示为以下矩阵相乘的形式,也即公式[1]:
其中通常被称为相机的投影矩阵。三维点的齐次坐标为,二维点的齐次坐标为,也等价于。
在上述公式 [1]中假设成像平面的原点为相机的主点位置。然而,实际相机图片的原点往往是图像左上角的点。因此,我们定义主点在图像上的坐标为,如图2所示,从而得到
将其表示为齐次坐标的形式,我们可以得到公式[2]
定义内参矩阵
最终公式[2]可以表达为
注意公式[2]其实共包含了两个阶段的坐标变换:
- 第一个阶段是标准的透视投影过程,也即部分。它将3D点投影成了归一化平面(假设焦距,则为平面)上的一个2D点,也即。
- 第二个阶段是基于相机内参的变换,即部分。它将归一化平面坐标系中的点转化到了以像素为单位的图像坐标系中。
当我们拥有2D点的像素坐标以及相机的内参矩阵时,可以通过公式
得到这个点在归一化平面上的坐标。