【VINS论文笔记】Online Temporal Calibration for Monocular Visual-Inertial Systems 单目视觉惯性系统在线时间标定

前言

港科大VINS-Mono目前已集成了IMU和cam的在线时间偏差标定。本人就其相关论文进行了阅读,并进行内容整理。

原文:Online Temporal Calibration for Monocular Visual-Inertial Systems
单目视觉惯性系统在线时间标定

摘要

精确状态估计是各种智能应用(如如机器人导航、自动驾驶、AR和VR)的基本模块。视觉惯性融合是近年来六自由度状态估计的流行技术。记录不同传感器测量值的时间瞬间对系统的鲁棒性和准确性至关重要。实际上每个传感器的时间戳通常受触发和传输延迟,造成不同传感器的时间错位(时间偏移)。这种时间偏移会显著影响传感器融合的性能。为此我们提出一种在线方法,用于标定视觉和IMU测量值的时间偏移。我们的方法通过联合优化SLAM系统中的时间偏移、相机和IMU的状态以及特征点位置来实现时间偏移标定。此外,这种方法是一种通用模式,可以应用于基于特征优化的框架中。仿真和实验结果表明,与其他最先进的离线工具相比,我们标定方法具有高精度。VIO和其他方法表明在线时间标定显著地有利于视觉惯性系统。时间标定的源代码已经集成到我们的开源项目VINS-Mono中。

引言

提出融合IMU的作用:
1、解决尺度模糊性(scale ambiguity),提供翻滚角roll和俯仰角pitch。
2、视觉跟踪失败时改善跟踪性能。

大多数VIO假设传感器硬件同步,而对于大多数IMU和cam组,由于触发和传输延迟造成的时间戳偏差在几毫秒到几百毫秒范围。

作者假设时间偏移是一个不知道值的常数,将其与cam和IMU状态、特征点位置在一起进行优化,以在线标定时间偏移。

【VINS论文笔记】Online Temporal Calibration for Monocular Visual-Inertial Systems 单目视觉惯性系统在线时间标定

相关工作

Mair[19]提出了一种基于交叉相关和相位一致性的时间和空间标定的初始化方法。该方法将标定变量与其他未知变量(位姿,特征位置)分离。 因此,它可以提供良好的先验而不受其他变量的影响。此外该方法以更精确的公式对时间偏移建模。

Kelly[20]利用ICP(迭代最近点)方法的变体,逐步对齐相机和IMU的旋转曲线以校准时间偏移。Furgale[21]的Kalibr在连续批量优化过程中估计相机和IMU之间的时间偏移、相机运动与外参。这些方法使用固定的平面图案(如棋盘)离线操作,具有强大的特征跟踪和关联以及精确的3D位置。

Li[22]提出了一种在线时间标定的运动估计方法,时间偏移在多状态约束的EKF框架中校准。其方法在计算复杂性方面具有显著优势,可用于便携式移动设备。与他的方法相比,基于优化的算法在准确性方面表现优异,因为可以迭代地优化BA中的许多变量。

算法

A. 时间偏移

定义时间偏移td表示为相机时间戳需要偏移的时间,以使得相机和IMU数据流对齐。

【VINS论文笔记】Online Temporal Calibration for Monocular Visual-Inertial Systems 单目视觉惯性系统在线时间标定

B. 图像平面上得特征点速度

相对于移动整个相机或IMU序列,我们在时间线上移动特征的观察点。为此引入了特征速度,用于建模和补偿时间偏移。在很短的时间内(几毫秒),相机运动可以被视为匀速运动。因此,特征在短时间内在图像平面上以近似恒定速度移动。

【VINS论文笔记】Online Temporal Calibration for Monocular Visual-Inertial Systems 单目视觉惯性系统在线时间标定
基于此假设,我们计算了图像平面上的特征速度。对于图2,IkI^kIk+1I^{k+1}是两个连续图像帧,假设相机在短时间内[tk,tk+1][t_k,t_{k+1}]以匀速CkC_k移动到Ck+1C_{k+1}。我们近似认为特征ll也在短时间内以匀速VlkV^k_l在图像平面上移动。速度VlkV^k_l为:

【VINS论文笔记】Online Temporal Calibration for Monocular Visual-Inertial Systems 单目视觉惯性系统在线时间标定
其中[ulk,vk,l][u^k_l,v^k,l][ulk+1,vk+1,l][u^{k+1}_l,v^{k+1},l]是特征在图像平面IkI^kIk+1I^{k+1}的2D观察点

