今天我们将详细讨论一下相机标定中,如何求解并确定相机图像平面与它所在3D世界位置的关系。首先我们想象有这样一个三维坐标系,它的原点位于投影的中心,Z轴沿着光轴方向,如图1所示。
图1所示的坐标系被叫做相机的标准坐标系统。空间坐标对应的图像平面坐标为
。从图中可以看出,空间坐标M和图像平面坐标m延长线交于坐标系原点,并且它们的
和
是与
轴和
轴平行的。这里说明一下,图像平面到坐标中心的距离为图像焦距f。根据相似三角形,可以得到M与m之间的关系:
将公式转换为齐次坐标:
这里的不等于
为尺度变换因子。
实际像素坐标的原点位于图像平面的左上点,因此满足:
公式中的
和
表示像素坐标的中心。我们可以用一个
矩阵来将三维世界坐标转换到图像像素坐标。联立公式
和公式
,并且两边同时乘以
:
转换为矩阵写法为:
这里的尺度变换因子就是
值。将上述方式可简略表示成:
其中表示图像像素坐标系的齐次向量,
表示透视投影矩阵,
表示世界坐标的齐次向量。因此,一个相机可以考虑为从投影空间
到投影平面
的线性投影变换系统。
这里含有个相机参数,分别为焦距f,像素宽度,像素高度,在光轴中心的
像素坐标中心的
,在光轴中心的
像素坐标中心的
。然而,由于一个任意尺度变换因子涉及f和像素大小,所以只能求解
个可分离参数。因此,我们只能求解比率
和
。参数
不依赖于相机在空间中的位置和方向,因此被称为内参。
通常情况下,一个点的三维世界坐标在一帧中是不确定的,因为它的原点在投影的中心,它的轴沿着光轴方向。然后,为方便计算求解我们希望是确定的,那么需要一个变换的坐标从其它帧到标准坐标系下。因此,可得到:
这里K是一个4*4的齐次转换矩阵:
表示
的旋转矩阵,编码相机的方向到给定的世界帧;最后一列为齐次向量
,从世界帧原点捕捉相机移动。这个矩阵
含有
个自由度,
个为方向,
个相机的平移。这些参数被称为外参。
齐次转换K结合形成一个
矩阵
,叫做相机标定矩阵,我们可以将C写成内参和外参的参数:
这里的向量是矩阵
的行向量,
,矩阵
像矩阵
有三行参考链接
英文链接中文链接
更多计算机视觉与图形学相关的知识请关注公众号:计算机视觉与图形学实战