基于像素块光度的VIO

泡泡图灵智库,带你精读机器人顶级会议文章
标题:Photometric Patch-based Visual-Inertial Odometry
作者:Xing Zheng, Zack Moratto, Mingyang Li and Anastasios I. Mourikis
来源:IEEE 2017
编译:博主
欢迎个人转发朋友圈;其他机构或自媒体如需转载,后台留言申请授权


摘要

大家好,今天为大家带来的文章是——基于像素块光度的VIO,该文章发表于IEEE2017。

本文中提出了一种新的直接法VIO算法,该算法使用图像特征和其对应的像素块来直接在图像的亮度空间构建残差项。本文算法的一个核心特点是将所有像素的辐照度视为随机变量进行估计,同时考虑到该量需要数值解,直接对其进行了边缘化。对于光度残差项,本文考虑了相机响应函数、镜头渐晕效应和场景中亮度变化的增益量和偏移量;针对增益量和偏移量,本文将其分成了基于特征的local方法和基于图像的global方法,后文将做详细讨论。

除此之外,本文在具有高精度轨迹真值的50个数据集上对本文算法进行了详细的测试,数据量总时长达到了1.5小时。通过与基于特征点的方法进行比较,本文发现基于光度的方法能够提高状态估计的精度,平均大概能够降低23%的误差。

主要贡献

  1. 本文提出了一个新的基于直接法的VIO系统,其残差项是使用图像特征点附近的像素块构建的;

  2. 本文将辐照度参数作为随机变量进行估计,从而提高系统的精度和稳定性,同时考虑到该变量不是本文关注的重点,所以将其边缘化后作为约束;除此之外,也考虑了很详细的辐照度模型,包括gamma校正和镜头渐晕效应;

  3. 本文并没有使用直接法中常用的光度不变性假设,而是将亮度增益和偏移作为随机量进行估计。


算法流程

本文的算法基于MSCKF2.0展开,后文将首先介绍需要估计的状态量,然后介绍残差项的构建思路,最后简要介绍在MSCKF中进行更新状态量的方法。

状态量

IMU的测量值是状态量中的第一部分,其定义如下,其分别表示了IMU到世界坐标系的四元数、位置和速度,最后两项则代表了陀螺仪和加速度仪的的偏移量。
在这里插入图片描述
对于当前帧而言,其估计量不仅包括当前IMU的测量值,还包括滑动窗口内M帧图像的状态量,如下式所示, 其中第一项是当前的IMU观测量,后续项表示的是滑动窗口内其他图像的位姿和光度参数。
在这里插入图片描述
而每当新的IMU数据被获取后,需要传播IMU的状态量和协方差矩阵;当获取新的图像,同时需要更新协方差矩阵。下式是文中的协方差更新公式:
在这里插入图片描述

残差项构建

在介绍残差项如何构建之间,首先要简要介绍一下相机的成像几何模型,由于本文使用的是鱼眼相机,其模型稍微复杂一些,如下式所示:
在这里插入图片描述
在这里插入图片描述

光度模型是本文的核心,其描述了三维世界中一点发射或反射辐照度被相机所拍摄,再经过镜头的渐晕效应影响达到成像器件,最后再通过相机响应函数被相机接受,下式用公示的方式描述了整个成像过程:
在这里插入图片描述
在介绍完上述所有基本情况后,需要再介绍如何构建残差项。本文与其他算法的差异在于是通过像素块的光度来构建残差项。为了简化,对于每一点其法向量使用第一次被观测到的相机到光线的方向描述。下式表示如何通过在当前点获取其在所有可观测影像上像素块的方法:
在这里插入图片描述
同时由于辐照度在不同的图片间成线性变换,其公式如下:
在这里插入图片描述
那么一个像素块上所有的测量值方程构建如下:
在这里插入图片描述
最后残差项可以基于辐照度构建,其中包含了位姿信息、IMU观测值和光度信息。前文中提到过loca和global的亮度增益和偏移量,因此残差项在进行线性化时稍微有所区别,具体内容大家还是看论文吧~~
在这里插入图片描述

状态量更新

状态量更新首先要对残差项进行线性化,方法如下:
在这里插入图片描述
每次计算时同时更新滑窗内所有的参数,并在增加新图像的同时将旧的图像从状态量中移除出去。

主要结果

本文的算法总共在50个数据集上进行了测试,为保证合理性本文在每个数据集上进行了10次测试,同时本文的评估依据时常规误差和90th-percentile误差(简要解释一下,即90%的误差小于该值,10%大于该值)。

在这里插入图片描述
图1 本图展示了基于点的VIO算法和基于像素块的VIO算法的精度差异,可以发现基于像素块的算法的精度更高。

在这里插入图片描述
图2. 本图展示了辐照度模型和渐晕模型对状态量估计的影响,可以发现辐照度模型对状态量估计精度的影响更大。

在这里插入图片描述
图3. 本图展示了针对亮度增益和亮度偏移量分别使用global或local算法对状态量估计精度的影响,可以发现增益使用局部,而偏移量使用全局时整体的精度更高。

在这里插入图片描述
图4. 本图展示了不同像素块大小对精度影响,可以发现像素块大小并不是越大越好,原因是太大之后将破坏局部亮度信息一致的假设;当然也不能太小,否则就不足够发挥出像素块的作用。


总结

本文的公式实在太多,所以此处就大致展示了一下本文思路;不过个人感觉比较重要的是本文在实验部分的结论,非常具有参考价值。


在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/u012348774/article/details/82837350