首页 > 其他分享 >论文阅读:Transformer for 3D Point Clouds

论文阅读:Transformer for 3D Point Clouds

时间:2023-11-06 10:36:40浏览次数:43  
标签:Transformer Clouds Point 变换 邻域 三维 卷积 变换器 点云

Transformer for 3D Point Clouds

摘要

深度神经网络被广泛用于理解三维点云。在每一个点卷积层,特征从三维点的局部邻域计算出来,并结合起来进行后续处理,以提取语义信息。现有的方法在整个网络层中采用相同的单个点邻域,由固定的输入点坐标的相同度量定义。这种常见的做法很容易实现,但不一定是最佳的。理想情况下,不同层的局部邻域应该是不同的,因为更多的潜在信息是在更深的层被提取的。我们提出了一种新颖的端到端方法来学习输入点云的不同非刚性变换,以便在每一层都能采用最佳的局部邻域。我们为三维点云提出了线性(仿生)和非线性(投影和可变形)的空间变换器。在ShapeNet零件分割数据集上使用空间变换器,该网络在所有类别中都取得了更高的准确性,特别是在耳机和火箭上有8%的增益。我们的方法在其他点云任务上的表现也超过了最先进的水平,如分类、检测和语义分割。可视化显示,空间变换器可以通过根据三维形状的几何和语义动态地改变局部邻域来更有效地学习特征,尽管它们在类别中存在差异。

1 引言

随着更多先进的三维传感器和计算算法的出现,三维计算机视觉一直在上升。深度相机和LiDAR传感器输出的3D点云,成为一些3D计算机视觉任务的关键组成部分,包括但不限于虚拟/增强现实[1], [2], 3D场景理解[3], [4], [5], 和自主驾驶[6], [7], [8]。

在算法方面,卷积神经网络(CNN)已经在许多计算机视觉任务中取得了巨大的成功[9], [10]。然而,卷积的概念不能直接应用于点云,因为三维点不是具有规则邻域的规则网格上的像素。一种方法是将三维点云转换为CNN容易适用的表示方法,例如,常规体素表示方法[11], [12], [13]或二维视图投影[14], [15], [16], [17]。

另一种方法是开发能够直接处理点云的网络结构[18], [19], [20], [21]。类似于二维像素的卷积,三维点的卷积需要首先识别单个输入点周围的局部邻域。这一步是通过计算所谓的点亲和矩阵实现的,即从点云构建的密集图的邻接矩阵。然后,这些邻域被用于提取具有点卷积的特征。通过堆叠基本的点卷积层,神经网络可以从点云中提取信息,抽象程度越来越高。

然而,与图像不同的是,二维像素被布置在一个具有简单和明确的局部邻域的规则网格上,三维点的局部邻域是不明确的,并且受到三维形状的各种几何变换的影响。大多数方法[18]、[19]、[22]、[23]将局部邻域定义为输入三维点坐标的欧几里得空间中的最近邻居。

这种根据固定的输入三维点坐标上的欧氏距离来定义近邻图的常见做法可能很简单,但不是最佳做法。首先,这种距离可能无法有效地编码三维形状的语义,例如,就欧氏距离而言,语义上或拓扑上较远的点可能在空间上是接近的。其次,整个网络的固定邻域可能会降低模型的学习能力,因为不同的层在不同的抽象水平上捕捉信息,例如,物体有一个自然的层次,为了分割出它们的部分,为不同的层提供在不同空间尺度上解析它们的能力会更有效。

我们建议通过动态学习局部邻域和在不同层转换输入点云来解决这些固定点邻域限制。我们使用一个参数化的模型,将点坐标和学习到的特征作为输入来学习点亲和矩阵。在网络的不同层,我们学习几种不同的变换(以下称为空间变换器或变换器,图1)和相应的点局部邻域(图2)。空间变换器允许网络在每个深度层自适应地学习覆盖不同空间扩展的点特征。为了对点云进行空间转换,我们学习一个函数F,从输入的点坐标和特征图生成转换后的点坐标。然而,在没有平滑度约束的情况下学习F是不容易的。由于任何等距(如刚性)变换不能改变距离度量,我们考虑非刚性变换,包括线性和非线性系列。也就是说,我们的空间变换器是以输入点坐标P和特征图F为条件的参数化函数;它们随后被用来变换点坐标,产生一个新的点亲和矩阵,以获得动态局部邻域。我们考虑三个系列的空间变换器。(1)] 仿射变换P ->AP,其中A是一个仿射矩阵。(2)] 投射变换器,其中是用同质坐标表示的三维点。[3] 可变形变换器,其中C,D是点坐标和特征F各自的变换矩阵。变换取决于输入点坐标和点所承担的特征。

