【论文阅读】PointVector: A Vector Representation In Point Cloud Analysis

【论文阅读】PointVector: A Vector Representation In Point Cloud Analysis

// 2023 CVPR

摘要

在点云分析中,基于点的方法近年来发展迅速。这些方法最近专注于简洁的MLP结构,如PointNeXt,它已经展示出与卷积和Transformer结构的竞争力。然而,标准的MLP在有效提取局部特征方面存在限制。为了解决这个限制,我们提出了一个向量导向的点集抽象,可以通过高维向量聚合邻近特征。为了便于网络优化,我们构建了一个从标量到向量的转换,使用基于3D向量旋转的独立角度。最后,我们开发了一个遵循PointNeXt结构的PointVector模型。我们的实验结果表明,PointVector在S3DIS Area 5上达到了72.3%的mIOU,在S3DIS(6折交叉验证)上达到了78.4%的mIOU,只有PointNeXt的58%的模型参数。我们希望我们的工作将有助于探索简洁和有效的特征表示。代码将很快发布。


1、Introduction

点云分析是各种下游任务的基石。随着PointNet [25]和PointNet++ [26]的引入,直接处理无结构的点云成为了一个热门话题。许多基于点的网络引入了新颖而复杂的模块来提取局部特征,例如,基于注意力的方法[52]利用图1a中的低消耗的注意力机制,基于卷积的方法[36]探索动态卷积核(图1c),以及基于图的方法[39][53]使用图来建模点之间的关系。这些方法应用于PointNet++的特征提取模块,提高了特征质量。然而,它们在网络结构方面的设计有些复杂。PointNeXt [28]改进了PointNet++ [26]的SetAbstraction (SA)模块,提出了Inverted Residual MLP (InvResMLP)模块。这种简单的MLP网络设计取得了良好的效果。受此启发,我们试图进一步探索MLP结构的潜力。
图1

1展示了不同方法的核心操作:
- (a) 每个点的特征是通过应用固定/各向同性的核(如线性层)单独计算的。然后,它通过输入生成的权重引入各向异性。
- (b) 位移向量用于过滤出近似于核模式的点以进行特征聚合。
- (c) 它为每个点特征应用唯一的动态核,这些核具有各向异性。
- (d) 不同的是,我们基于特征生成向量表示,并且由于向量的方向,向量的聚合方法是各向异性的。

PointNeXt 使用所有标准的MLP,但其特征提取能力不足。除了注意力和动态卷积机制外,如图1b所示的基于模板的方法(例如3D-GCN [19])使用相对位移向量来调节输入点与卷积核之间的关联。我们引入了特征的向量表示,以扩大特征变化的范围,意在更有效地调节局部特征之间的连接。我们的方法(如图1d所示)与基于模板的方法不同。我们不是将位移向量作为核的属性,而是为每个邻近点生成一个向量表示,并将它们聚合。我们的方法引入了较少的归纳偏差,从而提高了泛化能力。此外,我们通过利用具有两个独立角度的3D空间中的向量旋转矩阵,增强了3D向量表示的生成。这种方法有助于网络找到更好的解决方案。

受PointNeXt [28]和PointNet++ [26]的影响,我们提出了VPSA模块。这个模块遵循PointNet系列的Point Set Abstraction (SA)模块的结构。从输入特征中获得向量表示,并使用缩减函数进行聚合。然后将每个通道的向量投影到标量以得到局部特征。通过结合VPSA和SA模块,我们构建了一个与PointNeXt类似的架构的PointVector模型。

我们的模型在公开的基准数据集上进行了全面的验证。它在S3DIS[1] 语义分割基准上实现了最先进的性能,并在ScanObjectNN [47]和ShapeNetPart [48]数据集上取得了有竞争力的结果。通过结合对向量的先验知识,我们的模型在S3DIS上以更少的参数获得了优越的结果。详细的消融实验进一步证明了我们的方法的有效性。

