论文阅读:Permutation Matters: Anisotropic Convolutional Layer for Learning on Point Clouds

2020年7月17日 周五 天气晴 【不悲叹过去,不荒废现在,不惧怕未来】


Permutation Matters: Anisotropic Convolutional Layer for Learning on Point Clouds

置换问题:用于点云学习的各向异性卷积层

在这里插入图片描述

论文链接:https://arxiv.org/abs/2005.13135

这篇论文是我无意中从 Semantic 3D 的 benchmark 上看到,目前在 reduced-8 results 上排名第二,仅次于之前提出的 RandLA-Net。看了之后发现还挺有趣的,就想记录一下。

1. 摘要

在许多三维计算机视觉应用中,人们越来越需要在点云上进行高效的表示学习。卷积神经网络成功的背后是数据(如图像)是欧几里德结构的。然而,点云是不规则和无序的。已经开发了各种点神经网络,其具有各向同性滤波器或使用加权矩阵来克服点云上的结构不一致性。然而,各向同性滤波器或加权矩阵限制了表示能力。在本文中,我们提出了一种可置换的各向异性卷积运算(PAI-Conv),它根据球面上一组均匀分布的核点,利用点积注意计算每个点的软置换矩阵,并执行共享各向异性滤波。事实上,带有核点的点积类似于在自然语言处理(NLP)中广泛使用的Transformer中带有键的点积。从这个角度来看,PAI-Conv可以看作是点云的转换器,这在物理上是有意义的,并且可以与有效的随机点采样方法配合使用。在点云上的综合实验表明,与最新方法相比,PAI-Conv在分类和语义分割任务中产生了竞争性结果。

2. 个人对文章的概括

论文中主要提出了一种点云的置换各向异性卷积算子(PAI-Conv),简单来说就是:

点云在空间中的分布是无序的,不像二维图像那样,每个像素规则的排列在一个个小网格中。因此,先对每个点云的邻域进行重排序,使邻域变成像二维图像那样规则的结构,然后利用传统的CNN进行处理。具体做法如下:首先利用Fibonacci格生成一组均匀分布在球面上的核点;然后对于每个点,计算其邻域与核点之间的点积,并应用sparsemax得到稀疏软置换矩阵,利用稀疏软置换矩阵对局部邻域进行重新排序,使每个点云的邻域遵循由核点方向决定的规范顺序;最后与传统CNN相似,在卷积邻域上应用各向异性滤波器来提取点云的局部特征。

个人感觉这篇论文的思想类似于PointCNN做法类似于KPConv。文章的整体思路并不难理解,但是提出了一些图像处理和NLP领域的概念做类比,首先要把这些概念搞清楚。

3. 概念理解

这部分内容主要是对文章中出现的一些概念进行解读,如果觉得直接看很无聊的话可以先看第四部分文章内容的理解,然后遇到不明白的概念在回来查阅即可。

3.1 Fibonacci lattice(菲波那契网格)

据文章所说,球面上均匀分布的核点是通过等面积投影将Fibonacci格[12]映射到球面上,得到的,具体的样子如下图所示。
在这里插入图片描述
关于Fibonacci格我上网搜了很久,都没搜到是什么。只能去看文章的引文[12],
发现引用的是一本1987年出版的名叫“数学”的书《Mathographics》。然后我就千方百计的从网上下载了这本书的电子档,但是从前到后翻了一遍后,只在某一页发现了下面这样一段话包含Fibonacci:撒旦发射点
最后两句话的翻译是:C = T = 1.618 034是使多边形均匀堆积的唯一选择。在这种情况下,二次螺旋出现在斐波那契数字中:1、2、3、5、813、21、34、55,…

然后在后面发现这样一幅图,和论文里的图十分相似。
在这里插入图片描述
根据我个人的理解,感觉Fibonacci格就是按照Fibonacci数字规律构成的网格,然后按照论文中所说的——“通过等面积投影将Fibonacci格[12]映射到球面上”,就得到了均匀分布的核点。后来,我在知乎的一篇名为《10560 怎样在球面上「均匀」排列许多点?(上)》文章里也发现了利用Fibonacci网格在球面上均匀排列许多点,看来这种做法并不少见。

3.2 dot product attention(点积注意力)

文中提到的dot product attention 概念来自于NLP领域的一篇论文《attention is all you meed》中的Transformer模块中的scaled dot-product attention,在这里不对scaled dot-product attention做深究,只简单讲一下dot-product attention。

