DSP-SLAM: Object Oriented SLAM with Deep Shape Priors

摘要

(1)物体级slam系统,可以构建精确的密集3D模型联合图。输入为3D点云(由基于特征的slam系统重建),通过语义实例分割检测物体,将具有特定类别的深度形状嵌入作为先验,然后通过一种新的二阶优化来估计位姿的形状。然后进行联合优化。

(2)DSP-SLAM可以在3种不同的输入模式下以每秒10帧的速度运行:单目、双目或双目+激光雷达。

1.引言

(1)许多最先进的密集SLAM算法可以实现精确的轨迹估计,并创建高质量的几何重建,可用于移动机器人的避障或路径规划。然而,当涉及到需要场景理解的更复杂任务时,仅几何体场景表示无法提供关键语义信息。需要更好地利用语义信息在物体级地图上详细表示物体及实例化。

(2)一些object-aware SLAM方法将构成同一对象的所有低级几何图元(体素、点…)分组到单个实例中来重建以对象为中心的地图。前端摄像机跟踪和后端优化都在对象实例级别执行。SLAM++利用实例级语义分割掩码重建对象(即使在动态环境下)。但是这些方法要么需要已知的对象实例数据库,要么在不利用形状先验信息的情况下从头重建对象,导致对象重建不完整。本文对这两点进行改进。

(3)本文方法将ORB-SLAM2作为主干,重构的3D点云为输入,并使用3D表面一致性和渲染深度损失的组合,将潜在代码拟合到每个检测到的对象实例。前景对象、背景特征和相机姿势通过使用联合因子图的束调整进一步细化。DSP-SLAM可以在三种不同模式下运行:单目、双目和双目+激光雷达。单目和立体系统使用各自的ORB-SLAM2模式作为SLAM主干,重建3D点云来重建检测到的对象。

(4)本文贡献:首先,地图不仅表示对象,还将背景重建为稀疏特征点,在联合因子图中对它们进行优化,结合了基于特征的orbslam2(高精度相机跟踪)和对象感知的SLAM(高级语义地图)的最佳特性。其次,DSP-SLAM可以仅使用RGB单目流进行操作,并且每个对象只需要50个3D点来获得精确的形状估计。最后,运算速度快,DSP-SLAM是一种在线顺序方法,可以每秒10帧的速度运行。在物体形状和姿态估计方面,改进了自动标记的定量和定性,这是一种最先进的基于先验的物体重建方法。

2.相关工作

(1)object-aware SLAM:SLAM++是第一个对象级slam,使用摄影机和对象姿势的关节姿势图在对象级别表示场景。预先创建预扫描对象的数据库,并使用预先训练的3D探测器、ICP损失和姿势图优化检测和映射对象实例,基于实例的方法的一个重要缺点是无法扩展到大量对象,并且需要提前了解对象模型。最近的对象感知RGB-D SLAM系统不再需要已知模型,而是利用最先进的2D实例级语义分割掩码,通过深度融合获得对象级场景图和对象重建,即使是动态场景。Fusion++(椭球体);Cubeslam(立方体)等,它们没有充分利用语义先验进行对象重建。本文采取了使用特定类别的学习形状先验的方向,并将其嵌入到对象感知的SLAM系统中。

(2)基于形状先验的三维重建:DeepSDF,DSPSLAM采用深度SDF作为形状先验,并将稀疏激光雷达和图像作为输入,与FroDO不同的是,我们的系统是一个连续的SLAM系统,而不是批处理方法。与NodeSLAM不同,在我们的系统中,低级点特征和高级对象被联合优化,以精确跟踪和丰富的语义形状信息的最佳结合。

3.系统概述

(1)DSPSLAM重建物体的详细形状,背景用稀疏特征点表示,每个物体由一个向量z表示,用DeepSDF作为形状嵌入,其输入是一个形状向量z\in \mathbb{R}^{64},一个查询向量(3d点)x\in \mathbb{R}^{3},输出距离函数s=G(x,z).

