VSLAM(6): Real-time Segmentation, Tracking and Fusion of Multiple Objects

学习论文: 时而学习之, 温故而知新.

该算法以模型为基础单位, 一组3D点的集合(关键帧), 来实现帧的跟踪/分割/融合

活跃模型: 在当前帧中看到的模型
非活跃模型: 曾经出现过, 不知其几何形状, 也不在当前视野内.

在这里插入图片描述

1. 摘要

本文介绍了一种基于RGB-D相机实时的稠密SLAM系统(定位+3D环境重建)。该算法可以根据运动和语义标注将场景分割成不同的目标物。

我们使用多种模型拟合方法,其中每个对象都可以独立于背景移动,并且仍然有效地跟踪其形状,并且仅使用与对象标签关联的像素信息就可以融合其形状。

在以前相关的研究中,处理动态场景的尝试通常是将移动区域视为离群值,因此不对它们的形状建模或随时间推移跟踪运动。
相比之下,我们使机器人能够维护每个分割对象的3D模型,并通过融合不断改进它们。

结果,我们的系统可使机器人在对象级别维护场景描述,即使是动态场景也有可能与其工作环境进行交互。

2.主要贡献

在机器人移动过程中, 该算法不仅能够重建周围环境, 而且能获取未知3D几何目标(静态或动态)的详细信息.

1.使用运动或语义标志, 将场景分割成背景和目标. (假设在感兴趣区域内的目标能够被分割算法所检测和分割)

2.提供两组可替代的策略: 这两种形式的分割不仅能够根据运动检测目标, 而且就算是静态的, 根据语义信息也可以对其进行分离.

  • 运动分割

在3D空间中具有运动一致性的点形成一个组合(超像素?).
划分超像素: gSLICr: SLIC superpixels at over 250Hz.
分割: Efficient Inference in Fully Connected CRFs with Gaussian Edge Potentials

  • 对象实例分割

根据RGB中给出了语义标签(像素级别), 检测和分割单个目标.

3. 核心方法

初始化: 帧-帧映射处理, 初始化单个活跃模型(背景), 一旦融合的3D背景模型和相机位姿在几帧数据之内保持稳定之后, 对接下来的每一帧进行以下处理:

  • step1.跟踪

首先, 将帧中储存的3D模型数据与当前帧中的点数据基于ICP方法最小化几何误差(距离)和光度误差(灰度), 跟踪每一个活跃模型的6DOF的位姿.

  • step2.分割

对图像中目标进行分割, 有两种分割提示方式: 运动和语义标签.

运动分割:
	使用完全连接的`条件随机场`来实现模型化分割问题.[9]
	`一元势能编码将`像素与刚性运动模型相关联时产生的几何ICP成本. 优化之后,在分割图像中提取连接的分量。
	如果异常值所占据的连接区域具有足够的支持,则假定某个对象已进入场景,并生成了一个新模型并将其添加到列表中。

多类图像分割(语义分割):
	基于深度学习, 根据给出语义标签, 对目标实例进行分割.[17]

  • step3.融合

通过融合属于模型的点指示, 利用新估计的位姿, 去更新活跃模型的3D几何形状[8,13].

追踪和融合两个步骤可以在GPU上运行, 分割步骤在CPU上运行. 因此, 整个SLAM系统可以以每秒12帧, 以及5个不同目标模型来更新.

4. 实现细节解析

活跃模型包含的数据: 位姿, 法向量, 颜色color, 权重, 半径.

  • 跟踪活跃模型
对在时间t下输入的图像和活跃模型, 通过将当前深度图与上一时刻预测深度图进行校准, 跟踪其全局位姿;
仅针对特定的模型进行单独优化;
	基于ICP的几何校准+光度颜色目标函数;
	基于ICP的几何投影目标函数校准;
	基于光度误差目标函数
  • 运动分割
超像素(SLIC)分割[1, 18];
一元势能: 给出了超像素与标签的代价消耗;
多元势能: 

  • 目标实例分割
SharpMask[17].
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章