前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Ctrl-VIO:基于连续时间的卷帘相机视觉惯性里程计方案

Ctrl-VIO:基于连续时间的卷帘相机视觉惯性里程计方案

作者头像
点云PCL博主
发布2022-12-27 18:07:57
6950
发布2022-12-27 18:07:57
举报
文章被收录于专栏:点云PCL点云PCL

文章:Ctrl-VIO: Continuous-Time Visual-Inertial Odometry for Rolling Shutter Cameras

作者:Xiaolei Lang, Jiajun Lv, Jianxin Huang, Yukai Ma, Yong Liu, Xingxing Zuo

编辑:点云PCL

代码:https://github.com/APRIL-ZJU/Ctrl-VIO(源码还未上传)

来源:RA-L 2022

欢迎各位加入免费知识星球,获取PDF论文,欢迎转发朋友圈。文章仅做学术分享,如有侵权联系删文。

公众号致力于分享点云处理,SLAM,三维视觉,高精地图相关的文章与技术,欢迎各位加入我们,一起交流一起进步,有兴趣的可联系微信:920177957。本文来自点云PCL博主的分享,未经作者允许请勿转载,欢迎各位同学积极分享和交流。

摘要

视觉惯性里程计(VIO)可以估计有尺度的6自由度相机位姿,其中,相机可以根据快门的不同分为全局相机(global shutter)和卷帘相机(rolling shutter)。与全局相机相比,卷帘相机通常成本较低,已广泛应用于智能手机等消费级电子产品。然而与全局相机同时曝光所有像素所不同,卷帘相机的像素是逐行曝光的,且相邻行的曝光时间戳相差一个参数,即line delay。因此,卷帘相机在成像过程中会引入显著的畸变,若不对这种卷帘畸变进行处理则会严重损害VIO的准确性和鲁棒性。在本项工作中,我们提出了一种用于卷帘相机的连续时间VIO,使用由B样条参数化的连续时间轨迹融合IMU测量和卷帘图像。为了达到可承受的计算量,提出的VIO同样也是基于滑动窗口和关键帧的。我们在仿真数据和真实数据上对该VIO进行了评估,发现其准确性和鲁棒性优于现存的VIO方法。

http://mpvideo.qpic.cn/0bc3daaamaaaaqagzli4urrvaggdaymaabqa.f10002.mp4?

主要贡献

由于卷帘相机的像素是逐行曝光的,因此不同行像素对应着不同的相机位姿。理论上,应对每行像素对应的相机位姿进行估计,但这会造成很大的计算量。目前大多数卷帘VO/VIO的应对方法是使用匀速模型,即假设相邻关键帧间的相机运动是匀速的,使用插值从而仅估计关键帧处的相机位姿,但这在加速度大的情况下并不适用,在加速度大的情况下使用匀速模型实际上是对运动的一种降维建模,VIO的精度也会因此而损失。本文使用由B样条参数化的连续时间轨迹来表示相机运动,在运动复杂的情况下也能较好地拟合实际轨迹。连续时间轨迹是位姿关于时间的连续函数,因此可以直接根据时间戳查询到不同行像素对应的相机位姿,从而更优雅地处理卷帘畸变。本文的主要贡献有:

  • 提出了一个完整的连续时间卷帘VIO框架,使用由B样条参数化的连续时间轨迹表示相机运动,更优雅地处理卷帘畸变,达到比现有VIO方法更高的准确性和鲁棒性。
  • 提出了一种连续时间框架中的边缘化策略,通过边缘化样条控制点来达到保持滑窗中关键帧数恒定的目的,此外,对比和讨论了两种边缘化惯性信息的方法。
  • 本VIO框架充分利用B样条天然地提供对时间变量的闭合解析导数这一属性来支持line delay的在线标定。
  • 据我们所知,这是第一个支持line delay在线标定的fixed-lag连续时间卷帘VIO框架,代码将开源在:https://github.com/APRIL-ZJU/Ctrl-VIO

主要内容

A.连续时间轨迹表示

本文中使用split表达形式,使用两条均匀累积B样条分别表达3D旋转和3D平移。

