当前位置:   article > 正文

SpiderCNN:Deep Learning on Point Sets with Parameterized Convolutional Filters

spidercnn

SpiderCNN是一种用于点云数据处理的卷积神经网络,它主要针对点云数据的稀疏性、旋转不变性和局部性等特点,采用了一种基于八叉树的点云结构,以及新的局部卷积核迭代采样策略。这些特点使得SpiderCNN能够在处理点云数据时具有更好的效果。

具体而言,SpiderCNN的过程如下:

  1. 数据预处理:将点云数据转换为八叉树形式,将每个点分配到相应的八叉树节点中。这样可以保证点云数据具有旋转不变性和局部性。

  2. 局部卷积核:针对点云数据的局部性特点,SpiderCNN引入了局部卷积核,通过在每个节点的局部邻域内进行卷积操作来提取特征。具体而言,对于每个节点,选取其上下文半径为R的邻域内的点来进行卷积操作。这样做可以保证每个节点只与其局部邻域内的点相互作用,从而减少点云数据的稀疏性。

  3. 迭代采样策略:在处理点云数据时,SpiderCNN采用了一种迭代采样策略。具体而言,首先对点云数据进行初始采样,然后使用局部卷积核对采样后的数据进行卷积操作,得到新的特征表示。接着,采用更细的采样策略对这些新特征进行采样再次使用局部卷积核对采样后的数据进行卷积操作。重复以上过程,直到得到最终的特征表示。这样做可以保证点云数据的局部性质,并且通过多次迭代采样,可以对数据进行更全面的处理。

  4. 池化层:在迭代采样过程中,SpiderCNN还采用了一种自适应池化层来对特征进行下采样。具体而言,对于每个节点的局部邻域,根据其中包含的点的数量来自适应地调整邻域的大小。然后,对调整后的邻域内的特征进行最大池化操作,得到下采样后的特征表示。

  5. 全连接层:最后,将得到的特征表示输入到全连接层中进行分类、分割等任务的处理。


题目:使用参数化卷积滤波器对点集进行深度学习

Abstract

深度神经网络在各种视觉任务上取得了显著的成功,但是将cnn应用于缺乏规则基础结构 (如3D点云) 的领域仍然具有挑战性。为此,我们提出了一种新颖的卷积体系结构,称为SpiderCNN,以有效地从点云中提取几何特征。SpiderCNN由称为SpiderConv的单元组成,该单元通过对一系列卷积滤波器进行参数化,将卷积运算从规则网格扩展到可以嵌入\mathbb{R}^{n}中的不规则点集。我们将滤波器设计为捕获局部测地线信息的简单阶跃函数和确保表现力的泰勒多项式的乘积。SpiderCNN继承了经典CNNs的多尺度分层架构,这使其能够提取语义深层特征。在ModelNet40[4] 上的实验证明,SpiderCNN在标准基准上实现了最先进的精度92.4%,并显示了在分割任务上的竞争性能。

1 Introduction

卷积神经网络是分析数据的强大工具,这些数据可以自然地表示为规则网格上的信号,例如音频和图像 [10]。由于\mathbb{R}^{n}中晶格的平移不变性,卷积层中的参数数量与输入大小无关。组成卷积层和激活函数会导致多尺度分层学习模式,这对于在实践中学习深度表示非常有效。

随着最近采用3D深度传感器的应用程序的激增 [23],例如自主导航,机器人技术和虚拟现实,对高效分析点云的算法需求不断增加。但是,点云在\mathbb{R}^{3}中不规则地分布,缺乏规范顺序和平移不变性,这禁止直接使用cnn。可以通过将点云转换为3D体素并应用3D卷积来规避此问题 [13]。但是,体积方法在计算上效率低下,因为点云在3D中是稀疏的,因为它们通常表示2D表面。尽管有研究改善了计算复杂性,但它可能会带来性能上的折衷 [18] [2]。各种研究致力于通过尝试将卷积的定义推广到流形或图上的函数,使卷积神经网络适用于图或流形等非欧几里得域的学习,丰富了几何深度学习的新兴领域 [3]。但是,理论上具有挑战性,因为当空间不携带组动作时,不能自然地定义卷积,并且当输入数据由不同的形状或图形组成时,很难为卷积滤波器做出选择。