C. 带时间偏移的视觉因子

分别用两种参数化方式将时间偏移建模到视觉因子中:
1)3D位置参数:对于在全局坐标系下特征点的3D位置:Pl=[xl,yl,zl]TP_l=[x_l,y_l,z_l]^T
传统方法中视觉测量被表示为重投影误差:
【VINS论文笔记】Online Temporal Calibration for Monocular Visual-Inertial Systems 单目视觉惯性系统在线时间标定
其中zlkz^k_l为特征点ll在第kk帧的观测点,(Rckw,pckw)(R^w_{c_k},p^w_{c_k})为相机位姿,将特征点PlP_l从全局坐标系转换到局部相机坐标系,π(.)\pi(.)代表相机重投影模型,将3D特征点投影到畸变的相机平面中。

在时间线上移动特征观察点,得到新的表达式如下:【VINS论文笔记】Online Temporal Calibration for Monocular Visual-Inertial Systems 单目视觉惯性系统在线时间标定
其中VlkV^k_l为特征点在图像平面上的速度,tdt_d为不知道的时间偏移量。通过优化tdt_d,我们可以找到时域中与IMU约束相匹配的最佳相机位姿和特征观察点。

2)深度参数:特征也可以被参数化为在图像坐标系下的深度或逆深度。以在图像i中的深度λi\lambda_i为例,传统方法从图像i到图像j的重投影误差为:
【VINS论文笔记】Online Temporal Calibration for Monocular Visual-Inertial Systems 单目视觉惯性系统在线时间标定
其中特征ll首先被投影到全局坐标系下,然后再投影回局部相机坐标系jj下的图像平面中。而带有时间偏移tdt_d的重投影误差为:
【VINS论文笔记】Online Temporal Calibration for Monocular Visual-Inertial Systems 单目视觉惯性系统在线时间标定
图3描绘了重投影过程。 虚线表示没有时间偏移的传统重投影方法, 实线表示考虑时间偏移的重投影,黄线表示IMU约束。 IMU约束与传统的重投影约束不一致。 通过优化tdt_d,我们可以在时域中找到与IMU约束匹配的最佳相机位姿和特征观察点。
【VINS论文笔记】Online Temporal Calibration for Monocular Visual-Inertial Systems 单目视觉惯性系统在线时间标定

D. 带时间偏移的优化

通过使用上述视觉因子,可以轻松地将时间标定函数添加到基于视觉惯性紧耦合的非线性优化框架中,利用局部BA共同优化摄像机和IMU状态以及特征位置。具体来说,整个状态变量用时间偏移量进行扩充,定义为:
【VINS论文笔记】Online Temporal Calibration for Monocular Visual-Inertial Systems 单目视觉惯性系统在线时间标定
整个问题被表示为包含IMU因子、重投影因子以及先验因子的代价函数。使用上文提出的视觉因子来实现时间偏移校准,使用高斯牛顿法进行优化。
【VINS论文笔记】Online Temporal Calibration for Monocular Visual-Inertial Systems 单目视觉惯性系统在线时间标定

E. 时间偏移补偿

在每次优化之后,通过移动后续视觉流的时间戳来补偿时间偏移,tcam=tcam+tdt'_{cam} = t_{cam} + t_d。 然后系统估计后续补偿过的视觉测量和惯性测量之间的δtd\delta t_dδtd\delta t_d将在后续数据流中迭代优化,最后将收敛到零。 随着时间间隔δtd\delta t_d的减小,我们的基本假设(特征在短时间间隔内以恒定速度在图像平面上移动)越来越合理。 即使在开始时存在巨大的时间偏移(如数百毫秒),该过程也将逐渐地从粗略到精细地补偿它。

实验和结论略。

个人想法

文中提出了一种在线标定IMU与相机时间偏移的算法。算法假设时间偏移是常数,将其与IMU和相机状态、特征点进行联合非线性优化。

和其他将相机位姿或是IMU位姿利用速度和角速度乘以时间差进行补偿的算法不同,该算法假设特征点在短时间内以恒定速度在图像平面上移动,将IMU和相机的时间延迟,转换为在图像平面上特征位置的延迟,简化了整个误差函数。并且在每次优化后,补偿后续视觉流的时间戳,再次优化新的δtd\delta t_d,直至其收敛到0。