Hierarchical Attention Learning of Scene Flow in 3D Point Clouds 论文阅读笔记

Hierarchical Attention Learning of Scene Flow in 3D Point Clouds 论文阅读笔记

点云场景流中的多层注意力学习
发表时间:2021年
发表期刊:IEEE Transactions on Image Processing

CODE:暂未公开
Paper:https://arxiv.org/pdf/2010.05762.pdf

摘要

提出一个使用两个注意力的多层神经网络,学习相邻帧之间的点特征相关性,由粗到细逐层地细化场景流。提出一个more-for-less的多层次架构。意思是输入点数量比输出点数量多,从而带来更多的输入信息,平衡了精度和资源消耗。
多层架构分别生成和监督不同层次的场景流。引入了一种新的attentive embedding模块,采用double attention的方法以patch- to-ppatch的方式对相邻点的特征进行聚合。
实验表明在FlyingThings 3D 和KITTI Scene Flow 2015数据集上取得了SOTA结果。

1.Introduction

PointPWC-Net使用MLP从点的相对坐标中学习权值进行流嵌入。然而,相关权值并不仅仅由欧几里得空间决定。例如,在流嵌入过程中,树的树干中的一个点可能会搜索附近的汽车或墙壁中的点以及树的顶部的点。但树干中的点与汽车上的点更不相关,即使它们物理距离很近。因此,在场景流估计中考虑特征空间也是非常重要的。本文针对这一问题,提出了一种用于场景流估计的分层注意力学习网络,每个流嵌入中有两个不同的注意力。此外,用更多的点作为输入来估计较少点的场景流量,相比于较少的估计输入点,可以获得更宝贵的场景结构信息。
主要贡献:

  • 提出了一种基于连续两个三维点云的场景流估计的分层关注网络。在网络中,提出了一种针对两个连续点云的双注意流嵌入方法,并将其应用于场景流的分层注意学习。
  • 提出的分层关注网络具有新颖的more-to-less架构,以平衡精度和资源消耗。在流量嵌入中使用了更多的三维欧氏信息,提高了网络的性能。
  • 流动嵌入和流动监督的适当层经过仔细考虑,并在我们的网络设计中通过消融研究进行了演示。在FlyingThings3D的合成数据和KITTI的真实LiDAR扫描数据上的实验表明,该方法在3D场景流估计方面的性能大大优于目前最先进的方法。
  • 最后,在LiDAR测程任务中展示了我们的场景流网络的实际应用能力。该网络可以在不调整网络结构的情况下优于基于icp的方法。

3. problem definition

主要描述点云场景流估计是干嘛的,简单来说就是前后有两帧点云,场景流表示一组向量,代表着第一帧点云每个点是如何移动到第二帧点云,任务目标也就是要估计场景流。
值得注意的是两个帧中的点不需要有相同的数量或彼此对应,因为两个点云是在不同时间分别从环境中离散采样的。

4. method

4-A 多层特征编码

首先对两帧点云分别编码。对于每个点云,编码过程都是分层的,这也有利于通过“跳跃连接”对场景流进行分层细化。采用了PointNet++的set conv layer,由于点云在三维空间中的分布是不规则的,因此考虑每层的欧氏距离对点特征进行采集和编码。