我们的工作有以下贡献。 我们提议为新的点亲和矩阵学习线性(仿生)和非线性(投影、可变形)空间变换器,从而在整个神经网络中学习动态的局部邻域。 我们证明,我们的空间变换器可以很容易地添加到现有的点云网络中,用于各种任务:分类、检测和分割。 我们将空间变换器应用于各种点云处理网络,对点邻域采用基于点和基于采样的指标,并观察到动态图比固定图的性能增益。

论文阅读:Transformer for 3D Point Clouds_卷积

图1. 空间变换器在每一层学习几个全局变换以获得不同的局部点邻域。我们展示了由空间变换器为一个类别的不同实例(如桌子)学习的不同层的变换点云。与以前采用固定的局部邻域的工作相比,动态的点邻域使网络在从点云中学习语义方面更加强大。例如,即使存在较高的类内空间变化,相应的几何变换也能捕获类似的语义信息。第1层的第二个转化器将不同的表进行变形,使其在语义上更加相似,并使表基部分的解析更加容易。此外,提议的变换器是一个独立的模块,可以很容易地添加到现有的点云处理网络中。

论文阅读:Transformer for 3D Point Clouds_卷积_02

图2. 在每一层,我们应用多个空间变换器对输入点云进行变形以学习不同的邻域。我们展示了带有和不带有可变形变换器的输入点云的局部邻域。不同的颜色表示不同的邻域,而强度表示与中心点的距离。动态邻域增强了网络对具有较大空间变化的物体的学习能力。旋转桌子和耳机以获得更好的视觉效果。

2 相关工作

我们讨论相关工作,这些工作促使我们提出的空间变换器的必要性。

基于视图的方法将三维形状投射到二维平面,并使用来自多个视图的图像作为表示。利用CNN在图像处理中的优势[14], [15], [24], [25], 基于视图的方法实现了合理的3D处理性能。然而,当三维点被投射到二维图像平面时,关于三维结构的某些信息会丢失;因此,闭塞的表面和密度变化对这些方法来说往往是麻烦的。

基于体素的方法将三维形状表示为常规三维网格上的体积数据,并进行三维卷积[11], [26], [27]。它们的缺点是量化伪影(quantization artifacts),对三维体素的使用不充分,以及由于需要大量内存而导致的低空间分辨率。此外,三维卷积不偏重于表面属性的提取,因此不能有效地捕获几何和语义信息。最近应用不同分区策略的工作[12], [13], [27], [28]缓解了这些问题,但严重依赖边界体积细分而不是局部几何形状。在合同中,我们的方法直接在三维点云上工作,使几何信息损失最小,处理效率最高。

点云处理方法将点云作为输入,通过点卷积提取语义信息。PointNet[18]直接学习每个三维点的嵌入,并在以后通过汇集点的特征来收集这些信息。尽管它在当时取得了良好的性能,但由于每个局部邻域只包含一个点,所以PointNet并没有学习任何三维局部形状信息。PointNet++[19]通过对点云的多个子集采用分层应用孤立的三维点特征学习来解决这一缺陷。许多其他工作也探索了利用点云的局部结构学习的不同策略[22],[23]。SplatNet[29]不是寻找每个点的邻居,而是从采样的角度对局部结构进行编码:它基于包络面格子[30]对点进行分组,然后应用双边卷积[31]进行特征学习。超级点图[32]将点云划分为超级点并学习三维点的几何组织。许多工作集中在给定三维点局部邻域的情况下设计新的点卷积[19], [23], [29],忽略了局部邻域应该如何形成。

与二维图像中的像素不同,三维点云中的点是无序的,具有不规则和异质的邻域;因此不能应用常规的卷积操作。许多工作[22]、[23]、[33]、[34]、[35]、[36]旨在设计类似常规二维卷积的点卷积操作。固定的输入点坐标被用来定义点卷积的局部邻域,导致不同层的局部邻域相同,限制了模型的处理能力。相比之下,我们的工作在每一层使用空间变换器,以一种更适应、更灵活、更有效的方式学习动态的局部邻域。

空间转换。在神经网络中实现空间转换的想法已经在二维图像理解中得到了探索[37]。将这个想法扩展到三维点云是很自然的。PointNet[18]在输入点云上采用了一个刚性变换模块,以剔除物体的姿势并提高分类精度。KPConv[38]在点卷积的附近应用局部变形,以提高其学习能力。相比之下,我们的工作是学习几种不同的全局变换,在每一层的输入点云上应用动态邻域。

论文阅读:Transformer for 3D Point Clouds_点云_03

图3. 几何变换。我们说明了一个灰色的正方形在经过刚性、仿生、投影和可变形的变换后是如何变换的。

3 方法