鉴于上述挑战,我们提出了一种替代的卷积体系结构SpiderCNN,该体系结构旨在直接从点云中提取特征。我们验证了其在分类和细分基准上的有效性。通过离散化如图1所示的卷积积分公式,并使用\mathbb{R}^{3}上的特殊参数化非线性函数族作为滤波器,我们为点云引入了新颖的卷积层SpiderConv

 图1.信号f与滤波器g的卷积的积分公式为f ∗ g(p) =xxx。离散化\mathbb{R}^{n}中一组点P上的积分公式得到f ∗ g(p) =xxx。如果g支撑在半径为r的球中,则xxx。(a) 当P可以用规则网格表示时,由于域的平移不变性,仅需要滤波器g的9个值即可计算卷积。(b) 当信号在点云上时,我们从\mathbb{R}^{3}上的参数化函数组中选择滤波器g。

滤波器系列的设计具有表现力,同时仍可进行优化。我们将简单的阶跃函数 (用于捕获由局部测地线距离描述的粗略几何) 与3阶泰勒展开结合在一起,以确保滤波器足够复杂以捕获复杂的局部几何变化。第4节中的实验表明,具有相对简单的网络体系结构在ModelNet40上实现了最先进的分类性能 [4],并在ShapeNet-Part [4] 上显示了具有竞争力的细分性能。

 2 Related Work

首先,我们讨论以点云数据为目标的基于深度神经网络的方法。其次,我们对几何深度学习进行了部分概述。

点云作为输入: PointNet [15] 是使用深度网络直接处理点集的开创性工作。通过共享MLP学习每个点的空间编码,然后通过max-pooling将所有单独的点特征聚合为全局签名,这是一种不依赖于输入点序列顺序的对称操作。

虽然PointNet可以很好地提取全局特征,但其设计限制了其编码局部结构的功效。解决此问题的各种研究提出了不同的局部特征分组策略,以模仿经典卷积神经网络核心的分层学习过程。PointNet [17] 使用迭代最远点采样来选择局部区域的质心,并使用PointNet来学习局部模式。Kd-Network [9] 使用K-d树细分空间,其层次结构用作在不同尺度上聚合局部特征的指令。在SpiderCNN中,无需进行分组或采样的其他选择,因为我们的滤波器会自动处理此问题

DeepSet进一步探索了使用置换不变函数来学习无序集的思想 [22]。我们注意到,SpiderCNN的输出不依赖于设计的输入顺序。

体素作为输入: 体素 [13] 和体素-ResNet [2] 将3D卷积应用于点云的体素化。但是,与3D卷积相关的计算和存储成本很高。各种工作 [18] [6] [7] 旨在利用体素化点云的稀疏性来提高计算和存储效率。OctNet [18] 修改并实现了卷积操作,以适应混合网格-八叉树数据结构。Vote3Deep [6] 使用以特征为中心的投票方案,使得计算成本与具有非零特征的点数成比例。稀疏子流形CNN [7] 仅在卷积层堆叠时数量不会增加的激活点处计算卷积。相比之下,SpiderCNN可以直接使用点云作为输入,并且可以处理非常稀疏的输入。

非欧几里得域上的卷积: 有两种主要的哲学上不同的方法来定义非欧几里得域的卷积: 一种是空间的,另一种是光谱的。最近的工作ECC [20] 定义了图形上的卷积操作,其中滤波器权重以边缘标签为条件。将点云视为图形,并将滤波器视为MLPs,SpiderCNN和ECC[20],结果是类似的卷积。但是,我们证明了我们提出的过滤器系列的性能优于MLPs。

空间方法: GeodesicCNN [12] 是将神经网络应用于形状分析的早期尝试。GeodesicCNN背后的哲学是黎曼流形,指数图在以原点为中心的切线空间中标识点到球的局部邻域。切平面与Rd同构,我们知道如何定义卷积。

设M为网格曲面,设F: M → R为函数,GeodesicCNN首先使用补丁算子D将点p及其邻居N(p) 映射到晶格Z2的R2,并应用等式2。显式地,F ∗ g(p) =  j ∈ j gj(  q ∈ n (p) wj(u(p,q))F(q)),其中u(p,q) 表示p周围的局部极坐标系,wj(u) 是一个函数,用来模拟补丁算子D = {Dj}j ∈ j的效果。根据定义Dj =  q ∈ n (p) wj(u(p,q))F(q)。后来,各向异性神经网络 [1] 和莫奈 [14] 通过改进u和wj的选择来进一步探索这个框架。莫奈 [14] 可以理解为使用高斯的混合物作为卷积滤波器。我们提供了一个替代的观点。而不是找到流形的局部参数化,我们将其视为\mathbb{R}^{n}和设计滤波器中的嵌入式子流形,在环境欧几里得空间中,它们对于点云处理更有效。

