相机模型是将三维世界中的物体投影到二维相机平面中。常见的相机模型有针孔模型(pinhole model)和全景模型(omni-directional model,即通常称为鱼眼相机的模型)。针孔模型是光学相机模型中最常见的模型,也是最简单的一种。针孔模型一般使用在CCD相机中,但其他成像图片也可以使用此模型,比如医用X光图片。虽然相机一般都不是理想的针孔模型,但在立体视觉处理中,一般将其抽象为针孔模型,并在相机标定时,加入畸变参数。针孔模型的标定是经典的计算机视觉问题,有着广泛的研究,网上的资料也必将多,这里不再赘述。
基本针孔模型
在欧式空间中,针孔模型由三维世界投影在相机平面中。针孔模型将空间三维点 X = (X, Y, Z)T投影到像平面上。按照图像的习惯,一般从左到右为 $x$ 轴的正方向,从上到下为 $y$ 轴的正方向。故方面起见,对应的世界坐标系同图像保持一致。为了方便同空间坐标区分,图像坐标一般用 $x = (u, v)$表示。
经过远点与图像垂直的轴称为Principle Axis,为相机坐标系下的Z轴方向。如图1所示。
图1. 针孔模型的空间抽象
根据相似三角形原理,可以很容易获空间点X得其对应关系,即X = (X, Y, Z)T投影到 $(fX/Z, fY/Z, f)^T$。所以
$$ (u, v) = (fX/Z, fY/Z) $$
用齐次坐标来表示则有如下转换关系
$$egin{pmatrix} X \ Y \ X \ 1 end{pmatrix} ightarrow egin{pmatrix} fX \ fY \ Z end{pmatrix} =egin{bmatrix} f & & & 0 \ & f & & 0 \ & & 1 & 0 end{bmatrix}egin{pmatrix} X \ Y \ X \ 1 end{pmatrix}$$
其中x表示齐次坐标系下的图像点,X表示齐次坐标系下的空间点。上面公式可以写成 x = PX。
摄像机内参
$$ egin{bmatrix} f_{x} & & c_{x} \ & f_{y} & c_{y} \ & & 1 end{bmatrix} $$