我们首先简要回顾了不同的几何变换方法及其对点云数据亲和矩阵的影响,然后描述了我们三个空间变换器的设计,即[(a)]仿射、[(b)]投影和[(c)]可变形。我们将由多个空间变换器组成的空间变换器块应用于网络的每一层,以改变局部邻域,从而更好地学习点特征。在本节的最后,我们介绍了如何将变换器添加到现有的点云处理网络中以及与其他工作的相关性。

3.1 几何变换

我们建议对输入的点云进行变换学习,以改变其几何形状,并通过新的点亲和矩阵改变局部邻域。使用几何变换的假说如下。

假设1.让P为输入点云,让Ni为周围的局部邻域,我们从中提取局部特征。让N是本地邻域的集合。

本质上我们要用不同类型的几何变换来近似F,新学习的亲和矩阵将动态地改变局部邻域,以便更好地学习特征。如图3所示,变换可分为刚性变换和非刚性变换,后者又可进一步分为线性变换和非线性变换。我们现在讨论不同的空间变换。

刚性变换。刚性变换组由平移和旋转组成。然而,刚性变换是等距的(在L2距离中),因此保留了点的亲和矩阵。因此,就k-NN图而言,局部邻域对刚性变换是不变的。因此,我们不考虑刚性变换。

仿生变换。仿生变换属于非刚性的线性变换。考虑一个三维点云,由N个三维向量组成。然后,一个仿生变换可以由一个可逆矩阵A和一个平移矢量b 来参数化。给定A;b,仿生变换后的坐标pi可以写成

论文阅读:Transformer for 3D Point Clouds_邻域_04

注意,平移b不会改变点的亲和矩阵和点的邻域。回顾一下,仿射变换保留了碰撞性、平行性和凸性。

投影变换。投影变换是非刚性的非线性变换。我们首先将三维点云P映射到同质空间并得到论文阅读:Transformer for 3D Point Clouds_邻域_05,通过在最后一个维度上添加单向量。投射变换的参数是和被变换的点。与仿射变换相比,射影变换有更多的自由度,但不能保留平行性。投影变换保留了碰撞性和入射性,因此不能捕捉所有可能的变形。例如,位于同一条线上的点总是被映射到一条线上,而这种约束可能是过度的限制。如果这些点来自不同的语义类别,能够打破这种约束是很有意义的。一个涵盖各种变形的更普遍的变换可能更有效。

可变形的变换。当所有的点都可以自由移动而没有太多的约束时,三维形状可以自由变形。我们把这种一般的空间变换称为可变形变换。它有更多的自由度,而且不一定保留拓扑结构。学习新的每点偏移量在计算上很困难,而且成本很高,因此我们使用参数化的偏移模型来代替。以点的坐标和特征作为输入,该模型将学习取决于输入点云的空间和特征表示的偏移量。

3.2 三维点云的空间变换

我们所谓的空间变换方法是对输入点云进行几何变换,以获得不同的局部邻域,用于特征学习。它可以应用于现有的点云处理网络,因为空间变换器只改变局部邻域。

假设在第t层,空间变换器块包含的变换器。每个变换器学习一个变换来应用于输入点的坐标。我们把转换后的点称为子图的节点,把它们在子图上的特征称为相应的子特征。然后,我们将这些变换器的所有子特征连接起来,形成学习模块的最终输出。假设第t层的第i个空间变换器将原始点云和之前的特征图作为输入。拟合。我们从pj形成新的变换点为:。

论文阅读:Transformer for 3D Point Clouds_点云_06

由于点亲和矩阵在均匀缩放和平移下是不变的,我们设定

论文阅读:Transformer for 3D Point Clouds_邻域_07

; b=0,对所有的i。因此,在

论文阅读:Transformer for 3D Point Clouds_邻域_08

,我们将公式(1)简化为

论文阅读:Transformer for 3D Point Clouds_点云_09

。我们计算每个转换点的k个近邻,得到点亲和矩阵,在此基础上定义局部邻域,并对之前的点云特征图进行点卷积。我们从第i次变换及其改变的邻域得到子图的点云特征:

论文阅读:Transformer for 3D Point Clouds_点云_10

其中CONV表示点卷积。它将[(a)]先前的点云特征、[(b)]亲和矩阵(用于定义每个点的局部邻域)和[(c)]邻域数量(用于定义邻域的大小)作为输入。

在诸如[22]的点卷积中,点的亲和矩阵以一种不可区分的方式改变输入特征。因此,为了反向传播变换矩阵A,我们将变换后的点云附加到输入特征上。在基于采样的卷积中,如双边卷积[29],点亲和矩阵以可区分的方式改变输入特征;不需要额外的操作。

对于层/块t中所有的子图,我们学习点云特征。这个模块的输出是所有子图点云特征的串联:

论文阅读:Transformer for 3D Point Clouds_点云_11