其中,Rx和px是样条控制点,结点t0, t1, t2...等时间间隔放置。本文使用cubic B-spline,因此k为4。

IMU在世界坐标系中的连续时间轨迹可以表达为:

通过相机和IMU间的外参,可以得到相机在世界坐标系中的连续时间轨迹。

B.含有line delay的视觉重投影残差

假设对于一个3D路标点,同时在时间戳为ti的帧Fi和时间戳为tj的帧Fj被观测到,则构成的视觉重投影残差为:

其中,ta和tb分别是3D路标点在帧Fi和帧Fj中被观测到时的时间戳,可由像素行和line delay推算出。

视觉重投影残差rc对line delay即tr的雅可比为:

B样条提供了对时间变量的闭合解析导数:

因此公式7可进一步展开为:

C.惯性因子

由B样条的时间导数可以得到角速度和加速度,因此可以直接利用IMU测量值构建IMU因子(包括角速度和加速度因子)。考虑滑窗中两连续关键帧Fk和Fk+1之间的IMU测量,可以得到两连续帧间各IMU测量对应时刻的角速度和加速残差以及两连续帧间的bias残差项:

除了IMU因子,我们也构建了两连续关键帧Fk和Fk+1间的预积分因子来辅助边缘化:

D.滑窗优化

我们采用与VINS-Mono一致的关键帧选取策略,并在VIO系统初始化完成后,使用卷帘视觉观测和IMU观测共同优化滑窗中的B样条控制点、IMU bias、特征点逆深度、line delay。构建优化问题如下:

E.连续时间滑窗优化中的边缘化

为了在滑窗优化中保持可承受的计算量,我们在滑窗中仅保留恒定数量的卷帘图像帧,将需要边缘化的卷帘图像及其相应的状态量给边缘化掉。当滑窗次新帧为非关键帧时,我们直接丢弃该帧的视觉观测,而该帧对应的控制点和IMU观测仍保留在滑窗中;当滑窗次新帧为关键帧时,我们边缘化最老关键帧对应的控制点和次老关键帧对应的控制点中非耦合的那部分控制点,同时边缘化最老关键帧对应的特征点的逆深度和IMU bias。

此外,本文还提出了两种边缘化惯性信息的方法:

  • 策略1:将最老关键帧和次老关键帧间的所有IMU观测合成预积分,并构建最老帧和次老帧间的预积分因子和bias因子,最后一口气边缘化次老关键帧之前的所有控制点和最老关键帧对应的IMU bias。
  • 策略2:直接通过最老关键帧和次老关键帧之间的IMU因子边缘化对应的控制点和最老关键帧对应的IMU bias。

虽然策略2相比于策略1更简单直观,但是策略1更有效。下图展示了整体的边缘化框架和两种不同的惯性信息边缘化策略。

实验与结果

我们提出的方法在仿真数据集WHU-RSVI、真实数据集TUM-RSVI和SenseTime-RSVI上进行了测试。对比对象为卷帘版本的VIO,如RS-VI-DSO和RS-VINS-Mono,以及全局版本的VIO,如OKVIS、VINS-Mono和ORB-SLAM3。为了评估的公平性,我们关闭了VINS-Mono和ORB-SLAM3的回环和后端优化,使它们成为纯VIO系统。

A.精度对比

TUM-RSVI是一个真实世界中的手持数据集,包含一个20Hz的全局相机、一个20Hz的卷帘相机和一个200Hz的IMU。所有传感器都做了硬件同步,且卷帘相机的line delay约为29.4737us。我们在全局数据和卷帘数据上测试了全局版本的VIO,在卷帘数据上测试了卷帘版本的VIO。需要注意的是,由于RS-VINS-Mono不支持line delay的在线标定,因此在跑RS-VINS-Mono的时候直接使用估计值29.4737us作为line delay的值并将其固定,而跑Ctrl-VIO的时候同时从0开始在线标定line delay。

