题目:Online Temporal Calibration for Monocular Visual-Inertial Systems
作者:秦通 沈邵劼
摘要:精确状态估计是机器人导航、自主驾驶、虚拟现实和增强现实等多种智能应用的基础模块。视觉与惯性融合是近年来发展起来的一种六自由度状态估计技术。不同传感器测量数据记录的时间瞬间对系统的鲁棒性和准确性至关重要。在实践中,每个传感器的时间戳通常会受到触发和传输延迟的影响,导致不同传感器之间的时间失调(时间偏移)。这种时间偏移极大地影响了传感器融合的性能。为此,我们提出了一种在线校准视觉和惯性测量之间的时间偏移量的方法。该方法通过对SLAM系统中时间偏移量、相机状态、IMU状态以及特征位置的联合优化,实现了时间偏移量的标定。此外,该方法是一个通用模型,可方便地应用于多个基于特征的优化框架工作中。仿真和实验结果表明,与其他先进的离线工具相比,我们的校准方法具有较高的精度。VIO与其他方法的比较表明,在线时间标定对视觉惯性系统有明显的好处。时间校准的源代码集成到我们的开源项目,VINS_MONO。
目录
1.简介
2.研究现状
3.算法
A.时间偏移量
B.图像平面上的特征速度
C.视觉因素与时间偏移
D.带有时间偏移的优化
E.时间偏移补偿
4.实验结果
A.实现细节
B.时间校准结果
5.结论
1.简介
在过去的几十年里,状态估计一直是机器人和计算机视觉领域的一个基础研究课题。机器人导航、自主驾驶、虚拟现实(VR)和增强现实(AR)等各种应用都高度依赖于精确的状态估计。我们特别感兴趣的状态估计解决方案,只涉及一个相机,因为它的体积小,功耗低,和简单的机械配置。在单目纯视觉技术中,[1]-[7]已经取得了很好的结果,它计算出了精确的摄像机运动和符合尺度的环境结构。为了解决已知的尺度模糊问题,多传感器融合方法受到越来越多的关注。利用惯性测量单元(IMU)对[8]-[17]相机进行了大量的研究,在6自由度SLAM(同步定位和映射)中取得了令人瞩目的性能。一方面,惯性测量使俯仰和滚转角,以及比例,可观察到。另一方面,惯性测量通过消除视觉跟踪失败时的间隙来改善运动跟踪性能。
为了融合来自不同传感器的数据,必须精确地知道记录测量值的时间瞬间。实际上,每个传感器的时间戳通常会受到触发和传输延迟的影响,导致不同传感器流之间的时间失调(时间偏移)。因此,传感器的时间同步问题可能成为多传感器系统的关键问题。对于视觉惯性系统,相机与IMU之间的时间偏移量对系统的鲁棒性和精度有很大的影响。大多数视觉惯性方法[13,14,16,17]假定测量的时间戳在单个时钟下是精确的。因此,这些方法可以与一些严格的硬件同步传感器很好地工作。对于大多数低成本和自组装的传感器集,硬件同步是不可用的。由于触发延迟和传输延迟,相机与IMU之间总是存在瞬态偏移(时间偏移)。时间偏移量通常从几毫秒到数百毫秒不等。几十毫秒将导致IMU序列与图像流完全不对齐,从而极大地影响视觉惯性系统的性能。
为此,提出了一种在线标定视惯性系统时间偏移量的方法。我们假设时间偏移量是一个常数但未知的变量。我们通过在线估计相机和IMU状态,以及SLAM系统中的特征位置来校准它。我们的标定方法是一个通用的因素,可以很容易地应用于其他基于特征的视觉惯性优化框架。虽然我们使用单目传感器套件来展示我们的方法,但该方法可以很容易地应用于多摄像机视觉惯性系统。我们强调我们的贡献如下:
(1)我们提出了一种在线标定视觉惯性系统中摄像机与IMU之间时间偏移量的方法。
(2)我们通过模拟和真实世界的经验,展示了在线时间计算的重要性。
(3)将开源代码集成到公共项目中。
本文其余部分的结构如下。第二节讨论了相关文献。第三节详细介绍了该算法。第四节给出了实现细节和实验评价。最后,第五节对本文进行了总结。
2.研究现状
在过去的几十年里,视觉惯性测程技术已经有了大量的研究,其目的是高精度地计算相机的运动和环境结构。目前流行的技术有基于过滤的框架[9]-[12,17]或批处理优化[13]-[16,18]。大多数视觉惯性算法都是通过提取鲁棒稀疏特征来处理图像,而不是对稠密图像进行处理。其中[9,10,18]采用无结构视觉因子,通过将视觉残差投影到零空间来消除特征。他们更注重估计相机或IMU的运动,而不是特征位置。[13, 14, 16]选择性地将关键帧和特征保存在一个包中,从而优化了相机的运动和特征。所有这些方法都假定IMU和摄像机是精确同步的,没有时间错位。
在低成本和自组装设备中,IMU和相机之间的时间错位是一个典型的问题。由于时钟不同步、触发延迟和传输延迟,测量的时间戳与实际采样时间瞬间不一致。这个时间偏移是未知的,需要校准。有几项研究集中在校准它。Mair[19]提出了一种时间和空间校准的初始化方法,该方法使用了互相关或相位一致性。该方法以一种新颖独特的视角制定了标定程序。它将校准的变量与其他未知变量(姿态、特征位置)分离开来。因此,它可以在不受其他变量影响的情况下提供良好的先验。进一步,方法建模的时间偏移在一个更精确的公式。Kelly[20]对准相机与IMU的旋转曲线,校准时间偏移。它利用ICP(迭代最接近点)方法的一种变体来逐步匹配两条旋转曲线。利用Furgale[21]中的Kalibr算法,对连续批优化过程中相机与IMU之间的时间偏移量、相机运动以及外部参数进行了估计。Kalibr取得了令人印象深刻的性能,并成为一个受欢迎的工具箱。但是,这两种方法都是离线操作,使用固定的平面模式(例如棋盘)。该标定模式具有较强的特征跟踪和关联能力,并具有较高的三维定位精度。此外,李还针对[22]中摄像机- imu系统提出了一种具有在线时间标定的运动估计方法。在多状态约束EKF框架下对时间偏移量进行了标定。该方法在计算复杂度上具有明显的优势,可用于便携式移动设备。与他的方法相比,我们的基于优化的算法在精度上要优于他的方法,因为我们可以在一个大的包中迭代优化大量的变量,而不是早期修复线性化误差。
3.算法
在本节中,我们将在一个视觉因子中建模时间偏移量,并在一个基于优化的VIO框架中在线计算它以及特性、IMU和相机状态。
A.时间偏移量
对于低成本和自组装的视觉惯性传感器,相机和IMU没有严格的时间同步。由于触发延迟、传输延迟和时钟不同步,生成的时间戳不等于测量采样的时间瞬间。因此,不同的测量值之间通常存在时间偏移。一般情况下,传感器之间的时间偏移量是一个常数,但未知值。在一些更糟糕的情况下,传感器是用不同的时钟收集的,时间偏移量随时间漂移。这种传感器不适用于传感器融合。在本文中,我们考虑一般情况,其中时间偏移td是一个常数,但未知的值。
图1 相机和IMU流之间的时间偏差(时间偏移)的说明。上面的图表示采样瞬间。下面的图显示了时间戳的瞬间。由于触发延迟、传输延迟和时钟不同步,生成的时间戳不等于实际采样时间,导致相机和IMU之间的时间失调。时间偏移量td是我们移动相机时间戳的时间量,以便相机和IMU数据流在时间上保持一致。
图1描述了一幅说明时间偏移的图片。在图中,上面的图表示采样瞬间。下面的图显示了时间戳的瞬间。由于触发时延、传输时延、时钟不同步等原因,产生的时间戳不等于实际采样时间,导致相机与IMU的时间错位。具体地,我们定义td为,
tIMU = tcam+td
时间偏移量td是我们应该移动相机时间戳的时间量,以便相机和IMU数据流在时间上保持一致。td可以是正的,也可以是负的。如果摄像机序列的延迟比IMU序列长,则td为负值。否则,td为正值。
B.图像平面上的特征速度
为了使相机和IMU数据流在时间上保持一致,相机序列应该根据td前后移动。我们不是移动整个相机或IMU序列,而是在时间轴上移动特性的观察值。为此,我们引入了特征速度来建模和补偿时间偏差。在很短的时间内(几毫秒),相机的运动可以看作是匀速运动。因此,特征在短时间内以近似恒定的速度在像面上运动。在此基础上,计算了该特征在图像平面上的速度。
图3 再投影过程的说明。虚线表示没有时间偏移建模的传统重投影过程。该实线提出了一种考虑时间偏移的重投影算法。黄色线表示IMU约束。IMU约束与传统的重投影约束不一致。通过对td的优化,可以得到与IMU约束相匹配的最优相机姿态和特征在时间域内的观测值。
C.视觉因素与时间偏移
在经典的稀疏视觉SLAM算法中,视觉需求被表示为代价函数中的投影误差。我们通过添加一个新的变量,时间偏移量来修正经典的投影误差。特性有两种典型的参数化。一些算法将特征参数化为其在全局帧中的三维位置,而另一些算法则将特征参数化为相对于特定图像帧的深度或反深度。下面,我们分别用这两种参数化方法将时间偏移量建模为视觉因子。
(1)三维位置参数化:特征在全局帧中被参数化为三维位置。传统的视觉测量公式为投影误差
(2)深度参数化:该特征还可以细化为与图像帧相关的深度或反深度
图3描述了重投影过程。虚线代表了传统的不需要时间偏移建模的重投影过程。实线表示考虑时间偏移的建议重投影。黄线表示IMU约束。IMU约束与传统的重投影约束不一致。通过对td的优化,可以在符合IMU约束的时域内找到最优的摄像机姿态和特征观测。
D.带有时间偏移的优化
利用上述视觉因素,我们可以很容易地将时间校准功能添加到典型的基于视觉惯性优化的框架中,如[13,16,23]。在这些框架中,视惯性定位和映射被表述为一个非线性优化问题,将视觉和惯性测量紧密耦合在一起。如图4所示,几个相机框架和IMU设备被保存在一个包中。捆绑包的大小通常受限于绑定计算复杂度。本地包调整(BA)联合优化相机和IMU状态,以及功能位置。
E.时间偏移补偿
每次优化后,我们通过移动后续视频流的时间戳来补偿时间偏移量,如t0cam = tcam + td则系统估计满足视觉测量和惯性测量在下面。δtd将在随后的迭代优化的数据流,将收敛于零。时间间隔的减少δtd,我们的基本假设(功能以一个恒定的速度移动图像平面上在短时间间隔)越来越合理。即使一开始有很大的时间偏移(比如几百毫秒),这个过程也会逐渐从粗到细进行补偿。
图4 视觉惯性定位与映射问题的一个实例。我们在一个包中维护多个摄像机帧和IMU测量值。束的大小通常是有限的,以减少计算复杂度。局部束调整(BA)联合优化相机和IMU状态,以及特征位置。
4.实验结果
在本节中,我们首先演示了瞬变电磁法孔隙率校准的准确性,然后我们展示了通过时间校准提高的整体VIO性能。利用仿真数据和实际传感器集,给出了系统的标定实验结果。通过公共数据集和实际实验,给出了系统的整体VIO性能。在每一部分中,我们将提出的算法与其他常用方法进行了比较。
A.实现细节
我们采用了在[23]中提出的视觉惯性优化框架。我们只将时间偏移量添加到状态向量中,并使用建议的视觉因子(III-C节)。特征检测采用Shi-Tomasi角探测器[24],跟踪采用KLT跟踪器[25],IMU测量采用局部集成。在局部束调整中,优化了多个关键帧的姿态、速度、IMU偏置以及特征位置。只有包含足够特征视差的关键帧才会暂时保存在本地窗口中。为了限制计算复杂度,将以前的关键帧边缘化。Ceres求解器[26]用于求解这一非线性问题。整个系统采用Intel i7-3770 CPU实时运行。
图5 Intel Realsense camera ZR300,其中包含一个fisheye全球快门相机与100◦×133◦FOV和IMU(陀螺和Acc)
B.时间校准结果
1)仿真:在60m x 60m x 60m空间中随机生成500个特征点。功能位置未知。在零均值高斯噪声下,以0.5像素的标准分辨率将可见特征投影到虚拟相机上。惯性测量也受零均值高斯噪声的影响,加速度计和陀螺仪的标准偏差分别为0.01m/s 2和0.001rad/s,无偏置。惯性测量速率为100hz,摄像机帧频为10hz。相机和IMU以足够的加速和旋转运动一起移动。整个轨迹持续30秒。我们将时间偏移量设置为5ms、15ms和30ms。每次偏移量进行100次模拟试验。标定结果如表所示。
我们的算法能够在较低均方根误差的情况下,成功地校准模拟数据中的时间偏移量。
真实传感:我们使用Intel Realsense camera ZR300 2,其中配置了一个fisheye global shutter camera,配置了100◦×133◦FOV和IMU (Gyro & Acc),如图5所示。制造商声称传感器是同步的。在实际应用中,我们发现鱼眼相机与默认SDK获得的IMU之间存在明显的时间偏移,这与曝光时间有关。由于无法获得地面真实值,我们使用了最先进的时间校准工具箱Kalibr[21]进行比较。离线批量优化框架中Kalibr校准时间偏移量,需要添加校准模式(棋盘)。
图6所示。估计的时间偏移从提出的方法和Kalibr相对于不同的曝光时间
我们设置了5次曝光时间,从20毫秒到30毫秒。每次曝光时间,我们通过将传感器移到校准棋盘前40秒来收集15个数据集。实际上,Kalibr依赖于一个校准模式,而我们的算法不依赖。为了使校准完全可见,我们确保在所有数据集上有足够的旋转和加速运动。时间标定结果如图6所示。我们可以看到时间偏移量随曝光时间呈线性变化,斜率在0.5左右。这是因为曝光时间的中间部分被视为时间戳图像的最佳点。因此,时间偏移包括固定通信和触发延迟加上一半曝光时间。所提出的方法和Kalibr都满足这种情况。由于地面真相是不可用的,我们以Kalibr的结果作为参考。我们的结果与Kalibr的结果非常接近。在标准推导方面,该方法实现了[0.095,0.071,0.14,0.16,0.15],小于Kalibr的标准推导[0.27,0.16,0.13,0.18,0.20]。该方法在一致性方面优于Kalibr。注意,Kalibr是一种离线批处理优化,它消耗的资源是建议方法的几十倍。此外,Kalibr依赖于校准模式。因此,该方法在效率和实用性方面也优于Kalibr。
C. VIO整体性能
1)数据集:我们使用EuRoC MAV视觉惯性数据集[27]对提出的方法进行了评估。数据集收集在微型飞行器上,包括立体图像(Aptina MT9V034全球快门,WVGA单色,20 FPS),同步IMU测量(ADIS16448, 200赫兹)和地面真实状态(VICON和Leica MS50)。我们只使用左边相机的图像。众所周知,图像和IMU测量在这个数据集中是严格同步的。为了演示时间校准的能力,我们通过手动移动IMU时间戳来设置时间偏移量。具体来说,我们为IMU时间戳添加一个固定的毫秒值,这样IMU和相机之间就有一个固定的时间偏移量。我们制作了时间移位序列,并用它们来测试所提出的算法和其他方法。首先研究了时间偏移对视觉惯性测程的影响。我们将时间偏移量设置在- 40到40ms之间,并分别用vs - mono[23]和所提出的方法对这些时间偏置序列进行测试。
图7 相对于MH03序列中的时间偏移的RMSE。x轴显示预定义的时间偏移量,y轴显示RMSE(均方根误差)[28]。蓝色的线表示的是VINSMono[23]的结果,这是本文提出的方法的基础框架。红线表示所提方法的结果,具有时间偏移校正能力。
图8所示。相对位姿误差[29]与V101序列中OKVIS的比较,时间偏移量分别为5ms和30ms。在两种不同的时间偏移量(黑色和蓝色)下,该方法的相对位姿误差基本相同。但是,随着时间偏移量的增加,OKVIS的相对位姿误差增加了很多(粉色和红色的曲线)。
图9所示。V101序列的时间偏移估计,时间偏移量分别为5ms、15ms和30ms。估计偏移量在几秒钟内迅速收敛到稳定值
VINS-Mono是我们构建系统的基础框架。VINS- Mono没有时间偏移校准功能,因此它明显受到时间失调的影响。结果如图7所示。x轴显示预定义的时间偏移量,y轴显示RMSE(均方根误差),如[28]中建议的那样。测试数据是MH03序列,其IMU时间戳被移动。蓝线表示vs - mono的结果。我们可以看到RMSE随着vs - mono时间偏移量的抛物线变化。当时间偏移量增加时,性能急剧下降。容忍间隔仅在6毫秒内。这说明进行时间偏移校正是必要的。红线表示该方法的结果,该方法校准了时间偏移量。可以看出,不同时间偏移量下的RMSEs是相同的,这证明了我们的标定程序是非常有效的。
下面,我们将OKVIS[16]算法与另一种没有时间标定能力的先进视惯性测程算法进行比较。利用时间偏置序列对提出的方法和OKVIS进行了检验。结果如表所示。利用RMSE对弹道进行了评估。对于OKVIS,随着时间偏移量的增加,性能下降(RMSE越来越大)。在某些序列中(如MH 03, V1 03),当时间偏移量达到30ms时,RMSE显著增加。这样的时间偏移使系统发散。然而,对于所提出的方法,性能不受时间偏移量的影响。在不同的时间偏移量下,rmse在一个序列上几乎是相同的,因为该方法可以正确地校准时间偏移量。表中还列出了校准结果。该方法能准确标定预定的时间偏移量。当时间偏移量大于10ms时,该方法的性能明显优于OKVIS。具体而言,所提方法与OKVIS的相对位姿误差[29]比较如图8所示。图中V101序列在5ms和30ms时间偏移量下进行。我们可以看到,在两种不同的时间偏移量(黑色和蓝色图)下,该方法的相对位姿误差基本相同。但是,当时间偏移量增加时,OKVIS的相对位姿误差增加很多(粉色和红色的曲线)。时间偏移估计过程如图9所示。可以看出,估计的偏移量仅在几秒内迅速收敛到稳定值。在线temporal校准显著提高了整体性能。
2)真实实验:我们进行了一个真实的实验来验证所提出的系统。传感器组与第IV-B节相同。2、英特尔Realsense摄像头,如图5所示。图像速率为30Hz,惯性测量速率为350Hz。我们用手拿着传感器,在房间里以正常的速度循环行走。我们将结果与OKVIS[16]进行了比较。同时,将OptiTrack 3的结果作为ground truth处理。我们拿着传感器走了五圈。轨迹如图10所示。在x轴、y轴和z轴上的详细平移如图11所示。偏航、俯仰和横摇的详细旋转情况如图12所示。在平移和旋转比较中,我们可以看到OKVIS的结果随着时间的推移而明显漂移。该方法与OKVIS的相对位姿误差[29]比较如图13所示。OKVIS的相对位姿误差大于该方法。此外,相对位姿误差的增长速度快于该方法。显然,由于在线时间校准,该方法在平移和旋转两方面都优于OKVIS。该方法校准的时间偏移量为12.74ms,在没有有效校准和补偿的情况下,将对VIO的长期性能产生显著影响。
5.结论
本文提出了一种在线计算IMU与相机之间cali- brate时间偏移量的方法。我们的方法是一个通用模型,可以很容易地用于基于优化的视觉惯性框架。时间偏移量与IMU、相机状态以及功能共同优化。仿真和实验结果表明,与其他离线方法相比,该方法在时间偏移校正和系统运动估计两方面均具有较高的精度。虽然我们使用单目传感器套件来展示我们的方法在本文中,但所提出的方法可以很容易地推广到多摄像机视觉惯性系统。