其中

论文阅读:Transformer for 3D Point Clouds_点云_12

论文阅读:Transformer for 3D Point Clouds_邻域_13

我们的实现中,我们从标准正态分布; 1Þ随机初始化A。在计算转换后的点云的坐标之前,我们通过其规范对A进行归一化,因为点亲和矩阵在均匀缩放下是不变的。

投影式。与仿射空间变换器类似,对于第t层的第i个图形,我们对同质坐标的点云进行投影变换,得到变换后的点云为:

论文阅读:Transformer for 3D Point Clouds_点云_14

其中B是同质坐标的变换矩阵。然后,我们按照方程3和方程4中的相同程序得到输出特征Ft。

可变形。仿射和投影变换可以变换输入点云,改变点的亲和矩阵,并为不同层的点卷积提供可学习的局部邻域。然而,它们是有限的,因为仿生变换是线性的,投射变换只能将线映射到线。我们在第t层和第i个子图定义一个非线性可变形空间变换器,

论文阅读:Transformer for 3D Point Clouds_点云_15

注意,方程(1)中的平移矢量b是变形矩阵的一个特例。一般来说,变形矩阵可以明显改变局部邻域。

空间变换器的参数是以端到端的方式从点云坐标和特征中学习的。由于仿生变换依赖于空间位置,我们让变形矩阵依赖于特征,其中将上一层特征从Rf转换到R3。因此,方程6中的可变形变换可以简化为:

论文阅读:Transformer for 3D Point Clouds_点云_16

其中G是仿生和可变形变换矩阵的串联,它同时捕获了点云坐标和特征。

在我们计算出变换后的点坐标后,我们按照公式(3)和(4)来学习每个变换后的子图的特征,并将它们连接起来作为第t层的最终输出特征。

我们的可变形空间变换器有两个部分。分别用于三维空间坐标的线性变换和点特征(反映语义)的非线性变换。在第4.5节中,我们将对这两部分进行经验分析。

3.3 空间变换器网络

我们对输入的点云进行空间变换,以获得点卷积的动态局部邻域。变换器可以很容易地添加到现有的点云处理网络中。我们首先描述了该程序,然后提供了三个具有几个网络的应用。

带有空间变换器的点云网络。考虑将N个三维点分割成C类作为一个例子。图4描述了一个用于点云分割的一般网络结构,其中在不同层使用了几个空间变换器。在第t层,我们学习变换矩阵,将每个变换矩阵应用于输入点坐标P,然后计算点亲和矩阵,例如,基于k-NN图的边缘卷积[22]。

对于每个子变换,我们学习一个维度为的特征。然后我们将这一层的所有特征串联起来,形成一个维度为N*的输出特征Ft,其中。该输出特征作为下一层的输入,用于进一步的特征学习。

请注意,仿生或投影变换矩阵被应用于原始点云坐标P,因为每一层不只有一个而是多个空间变换器。然而,可变形变换矩阵被应用于之前的特征图,特征变换部分因此被逐步学习。

最后是一个维度为全连接的层 通过堆叠几个这样的变换学习块C,我们可以将输入点云映射到维度为C*N的分割图,或者为分类任务降维为C的向量。对于点云检测网络中的空间变换器块(图5),C是输出特征的维度。我们对网络进行端到端的训练。

分类网络。一个点云分类器[19], [23]采取三维点,从它们的局部邻域学习特征,并输出C分类分数,其中C是类别的数量。我们在每一层添加空间变换器,以获得不同的局部邻域来进行特征学习。基于点的分割网络。这些网络[18], [19], [22], [23]采用三维点,从点的坐标计算其点的亲和矩阵和局部邻域。通过对点和它们的局部邻域应用卷积算子来学习特征。

我们使用[22]中的边缘卷积作为我们的基线,它将相对的点坐标作为输入,并实现了最先进的性能。具体来说,我们保留了他们的学习设置,并简单地插入空间变换器来为边缘卷积生成新的局部邻域。

基于抽样的分割网络。为了证明我们的空间变换器的普遍适用性,我们考虑在基于采样的网络如SplatNet[29]中定义的变换点云的点亲和矩阵。

SplatNet将三维点分组到一个包罗万象的格子上[30],并在分组的点上应用双边过滤器[31]来获得特征。包罗万象的格子定义了每个点的局部邻域,使双边卷积成为可能。我们添加空间变换器来使点云变形并形成各种新的网格。本地邻域可以动态地配置,以学习点云语义。我们保持SplatNet的所有其他设置。

检测网络。检测由LiDAR传感器等生成的3D点云中的物体,对于自主导航、管家机器人和AR/VR都很重要。这些三维点往往是稀疏的,而且在不同的语义类别中是不平衡的。我们的空间变换器可以被添加到检测网络中,并通过动态局部邻域提高特征学习效率和任务性能。