(2)ORB-SLAM2被用作跟踪和映射主干,当跟踪线程根据对应关系以帧速率估计相机姿态时,映射(mapping)线程通过重建3D地标来构建稀疏地图。

(3)我们在每个关键帧执行对象检测,以联合推断2D边界框和分割掩码。此外,通过3D边界框检测获得物体姿态估计的初始估计。

(4)新检测要么与现有地图对象关联,要么实例化为一个新对象。每个检测到的对象实例I都由一个2d边界框B,2d掩码M,稀疏三维点云D的深度观测值和初始化物体位姿T_{co,0}组成。

(5)基于先验知识的对象重建,map中已存在的object会得到优化(6自由度)。

(6)联合优化:联合因子图(包括点特征,objects,和相机位姿)通过BA优化,新objects作为节点添加到联合因子图中,他们的位姿估计T_{co}作为camera-object边。

4.具有形状先验的对象重建

        估计物体形状z和7个自由度的相机位姿T_{co},齐次坐标矩阵

检测到的对象实例表示为:,其中B表示2D边界框,M表示2D掩码,D表示稀疏三维点云的depth,Tco,0表示初始化相机位姿。

4.1表面一致性项

测量观察到的3D点和重建的物体表面之间的距离,判断观测到的3d点是否属于某一物体。

 

 其中\Omega _{s}稀疏三维点云集D中的像素坐标。

仅使用表面一致性项会导致错误的形状估计——远远大于其实际尺寸(如图),为了解决这个问题,提出渲染损失。

 左图是物体检测,用绿点表示了部分表面观测点。中图:仅用表面一致性的优化项,损失最小化,但形状变得比实际尺寸大。右图是加上深度渲染信息的结果,执行轮廓约束会产生正确的比例。