在NLP领域,attention函数的本质可以被描述为一个查询(query)到一系列(键key-值value)对的映射,如下图所示。
在这里插入图片描述
在计算attention时主要分为三步:

  • 第一步是将query和每个key进行相似度计算得到权重,常用的相似度函数有点积,拼接,感知机等;
  • 第二步一般是使用一个softmax函数对这些权重进行归一化;
  • 最后将权重和相应的键值value进行加权求和得到最后的attention。

目前在NLP研究中,key和value常常都是同一个,即key=value。在我理解,因为Transformer模块中的attention使用点积(dot product)作为相似度函数,所以称为dot product attention。

我个人认为,广义上的attention本质上就是一种自动加权机制,它认为重要的部分权重分布高,它认为不重要的部分权重分布就低。在3D点云领域,attention常常用在特征或特征通道的加权,如RandLA-Net中的Attentive Pooling,就是在池化的时候,通过MLP计算相似度得到一组权重,然后对特征进行加权求和,得到池化后的特征。

3.3 sparsemax 和 sparse soft-permutation(稀疏软置换矩阵)

sparsemax的概念来源于一篇论文《From Softmax to Sparsemax: A Sparse Model of Attention and Multi-Label Classification》。我们都知道,softmax的作用是将神经网络的输出转换成概率分布,而sparsemax的作用与softmax类似,不同的是sparsemax的输出不再平滑,头尾都被“截断”了。
在这里插入图片描述
经过sparsemax后,就得到了稀疏软置换矩阵,我的理解是:这里置换矩阵的意思就是它可以将邻域的点置换成规范的顺序,的意思就是矩阵里的值是概率分布,不是非0即1,稀疏的意思就是经过sparsemax后,由于截断机制,矩阵变的稀疏。这里讲的可能不是很清楚,看了下面论文里的例子后,就会明白这里所说的含义了。

3.4 各向异性滤波器

各向异性是一个物理概念,指的是:物质的全部或部分化学、物理等性质随着方向的改变而有所变化,在不同的方向上呈现出差异的性质。

对图像来说,各向异性就是在每个像素点周围四个方向上梯度变化都不一样,滤波的时候我们要考虑图像的各向异性对图像的影响,而各向同性显然是说各个方向的值都一致,常见的图像均值或者高斯均值滤波可以看成是各向同性滤波。

对点云来说,我的理解是各向同性就是对每个点云一视同仁的进行处理,例如PointNet中的MLP,对每个点云进行一维卷积。而各向异性就是考虑了点与点之间的位置关系,各向异性作用于空间中不同分布的点云时,所得到的结果也不一样。

4. 文章内容理解

4.1 Related Work

这部分内容主要是将本文提出的部分框架以及之前的一些框架与Transformer模块中的dot product attention部分进行对比,试图找出它们之间的一些相关性。
在这里插入图片描述

图1. 体系结构与现有方法的比较

首先看下图1(a),之前在3.2节已经讲过dot product attention,基本就对应着图1(a)的内容。在我看来,图1(a)中蓝色方框内的dot product attention指的是通过点积进行相似度识别。

图1(b)对应着本文提出的邻域重排部分,这里用Local position(我理解是局部坐标)代替Query,用Kernel (fixed)(固定的内核点)代替Key,用Feature(点云特征)代替Value,这里的dot product attention指的也是使用点积的方法进行相似度识别,然后经过sparsemax激活函数就得到了稀疏软置换矩阵,最后将特征与稀疏软置换矩阵相乘,就完成了邻域点的重新排序。

图1©是KPConv框架的一部分,与本文相同的是,使用的都是固定的核点,但是在获取权重时有所不同,KPConv是基于邻域点和核点之间的欧氏距离计算得到的权重。

图1(d)是PointCNN框架的一部分,与(b)、©图不同的是,PointCNN使用的是可学习的权重,其实就是对局部坐标通过MLP进行学习,这里用dot product attention我觉得有点不妥,PointCNN明明没有用到点积的概念,非要说attention的话,得到的X矩阵勉强可以说是权重。PointCNN就是希望通过X矩阵把无序点云置换成潜在的规范顺序。本文的思想有借鉴PointCNN,另外,KPConv在一定程度上也有把邻域点置换成规范的固定核点的意味,不过作者也说了:“这些方法没有明确解释为什么从输入点学习的变换或从核点计算的加权矩阵可以将不规则点云重新排列成规则和结构化的数据,使得各向异性滤波器能够生效”。作者认为——“本文提出的PAI-Conv被设计为显式地对邻居进行重采样和重排序,并且在物理上是有意义的。”

图1(e)是RandLA-Net框架的一小部分,主要就是Attentive Pooling这一块,在池化的时候通过MLP作用于点云特征自动地学习到一组权重࿰

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值