我们的基线是VoxelNet[39],它是最先进的用于自主驾驶数据的三维物体检测器。我们采用它的所有设置,并在点分组之前在原始点云数据上添加空间变换器(图5)。为了证明空间变换器增强了点云处理的特征学习,我们让变换器只影响点的特征,而不影响点坐标的分组。有了空间变换器,点坐标也可以在分组阶段被变换,这将导致非立方体的三维检测盒。虽然很有趣,但我们没有探索这种变化,认为它超出了本文的范围。

3.4 与其他作品的相关性

我们回顾一下关于可变形卷积[38],[40]和DGCNN[22]的相关工作。

可变形卷积。可变形卷积网络[40]为二维图像学习动态局部邻域。具体来说,在输出特征图Y的每个位置p0,可变形卷积以偏移量修改常规网格R,其中,通过与权重w的卷积在输入X上的输出成为

论文阅读:Transformer for 3D Point Clouds_卷积_17

请注意,KPConv[38]直接将这个公式改编为点云作为可变形点卷积。尽管同样实现了动态局部邻域,我们的空间变换器以不同的方式改变邻域。

1)可变形点卷积学习改变每个邻域与常规网格R的偏移量。我们在输入点云上学习全局变换,定义局部邻域的度量发生变化。全局变换,如仿生变换,可以保留全局的几何特性,如碰撞性和平行性,而局部变换没有这样的约束,因为只有局部邻域可用。

2)2) 可变形点卷积的偏移取决于特征值,而我们的空间变换器的变换矩阵对于仿射和投影变换来说取决于点坐标,或者对于可变形变换来说取决于点坐标和特征值。对点坐标的访问提供了额外的信息和规则化。

动态图CNN。动态局部邻域也在DGCNN[22]中被探索用于点云处理。它与我们的工作有三个主要区别。

1)邻域的定义方式不同。DGCNN使用高维特征图来构建点亲和矩阵并生成局部邻域。我们的局部邻域来自转换后的点云。重用点特征来定义邻域可能是直接的,但减少了空间和语义信息之间的区别,损害了泛化。

2)在高维特征空间中建立密集的近邻图,计算成本很高。

3)DGCNN[22]在不同层只使用一个近邻图,而我们在每一层都有多个图来捕捉不同的几何变换。

由于计算成本更低,几何变换更灵活,我们在语义分割上取得了更好的经验表现(表2和表3)。

4 实验

我们进行全面的实验来验证我们的空间变换器的有效性。我们用两种类型的网络,即基于点和基于采样的指标来定义点邻域,对四个点云处理任务进行了基准测试:分类、部分分割、语义分割和检测。我们对可变形空间变换器进行消融研究。我们进一步提供了我们方法的可视化、分析和洞察力。

4.1 分类

我们以ModelNet40三维形状分类为基准[11]。我们在两个基线[22]、[29]上添加了变压器,并采用相同的网络结构、实验设置和评估协议。表1和图6显示,在基于点的方法和基于采样的方法中添加空间变换器可以获得1%和2%的增益。

此外,与[22]相比,我们的性能提高了,[22]用高维的点特征建立了一个每层的动态邻域图,这表明了我们用转化的三维点坐标建立多个动态邻域图的方法的优势。图12显示,空间变换器根据其语义更好地对齐三维形状。我们用随机旋转来增加训练和测试数据,观察到空间变换器比它的固定图形对应物增加3%。

4.2 零件分割

我们以ShapeNet零件分割[41]为基准,目标是为每个三维点分配一个零件类别标签(例如,椅子腿、杯子把手)。该数据集包含16个类别的16,881个形状,总共注释了50个部分,每个类别的部分数量从2到6不等。

4.2.1 基于点的方法网络架构。

基于点的方法在点坐标运算的基础上构建邻域,比如我们的基线DGCNN[22]的边缘卷积。我们沿用了[22]的网络架构和评估协议。该网络有3个卷积层;输出特征维度为64。为了捕捉不同层次的信息,所有的卷积特征被串联起来,并通过几个全连接层来输出分割结果。

作为一个固定的图形基线,我们使用相同的输入点坐标作为公制来定义固定的局部邻域。我们插入空间变换器来改变用于定义边缘卷积的点邻域的度量。在插入不同的空间变换器时,有基于点的仿生、投影和可变形网络(第3.2节)。至于分类,[22]直接使用学到的特征来建立动态邻域的点亲和矩阵。

我们遵循[22],使用三个边缘卷积层。在每一层,我们保持图的数量k和子图特征维度f相同,并寻找最佳架构。我们报告了k ¼ 4、f ¼ 32的仿生、投影和可变形网络的结果。为了进行公平的比较,我们增加了基线的通道数,所以所有的方法都有相同的参数数。