谱方法: 我们知道傅立叶变换将卷积转换为乘法。显式地,如果f,g: Rn → C,则 f ∗ g = ∈ f·∈ g。因此,形式上我们有f ∗ g = (“f·” g),4,它可以用作非欧几里得域卷积的定义,我们知道如何进行傅立叶变换。

尽管我们在没有任何等变结构的一般空间上没有傅立叶理论,但在黎曼流形或图上,存在拉普拉斯算子的广义概念。在\mathbb{R}^{n}中进行傅立叶变换可以正式地看作是在拉普拉斯算子的本征函数的展开中找到系数。更准确地说,回想一下f ∈ (ξ) =  Rn f(x) exp (− 2πix · ξ)d ξ,(1) 和 {exp (− 2πix · ξ)}ξ ∈ Rn是拉普拉斯算子 ∆ = n的特征函数。因此,如果U是其列是图拉普拉斯矩阵的特征向量的矩阵,而 Λ 是对应特征值的向量,则对于图顶点上的F,g两个函数,则F ∗ g = U(UTF UTg),其中UT是U的转置,而  是两个矩阵的Hadamard积。由于在空间域中紧凑地支持转化为在频谱域中是平滑的,因此很自然地选择UTg为 Λ 中的平滑函数。例如,ChebNet [5] 使用Chebyshev多项式来降低滤波的复杂性,而CayleyNet [11] 使用Cayley多项式,从而可以有效地计算感兴趣的受限频带中的局部滤波器。

在分析不同的图形或形状时,光谱方法缺乏抽象动机,因为无法规范地识别不同的光谱域。SyncSpecCNN [21] 提出了一种权重共享方案,用于使用功能图对齐光谱域。将点云视为R3中嵌入的数据,SpiderCNN可以借助数据增强来学习对空间刚性转换具有鲁棒性的表示

3 SpiderConv

在本节中,我们将描述SpiderConv,这是SpiderCNN的基本组成部分。首先,我们讨论当输入是Rn中点集上的特征时如何在神经网络中定义卷积层。接下来,我们介绍一个特殊的卷积滤波器族。最后,我们详细介绍了具有多个通道的SpiderConv的实现以及用于计算加速的近似值。

3.1 Convolution on point sets in Rn

图像是规则网格F: Z2 → R上的函数。令W为 (2m 1) × (2m 1) 滤波器矩阵,其中m为正整数,经典CNNs中的卷积为:xxx
这是以下积分的离散化:xxxx

如果f,g: R2 → R,使得f(i,j) = F(i,j) 对于 (i,j) ∈ Z2,g(s,t) = W(s,t) 对于s,t ∈ {− m,− m 1,…,[− m,m] × [− m,m] 中支持m − 1,m} 和g。现在假设F是Rn中一组点P上的函数。令g: Rn → R为以半径r的原点为中心的球中支撑的滤波器。用输入F和滤波器g定义SpiderConv是很自然的:xxx

注意,当P = Z2是正则网格时,等式4简化为等式3。因此,经典卷积可以看作是SpiderConv的特例。请参见图1,以获取直观的说明。

在SpiderConv中,滤波器选自参数化的族 {gw} (具体示例参见图3.2),其在w上是分段可微的。在SpiderCNN训练过程中,通过SGD算法对参数w ∈ Rd进行优化,并通过公式 ∈ wi F ∗ gw(p) =  q ∈ p,q − p ≤ r F(q) ∈ wi gw(p − q),其中wi是w的第i个分量。

3.2 A special family of filters {gw}

一个自然的选择是将gw作为多层感知器 (MLP) 网络,因为理论上具有一个隐藏层的MLP可以近似于任意连续函数 [8]。然而,在实践中,我们发现mlp不能很好地工作。一个可能的原因是MLP未能解释几何3D点云之前。另一个可能的原因是,为了确保足够的表现力,MLP中的参数数量需要足够大,这使得优化问题变得困难。

为了解决上述问题,我们提出了以下过滤器族 {gw}:xxx。w = (wS,wT) 是两个向量wS = (wS i) 和wT = (wT i),5的串联,其中xxxx

第一个分量gStep wS是围绕点的局部极坐标的半径变量中的阶跃函数。它编码局部测地线信息,这是描述粗糙局部形状的关键量。此外,使用SGD来优化step函数相对容易。

