3D计算机视觉:原理、算法及应用
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

2.4 自标定方法

摄像机自标定方法在20世纪90年代初被提出。摄像机自标定可以不借助精度很高的标定物,而由从图像序列中获得的几何约束关系计算实时的、在线的摄像机模型参数,这对经常需要移动的摄像机尤为适用。由于所有的自标定方法都只与摄像机内参数有关,与外部环境和摄像机的运动无关,所以自标定方法比传统标定方法更为灵活。但目前已有的自标定方法精度还不太高,鲁棒性也不太强。

基本的自标定方法的思路为,首先,通过绝对二次曲线建立关于摄像机内参数矩阵的约束方程,称为Kruppa方程;然后,求解Kruppa方程以确定矩阵CC=KTK-1K为内参数矩阵);最后,通过Cholesky分解得到矩阵K

自标定方法可借助主动视觉技术来实现,不过也有研究者把基于主动视觉的标定方法单独提出来,自成一类。主动视觉系统是指该系统能控制摄像机在运动中获得多幅图像,然后利用摄像机的运动轨迹及获得的图像之间的对应关系来标定摄像机。基于主动视觉的标定方法一般用于摄像机在世界坐标系中的运动参数已知的情况,通常能线性求解且获得的结果有很高的鲁棒性。

在实际应用中,基于主动视觉的标定方法一般将摄像机精确地安装在可控平台上,并主动控制平台进行特殊运动以获得多幅图像,进而利用图像之间的对应关系和摄像机运动参数来确定摄像机参数。不过,如果摄像机运动参数未知或在摄像机运动无法控制的场合中,则不能使用该方法。另外,该方法所需的运动平台精度较高,成本也较高。

下面详细介绍一种典型的自标定方法(基于主动视觉的标定方法)。如图2-9所示,摄像机光心从O1平移到O2,所成两幅图像分别为I1I2(其坐标原点分别为o1o2)。空间一点PI1上成像为p1点,在I2上成像为p2点,p1p2构成一对对应点。如果根据p2点在I2上的坐标值在I1上标出一点,则称p1之间的连线为I1上对应点的连线。可以证明,当摄像机做纯平移运动时,所有空间点在I1上的对应点的连线都交于同一点e,而且为摄像机的运动方向(这里eO1O2的连线上,O1O2为平移运动轨迹)。

图2-9 摄像机平移所成像之间的几何联系

根据对图2-9的分析可知,通过确定对应点连线的交点,可以获得在摄像机坐标系下的摄像机平移运动方向。这样,通过在标定中控制摄像机分别沿3个方向进行平移运动,并在每次运动前后利用对应点连线计算相应的交点eii=1,2,3),可获得3次平移运动的方向

参考式(2-6)和式(2-7),考虑μ为1的理想情况,在x方向上,在传感器每行内采样1个像素,则式(2-6)和式(2-7)可改写为

式(2-58)和式(2-59)建立了以物理单位(如mm)表示的像平面坐标系x′y′与以像素为单位的计算机图像坐标系MN的转换关系。根据图2-9中交点eii=1,2,3)在I1上的坐标(xiyi),由式(2-58)和式(2-59)可知,ei在摄像机坐标系下的坐标为

如果让摄像机平移3次,并且使这3次的运动方向正交,就可得到=0(i≠j),进而得到

将式(2-61)、式(2-62)和式(2-63)进一步改写为

定义两个中间变量:

则式(2-64)、式(2-65)和式(2-66)就成为包含OmOnQ1Q2共4个未知量的3个方程。这些方程是非线性的,如果用式(2-64)分别减去式(2-65)和式(2-66),就可得到两个线性方程:

将式(2-69)和式(2-70)中的OnQ1用中间变量Q3表示:

则式(2-69)和式(2-70)成为包含OmQ1Q3共3个未知量的2个线性方程。由于2个方程有3个未知量,所以式(2-69)和式(2-70)的解一般不唯一。为获得唯一解,可将摄像机沿另外3个正交方向做3次平移运动,获得另外3个交点eii=4,5,6)。如果这3次平移运动与之前3次平移运动具有不同的方向,则又可以获得类似式(2-69)和式(2-70)的两个方程。这样就一共获得了4个方程,可取其中任意3个方程或采用最小二乘法从4个方程中解出OmQ1Q3。接下来,由式(2-71)解得On,再将OmOnQ1代入式(2-66)解得Q2。这样,通过控制摄像机进行两组三正交的平移运动就可获得摄像机的所有内参数。