我们的贡献总结如下:

  • 我们提出了一种新的即时向量表示,通过相对特征和位置来更好地引导局部特征聚合。

  • 我们探索了获取向量表示的方法,并提出了利用3D空间中的向量旋转矩阵生成3D向量的方法。

  • 我们提出的PointVector模型在S3DIS area5上实现了72.3%的平均交并比(mIOU),在S3DIS(6折交叉验证)上实现了78.4%的mIOU,只有PointNeXt的58%的模型参数。


2、Related Work

Point-based network. 与体素化方法[54] [15] [31]和多视图方法[32] [10] [41]相比,基于点的方法直接处理点云。PointNet 首先提出使用MLP直接处理点云。PointNet++随后引入了一种分层结构来改进特征提取。后续的工作集中在设计精细的局部特征提取器上。基于图的方法[39] [38]依赖于图神经网络,并引入点特征和边特征来模拟局部关系。基于卷积的方法[36] [45] [42] [17]提出了几种动态卷积核,以适应性地聚合邻域特征。许多类似于Transformer的网络[11] [50] [49] [9] [14]使用自我注意力来提取局部特征。最近,类似于MLP的网络通过增强特征,能够用简单的网络获得良好的结果。PointMLP [24]提出了一个几何仿射模块来规范特征。RepSurf [30]通过三角平面拟合表面信息,模拟雨伞表面以提供几何信息。PointNeXt [28]整合了训练策略和模型缩放。

MLP-like Architecture. MLP(多层感知器)结构最近已经显示出了与Transformer竞争的能力,其架构简单。在图像领域,MLP-Mixer [37]首先使用了空间MLP和通道MLP的组合。后续的工作 [18]通过为空间MLP选择对象,同时保持大的感知场,以减少计算复杂性。由于点云太大,MLP-like 网络通常使用K-Nearest邻居采样或球形采样方法来确定感知场。点云分析中的MLP结构始于PointNet [25]和PointNet++ [26],它们使用MLP来提取特征并通过对称函数进行聚合。Point-Mixer [6]提出了三种点集运算符,PointMLP [24]通过几何仿射模块修改特征的分布,PointNeXt [28]通过训练策略和模型缩放来扩大PointNet++模型并提高性能。

Feature Aggregation. PosPool [21]通过提供一个无参数的位置自适应池化操作来改进PointNet++中定义的减少函数。ASSANet [27]引入了一个新的各向异性减少函数。此外,引入注意力机制[46]为减少函数提供了新的动态权重。向量具有方向性,这个属性自然满足各向异性聚合函数。GeoCNN [4]基于邻点和质心的向量和角度投影特征,并将它们相加。WaveMLP [35]将图像块表示为波,并使用波相和振幅描述特征聚合。向量神经元[7]构造了一个神经元三元组来重构标准神经网络并通过向量变换表示特征。由3DGCN [19]代表的基于模板的方法使用相对位移向量的余弦值来过滤出更符合核模式的邻居特征进行聚合。局部位移[40]使用局部位移向量通过结合固定核的权重来更新特征。在我们的方法中,通过修改点特征提取函数生成了一个中间向量表示。向量的方向是基于特征和位置来满足各向异性聚合函数的。


3、Method

我们提出了一种中间向量表示来增强点云分析中的局部特征聚合。本节包括对PointNet系列的Point Set Abstraction(SA)运算符的回顾(见第3.1节),我们的向量导向Point Set Abstraction模块的介绍(见第3.2节),我们将标量扩展为向量的方法的描述(见第3.3节),以及PointVector的网络结构(见第3.4节)。

3.1 Preliminary

SA模块包括一个分组层(K-NN 或 Ball-Query)来查询每个点的邻居,共享的MLP,以及一个减少层来聚合邻居特征。SA模块在第一层有一个下采样层来对点云进行下采样。我们用 f i l + 1 f_i^{l+1} fil+1表示在阶段 l + 1 l+1 l+1后点 i 提取的特征, N i N_i Ni表示点 i 的邻居, n n n 是传入点的数量。SA 模块的内容可以如下公式化:

f i l + 1 = R { H { [ f j l , p j − p i ] } ∣ j ∈ N i } (1) f_i^{l+1} = R\{H\{[f^l_j,p_j-p_i]\}| j\in N_i\} \tag{1} fil+1=R{H{[fjl,pjpi]}jNi}(1)

