[论文笔记]Learning To Explore Using Active Neural Slam
该研究提出了一种结合学习方法与传统方法的 novel exploration framework, 称为 Active Neural SLAM (ANS), 用于室内环境导航与探索任务。该方法通过迁移学习将长期目标转化为短期目标, 并结合神经SLAM模块实现对未知环境的高效导航与空间建模。实验在 Habitat 模拟器和 Gibson 数据集上进行, 采用 PPO 策略进行强化学习训练, 并通过多组对比实验验证了 ANS 在小场景下对探索效率的显著提升, 同时有效避免了传统方法在大场景中的局部最优问题。此外, 该框架还适用于目标点导航任务, 在 CVPR 2019 挑战赛中取得了优异成绩。
LEARNING TO EXPLORE USING ACTIVE NEURAL SLAM
Homepage: https://devendrachaplot.github.io/projects/Neural-SLAM
Repository: https://github.com/devendrachaplot/Neural-SLAM
本文旨在结合学习方法与传统方法的优势,在探究室内环境的空间结构规律的基础上提出了一种创新性解决方案。其核心理念在于通过探索实现尽可能广泛的覆盖范围,并在此过程中主要采用了将长期目标分解为短期可执行阶段的具体策略。为了提升姿态估计过程中的鲁棒性问题,在此过程中特别强调了对局部优化策略的应用效果研究。运用迁移学习技术将其转化为具体的目标导向型长期规划方案。
INTRODUCTION
导航可划分为点式任务:定位至特定坐标位置;基于语义的理解与定位:识别出或定位到目标场景或实体的位置信息。
未知环境中导航的核心问题是探索,即如何有效地访问尽可能多的环境。
2019年就有人使用端到端学习来解决这个问题,而学习的方法优点在于:
·比起经典方法,其输入的形式更灵活;
·提高对错误的鲁棒性;
·学习可以有效地利用现实世界的结构规律,在未知环境中有更好的效果。
虽然将探索问题被视为一个完整的端到端学习体系可能会面临巨大的计算负担以及对大量数据的依赖。采用这种完整的方式在计算资源和数据需求上都可能显得力不从心。
Tao Chen, Saurabh Gupta, and Abhinav Gupta developed navigation strategies through policy learning in the ICLR conference proceedings in 2019.
本文所提出的方法继承了传统学习方法的优点,并且避免了其不足之处。关键概念是采用学习的方法进行学习:
·室内环境的结构特点;
·对状态估计误差的鲁棒性;
·对输入方式的灵活。
该导航机制能够有效应对各种原始感官输入数据,并在实际应用中展现出对于状态估计误差的抗干扰能力。此外,在真实世界环境中的布局规律上具有良好的适应性和稳定性。
TASK SETUP
基于Chen等人的研究框架,在限定时间内实现最大范围的区域探测。其中,覆盖区域特指在已知可通行区域内能够被有效探测和利用的最大面积。
本文旨在训练一种策略。其输入数据是在每个时间点t对应的观测状态s_t;其输出对应于使导航覆盖区域达到最大化的动作a_t。
本文旨在训练一种策略。其输入数据是在每个时间点t对应的观测状态s_t;其输出对应于使导航覆盖区域达到最大化的动作a_t。
本研究采用Habitat仿真器及Gibson与Matterport提供的数据集开展实验。这些数据集均基于真实世界场景构建。为实现策略在实际环境中有效迁移的目的,在真实环境下引入了相应的噪声建模机制。鉴于真实环境中的不可避免噪声干扰,并引入了相应的噪声建模机制。
以(x,y,o)的形式表示代理的姿态,在其中x和y代表位置坐标而o代表代理的方向时,我们假设起始点为p_0=(0,0,0)。考虑预期姿态p_1=(x^*, y^*, o^*)时,则其噪声即为实际操作与预期操作之间的差异量。

同样地,在位姿估计中也同样存在噪声影响。其中p_1表示实际位姿状态量值,则p_0代表初始位置下的基准态信息量。此外,在这一过程中引入的不确定因素主要体现为:其中p_1是基于观测设备所得的估算结果;而p_0则反映了真实状态下该物体的姿态信息。

