2.2 非线性摄像机模型
在实际情况中,摄像机通常是通过镜头(常包含多个透镜)成像的,基于当前的透镜加工技术及摄像机制造技术,摄像机的投影关系并不能简单地描述成针孔模型。换句话说,由于透镜加工、安装等多方面因素的影响,摄像机的投影关系不是线性投影关系,即线性模型并不能准确地描述摄像机的成像几何关系。
真实的光学系统并不是精确地按照理想化的小孔成像原理工作的,而是存在透镜畸变。由于受到多种畸变(失真)因素的影响,3D空间点投影到2D像平面上的真实位置与无畸变的理想像点位置之间存在偏差,光学畸变误差在接近透镜边缘的区域更为明显。尤其在使用广角镜头时,在像平面远离中心处往往有很大的畸变。这样就会使测量得到的坐标存在偏差,降低了所求得的世界坐标的精度。所以必须使用考虑了畸变的非线性摄像机模型来进行摄像机标定。
2.2.1 畸变类型
由于各种畸变因素的影响,在将3D空间点投影到2D像平面上时,实际得到的坐标(xa,ya)与无畸变的理想坐标(xi,yi)之间存在偏差,可表示为
其中,dx和dy分别是x和y方向上的总非线性畸变偏差值。常见的基本畸变类型有两种:径向畸变和切向畸变(见图2-3),其中dr表示由径向畸变导致的偏差而dt表示由切向畸变导致的偏差。其他畸变多是这两种基本畸变的组合,最典型的组合畸变是偏心畸变(离心畸变)和薄棱镜畸变。
图2-3 径向畸变和切向畸变示意
1.径向畸变
径向畸变主要是由镜头形状的不规则(表面曲率误差)引起的,它导致的偏差一般是关于摄像机镜头的主光轴对称的,而且沿镜头半径方向在远离光轴处更明显。一般称正向的径向畸变为枕形畸变,称负向的径向畸变为桶形畸变,如图2-4所示。其数学模型为
其中,为像点到图像中心的距离;k1、k2等为径向畸变系数。
图2-4 枕形畸变和桶形畸变示意
2.切向畸变
切向畸变主要是由透镜片组光心不共线引起的,导致实际像点在像平面上发生切向移动。切向畸变在空间内有一定的朝向,所以在一定方向上有畸变最大轴,在与该方向垂直的方向上有畸变最小轴,如图2-5所示,其中实线代表没有畸变的情况,虚线代表切向畸变导致的结果。一般切向畸变的影响比较小,单独建模的情况比较少。
图2-5 切向畸变示意
3.偏心畸变
偏心畸变是由光学系统光心与几何中心不一致造成的,即镜头器件的光学中心没有严格共线。其数学模型为
其中,为像点到图像中心的距离;l1、l2等为偏心畸变系数。
4.薄棱镜畸变
薄棱镜畸变是由镜头的设计及装配不当导致的。这类畸变相当于在光学系统中附加了一个薄棱镜,这不仅会引起径向偏差,还会引起切向偏差。其数学模型为
其中,m1、m2等为薄棱镜畸变系数。
综合考虑径向畸变、偏心畸变和薄棱镜畸变的总畸变偏差dx、dy为
如果忽略高于3阶的项,并令n1=l1+m1、n2=l2+m2、n3=2l1、n4=2l2,则
2.2.2 标定步骤
在实际应用中,摄像机镜头径向畸变的影响往往比较大,径向畸变常与图像中一点与该点到镜头光轴点之间的距离成正比。从无畸变的像平面坐标(x′,y′)到受镜头径向畸变影响而偏移的实际像平面坐标(x*,y*)的变换为
其中,Rx和Ry代表镜头的径向畸变。参见式(2-22)和式(2-23),可得
这里仅引入单个镜头径向畸变系数k以近似简化,一方面是由于实际中r的高次项可以忽略,另一方面考虑了径向畸变关于摄像机镜头的主光轴常是对称的这一因素。
考虑到从(x′,y′)到(x*,y*)的转换,此时根据非线性摄像机模型实现的从3D世界坐标系到计算机图像坐标系的转换示意如图2-6所示。原来的转换Z3现在被分解为两个转换(Z31和Z32),而且式(2-6)和式(2-7)仍可用来定义Z32(只需将x′和y′用x*和y*替换)。
图2-6 根据非线性摄像机模型实现的从3D世界坐标系到计算机图像坐标系的转换示意
虽然式(2-32)和式(2-33)仅考虑了径向畸变,但式(2-30)和式(2-31)的形式实际上对各种畸变都适用。从这个意义上说,图2-6的流程适用于有任何畸变的情况,只要根据畸变的类型选择相应的Z31即可。将图2-6与图2-1比较,“非线性”性质体现在从x′y′到x*y*的转换上。
2.2.3 标定方法分类
摄像机标定方法很多,按照不同的依据有不同的分类方法。例如,根据摄像机模型特点,可分为线性方法和非线性方法;根据是否需要标定物,可分为传统摄像机标定方法、摄像机自标定方法和基于主动视觉的标定方法(也有人将后两种方法合为一类);在使用标定物时,根据标定物维数的不同,还可分为使用2D平面靶标的方法和使用3D立体靶标的方法;根据求解参数的结果,可分为显式方法和隐式方法;根据摄像机内参数是否可变,可分为可变内参数的方法和不可变内参数的方法;根据摄像机的运动方式,可分为限定运动方式的方法和不限定运动方式的方法;根据视觉系统所用的摄像机个数,可分为单摄像机标定方法和多摄像机标定方法。标定方法分类表如表2-1所示,其中列举了一些分类准则、类别和典型方法。
表2-1 标定方法分类表
(续表)
在表2-1中,非线性方法一般较复杂,速度慢还需要一个良好的初值,并且非线性搜索不能保证参数收敛到全局最优解。隐式方法以转换矩阵元素为标定参数,以一个转换矩阵表示3D空间物点与2D平面像点之间的对应关系,因参数本身不具有明确的物理意义,所以也称为隐参数方法。由于隐参数方法只需求解线性方程,故当精度要求不是很高时,此方法可获得较高的效率。DLT法以线性模型为对象,用一个3×4矩阵表示3D空间物点与2D平面像点的对应关系,忽略了中间的成像过程(或者说,综合考虑过程中的因素)。多摄像机标定方法中最常见的是双摄像机标定方法,与单摄像机标定相比,双摄像机标定不仅需要知道每台摄像机自身的内、外参数,还需要通过标定来测量两个摄像机之间的相对位置和方向。