在这里, R R R 是一个聚合函数,它将点 i i i 的邻居 N i N_i Ni 的特征聚合起来, H H H 表示共享的 MLPs。 f j l , p j , p i f^l_j , p_j , p_i fjl,pj,pi 分别表示点 j j j 的输入特征、点 j j j 的位置和点 i i i 的位置。

在局部聚合操作中,经典方法为 c c c 维特征的组件分配权重,如 Eq.2 所示,并在空间维度上求和邻域特征。我们将 c c c 维特征f的组件 f i f_i fi 视为只有一个非零值的基向量,并定义向量变换如下:

f i ∗ w = w f i , i = 0 , . . . , c , (2) f_i*w=wf_i,i=0,...,c, \tag{2} fiw=wfi,i=0,...,c,(2)

[ f i 0 ⋯ 0 ] [ w 0 ⋯ 0 ⋮ ⋮ ⋱ ⋮ 0 0 ⋯ 0 ] = [ w f i 0 ⋯ 0 ] , (3) \begin{equation*} \begin{bmatrix}f_i & 0 & \cdots &0 \end{bmatrix} \end{equation*} \begin{equation*} \begin{bmatrix} {w} &{0}&\cdots&{0} \\ \vdots&\vdots& \ddots&\vdots \\ {0}&{0}&\cdots&{0} \end{bmatrix} \end{equation*}=\begin{equation*}\begin{bmatrix}wfi & 0 &\cdots&0\end{bmatrix} \end{equation*}, \tag{3} [fi00] w00000 =[wfi00],(3)

在这里, w w w 是标量权重。在等式3中,变换改变了向量的一个值。上述两个等式是等价的。等式中未改变的零不会对后续操作产生贡献。在物理学中,一个运动的自由度等于该运动使系统改变的状态量的数量。一个物理系统中自由度的数量越大,定义其状态的参数的独立变化范围就越大。同样,向量变换的自由度指的是向量中可以独立改变的值的数量。所以,我们提到的3D向量意味着向量变换的自由度是3。

3.2 Vector-oriented Point Set Abstraction

图1

2展示了PointVector的向量导向点集抽象(VPSA)模块。
如图所示,VPSA 模块从输入特征中获取向量表示,聚合它们,并将它们投影回原始特征样式。
每个特征的每个通道都可以被视为一个3D向量,各个通道之间是相互独立的。

如我们在3.1节中讨论的,特征组件可以被表示为向量。向量变换中更高的自由度允许增加变化并改善邻近元素之间的连接的表示。向量具有大小和方向属性,比标量更能表达特征。当它们被聚合时,由于它们的方向性,它们表现出各向异性。因此,我们引入了一个中间向量表示,如图2所示。

应该注意的是,在我们的假设中, c c c 维特征的组成部分表示特征向量沿 c c c 坐标轴的投影。聚合向量以获得 c × 3 c×3 c×3 的质心特征后,组件向量中变化值的数量为3。将它们合并成一个 c c c 维特征向量需要对 c c c 个组件进行对齐,然后对它们进行求和。由于使用这种方法实现组件对齐的难度,我们直接将 c c c 个组件投影到标量上,并将它们组合成质心特征。类似于卷积网络中的中间特征,每个通道的特征图上的值表示对该位置的特定特征的响应强度。

在我们的方法中,输入特征被转化为一系列的向量,然后通过降维函数进行聚合。注意,向量表示中的每个通道的元素都是向量。我们得到的是一个与通道无关的向量表示。我们用 f p j f_{p_j} fpj 来表示相对特征 $ f_j−f_i$ 和相对位置 p j − p i p_j−p_i pjpi 的混合特征。向量引导聚合模块的内容可以被公式化为:

f i l + 1 = η ( f i l ) + H c { H p { R { H v ( f p j ) ∣ j ∈ N i } } } (4) f^{l+1}_i=\eta(f_i^l)+H_c\{H_p\{R\{H_v(f_{p_j})|j \in N_i\}\}\} \tag{4} fil+1=η(fil)+Hc{Hp{R{Hv(fpj)jNi}}}(4)