结果和分析。在表2中,我们报告了实例的平均MIOU(平均相交大于联合),以及ShapeNet中一些代表性类别的MIOU。与固定图基线相比,仿生、投影和可变形空间变换器分别取得了0.5%、0.2%和1.1%的改进,并在大多数类别中击败了固定图基线方法。具体来说,我们观察到空间变换器比固定图基线的性能提高了8.0%、8.3%和4.7%。我们的可变形空间变换器比[22]提高了4.0%。

我们也比其他最先进的方法[18], [19], [20]高出很多。在PointCNN[23]中加入可变形空间变换器,在摩托车(包)上获得6%(4%),平均获得1%。我们观察到,样本较少的类别更有可能由于变压器的正则化而获得收益。图7显示,可变形的空间变换器做出了更平滑的预测,并取得了比固定图形基线更好的性能。

从仿生变换到可变形变换,性能随着变换器的自由度增加而增加。然而,投影变换器的性能比仿射变换器略差。性能下降可能是由于用同质坐标映射三维点所造成的几何失真。此外,对于可变形变换器来说,当去掉变换后的点应该与输入点云相似的约束条件时(图8,只有G=CF的特征),性能也会下降,这表明在空间变换器上提出与输入相似的约束条件的必要性。

4.2.2 基于抽样的方法网络结构。

基于采样的方法构建邻域是基于对点坐标的采样操作。SplatNet[29]将点分组在permutohedral晶格上,并将学习到的双边滤波器[31]应用于自然定义的局部邻域来提取特征。我们遵循与SplatNet[29]相同的架构。该网络从一个单一的11个常规卷积层开始,然后是5个双边卷积层(BCL)。所有的双边卷积层的输出被串联起来,并输入到最后的1 1常规卷积层,以获得分割输出。由于每个BCL直接采取原始点的位置,我们认为它是一个固定的图形基线。我们在网络中加入了可变形的空间变换器,并将变换后的点图送入BCL以构建包络图。通过包络面格子上的梯度,我们可以使变换矩阵进行端到端的学习。注意,为了公平比较,我们增加了卷积层的通道。

结果和分析。表2显示,我们的可变形空间变换器(在所有BCL上都有k =1)在大多数类别中比基于采样的固定图基线[29]有收益,平均为0.6%,火箭类别为5.9%。它也战胜了其他最先进的基线。

4.3 语义分割

我们以斯坦福三维语义解析数据集[42]为基准。它包含了Matterport的三维扫描,覆盖了6个区域和271个房间。每个点都被注释为13个类别中的一个,如椅子、桌子、地板、杂物。我们遵循[18]的数据处理程序。我们首先按房间分割点,然后将房间分成几个1m 1m的区块进行采样。训练时,从区块中飞快地抽出4096个点。我们训练我们的网络来预测每个区块中的点类别,每个点由9个值表示。XYZ、RGB和其相对于房间的[0,1]的标准化位置。

网络架构。我们采用4.2节的DGCNN[22],C=13,语义类别的数量。

结果和分析。就平均mIoU而言,表3显示,仿生和可变形空间变换器比固定图基线分别获得0.9%和1.2%的收益。可变形变换器也比[22]提高了1.1%,并击败了所有其他最先进的方法。同样,对于基于采样的方法[29],我们观察到1.4%的增益。

至于部分分割,当点云被赋予更多的变形自由(从仿生到可变形的空间变换器)时,基于原始位置和特征投影的变换,语义分割的性能得到改善。投影变换器的性能增益最小,这表明通过同质坐标映射三维点可能不是最有效的。

图9显示,使用我们的可变形变换器,语义分割的结果更平滑,对缺失的点和遮挡的情况更稳定。

4.4 三维物体检测

我们以KITTI三维物体检测为基准[43]。它包含7481张训练图像/点云和7518张测试图像/点云,涵盖三个类别。汽车、行人和骑车人。对于每个类别,检测结果根据物体大小、闭塞状态和截断水平,按照三个难度等级进行评估:简单、中等和困难。我们遵循VoxelNet[39]的评估协议,并报告验证集上的汽车检测结果。

网络架构。如图5所示,网络首先将原始三维点分割成体素。我们添加可变形的空间变换器;每个体素中的点用点特征表示。有两个可变形特征学习层,每层有2个具有16维输出的子图。请注意,体素的划分是基于输入的点坐标的。与VoxelNet一样,每个体素中的点特征被送入2个体素特征编码层,通道为32和128,得到代表空间的稀疏4D张量。中间的卷积层处理4D张量以进一步聚集空间背景。最后,一个区域提议网络(RPN)产生了三维检测。