为了深入研究动态系统中的导航与传感器噪声建模问题,在本研究中我们采用了三种典型的基本操作作为实验数据集的基础构建方法:第一种操作定义为前向运动,在固定点持续向前移动25厘米;第二种操作称为右旋,在当前姿态基础上围绕自身轴顺时针方向旋转10度;第三种操作则为左旋,在当前姿态基础上围绕自身轴逆时针方向旋转10度。
对应的控制命令为


针对每一个动作a的动作噪声和传感器噪声各自独立地估计一个单独的高斯混合模型。从而建立总共6个这样的高斯混合模型。每个子组件都是一个三维空间中的三个坐标轴的位置参数构成的多元正态分布。
本文的方法
本文的模型包含四个组成部分:地图信息、神经SLAM模块、全局策略以及局部策略。
下图所示。

Map Representation
空间地图m_t是一个2M \times M的矩阵,在其维度为M \times M的空间中展开讨论。具体而言,在第一个通道中记录的是每个位置上出现障碍物的可能性,在第二个通道中则记录了该位置被探测的可能性。当且仅当某个单元判断为自由空间或者存在障碍物时,则该单元被视为已经被探测到了。
Neural SLAM Module
产生自由空间地图(free space maps)
由RGB图像 s_t 给出,在时间步t处获取近期两个传感器获取的位姿信息x'_{t-1,t}后,系统将执行上一时刻的状态估计值\hat{x}_{t-1}及其对应的地图估计m_{t-1}的任务。
由RGB图像 s_t 给出,在时间步t处获取近期两个传感器获取的位姿信息x'_{t-1,t}后,系统将执行上一时刻的状态估计值\hat{x}_{t-1}及其对应的地图估计m_{t-1}的任务。
输出为 更新的地图 ,和当前的位姿估计值m_t,\hat{x}_t


其中\theta_S表示神经SLAM模块的可训练参数。
该模块由一个映射器(Mapper f_{map})生成一个自顶向下的二维空间地图,默认基于自身中心进行规划;其中p_t^{ego} \in [0,1]^{2×V×V}中,变量V代表视野范围,并用于预测当前观测中的障碍物和探测区域。
该算法利用位姿估计器f_{PE}对当前位置进行精确预测。
该算法的本质在于通过比较前后两个框架内自映射生成的位置数据来计算出它们之间的相对姿态变化。
随后, 通过姿态估计器所得到的姿态信息结果来进行坐标系转换操作。
最后一步中, 自映射生成的地心坐标系中的位置信息会被整合到全局空间地图m_{t−1}中去综合构建出完整的当前空间布局图。
Global Policy
基于姿态的自由空间地图的基础上,并通过学习算法来识别真实环境布局中的固定模式从而生成长期目标。这些长期目标被用来构建本地策略下的短期目标(借助几何路径规划器)。整体策略能够充分利用真实环境布局中存在的规律性特征。整体策略主要依赖于预判的地图信息以及代理姿势以制定长期目标。通过路径规划算法将这些长期目标转化为具体的短期执行计划。
输入形式为 h_t \in [0,1]^{4M\times M} ,其中前两维度为SLAM模块生成的空间地图 m_t 。第三维度代表当前位置信息,在此过程中用于定位;第四维度记录访问位置信息,在此过程中用于路径规划。