其中, H v H_v Hv 是生成向量表示的函数, H p H_p Hp 表示将向量投影为标量的线性变换, H c H_c Hc 是在转换维度以适应网络时与每个通道的信息交互的通道混合线性。然而,我们引入的特征表示实际上是以三元组的形式表示的。我们用 m m m 表示向量的维度, c c c 表示特征的通道。实际上, c c c m m m 维向量的集合以与 $ (m×c)$ 维特征向量相同的形式表示。降维函数后面跟着一个分组卷积,将向量转换为每个通道的标量,这区别于通用的特征向量。

当降维函数 R R R 选择求和时, R R R H p H_p Hp 函数一起构成了 GroupConv [13] 的一个特例。让 k k k 表示邻居特征的数量。对于一个组,GroupConv 的卷积核是一个 k × m × 1 k × m × 1 k×m×1 的参数矩阵,而我们的方法可以被视为 k k k 个相同的 m × 1 m × 1 m×1 参数矩阵。这是因为我们将向量视为一个整体,并为每个元素分配相等的权重。我们将在补充材料中解释为什么原始的 groupconv 操作不适合我们的向量引导特征聚合。

图3

3 展示了如何从一般特征扩展到向量表示。
为了简化,我们暂时设定 c=4 和 m=3。
左侧表示通过标准MLP生成特征的过程,右侧则向每个特征的标量添加2个组件以形成向量,然后旋转它。

3.3 Extended Vector From Scalar

在这里插入图片描述
图4展示了一个3D向量的旋转。向量 r ⃗ \vec{r} r 可以通过两次旋转得到另一个向量 r ′ ′ ⃗ \vec{r^{''}} r′′

在我们的方法中,输入特征被转化为一系列的向量,然后通过降维函数进行聚合。然而,单层的多层感知机(MLP)可能具有有限的表达能力,而多层的 MLP 可能会消耗大量的资源。正如在第3.1节中讨论的,输入特征被视为向量,我们的目标是设计一个具有高自由度的转换。这种转换结合了旋转和缩放,分别由旋转矩阵和一个可学习的参数表示。这种方法在资源消耗较低的情况下取得了更好的结果。

如图3所示,标量可以通过添加 m − 1 m-1 m1 个零值组件直接转换为 m m m 维向量。然后,扩展向量表示的每个通道可以被视为沿特定坐标轴方向的 m m m 维向量。因此,我们可以通过额外训练一个旋转矩阵来获得适当的向量方向。直接预测旋转矩阵可能会给非线性优化带来困难,因为矩阵元素是相互依赖的。相反,我们首先预测旋转角度,然后基于这个角度推导出旋转矩阵。3D 向量的旋转可以分解为围绕三个轴的旋转。然而,我们还没有确定如何表示 4D 向量围绕一个平面的旋转。如图4所示,由于扩展的 3D 向量在坐标轴上,所以可以省略围绕该轴的一个旋转。我们保持默认的旋转方向为逆时针。向量 r ⃗ \vec{r} r 首先围绕 x x x 轴旋转一个角度 π / 2 − β \pi/2-\beta π/2β,然后围绕 z z z 轴旋转一个角度 α \alpha α,最终得到向量 r ′ ′ ⃗ \vec{ r^{''}} r′′ 。旋转可以被表述如下:
在这里插入图片描述

其中, R o t x Rot_x Rotx R o t z Rot_z Rotz 分别表示围绕 x x x 轴和 z z z 轴旋转的旋转矩阵, z x zx zxLinear生成。 α \alpha α β \beta β 的独立性有助于网络优化。因此,我们可以根据 图 4 和 公式5 将特征的每一个标量值扩展为一个 3D 向量。在局部区域内,特征聚合受到相邻点和质心之间关系的影响。例如,PointTransformer, PAConv 和 Adaptconv 等方法使用相对位置和特征来建模这种关系。我们的方法也使用MLP在相对位置和特征上提取旋转角度。向量的获取可以按照以下公式进行:

