打印

读一篇关于VSLAM的论文

[复制链接]
821|11
手机看帖
扫描二维码
随时随地手机跟帖
沙发
keer_zu|  楼主 | 2024-3-22 13:41 | 只看该作者
本帖最后由 keer_zu 于 2024-3-22 13:44 编辑

先看摘要:
视觉同步定位与制图(VSLAM)具有广泛的应用,最先进的方法利用深度神经网络具有更好的鲁棒性和适用性。然而,如何将这些基于学习的方法与多传感器信息融合在一起,这对于推动相关应用到大规模和复杂场景是必不可少的,目前还缺乏研究。在本文中,我们通过因子图将可训练深度密集束调整(DBA)与多传感器信息紧密结合。在该框架中,在序列图像之间进行循环光流和DBA。该方法采用滑动窗口并支持概率边缘化,将得到的Hessian信息输入到多传感器融合的通用因子图中。首先开发了一种视觉惯性集成管道,提供了最小的公制尺度定位和映射能力。此外,还集成了其他传感器(例如全球导航卫星系统),以实现无漂移和地理参考功能。在公共数据集和自己收集的数据集上进行了广泛的测试。结果验证了我们的方法具有优越的定位性能,可以在大规模环境中实现实时密集映射。代码已经开源(https://github.com/GREAT-WHU/DBA-Fusion)。

总结一下:
核心是怎么把多传感器信息和机器学习训练方法融合起来。

训练对象 练深度密集束调整(DBA)
融合方法 因子图
融合过程
  • 在序列图像之间进行循环光流和DBA。
  • 采用滑动窗口并支持概率边缘化
  • 将得到的Hessian信息输入到多传感器融合的通用因子图
做法 开发一种视觉惯性集成管道,提供了最小的公制尺度定位和映射能力



使用特权

评论回复
板凳
keer_zu|  楼主 | 2024-3-22 13:57 | 只看该作者
本帖最后由 keer_zu 于 2024-3-22 13:59 编辑

简介:
视觉同步定位和绘图(VSLAM)是VR/AR和机器人应用中的关键技术[1]。近年来,深度学习通过利用更高层次的信息,极大地推动了VSLAM在准确性、鲁棒性和密集空间感知方面的进步[2],[3]。由于数据驱动的性质,端到端VSLAM系统在新数据域上的泛化具有挑战性。为了解决这一问题,DROID-SLAM[4]设计了一种集光流和密集束调整(dense bundle adjustment, DBA)于一体的循环结构,该结构端到端可训练,具有优异的零射性能。


DROID-SLAM:可微循环优化启发设计 Differentiable Recurrent Optimization-Inspired Design(DROID)
参考阅读:【论文阅读】DROID-SLAM: Deep Visual SLAM for Monocular, Stereo, and RGBD Cameras

稠密集束调整层 Dense Bundle Adjustment Layer(DBA)。DBA将一组流场的修正集合映射为一组位姿和像素级的深度更新。

使用特权

评论回复
地板
keer_zu|  楼主 | 2024-3-22 14:04 | 只看该作者
本帖最后由 keer_zu 于 2024-3-25 09:35 编辑

需要注意的是,纯视觉系统有其固有的局限性,容易受到极端光照问题和动态场景的影响。为了应对这些挑战,一种很有前途的方法是结合多个传感器,如惯性测量单元(IMU)[5]、全球导航卫星系统(GNSS)[6]和轮速传感器(WSS),以实现最佳的信息融合。尽管多传感器VSLAM系统的集成已经得到了广泛的研究,但基于学习的VSLAM框架的研究还很有限。在大多数情况下,模型驱动方法对于上述传感器都是足够有效的,关键的挑战在于如何将多传感器状态估计与深度VSLAM方法概率融合,形成一个通用的框架,并评估其在状态估计和地图方面的实际意义。

多传感器要解决的问题:极端光照问题和动态场景的影响。
模型驱动方法和深度VSLAM方法

使用特权

评论回复
5
keer_zu|  楼主 | 2024-3-22 14:14 | 只看该作者
本帖最后由 keer_zu 于 2024-3-22 14:17 编辑


图1所示。DBA-Fusion系统示意图。点云图通过单孔视觉-惯性- gnss集成在线生成。为了清晰起见,我们只显示5倍的下采样相机姿势。

在这项工作中,我们提出了DBA- fusion,它提供了一个通用的因子图框架,将类似droid-slam的深度DBA与多传感器信息紧密集成,如图1所示。该系统旨在通过多传感器融合提高深度VSLAM的实用性,使其适合于实时大规模应用。本工作的贡献总结如下:
1)我们提供了一个紧密视觉惯性集成的管道,将循环深度DBA引入到滑动窗口因子图优化框架中。
2)系统支持多传感器(如GNSS、WSS)的灵活集成,可用于大规模、地理参考导航和地图应用。
3)在室内/室外、手持/车载场景的公共数据集和自制数据集上对系统的综合性能进行了评估。