我们报告了3个网络的性能:(1)VoxelNet基线[39];(2)固定图基线,我们使用原始点云位置来学习空间变换器块位置的点特征;(3)如上所述的可变形空间变换器网络。

结果和分析。表4报告了KITTI验证集的汽车检测结果。1与基线相比,拥有点特征学习模块的鸟瞰图和三维检测性能分别平均提高7.3%和2.8%。可变形模块比VoxelNet进一步提高了8.9%和3.9%。

4.5 消减研究

我们进行消减研究,以了解多少个空间变换器可能足以达到令人满意的性能。我们还研究了点坐标的变换和可变形空间变换器的特征。我们研究了在不同层更新变换矩阵和变换器的影响。

变换器的数量。表5显示,对于固定的子特征维度,每层的图越多,性能越高。在固定的复杂性下,(即子图的数量和子特征维度的乘积固定为64),在k ¼ 1; f ¼ 64和k ¼ 2; f ¼ 32时,性能最好。

可变形变换器中的两个组件。可变形空间变换器有两个组成部分(公式(7)):点坐标的仿生变换,AP,和高维特征的三维投影,CF。图8显示,仿射和仅有特征的空间变换器也能提高性能,但两者的结合导致了最大的收益。

更新变换矩阵。变换矩阵是以端到端的方式更新的,最终目的是提高任务性能。了解更新变换矩阵是否会提高性能是很有意义的。具体来说,我们随机地初始化可变形空间变换器的变换矩阵,并在训练期间保持不更新。性能比固定图形好0.5%,表明在不同层增加更多的变换图形有帮助;但是,比更新变换矩阵差0.6%,表明学习以端到端方式更新变换矩阵是有帮助的。

不同层的变换。我们从所有在三层有效的可变形变换器开始,每次删除一层的变换器。图10显示,对于零件分割,使用所有的变换器性能最好,而去除第3层的变换器,性能下降最大,这表明每一层的变换器都有帮助,最后一层的变换器最重要。

4.6 时间和空间的复杂性

有了空间变换器,模型的大小变化不大,推理所需的时间略多(表6)。请注意,为了公平比较,我们在所有的实验中都增加了固定图基线模型的通道数量。即使不增加基线的参数数量(表6中没有显示),增加空间变换器也只增加了0.1%的参数数量,因为空间变换器(只有变换矩阵)的参数数量非常少。

4.7 可视化和分析

我们将应用空间变换器时的局部邻域的变化可视化。我们还对转换后的三维点进行全局和局部的可视化。

动态邻域的可视化。为了说明我们的空间变换器是如何学习三维图形的不同邻域的,我们展示了两个查询点的最近邻域,并使用相应的颜色表示相应的邻域。(1)图11显示,与来自三维坐标的邻域相比,从变形的形状中检索的邻域编码了额外的语义信息。(2) 图2显示,对于桌子和耳机,不同的图形使网络能够从不同的邻域中学习而不产生额外的计算成本。

可变形变换的全局可视化。图12描述了ShapeNet部分分割中学习到的可变形变换的一些例子。某一层的每个图都用类似的语义几何变换来调整输入的三维形状。例如,无论火箭的形状如何,第2层的图2总是能捕捉到火箭机翼的信息。

可变形变换后的局部分布。三维点往往没有均衡的采样,这使得点卷积具有挑战性,因为k-NN图并不能准确地代表准确的邻域和三维结构信息。我们的可变形空间变换器给每个点以灵活性,并找到更好的邻域。我们想知道变换器是否使点云更接近于平衡采样。我们对点的坐标进行归一化处理,以便进行公平的比较。图13可视化了滑板上一个样本点周围的局部分布。经过可变形的变换,点被移动到一个更均匀的分布。我们分析了ShapeNet数据中原始和变换后的点云坐标的标准偏差。空间变换后,点坐标的标准偏差在所有类别中下降了50.2%,表明变换后的点的分布更加均衡。

我们检查点坐标在应用变换器前后是否有统计学上的差异。我们对原始点云和转换后的点云进行t检验。所有类别的tscore为7.15,p值小于1e-9。因此,转换后的点云分布与输入的点云分布在统计学上是不同的。

5 结论

我们提出了新的三维点云的空间变换器,可以很容易地加入到现有的点云处理网络中。它们可以动态地改变局部的点邻域,以便更好地学习特征。

我们研究了一个线性(仿射)变换器和两个非线性(投影和变形)变换器。我们在基于点的[22]、[23]和基于采样的[29]点云网络以及三个大规模的三维点云处理任务(部件分割、语义分割和物体检测)上对它们进行了基准测试。我们的空间变换器的性能优于最先进的方法的固定图对应物。