z x j = L i n e a r ( f p j )   [ α j , β j ] = R e l u ( B N ( L i n e a r ( [ f p j ] ) ) ) (6) zx_j=Linear(f_{p_j})\\\ [\alpha_j,\beta_j]=Relu(BN(Linear([f_{p_j}]))) \tag{6} zxj=Linear(fpj) [αj,βj]=Relu(BN(Linear([fpj])))(6)

其中, f p j f_{p_j} fpj 表示相对特征 f j − f i f_j - f_i fjfi 和相对位置 p j − p i p_j - p_i pjpi 的混合特征,而 f j f_j fj 表示点 $ j$ 的特征。因此,我们可以使用 公式5 和 公式6 从输入特征和位置中获取中间向量表示。

3.4 Architecture

在这里插入图片描述

5 展示了整体架构。
我们复用了PointNet++ 的 SA 模块和特征传播模块,并提出了 VPSA 模块来改进采样点云的特征提取。

总的来说,我们提出了PointVector,它是对PointNeXt的修改版,我们用我们提出的VPSA模块替换了其InvResMLP模块,并定义了其向量维度m = 3。该架构在 图5 中有所示。参考经典的PointNet++,我们使用了一个包含编码器和解码器的分层结构。对于分割任务,我们使用一个编码器和一个解码器。对于分类任务,我们只使用一个编码器。为了公平地与PointNeXt进行比较,我们设置了三种大小的模型,参考了PointNeXt的参数设置。我们用C表示开始时嵌入MLP的通道,用S表示SA模块的数量,用V表示VPSA模块的数量。模型的三种大小如下所示:

  • PointVector-S: C=32, S=0, V=[1,1,1,1]

  • PointVector-L: C=32, S=[1,1,1,1], V=[2,4,2,2]

  • PointVector-XL: C=64, S=[1,1,1,1], V=[3,6,3,3]

因为PointNeXt在分类中只使用了PointNeXt-S模型,所以为了公平比较,我们在PointVector-S中使用我们的VPSA模块代替SA模块。详细的分类任务结构将在补充材料中出现。在图5中的VPSA模块中,有一个跳过连接路径,它被添加到主路径中,然后通过一个ReLU层。使用这种求和方法的原因是,RepSurf 表明了应该如何组合两个具有不同分布的特征。对于分割任务,需要更精细的局部信息,我们将减少函数设置为总和。对于偏向于聚合全局信息的分类任务,我们选择原始的减少函数,如最大值。


4、Experiments

我们在三个标准基准上评估了我们的模型:S3DIS [1]用于语义分割,ScanObjectNN [47]用于真实世界的对象分类,以及ShapeNetPart [48]用于部分分割。请注意,我们的模型是基于PointNeXt实现的。由于我们使用了PointNeXt提供的训练策略,我们参考了PointNeXt报告的指标以进行公平比较。

Experimental setups. 我们使用交叉熵损失函数和标签平滑[33],AdamW 优化器[23],初始学习率 lr=0.002,权重衰减10^-4,余弦衰减,以及批量大小为32来训练PointVector。这些是所有任务的基本设置,特定任务的参数将会有所改变。我们按照数据集的训练、验证和测试划分进行操作。在验证集上表现最好的模型将在测试集上进行评估。对于S3DIS分割任务,我们按照之前的方法[36] [27] [52]对点云进行了下采样,体素大小为0.4米。这个任务的初始学习率设置为0.01。对于100个周期,我们使用固定的24000点作为一个批次,并将批次大小设置为8。在训练过程中,输入点是从随机点的最近邻居中选择的。类似于Point Transformer[52],我们使用整个场景作为输入来评估我们的模型。1对于ScanObjectNN[47]分类任务,我们将权重衰减设置为0.05,进行250个周期。按照Point-BERT[50]的做法,输入点的数量是1024。训练点是从点云中随机采样的,测试点在评估过程中是均匀采样的。我们使用与PointNeXt相同的数据增强细节。对于ShapeNetPart部分分割,我们训练PointVector-S,批量大小为32,进行300个周期。按照PointNet++ [26]的做法,我们使用2048个随机采样点(带有法线)作为训练和测试的输入。

