机器视觉与机器学习:算法原理、框架应用与代码实现
上QQ阅读APP看书,第一时间看更新

3.2 成像模型

《墨经》在两千多年前记载了关于小孔成像的描述。公元1544年人们利用小孔成像原理观察日蚀现象,如图3-3。在投影变换中,透视投影被用来描述小孔成像模型和透镜成像模型。前面已经提到,相机成像模型描述相机从三维场景到二维像平面上的变换过程。相机成像模型一般可分为线性模型和非线性模型。线性模型可用针孔成像模型表示。当考虑到镜头畸变等因素时,相机成像模型为非线性。

图3-3 利用小孔成像原理观察日蚀现象

假设在图像平面前的固定距离处有一个理想的小孔,如图3-4所示,并且,小孔周围是不透光的,那么只有经过小孔的光才能够到达像平面。光是沿着直线传播的,因此图像上的每一个点都对应一个方向,即从这个点出发穿过小孔。

图3-4 小孔成像示意图

3.2.1 线性模型

在大部分应用环境中,实际的相机可采用理想的小孔成像模型近似表示。小孔成像模型是各种相机模型中最简单的一种,它是相机的一个近似线性模型。在相机坐标系下,任一点PXwYwZw)在像平面的投影位置,也就是说,任一点的投影点PXY)都是OP(即光心与点PXwYwZw)的连线)与像平面的交点,其几何关系如图3-5所示。

图3-5 相机小孔成像模型

小孔成像模型的投影公式为

简写为

3.2.2 非线性模型

实际的成像过程中,由于相机镜头的加工误差、装备误差等原因会产生相机畸变,使成像点偏离原来应成像的位置,所以线性模型不能准确地描述相机的成像几何关系。非线性模型可用式(3-27)来描述。

式中,(x0y0)是经过畸变的点,(xdyd)是线性模型计算出来的图像点坐标理想值,δxxy)、δyxy)是非线性畸变,公式为

式中,k1xx2+y2)和k2yx2+y2)是径向畸变,p1(3x2+y2)+2p2xyp2(3x2+y2)+2p1xy是离心畸变,s1x2+y2)和s2x2+y2)是薄棱镜畸变,k1k2p1p2s1s2是畸变参数。

在相机标定过程中,通常不考虑离心畸变和薄棱镜畸变,因为对于引入的非线性畸变因素,往往需要使用附加的非线性算法对其进行优化,而大量研究表明,引入较多的非线性参数不仅对标定精度的提高作用不大,还会造成解的不稳定性,而且一般情况下只使用径向畸变就足以描述非线性畸变,则

式中,r为径向半径,。式(3-29)表明,相机畸变程度与r有关。r越大,证明畸变越严重,位于边缘的点偏离越大。

将式(3-29)代入式(3-25)可得

简写为