我们的空间变换器有一些局限性。首先,可变形空间变换器没有很多约束条件来捕捉三维点云的几何形状。更复杂的非线性空间变换器可能会进一步提高性能。另一方面,空间变换器学习三维点云的全局变换以改变局部邻域。目前还不清楚结合全局和局部变换[38], [40]是否会进一步提高学习能力和任务性能。



标签:Transformer,Clouds,Point,变换,邻域,三维,卷积,变换器,点云
From: https://blog.51cto.com/u_16234088/8201972

相关文章

  • 《AN IMAGE IS WORTH 16X16 WORDS: TRANSFORMERS FOR IMAGE RECOGNITION AT SCALE》阅
    论文标题《ANIMAGEISWORTH16X16WORDS:TRANSFORMERSFORIMAGERECOGNITIONATSCALE》谷歌论文起名越来越写意了,“一幅图像值16X16个单词”是什么玩意儿。ATSCALE:说明适合大规模的图片识别,也许小规模的不好使作者来自GoogleResearch的Brain团队,经典的同等贡献......
  • Transformer与预训练语言模型的探索
    随着人工智能技术的快速发展,大模型系统和应用已经成为自然语言处理和深度学习领域的热门话题。在这篇文章中,我们将重点介绍大模型系统和应用中的两个关键组成部分:Transformer和预训练语言模型。通过阐述这两个概念的相关原理、应用场景以及未来发展趋势,我们希望能够帮助读者更好地......
  • 技术分享丨Mountpoint for Amazon S3 助力应用性能提升!
    什么是MountpointforAmazonS3?这是一款开源文件客户端,可让您的文件感知Linux应用程序轻松直接连接到AmazonSimpleStorageService(AmazonS3)存储桶,适用于大规模读取密集型应用程序的生产使用:数据湖、机器学习训练、图像渲染、自动驾驶车辆模拟、ETL等。它支持基于文件的工......
  • transformer如何实现并行
     RNN无法并行 我们先看一个典型的基于RNN的Encoder-Decoder结构 输入是:“机器学习“,输出是“machinelearning”。模型的大概工作时序是:Encoder部分,输入序列逐个送进RNN,计算出最后时刻的隐藏状态c,作为上下文信息传给Decoder。Decoder部分,将c和t-1时刻的输出作为t时刻的输入,逐步......
  • 【CVPR2023】Learning A Sparse Transformer Network for Effective Image Deraining
    论文:https://readpaper.com/paper/4736105248993591297代码:https://github.com/cschenxiang/DRSformerTransformer模型通常使用标准的QKV三件套进行计算,但是部分来自K的token与来自Q的token并不相关,如果仍然对这些token进行特征聚合计算会影响图像修复的性能。......
  • K8s:Pod 中 command、args 与 Dockerfile 中 CMD、 ENTRYPOINT 的对应关系
    写在前面前几天被问到,这里整理笔记之前也没怎么注意这个问题理解不足小伙伴帮忙指正曾以为老去是很遥远的事,突然发现年轻是很久以前的事了。时光好不经用,抬眼已是半生,所谓的中年危机,真正让人焦虑的不是孤单、不是贫穷、更不是衰老,而是人到中年你才发现,你从来没有按照自己喜欢的方......
  • 轻松理解 Transformers(2):Attention部分
    编者按:随着人工智能技术的不断发展,Transformers模型架构已成为自然语言处理领域的重要基石。然而,许多人对其内部工作机制仍然感到困惑。本文通过浅显易懂的语言和生活中的例子,帮助读者逐步理解Transformers中最核心的Attention机制。本文是Transformers系列的第二篇。作者的核......
  • SharePoint 2019开发:如何通过脚本来变更SharePoint Group的 Permission Level
    Blog链接:https://blog.51cto.com/13969817很多企业出于安全管理需要,ITadmin需要根据SecurityPolicy或者审计要求定期批量的修改SharePoint权限,比如添加或者删除某个用户,或者更换某个Group的Permissionlevel等等,如果单纯的修改一个网站,那么我们可以直接到SiteSettings的Permiss......
  • Transformer 相关资料列表
    Transformer相关资料列表Encoder-Decoder框架1Transformer模型1连续词袋模型(CBOW)Word2vecTransformer模型中的positionalencoding(位置编码)计算理解Transformer模型中的positionalencoding(位置编码)计算理解(2)self-attention自注意力机制注意力机制(2)self-at......
  • FreeSWITCH添加自定义endpoint之api及app开发
    操作系统:CentOS7.6_x64FreeSWITCH版本:1.10.9之前写过FreeSWITCH添加自定义endpoint的文章,今天整理下api及app开发的笔记。历史文章可参考如下链接:FreeSWITCH添加自定义endpointFreeSWITCH添加自定义endpoint之媒体交互一、常用函数介绍这里列举下开发过程中常用的函数。1......