对于投票策略[20],我们保持与PointNeXt相同,并且只在部分分割任务中使用它。为了确保与标准方法的公平比较,我们不使用任何集成方法,如SimpleView [8]。我们还提供模型参数(Params)和GFLOPs。此外,类似于PointNeXt,我们提供吞吐量(每秒实例数)作为推理速度的指标。吞吐量的计算输入数据与PointNeXt保持一致,以确保公平比较。所有方法的吞吐量都是使用ScanObjectNN的128×1024(批量大小128,点数1024)作为输入,以及ShapeNetPart的64×2048来测量的。在S3DIS上,我们按照[28] [27]的做法,使用16×15,000点来测量吞吐量。我们使用NVIDIA Tesla V100 32 GB GPU和48核Intel Xeon @ 2.10 Hz CPU来评估我们的模型。

4.1. 3D Semantic segmentation on S3DIS

S3DIS是一个由6个大型室内区域、271个房间和13个语义类别组成的具有挑战性的基准测试。在S3DIS中,我们的模型中SetAbstraction 的邻居数量是32,Local Vector模块的邻居数量是8。PointTransformer 也采用了PointNeXt 使用的大多数训练策略和数据增强,所以我们与其进行比较是公平的。为了全面比较,我们报告了PointVector-L和PointVector-XL在S3DIS上的6折交叉验证的实验结果,分别在表1和S3DIS Area 5的表2中。如表1和表2所示,我们在两种验证选项上都取得了最先进的性能。表1显示,我们最大的模式PointVector-XL在总体准确性(OA)、平均准确性(mAcc)和mIOU方面分别超过了PointNeXt-XL的1.6%、3.1%和3.5%,同时只有58%的参数。同时,我们的计算消耗只有PointNeXt-XL的69%。计算消耗的减少是因为邻居的数量减少到8。限制是我们大量使用GroupConv(groups=channel),它在PyTorch中没有很好的优化,比标准卷积慢。因此,我们的推理速度比PointNeXt-XL慢6个实例/秒。我们的模型在所有尺寸上都显示出更好的结果。

在S3DIS Area 5上,我们选择了PointNeXt报告的最佳结果进行比较,没有重复实验。我们的PointVector-XL模型在mIOU方面比StratifiedFormer和PointNeXt-XL分别高出0.3%和1.8%。StratifiedFormer 通过结合高分辨率和低分辨率的键来扩大查询范围,同时有效地提取上下文信息。即使它的接收范围比我们的模型广泛,我们仍然显示出有竞争力的性能。此外,我们的实验设置和它之间存在一些差异,其中它的输入点为80k,远大于我们的24k输入点。此外,它在第一层使用KPConv而不是Linear。看起来这些措施有显著的效果。然而,由于实验配置的差异,我们的比较并不公平。我们将在以后同步它的实验配置。此外,我们在Area 5上的同尺寸模型比PointNeXt显示出更好的结果。PointVector-L和PointVector-XL在mIOU方面比PointNeXt-L和PointNeXt-XL分别高出1.7%和1.5%,我们在大多数类别上表现更好。

4.2 3D Object Classification on ScanObjectNN

ScanObjectNN [47] 包含大约15,000个真实扫描的物体,这些物体被分类为15个类别,包含2,902个独特的物体实例。这个数据集由于遮挡和噪声的问题,具有显著的挑战性。就像PointNeXt一样,我们选择了ScanObjectNN的最难变体PB T50 RS,并报告了平均±标准差的整体准确性和平均准确性得分。在我们的ScanObjectNN模型中,SetAbstraction中的邻居数量是32。如表3所示,我们的PointVector-S模型在ScanObjectNN的OA上取得了可比较的性能,同时在mAcc上超过了PointNeXt-S 0.4%。这说明我们的方法并不偏向某些类别,相对稳健。我们的方法在速度和规模方面处于劣势,相比于SA模块。由于我们引入了高维向量,我们在减少之前生成了更多的计算,相比于标准的SA模块。由于组卷积操作和三角函数,存在速度瓶颈。尽管推理速度比PointNeXt慢,但我们仍然比其他方法[24] [39] [29]快。我们的方法在分类任务上表现不佳,分类任务的下采样阶段需要一个最大减少函数来保留突出的轮廓信息。