3阶泰勒项gTaylor wT进一步丰富了滤波器的复杂性,与gStep wS互补,因为它还捕获了角度分量的变化。让我们从插值的角度更精确地说明这里选择泰勒展开的原因。我们可以将经典的2D卷积滤波器视为在9个点 {(i,j)}i,j ∈ {-1,0,1} 处插值给定值的函数族,并且9个值用作此类的参数化。族。类似地,在3D中考虑立方体 {(i,j,k)}i,j,k = 0,1的顶点,假设在顶点 (i,j,k) 处分配值ai,j,k。三线性插值算法为我们提供了形式的函数:xxxx。其中wT i是cijk中的线性函数。因此,fwT是gTaylor wT的一种特殊形式,并且通过改变wT,族 {gTaylor wT} 可以在立方体的顶点处插值任意值并捕获丰富的空间信息。

3.3 Implementation

基于构造点云的均匀采样过程,使用以下近似:

1. K近邻用于测量位置而不是半径,因此等式4中的求和超过p的K近邻。

2.阶跃函数gStep wT通过置换近似。显式地,令X是由包括p的K个最近邻索引的1 × K矩阵,并且X(1,i) 是p的第i个K个最近邻处的特征。然后F ∗ gStep wT (p) 由Xw近似,其中w是K × 1矩阵,其中w(i,1) 对应于方程6中的wT i。

在本文的后面,我们省略了参数w,wS和wT,只写g = gStep·gTaylor来简化我们的符号。SpiderConv的输入是点云P上的c1-dimensional特征,表示为F = (F1,F2,...,Fc1),其中Fv: P → R。SpiderConv的输出是点云f ~ = (〜F1,〜F2,...,〜Fc2) 上的c2-dimensional特征,其中f ~ i : P → R。设p为点云中的一个点,q1,q2,...,qK依次为其K近邻。假设gStep i,v,t (p − qj) = w(i,v,t) j,其中t = 1,2,...,b和v = 1,2,...,c1和i = 1,2,。.. C2。然后通过以下公式定义具有c1内通道,c2外通道和b泰勒项的SpiderConv: f〜i(p) =  c1 v = 1 K j = 1 gi(p − qj)Fv(qj),其中gi(p − qj) = b t = 1g泰勒t (p − qj)w(i,v,t) j,g泰勒t在t = 1,2,...,b的参数化族 {g泰勒wT} 中。

4 Experiments

我们在3D点云分类和分割上分析和评估SpiderCNN。我们从经验上检查了3层SpiderCNN的关键超参数,并将我们的模型与最新方法进行了比较。

实现细节: 所有模型都在1080Ti GPU上使用Tensorflow 1.3进行原型设计,并使用Adam优化器进行训练,学习率为10-3。完全连接的层使用0.5的落差率。在每个SpiderConv的末尾使用批归一化,衰减设置为0.5。在gtx1080ti上,具有通道内64和通道外64的SpiderConv层 (批次大小8) 的前向通过时间为7.50 ms。对于4层SpiderCNN (批次大小8),总前向通过时间为71.68 ms。

4.1 Classification on ModelNet40

ModelNet40 [4] 包含12,311个CAD模型,属于40个不同的类别,9,843用于训练和测试2,468。我们使用PointNet[15] 的源代码对1,024点进行均匀采样,并从网格模型中计算正态向量。应用与 [15] 相同的数据增强策略: 点云沿上轴随机旋转,并且每个点的位置被具有零均值和0.02标准偏差的高斯噪声抖动。对于第4.1节中的所有实验,批量大小为32。除非另有说明,否则我们使用1,024点的 (x,y,z) 坐标和法线向量作为SpiderCNN在ModelNet40上进行实验的输入。

3层SpiderCNN: 图3示出了具有3层SpiderConvs的SpiderCNN,每层具有3个泰勒项,并且每层的相应外通道为32、64、128。6这里使用ReLU激活功能。最后将三个SpiderConvs的输出特征串联起来。所有点之间的Top-k池用于提取全局特征。

研究了SpiderCNN中的两个重要的超参数: 在SpiderConv中选择的最近邻K的数量以及串联后的合并特征k的数量。结果总结在图4中。最近邻K的数量类似于通常卷积中的滤波器的大小。我们看到20是12、16、20和24近邻中的最佳选择。在图5中,我们提供了top-2池化的可视化。绘制了有助于前2个池化功能的点。我们看到,与PointNet类似,蜘蛛CNN会拾取具有代表性的关键点。

SpiderCNN+PointNet: 我们训练只有 (x,y,z) 坐标作为输入的3层SpiderCNN (top-2 pooling和20最近的邻居) 和PointNet,以预测modelnet40中点云上的经典鲁棒局部几何描述符FPFH [19]。SpiderCNN的训练损失仅为PointNet的1/4。因此,我们认为3层SpiderCNN和PointNet是彼此互补的,因为SpiderCNN擅长学习局部几何特征,而PointNet擅长捕捉全局特征。通过将来自PointNet的128维特征与来自SpiderCNN的128维特征连接起来,我们提高了92.2% 的分类精度。

