APP下载

一种基于平面追踪的多相机标定法

2018-12-15

电子设计工程 2018年23期
关键词:标定轨迹平面

朱 晨

(1.中国科学院上海微系统与信息技术研究所上海200050;2.上海科技大学信息科学与技术学院,上海201210;3.中国科学院大学北京101407)

多相机系统在虚拟现实[2]、三维地图构建[5]和机器人视觉[12]中被大量应用。对这些系统中的所有相机间的外参(相对位置与姿态)进行精确而又高效的标定对于这些应用的成功至关重要。因而,多种标定方法被提出以用于应对没有重叠视场[9-10,12-13,16-17]或是在线标定[11,14-15]等场景。我们在本文中展示一种基于平面SfM[1]的、无需相机间具有重叠视场的标定方法。该方法可以看成手眼标定[3-4]在多相机系统中的一种扩展,它无需平面具有特定的图案(如棋盘格等)。在本文的实验部分,我们将展示通过一些由随机平面图案构成的标定物或是一般的室内场景进行标定,从而验证该方法的广泛应用场景与实际价值。

1 通过基于平面的SfM标定外参

1.1 问题定义

本文考虑标定Nc≥2个相对位置固定的相机之间外参的问题。参考相机Cr和某相机Ci间的外参表示将Ci变换到Cr的旋转和平移变换,表示为:

rir为Rir对应的罗格斯旋转向量。我们进行外参标定的方法基于Structure form Motion(SfM),通过对相机在N个位置获得的图片进行特征提取与计算来估算场景中主要平面的几何参数,并在同时估算相机的运动参数。通过刚体约束和运动参数,进一步估算与优化相机外参。用表示Ci坐标系中的第j个SURF特征点,为Ci的第k个位置相对于初始位置的旋转与平移,则在此过程中特征点的变换方程为:

相机Ci,Cr间满足的刚体约束为:

其中si为表示尺寸不定性的非负标量。解以上方程便可得到相机间的关系以及运动参数。图1显示了这些变量间的关系。

图1 变量关系

1.2 基于平面的SfM

相机的外参可以通过检测与跟踪场景中的某个平面来估算,而平面在一般的室内室外场景中都很常见。

给定Ci拍摄的N张图片,我们首先匹配图片中的SURF特征来得到M个特征点的轨迹,每条轨迹可写为,其中P,q分别代表起始帧和结束帧,为第k个特征点在第k帧中的坐jj标。在三维坐标系中的平面表示为,其中d为该平面到相机的距离。该平面上的所有点的变换满足一个单应性变换关系。记,则

1.3 平面检测与追踪

我们提出一种改进版的TRASAC[1]算法对场景中的平面进行检测与追踪。该算法与RANSAC类似,需要多次尝试拟合运动参数,然后选择最好的参数。TRASAC算法在每次尝试中,先随机选择2个连续帧(Fk-1,Fk),然后再随机选择4条轨迹来估算Hk(k+1)。接下来,将投影误差的轨迹划分到,表示该轨迹属于该平面。然后在相邻帧Fk+1属于的轨迹中随机选择4条,再次重复同样过程,直到所有帧之间的单应矩阵都已经算得。

由于在我们的应用中相机移动的距离可能较大,SURF特征点出现误匹配的可能性更高,我们需要更加严格的标准滤除误匹配的特征点。所以,我们对获得的轨迹做进一步的过滤,仅保留误差属于一定阈值内的轨迹,即:

最终,我们可以获得从第一帧到第k帧的单应矩阵。

1.4 估算相机外参

给定Ci的单应矩阵后,我们可以计算对应的。我们最多可以得到4个解,其中物理可行解有2个。通过获取N≥3组单应矩阵,我们就可以找到唯一解。

得到每个相机的运动参数后,根据[7]可知,其中。我们通过解如下的优化问题获得Rir:

该优化问题有闭合解

其中

2 基于平面的集束调整

通过如上方式获得的参数不是全局最优解,因为单应矩阵是通过2帧之间的关系得到的,并不一定与所有N帧的数据一致。我们介绍一种基于平面的集束调整法来同时优化参考相机的外参,其他所有相机到参考相机的变换参数以及平面场景的几何参数。

其中

这里∈为将一条轨迹归为离群值的惩罚系数。与适用于普通3D场景的SfM不同的地方在于,该方法不需要估算特征点的3D坐标,因而它更为鲁棒。

为了优化如上的非线性目标函数,我们采用一种交替优化的方式,在估算场景结构和运动参数,以及划分轨迹集合间交替:

给定参数,通过比较划分为离群值和非离群值的乘法大小对轨迹分类:

3 实验

在本章我们通过实验来验证本文的模型在仿真数据和真实数据上的表现,并与现有的其他标定方法进行对比,以验证其有效性。

图2 仿真实验相机与特征点位置示意图

3.1 仿真数据实验

在仿真数据实验中,我们主要与SOCP[4]和基于分支定界的[3]对比。我们使用和这两种方法类似的实验设定。我们构造一个双摄像机组合{Cr,Ct},估算这两个相机之间的位置关系。这两个相机的位置关系如图2所示。

其中,rtr=[1.452 0,-0.660 7,-1.160 7],ttr=[12.256 0,-225.416 6,-128.985 1]。我们生成100个位于相机前方700单位矩形区域内均匀随机分布的100个特征点。我们还另外随机生成了9组位置以排除随机因素。由于特征点的位置估算存在误差,我们在8种不同的噪声大小下测试各个方法估算相机位置的误差。我们采用基于平面的SfM对SOCP的估算进行初始化。

实验结果如图3和图4所示。可见本文的方法在各种噪声水平下均优于其余2种方法。

图3 仿真实验旋转向量误差对比

图4 仿真实验平移参数对比

3.2 真实数据实验

在本组实验中,我们标定固定在相机架上的16个GoPro Hero 4相机之间的位置关系。我们选择其中一个相机作为参考相机,标定过程中使其采集一个棋盘格的照片,并使用[8]检测棋盘格角点,剩余的15个相机则对着7张随机的平面图样,通过SURF特征匹配以及平面SfM估算运动参数。

我们采集40组图片,将标定后得到的结果与Matlab标定工具箱的标定结果进行对比,结果如图5图6所示。其中,Matlab工具包的标定结果为使用棋盘格依次标定相邻相机所得。由图可见,本文的方法能在真实场景中较为准确地标定相机外参。

图5 旋转参数与Matlab工具箱的偏差

图6 平移参数与matlab工具箱的偏差

4 结论

在本文中,我们介绍了一种鲁棒而又灵活的多相机外参标定法,它不要求相机有重叠的视野,通过场景中的平面结构来估算相机运动参数以及相机外参,并进一步通过集束调整优化相机参数。该方法在仿真实验和真实数据实验中都取得了较好的效果。

猜你喜欢

标定轨迹平面
轨迹
轨迹
使用朗仁H6 Pro标定北汽绅宝转向角传感器
立体几何基础训练A卷参考答案
轨迹
进化的轨迹(一)——进化,无尽的适应
基于匀速率26位置法的iIMU-FSAS光纤陀螺仪标定
船载高精度星敏感器安装角的标定
参考答案
关于有限域上的平面映射