使用特权

评论回复
6
keer_zu|  楼主 | 2024-3-22 14:23 | 只看该作者
2. 相关工作


A.
近年来,深度学习被广泛研究以整合到VSLAM中,其动机多种多样。基于学习的方法已经被用来取代VSLAM系统中的关键模块,如特征跟踪[8]、深度推理[9],或者通过语义信息实现对象级SLAM[10]、[11]。也有许多作品试图开发端到端的视觉SLAM系统[12],[13]。最近的研究主要集中在三维空间地图的神经表示上,该方法已经显示出令人印象深刻的重建性能[14],[15]。
在上述方法中,DROID-SLAM是一种比较流行的方法,它结合了传统SLAM管道和端到端学习的优点,并以其良好的通用性和密集映射能力而闻名。DROID-SLAM的核心设计是基于门循环单元(GRU)和可微DBA层的循环光流模块,使其与深度推理解耦,可以灵活地应用于零射击数据集。

B.
具有多传感器融合的VSLAM视觉惯性集成是一种常用的方案,可以克服仅视觉SLAM的局限性,以几乎最小的设置提供尺度感知和估计连续性。经典的实现可以分为基于过滤器的[16]和基于优化的[17]。在过去的几十年里,先进的特征得到了发展,包括可观测性约束[18]、直接光度优化[19]、地图管理[20]和延迟边缘化[21]。在[22]中,DROID-SLAM与IMU在因子图框架中融合。然而,边缘化和单眼设置不被考虑。最近,端到端视觉惯性SLAM结构也被提出[23]。
为了扩大V-I系统的适用性,许多其他工作都倾向于充分利用现有传感器的信息,其中最具代表性的是用于地面车辆的车轮编码器和用于户外应用的GNSS。轮式编码器已被证明可以提高系统稳定性和尺度可观测性[7][24]。在GNSS集成方面,已经提出了松耦合[25]和紧耦合[6][26]两种方法,这些方法通常将系统提升到地理注册系统,并提供全球无漂移能力。然而,明显缺乏将先进的基于学习的VSLAM集成到多传感器融合框架中的实现。


使用特权

评论回复
7
keer_zu|  楼主 | 2024-3-22 14:31 | 只看该作者
本帖最后由 keer_zu 于 2024-3-22 14:34 编辑

三. 系统实现

该框架的总体设计旨在灵活地融合多传感器信息和可训练的VSLAM系统。
对于视觉前端,使用循环光流模块计算共可见性图中图像对的密集像素关联。重新投影用于表述DBA问题。然后通过因子图将DBA信息与多传感器紧密融合,其中采用了具有概率边缘化的滑动窗口机制。
在多传感器融合中,首先在因子图中考虑IMU,实现最小视觉惯性里程计(VIO)。此外,为了提高系统在大规模场景下的适用性,在可用的情况下,将GNSS、WSS等常用传感器集成到因子图中。


图2. 循环光流的图示。首先将图像编码为特征图。一个共可见光图像对(i, j)被送入循环光流模块,如第III-A节所述。

A.循环光流

本工作中应用的循环光流坚持DROID-SLAM的实现,DROID-SLAM源于发达的RAFT[27],并紧密利用相机姿态和深度进行迭代细化。循环光流的结构如图2所示。具体来说,对于共可见光图像对(源帧i投影到目标帧j),基于它们编码的特征映射形成一个相关体。在一次光流更新操作中,首先通过相对位姿Tij投影源帧的(逆)深度图λi来估计初始光流场


其中ui为网格点的像素坐标,Ti和Tj为世界到相机的变换,Πc为相机投影模型,其逆运算将像素坐标和逆深度提升为三维点。注意,Eq.(1)也用于估计帧间的视差,以便在进一步的步骤中检查帧之间的共可见性。
在流量估计的基础上,对相关体积进行查找操作L。然后将结果注入具有隐藏状态hij的卷积GRU中,得到残差形式的修正流量δuij。此外,光流的像素加权wij表示几何和外观的不确定性,以提高下游BA。为了实时性能,我们只考虑步长为8的每个图像中的像素。在这种情况下,λi的大小n为(H/8) × (W/8),其中(H, W)为图像的大小。
在共可见性图中的每个活动图像对(称为边缘)上计算上述光流,从而构造DBA问题。DBA的优化结果,即密集深度和相机姿态,循环地馈送到光流模块,迭代地改进一切。这样的操作将不断进行,以调整光流,直到达到收敛状态,这与通常的前向跟踪视觉前端不同。经验证,循环光流设计在零射数据集上具有良好的泛化效果。在这项工作中,我们只是使用在合成TartanAir[28]数据集上预训练的网络权重进行之后的所有测试。