特别的是第一个set conv层的n`个点是由初始点云的n个点随机采样来的,而之前的set conv层使用的是最远点采样法。(先前工作FlowNet3D第一个层使用的是最远点采样。原因将在4-D解释。)
采样点3D坐标是直接输出的,但特征提取方法如下
采用KNN算法,在这里插入图片描述

pjk是xi的k个近邻的坐标与特征的集合。然后通过shared MLP与最大池化层学习到局部特征fj`
在这里插入图片描述
shared MLP将特征维度由 c+3变为了c`,然后对K个点的每个特征维度进行max-pooling,将K个点的特征聚集为一个局部聚合点特征。在这里插入图片描述表示将两向量拼接起来。

4-B.Attentive Point Mixture

为了估计非对应点集上的场景流,需要对两个点集进行加权流嵌入,即通过pc2中的一些采样近邻点来估计pc1中每个流点的目标位置。

为了获得第一帧中每个点更大的感受野,同时利用两组点在3D欧氏空间中的结构信息,本文采用了一种patch-to-patch的方式,如图2所示,从两组点学习运动编码。
此外,我们希望更多地关注匹配的区域和特征,以找到正确的流动方向。为此,提出了一种新的点混合双关注嵌入层。
现有两个点云PC1和PC2分别表示前后两帧点云,xi,yj表示空间坐标,在这里插入图片描述 ,fi,gj表示对应每个点的特征。
在这里插入图片描述
O表示该层的输出,在这里插入图片描述 ,ei是一个学习流嵌入,对PC1中的点pi的点运动进行编码。
在这里插入图片描述
上面图二表示,对PC1中的每个点找m个最近邻,然后再对找到的每个点在PC2中找K个最近邻。公式如下:
在这里插入图片描述
将编码信息嵌入到在这里插入图片描述中,在这里插入图片描述更新为第一个流嵌入在这里插入图片描述(m=1,…,M)然后将得到的M个流嵌入在这里插入图片描述聚合到在这里插入图片描述然后更新点特征fi为最终流嵌入ei。最终输出为在这里插入图片描述
两个注意力嵌入的细节如图三所示。
在这里插入图片描述
在这里插入图片描述

4-C 多层次注意力的流细化

如图4每个流细化层分为这四部分:set upconv layer, position updating layer, attentive flow re-embedding layer, and flow correcting layer.

  • 1)set upconv layer(集合上卷积层)
    在这里插入图片描述
    该层通过一种可学习的KNN特征聚合方式,将流特征从稀疏点位置传播到密集点位置。它类似set conv层,但聚合的点坐标不是从输入点采样的。聚合点坐标直接来自分层点特征编码模块的原始密集点坐标。
    在这里插入图片描述
  • 2)Position Updating Layer(位置更新层)
    为了进行流动重新嵌入和流动校正,首先通过粗密集流在这里插入图片描述来更新PC1中的密集点位置。通过输入粗稀疏流的三个最近邻(3-nn)插值得到粗密集流。更新后的点云在这里插入图片描述
  • 3)Attentive Flow Re-embedding Layer(注意力的流重新嵌入层)
    基于位置更新层后第一帧更新的点云和第二帧更新的点云,采用与4-B节中的注意流嵌入层相同的方法生成流重新嵌入。作者将其称为“重新嵌入”,以突出在流细化模块中优化初始流嵌入的作用。该层的输出流表示为在这里插入图片描述
    流量重新嵌入是关于更新后的PC`1和PC2的,因此流量重新嵌入表示粗流后的“剩余流”。将流量的剩余部分和粗流量输入到以下流量校正器层,以进行流优化。
  • 4) Flow Correcting Laye(流矫正层)
    用于修正流嵌入。该层的操作为有四个输入的shared MLP层:1粗密集流嵌入
    在这里插入图片描述
    2上采样后的粗密集流
    在这里插入图片描述
    3重新嵌入流
    在这里插入图片描述
    4第一帧点云提取到的特征
    在这里插入图片描述
    输出为在这里插入图片描述
    再经过一个shared全连接层得到修正后场景流在这里插入图片描述
  • 5) The Architecture of a Flow Refinement Layer(流细化的体系结构)
    流细化层的概述见图4.
    输入是粗流嵌入、粗稀疏流和两帧的点云,输出是精细的场景流嵌入和精细的场景流。首先,将粗稀疏流嵌入输入到set upconv层,得到粗密集流嵌入。粗密集流由输入的粗稀疏流进行插值得到。然后,通过position updater更新PC1。利用更新后的PC`1和PC2进行了注意流重嵌入,得到了重新流嵌入。然后,将粗密集流嵌入、粗密集流、流重嵌入和PC1的特征输入到场景流校正器中,并输出细化的场景流嵌入。最后,通过全连接层对细化场景流嵌入进行细化场景流处理。
  • 6) The Architecture of the Hierarchical Attentive Flow Refinement module(层次注意流细化模块的体系结构)
    对于第一次流细化,初始粗密集流是由应用于第一个粗密集流嵌入的shared 全连接层生成的,该全连接层是从注意点混合模块的输出中设置的。然后,有三个流的细化层。最后,为了节省GPU内存,作者使用了一个设置的上行转换层和一个共享的FC层来估计最终的细化场景流
4-D more-for-less的层次注意网络架构

整个网络结构如图4所示。.所示网络的输入是来自两个连续帧的点云PC1和PC2,所提出的网络架构由三个模块组成:hierarchical point feature encoding分层点特征编码、 attentive point mixture注意点混合和hierarchical attentive flow
refinement分层注意流细化。层次点特征编码模块对PC1有三个set conv层,对PC2有四个set conv层。点特征编码模块的相同的金字塔级共享可学习的权值。点混合模块有一个注意嵌入层和两个集合转换层。在分层注意流细化模块中,有三个流细化层和最后一个流估计层(即set conv+shared 全连接层)。粗流由集合的上行流嵌入上的shared 全连接层 初始化。然后对粗流进行细化。所有的mlp都有批规范和ReLU激活。
在这里插入图片描述

4-E 注意力可视化的探讨

作者使用注意的权重来温和地softly估计场景流。与以往使用最大池化选择最大激活或仅使用相对位置编码进行加权的方法不同,使用基于关联特征和三维欧几里德特征的注意来对邻居信息进行两次加权。从图5中可以看出,越近的点并不一定是注意力越高的点,而来自相似结构的点的注意权重越高。更重要的是,实际上对应于中心黑点的查询点具有最高的注意权重,这与人类的直觉相一致。

5 实验

损失计算,实验监督了4个尺度的场景流,所以损失公式为四部分损失之和。
第一个SF表示gt,第二个表示预测的场景流
在这里插入图片描述

在这里插入图片描述
αl是l尺度损失函数的权重,作者α权重分别设置为在这里插入图片描述

6 总结

本文提出了一种新的场景流分层注意学习方法。受人类直觉的启发,提出的双注意流嵌入方法关注几个要点来温和地估计场景流。此外,还提出了一种新型的低成本网络架构来平衡精度和资源消耗。一系列的消融研究证明了作者的网络结构设置的有效性。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值