Planner
输入为长期目标gl_t,空间障碍地图m_t,和位姿估计\hat{x}_t
输出为短期目标 g^s_t
基于Fast Marching Method(Sethian, 1996)从当前位置到长期目标位置寻找最短路径。将未被探索区域视为规划过程中的自由空间。
Local Policy
将当前RGB图像s_t和短期目标gs_t作为输入,并输出一个导航动作a_t
请添加图片描述
在将信息传递给本地策略之前,在计算出与代理位置之间的距离和方向角后, 将这些数据传递给局部处理者.
实验设置:
基于Habitat仿真器的研究环境中,在两个不同的数据集中开展实验:即分别在Gibson和Matterport/MP3D数据集中进行实验研究。其中Gibson主要包含办公室场景这一类场景模型;而MP3D则主要包含家庭环境相关场景模型。具体而言,在实验设置上采用了以下方式:将Gibson用作训练与测试数据集的基础构建框架;而将MP3D用作泛化测试数据集来验证模型性能表现。值得注意的是,在整个实验过程中所使用的Gibson 数据集合是未公开的,并采用在线平台进行验证工作以确保结果的透明度与公正性
观察空间由大小为3×128×128的RGB图像以及尺寸为3×1的基础里程计传感器读数组构成,这些数据用于反映试剂在x-y平面上的位置信息以及运动方向的变化情况。
动作空间由三个动作组成:前进、左转、右转。
主要任务是在限定时间段内最大限度地扩大覆盖区域。覆盖区域是指地图上可通行区域的最大面积。我们将一个可通过的点定义为:该点位于代理视野范围内且距离小于3.2米时,则该点属于可通行区域。
评估指标: 覆盖范围的面积 (m^2)
覆盖范围的百分比 (%)
为了考察所有模型在探索范围维度上的性能表现(链接: 个小场景(具体包括 个不同环境布局),其覆盖范围在 至 平方米之间;而另一个大规模组别则整合了 大规模环境配置(涵盖 个独特空间类型),其探索区域扩展至 至 平方米的空间范围。
Mapper:用于预测以自我为中心的投影
Pose Estimator: 预测代理姿态
使用强化学习对全局政策进行训练,奖励与覆盖范围的增加成比例,
而局部策略使用模仿学习进行训练,
对比策略
Baselines :
使用端到端强化学习方法作为 baseline
RL+3LConv :
RL Policy with 3层卷积 再接GRU,(ICCV_2019)
RL+Res18
RL Policy with 在 ImageNet 预训练的ResNet18 再接GRU
RL + Res18 + AuxDepth :
源自Mirowski团队在ICLR 2017年的研究中提出了一种方法。该系统采用深度估计模块作为补充任务,并借鉴本文中的神经SLAM模块架构设计。其中引入了一个额外的反卷积层用于深度估计,并通过三层连续卷积和GRU策略进行后续处理。
RL + Res18 + ProjDepth :
根据Chen等人的研究(ICLR_2019)进行优化后的方法中,在非RGB空间中通过层次递进的方式将深度信息映射至该空间作为Reinforcement Learning(RL)策略的输入。鉴于本文的研究框架未直接引入深度信息这一假设,在模型架构设计时采用了Reinforcement Learning、ResNet-18(Res18)以及辅助深度估计模块(Auxiliary Depth Estimation)相结合的方式来推断空间分布特性。该架构在经过第三层卷积层(Conv3)和GRU策略处理前进行了初步的深度预测步骤。
姿态传感器的信号 embedding 至32维,使用端到端RL进行embedding。
所有基准模型被采用Proximal Policy Optimization(PPO)进行训练。
reward也是覆盖面积的增加,
训练在 Gibson的一千万帧图像上进行,共14个不同的场景,

表现都更加优异的原因是 :分级策略要优于多个低级导航操作。
如图所示,在小规模环境中仅限于500步左右的实验结果表明ANS能够完成完全的探索。相比之下,在1000步时其他方法仅能达到85%至90%的探索率。这表明ANS在小型场景中的搜索效率显著优于其他方法。
在大规模的环境中时, baseline 通常会被局限在一个局部区域,这会导致探索效率难以提升,进而表明这类方法无法实现长时间内的知识积累和长远策略的制定.相比之下,ANS则通过全局规划机制实现了对长期信息的记忆能力,并不仅能够实现对长期的记忆,还能够高效地达成相应的长期目标.

可视化:

消融实验

Real-world 实验

目标点导航
对于给定目标位置的导航。
本文所提出的ANS方案可直接应用于目标点导航任务。通过将全局策略的长期目标定位为特定目标点来实现,并结合用于探索任务训练的局部策略及神经SLAM模块。该方法已在CVPR 2019年Habitat Pointgoal Navigation Challenge中取得优异成绩。