APE RMSE如上表所示。Global Shutter版本的VIO在全局数据上有较好的性能,但由于未考虑卷帘畸变,因此在卷帘数据上效果退化严重。这在seq09和seq10上表现得尤为显著,因为这两个序列上较大的角速度导致了较大的卷帘畸变。然而处理了卷帘畸变的卷帘版本VIO在卷帘数据上有较好的表现,甚至达到了Global Shutter局版本VIO在全局数据上的精度。Ctrl-VIO在大多数序列上有着比RS-VINS-Mono与RS-VI-DSO更好的表现。导致这一结果的主要原因在于,在这些加速度较大的情况下,RS-VINS-Mono与RS-VI-DSO所采用的匀速假设模型并不是特别适用,是一种对运动的降维表示,而使用连续时间轨迹的Ctrl-VIO对复杂运动有更好的拟合效果。

B.标定结果

以下第一张图展示了在TUM-RSVI数据集不同序列上从初始值0us开始的line delay在线标定曲线,可见line delay较快地收敛至估计值29.4737us附近,并在之后的轨迹中也保持在该数值附近。第二张图展示了在TUM-RSVI数据集的seq01上从初始值0~55us开始的line delay在线标定曲线,可见在不同的初值情况下,line delay都能较稳定地收敛至估计值29.4737us附近。

C.两种边缘化惯性信息策略的对比

令使用惯性边缘化策略1的本文方法名为Ctrl-VIO,令使用惯性边缘化策略2的本文方法名为Ctrl-VIO-margIMU。在运动较平缓的SenseTime-RSVI数据集上,Ctrl-VIO和Ctrl-VIO-margIMU在位姿估计精度上的性能表现近似。然而,在WHU-RSVI和TUM-RSVI数据集上,Ctrl-VIO的位姿估计精度优于Ctrl-VIO-margIMU,该差异是由两种策略不同的因子图导致的。策略1和策略2中的因子图涉及不同的样条控制点。在最老关键帧和次老关键帧间的惯性信息被边缘化后,对于策略2,获得的新的先验因子可能无法约束到次老关键帧的时间戳对应的所有控制点,而策略1却可以约束到次老关键帧的时间戳对应的所有控制点。尽管我们承认两种边缘化策略在理论上都是合理的,但它们在非线性最小二乘优化中可能具有不同的数值性能。

D.耗时分析

我们在TUM-RSVI数据集的seq01上比较了Ctrl-VIO与RS-VINS-Mono的运行时间,这两种方法都在配备Intel i7-8700 CPU @ 3.2Ghz 和 32GB RAM的台式PC上执行,下表展示了运行时间的结果。RS-VINS-Mono和Ctrl-VIO的频率分别为19.83Hz和6.19Hz。由于滑动窗口时间跨度的变化,Ctrl-VIO的优化和边缘化的耗时具有相对较高的标准差。滑动窗口的时间跨度越大,待优化的控制点越多,耗时越大;滑动窗口时间跨度越小,待优化的控制点越少,耗时越小。对于前一种情况,运动通常是平缓的,我们不必添加这么多的控制点来约束轨迹。因此,我们考虑在未来的工作中使用非均匀B样条来减少计算消耗。

总结

本文提出了一种可用于卷帘相机的连续时间卷帘VIO,称为Ctrl-VIO。Ctrl-VIO是基于关键帧的滑动窗口状态估计器,使用由B样条参数化的连续时间轨迹优雅地处理卷帘畸变,并在滑窗中紧耦合卷帘视觉和惯性信息以优化滑窗中的轨迹。本文提出了适配连续时间框架的边缘化方法,并比较和讨论了两种不同边缘化惯性信息的方法。此外,Ctrl-VIO可以在线标定line delay,便利了line delay未知的情况。通过在仿真数据和真实数据上进行测试,我们发现Ctrl-VIO的精度优于目前的全局版本VIO和卷帘版本VIO。尽管Ctrl-VIO有较高的精度和鲁棒性,但目前还是非实时的系统。当前样条控制点是随时间均匀分布的,这在运动平缓的情况下是不必要的,我们将考虑使用非均匀B样条使用更少的控制点参数化轨迹以提升VIO计算效率。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2022-09-10,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 点云PCL 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档