4层SpiderCNN: 实验表明,具有32个通道的SpiderConv的1层SpiderCNN可以实现分类精度85.5%,并且SpiderCNN的性能随着SpiderConv层数的增加而提高。4层SpiderCNN由具有外通道32、64、128和258的SpiderConv组成。功能串联,使用20个最近的邻居和前2个池化。为了防止过度拟合,在训练时,我们应用 [17] 中引入的数据增强方法DP (随机输入dropout)。表1显示了SpiderCNN与其他模型之间的比较。4层SpiderCNN实现92.4% 的准确性,提高了与输入1024点和法线模型的最佳报告结果。对于5次运行,4层SpiderCNN的平均精度是92.0% 的。

消融性研究: 与最大池相比,top-2池使模型能够学习更丰富的几何信息。例如,在图6中,我们看到top-2池化保留了曲率非零的更多点。使用最大池化,分类精度对于4层SpiderCNN是92.0% 的,对于3层SpiderCNN是90.4% 的。相比之下,使用top-2池化,4层SpiderCNN精度92.4%,并91.5% 3层SpiderCNN。MLP过滤器在我们的设置中表现不佳。3层蜘蛛cnn的精度用gw = MLP (16,1) 71.3%,并且用gw = MLP (16,32,1) 72.8%。在没有法线的情况下,仅使用1,024点的4层SpiderCNN的精度是90.5% 的。使用通过正交距离回归从1,024输入点提取的法线,91.8% 了4层SpiderCNN的精度。

4.2 Classification on SHREC15

SHREC15是用于非刚性3D形状检索的数据集。它由1,200个水密三角形网格组成,分为50个类别。平均10,000顶点存储在一个网格模型中。与ModelNet40相比,SHREC15包含更复杂的局部几何形状和一个对象的非刚性变形。有关比较,请参见图7。1,192网格与用于训练的895和用于测试的297一起使用。我们计算三个固有形状描述符 (热核签名,波核特征和快速点特征直方图) 用于网格模型的可变形形状分析。1,024点随机均匀采样从网格模型的顶点,(x,y,z) 坐标用作SpiderCNN,PointNet和PointNet的输入。当输入是经典形状描述符时,我们将SVM与线性核一起使用。表2总结了结果。我们看到SpiderCNN的性能优于其他方法。

4.3 Segmentation on ShapeNet Parts

ShapeNet零件由来自16个形状类别的16,880个模型和总共50个不同的零件组成,具有14,006的培训和2,874测试拆分。每个部分都有2到6个部分的注释。mIoU用作评估指标,通过取所有零件类别的平均值来计算。一个4层蜘蛛cnn,其体系结构如图8所示,经过16批训练。我们使用具有正态向量的点作为输入,并假设类别标签是已知的。结果总结在表3中。对于4次运行,SpiderCNN的平均IoU的平均值为85.24。我们看到,尽管网络体系结构相对简单,但SpiderCNN仍取得了具有竞争力的结果。

5 Analysis

在本节中,我们对SpiderCNN的鲁棒性进行了额外的分析和评估,并为来自SpiderCNN第一层的一些典型的学习过滤器提供了可视化。

鲁棒性: 我们研究了缺失点对SpiderCNN的影响。在第4.1节中进行实验设置之后,我们训练了4层SpiderCNN和PointNet,其中包含512,248,128,64和32个点及其法线作为输入。结果总结在图10中。我们看到,即使只有32分,SpiderCNN也获得了87.7% 的准确性。

可视化: 在图11中,我们将在第一层SpiderCNN中学习的卷积滤波器gw(x,y,z) 进行散点绘制,并且点的颜色表示点处的gw值。

在图12中,我们选择一个穿过原点的平面,并将位于散点图平面一侧的点投影到该平面上。我们看到一些类似的模式出现在2D图像滤镜中。可视化提供了有关SpiderCNN中卷积滤波器学习的几何特征的一些提示。例如,图12中的第一行对应于能够捕获边界信息的2D图像滤波器。

6 Conclusions

提出了一种新的卷积神经网络SpiderCNN,该网络可以使用参数化卷积滤波器直接处理3D点云。可以探索更复杂的网络体系结构和更多的SpiderCNN应用。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/从前慢现在也慢/article/detail/528163
推荐阅读
相关标签
  

闽ICP备14008679号