EMPNet: Neural Localisation and Mapping Using Embedded Memory Points,2019

EMPNet: Neural Localisation and Mapping Using Embedded Memory Points,2019

澳大利亚莫纳什大学,定位和建图

作者使用CNN作为底层的特征提取器,然后通过计算距离矩阵来进行对应点匹配,然后执行最优化算法,将观测点融合到记忆数据中。但是距离矩阵的计算复杂度是线性的,意味这算法实时性只有在短期记忆时能够的得以保证。

总结:

作者指出能够实现完全自动的agent都需要解决一个问题,那就是将之前的观测集成到当前的状态估计中。 这就需要使用一个存储器模块来合并先前访问过的状态,同时提供所观测环境的内部表示。

本文作者提出了一个记忆模块,包含刚性对齐的point-enbeddings,该嵌入能够表达从RGBD序列输入观测到的连贯场景结构信息。其中,由深度神经网络得到point-enbeddings, 并通过计算新观测值和存储模块中当前嵌入的密集对应矩阵来执行对齐。

整个框架是端到端可训练的,导致训练时反复联合优化内存中包含的点嵌入。这一过程放大了状态之间的共享信息,提高了鲁棒性和准确性。

相关介绍:

对于全自动的agent,空间感知性和场景理解能力是其核心能力,但是现有深度学习的成果并没有很好的转化到这两个方向。目前,该方向的交叉领域也是研究的热点。

传统SLAM通过关键帧来维护内部表示,事实上,为了提取局部结构信息,密集表示更加适合这种任务和现有的深度学习方法。

本文将3D对应点的匹配问题视为一个交叉熵优化问题。匹配上的3D points 对之间的概率记为1,否则记为0.

论文方法介绍:Embedded Memory Points Network

EMP-net 结构图:

在这里插入图片描述

SSMM:系统的核心记忆单元(the Short-term Spa-tial Memory Module)

SSMM包含两个部分,记为M_f(表示存储的embeddings)和M_c(表示对应的3D points)

EMP-net简介:

对于t时刻的RGBD观测输入x_t ( h,w,4):

  1. 使用CNN输出embeddings :h_tf (Nr,n),Nr为embedding的数目,n为通道数。通过相机内参和深度信息得到每个embedding对应的点云坐标h_tc(Nr,3)。
  2. 计算当前的embeddings h_tf 与记忆模块中的embeddings M_t-1,f 的距离,得到距离图D_tf(Nr*b,Nr),b表示M的buffer size(即记忆模块中存储的t-1时刻的观测的数量,每个观测包含Nr个embedding)
  3. 通过 column-wise softmax操作将距离图转换为置信图L_tf(Nr*b,Nr),并获得权重向量W_t(Nr)。这样系统就可以通过加权最小平方公式 来优化当前观测点云h_tc和对应记忆中的匹配M_tc之间的相对位姿T_t(SE3)
  4. 最后,更新记忆模块:
    • 使用h_tf 填充M_t-1,f,得到更新后的M_tf
    • 通过预测位姿 T_t 将降采样的点云 h_tc 的坐标由 egocentric coordinate 转换为M_t-1,c的坐标系中,然后把h_tc融合到记忆M_t-1,c中,得到更新后的M_tc
1. Extracting Point Embeddings

CNN 使用U-Net,具体见论文P5.

使用CNN 提取Embeddings: 输入为x(h,w,4),输出为x’(h’,w’,n).

然后将其与对应的3D点云联系起来,具体的:

  • 把深度图D(h,w)通过双线性降采样resize到embedding的大小D’(h’,w’),然后计算出每个点在 egocentric camera 坐标系中的3D坐标:

    在这里插入图片描述其中K为内参, 在这里插入图片描述,
    最后通过关系Nr = h’*w’,将x’ 和Pc分别resize到(Nr,n),(Nr,3),即为h_f,h_c.

2. Short-term Spatial Memory Localisation

这里解决如何将得到的h_f与短期记忆M_f进行匹配的问题。论文提出了一种源于ICP算法的损失函数。

计算距离图(矩阵): 在这里插入图片描述
计算置信度图(矩阵): 在这里插入图片描述

使用交叉熵优化置信度矩阵: 在这里插入图片描述
Lgt是置信度矩阵对应的真值

3.Best-fitting of Weighted Correspondences

该步骤将之前的得到的 L_f 应用于加权最佳拟合算法中:

  1. 权重: 在这里插入图片描述, 代表匹配的置信度
  2. M_c中对应于h_c [ j, .] 的index: 在这里插入图片描述, 用于将M_c中的d点云与h_c中的点云对齐

最后利用加权最佳拟合方法,计算egocentric coordinates 的点云hc与Mc中的点之间的相对位姿。

  • 加权最佳拟合算法:

    给定两个点集p(M,3),q(M,3),以及权重向量w(M,),计算出其刚性变换:
    在这里插入图片描述
    具体的,首先使用归一化坐标:
    在这里插入图片描述
    在这里插入图片描述
    定义 在这里插入图片描述,根据SVD分解: 在这里插入图片描述

    最后得到 在这里插入图片描述

在这里插入图片描述

T= [R,t] 即为h_c与M_c之间的位姿变换,最后使用 h′c=T * h_c来填充M_c.

最后的损失函数: 在这里插入图片描述

实验:

根据损失函数Lc和损失函数Loss,分别训练两个模型,EMP-Net和EMP-net+pose

对比模型有:DeepVO,MapNet,ENG,ORB_Slam2

数据集: VIZDoom(合成环境), Active Vision Dataset (真实数据)

评估metric: Average Position Error (APE) ,Average Trajectory Error (ATE)

对于长序列数据,由于其累计误差,APE会比较高,因此实验时需要同时对长序列和短序列进行实验.

在这里插入图片描述

在这里插入图片描述

由图4,8可知EMP-Net+pose模型随着数据长度的增长APE增加的最慢。

在这里插入图片描述

在这里插入图片描述

综上,该模型取得了SOTA的性能

未来工作

作者希望能够解决在更长序列数据输入时计算距离矩阵的计算量的线性增长问题。

有可能的方案是使用非稠密的方法:最近邻搜索或生成词汇树,然后将其集成到深度学习框架中。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值