4.2 SDF渲染器( 不是很懂!

        对每个像素u,反向投影一条光线,由d进行参数化,o表示相机中心坐标,K表示相机固有矩阵。在深度范围内采样M个离散深度值\left \{ d_{i} \right \},其中,深度范围由对象平移和缩放的当前估计确定,并在每次迭代时重新计算。

占有概率Oi:通过将采样点转换为对象坐标系并通过DeepSDF解码器,可以获得每个采样点的SDF值s_{i}。SDF值判断点属于对象或者属于自由空间的概率

,其中\sigma取0.01.

 event 概率:当沿着射线追踪点时,射线要么终止,要么逃逸,而不触及其他点。这些M+1事件概率可定义为:

渲染深度值:根据上面定义的概率,可以将每个像素u处的渲染深度值计算为终止点的预期深度值,如等式4所示。为了保持一致,将与逃逸概率相关的深度值dM+1设置为常量值1.1dmax

 渲染项:由于渲染是完全可微的,因此可以将其集成到优化中。在连续空间中执行光线跟踪,不需要离散化对象模型。最终渲染项如下:

其中,\Omega _{r}=\Omega _{s}\cup \Omega _{b}是表面像素和不在对象表面上但在2D边界框B内的像素的并集。\Omega _{s}是通过将3D重建的SLAM点投影到图像mask上获得,\Omega _{b}中的像素被赋予d_{M+1}=d_{max}相同的深度值,为优化提供重要的轮廓信息。\Omega _{b}中的像素不需要深度测量,在2D边界框内执行均匀采样,并过滤掉分割mask内的采样。

4.3 优化细节

最终energy如下:

其中,\lambda _{s}=100,\lambda _{r}=2.5,\lambda _{c}=0.25,使E的Hessian矩阵具有相同的数量级,由于所有项都是二次项,采用高斯-牛顿优化方法和雅可比分析法,从z=0初始化。

5.Object SLAM

 5.1 数据关联

       新检测和重构对象之间的数据关联是对象级SLAM中的一个重要步骤。目标是将每个检测I与其他地图中最近的对象o相关联,计算检测和对象之间的匹配特征点的数量。如果多个检测与同一对象关联,我们将保留最近的一个,并拒绝其他检测。与任何现有对象无关的检测被初始化为新对象,其形状和姿态按照第4节进行优化。对于双目和单目输入模式,只有在观察到足够多的表面点时才进行重建。对于与现有对象相关联的检测,通过运行仅位姿优化和将新的相机-对象边缘添加到关联因子图来优化位姿。

5.2 Joint Bundle Adjustment

优化问题表示为非线性最小二乘优化问题

其中e_{co}e_{cp}分别表示摄像机-对象和摄像机-点测量的残差,\sum是测量残差的协方差矩阵。

相机-对象误差:通过最小化等式(1)中的曲面对齐项来估计T_{co},新的位姿观测作为相机位姿T_{wc}和对象位姿T_{wo}之间的边,残差定义为,log是从SE(3)到se(3)的对数映射,因为只有在首次检测到对象时才对其比例进行优化,因子图中的位姿为6自由度。

相机-点误差:使用ORB-SLAM2中使用的重新投影误差的标准公式,其中\tilde{u}是地图点p的像素坐标。

6.实验

       使用KITTI3D数据集上的LiDAR输入,对新的基于前体的对象重建优化进行了定量评估。此外,与最先进的方法相比,我们在KITTI Odometry基准上评估了全DSP-SLAM系统在双目+激光雷达和仅双目输入上的相机轨迹误差。

6.1 3D Object Reconstruction

       与[47]方法比较,本文方法在几乎所有指标下都取得了更好的性能,特别是在较难的样本上。

      对两种方法进行比较,[47]无法准确捕捉多辆车的形状:左侧的前两辆车是轿车,[47]将其重建为“甲壳虫”形状。此外,右侧的一些汽车是用不正确的姿势重建的,这些姿势与图像不对齐。相比之下,DSP-SLAM可以获得精确的形状和姿势。

  左:输入RGB图像。中间:本文方法右:【47】结果。

      在优化过程中使用了高斯-牛顿解算器,其收敛速度比一阶方法更快,从而显著提高了速度。

6.2  KITTI Odometry Benchmark

        在KITTI数据集上评估了DSPSLAM的相机轨迹误差,使用相对平移误差t_{rel}(%)和相对旋转误差r_{rel}(度/100m)与不同输入模式的最新SLAM系统进行比较。定量结果下表所示 

下半部分表示双目系统的结果,我们的纯双目系统的性能略低于ORB-SLAM2,这意味着密集的形状重建和联合BA无法帮助提高纯双目输入的跟踪精度。我们认为原因有两方面:首先,基于立体图像的3D测量比基于激光雷达的测量噪音更大,导致物体姿态估计的精度更低。其次,在纯立体情况下,表面点是从SLAM系统获得的,在SLAM系统中重复测量相同的特征,而不是从多个(LiDAR)测量中获得。以略微降低的帧速率(5Hz)重新运行DSP-SLAM,在每个关键帧后执行BA(如ORB-SLAME2),平均性能提高。

7.结论

        我们提出了DSP-SLAM,这是一种新的对象感知实时SLAM系统,利用深度形状先验进行对象重建,为背景生成稀疏点特征的联合映射,并为检测到的对象生成密集形状。我们在KITTI(立体声和立体声+激光雷达)等具有挑战性的真实数据集上,显示了几乎实时的性能。我们在相机轨迹估计和形状/姿态重建方面与竞争方法的定量比较显示了与现有技术方法相当或更优的性能。  

参考文献:

[47] S. Zakharov, Wadim Kehl, A. Bhargava, and Adrien Gaidon.Autolabeling 3d objects with differentiable rendering of sdf shape priors. 2020 IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR), pages 12221–12230,2020. 3, 6

  • 0
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值