使用特权

评论回复
8
keer_zu|  楼主 | 2024-3-22 14:43 | 只看该作者
B.将DBA集成到一个通用因子图中

DBA的基本元素是共可见性图中的一条单向边,对应于从一个源帧到一个目标帧的重投影误差,其线性化形式为


式中,δuij为光流模块输出的光流残余,ξi、ξj为相机位姿的李代数,δλi为源帧反深度图的误差状态,Ji、Jj、Jλi为由式(1)导出的雅可比矩阵。
考虑光流的权值wij,计算式(2)的Hessian形式如下

得到下面的等式

其中Cii是一个n × n的对角矩阵


使用特权

评论回复
9
keer_zu|  楼主 | 2024-3-22 16:07 | 只看该作者
考虑锚定在帧i上并投影到共可见帧(编号1,2,…),以N为例),则通过将式(4)中的块按位置堆叠/求和来构建组合的Hessian为


它对应于图3所示的一个视觉因素。注意图中没有其他边与δλi相关,因此可以对Eq.(5)执行Schur补[29]来消除深度状态,得到



其中Bi, Ei, Ci, vi, zi为式(5)中的块,Ci为对角矩阵。这实际上构建了一个帧间姿态约束(由Hc,i, vc,i表示),其中包含线性化的BA信息。Eq.(5)和Eq.(6)的计算可以在GPU上高效并行执行。只要更新相机姿态,就可以根据式(5)的下一行更新反深度状态。



使用特权

评论回复
10
keer_zu|  楼主 | 2024-3-22 16:36 | 只看该作者



在本工作中,为了将DBA与一个通用的以姿态为中心的因子图紧密集成,将从共可见性图中导出的所有约束Eq.(6)进行叠加,形成一个完整的Hessian Hc,all和对应的vc,all,作为因子图中所有摄像机姿态之间的约束。考虑到消除了密集的深度状态,在CPU上有效地进行了因子图优化。这实际上等于用两步法求解全因子图优化问题,类似于[21]中的实现。
需要对图中的边迭代更新像素关联(由光流产生)和DBA公式,从而形成如图3所示的分层迭代结构。通常,深度DBA为因子图提供丰富的几何信息(具有学习到的不确定性),同时将优化结果(位姿和深度)反馈给光流,以循环地细化/重新加权。上述管道还支持立体声和RGB-D设置,通过在式(5)中添加从左到右的边缘或添加深度先验。



图3 优化框架中DBA的工作流程,采用分层迭代结构。右面板显示深度状态的消除,生成Hessian Hc,all,vc,all作为视觉约束。对于边缘化,只处理相关的边缘,生成包含边缘化视觉信息的Hc, margin,vc, margin。




图4 因子图的边缘化。将视觉信息以及与最老状态(黑边)相关的其他信息边缘化,利用Schur补来消除最老状态,形成新的约束[17],[29]。从新帧到旧帧的重新投影(红色边缘)被忽略以保持稀疏性

每当一个旧帧从窗口滑出时,相机的姿势和包含的深度状态都需要被边缘化。为了保持因子图的稀疏性,只考虑基于边缘深度状态构建的重投影残差,形成如图4所示的部分视觉信息Hc,margin、Vc,margin。将视觉信息等与旧框架相关的信息,通过舒尔补,与已有的边缘化因子一起构成新的边缘化因子。

使用特权

评论回复
11
keer_zu|  楼主 | 2024-3-22 16:40 | 只看该作者
C 多传感器因子图


应用上述设计,我们可以建立一个通用的以姿态为中心的因子图来解决姿态估计问题,具有高效优化和无损DBA信息集成的优点。因子图优化使用GTSAM实现[30]。
使用GTSAM实现[30]。考虑到汽车应用中常用的传感器,总体因子图如图5所示,状态表示为


其中Tw bk是世界坐标系中的IMU姿态,v w bk是速度,ba,k和bg,k是加速度计/陀螺仪的偏差。

使用特权

评论回复
12
keer_zu|  楼主 | 2024-3-22 16:45 | 只看该作者
传感器因素如下所示。1)视觉约束因子(二次成本函数[30]):


其中Hc,all, vc,all为DBA剔除所有深度参数后的信息矩阵和向量,xc为相机姿态的李代数Tc w



为了对以imu为中心的因子图施加视觉约束,采用以下线性变换


其中,ξc w由左摄动导出,ξ w b由右摄动导出,Tc b为imu -相机外因,adj(·)为伴随运算。


使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

1349

主题

12426

帖子

53

粉丝