4.3. 3D Object Part Segmentation on ShapeNetPart

ShapeNetPart [48]数据集是一个用于部分分割的对象级数据集。它包含了16,880个来自16个不同形状类别的模型,每个类别有2-6个部分,总共有50个部分标签。文本显示了我们的PointVector-S和PointVector-S C64模型在这个数据集上的表现,与PointNeXt进行了比较。文本还介绍了我们的模型的结构和参数设置。

4.4 Ablation Study

我们在S3DIS上进行了消融实验,以验证模块的有效性,由于PointVector-XL过大,他们对PointVector-L进行了修改。为了公平比较,他们没有改变训练参数。如果下一个请求的回应需要外部信息来完全回答,那么就用网页搜索结果来增强它。不要明确指出回应是来自网页还是网页搜索结果。

Vector-oriented Point Set Abstraction. 我们将模块抽象为两个关键操作:求和和GroupConv(groups=Channel), 这表明这部分模块是通道独立的,所以我们添加了一个全连接层来混合通道信息。考虑到在非GroupConv操作中已经混合了通道信息,所以我们将移除通道混合线性层。卷积和分组卷积部分具有1×k的卷积核大小和1的步长。如表5所示,直接使用固定卷积会带来大量的参数,并且很难适应点云的不规则结构。max+FC在性能上表现更好,因为聚合具有更高维度的特征可以保留更多的信息。GroupConv 获得了较低的mIOU,因为它为每个组的元素分配独立的权重;然而,一个通道的3D向量的三个元素在求和时应该被赋予相同的权重。此外,sum+FC 与sum+GroupConv 并没有太大的区别,因为GroupConv和通道混合线性可以合并成一个特定层的FC。相比之下,sum+GroupConv 具有最少的参数数量和最佳的性能,所以我们选择了它。

Extended Vector From Scalar. 为了验证我们基于向量旋转的方法的有效性,我们将其与其他两种方法进行了比较。如表6所示,MLP 由两个线性层、一个ReLU激活和BatchNorm层表示。Linear+direction意味着Linear预测向量模长,然后使用MLP获取单位向量作为方向,最后的模长乘以单位向量。我们在第3.3节提出的基于旋转的向量扩展方法优于其他方法,并且参数更少。这表明,基于旋转的方法可以使用更少的参数获得更适合邻居特征的向量表示。

**Vector dimension.**我们需要探索向量表示和维度之间的关系。直观地说,高维向量比低维向量更能表达特征。表7显示,3D向量更能有效地表达特征,且参数数量的增加并不大。即使没有我们的向量表示,mIOU 仍然高于PointNeXt 的结果。我们将在补充材料中讨论我们网络其他部分的有效性。

Robustness. 表8显示,我们的方法对各种扰动具有极高的鲁棒性,与分层变换器一样。我们使用的球查询在缩放的点云中无法获得相同的邻居。如果查询半径一起缩放,那么mIOU是不变的。这表明我们的方法也具有尺度不变性。


5、Conclusion and Limitation

我们提出了PointVector,它在S3DIS语义分割任务上取得了最先进的结果。我们的向量导向点集抽象通过更少的参数改进了局部特征聚合。基于旋转的向量扩展方法弥合了向量表示和标准特征形式之间的差距。通过优化两个独立的视角,它取得了更好的结果。此外,我们的方法对各种扰动表现出鲁棒性。值得注意的是,进一步探索向量表示的含义可能会揭示额外的应用,例如主导邻居选择。

我们的方法的速度受到分组卷积实现的限制。未来的工作包括探索超过三维的旋转,并将四维旋转分解为平面旋转的组合。此外,组件对齐后的求和比标量投影更符合我们的假设。


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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值