[3D点云卷积]PointConv论文

本文提出了一种名为PointConv的新卷积运算,专门针对3D点云设计,能够构建深度卷积网络。PointConv通过在局部3D点坐标上训练多层感知器来近似连续权重和密度函数,克服了点云数据不规则性和无序性的挑战。实验证明,基于PointConv的网络在多个3D点云基准上取得了优异的性能。

转载请注明作者和出处: http://blog.csdn.net/john_bh/

论文链接:PointConv: Deep Convolutional Networks on 3D Point Clouds
作者及团队:Zhengxia Zou & Zhenwei Shi & Yuhong Guo & Jieping Ye
会议及时间: CVPR 2019
code:github:https://github.com/DylanWusee/pointconv

Abstract

与以规则的密集网格表示的图像不同,3D点云是不规则且无序的,因此对它们进行卷积可能会很困难。在本文中,我们将动态滤波器扩展到一个名为PointConv的新卷积运算中。 PointConv可以应用于点云以构建深度卷积网络。我们将卷积核视为由权重和密度函数组成的3D点局部坐标的非线性函数。对于给定的点,权重函数是通过多层感知器网络学习的,而密度函数是通过核密度估计来学习的。这项工作最重要的贡献是提出了一种新颖的公式化方法,可以有效地计算权重函数,从而使我们能够大幅扩展网络并显着改善其性能。学习的卷积核可用于计算3D空间中任意点集上的平移不变和置换不变卷积。此外,PointConv还可以用作反卷积运算符,以将特征从子采样点云传播回原始分辨率。在ModelNet40,ShapeNet和ScanNet上进行的实验表明,基于PointConv构建的深度卷积神经网络能够在3D点云上具有挑战性的语义分割基准上实现最新技术。此外,我们将CIFAR-10转换为点云的实验表明,基于PointConv构建的网络可以在结构相似的2D图像中匹配卷积网络的性能。

1.Introduction

在最近的机器人技术,自动驾驶和虚拟/增强现实应用中,可以直接获取3D数据的传感器越来越普及。其中包括激光扫描仪等室内传感器,Kinect,RealSense或Google Tango等飞行时间传感器,iPhoneX上的结构光传感器以及LIDAR和MEMS传感器等室外传感器。在这些应用中,直接测量3D数据非常有价值,因为深度信息可以消除2D图像中的许多分割模糊性,而表面法线提供了场景几何的重要线索。

在2D图像中,卷积神经网络(CNN)通过极大地改善几乎所有视觉任务的结果,从根本上改变了计算机视觉的格局。 CNN通过利用平移不变性获得成功,因此可以将同一组卷积滤波器应用于图像中的所有位置,从而减少参数数量并提高泛化能力。我们希望将这种成功转移到3D数据分析中。但是,3D数据通常以点云的形式出现,这是一组无序的3D点,每个点上带有或不带有附加功能(例如RGB)。点云是无序的,并且不符合2D图像中的规则晶格网格。在这种无序输入上很难应用常规的CNN。一种替代方法是将3D空间视为体积网格,但是在这种情况下,体积将稀疏,而CNN在计算上将是棘手的
在高分辨率的卷上。

在本文中,我们提出了一种在非均匀采样下对3D点云进行卷积的新颖方法,我们注意到卷积运算可以看作是连续卷积算子的离散逼近。在3D空间中,我们可以处理权重该卷积算符是局部3D点坐标相对于参考3D点的(Lipschitz)连续函数。该连续函数可以用多层感知器(MLP)近似,如[33]和[16]所述。 。但是这些算法并没有考虑非均匀采样的问题,我们建议使用反密度标度对MLP学习的连续函数进行加权,这与连续卷积的蒙特卡洛近似相对应,我们称这种操作为PointConv 。 PointConv涉及将点云的位置作为输入并学习MLP以近似权重函数,并对学习的权重应用反密度标度以补偿非均匀采样。
当输出功能的通道大小非常大时,PointConv的简单实现会导致内存效率低下,因此难以训练和扩展到大型网络。为了减少PointConv的内存消耗,我们介绍了一种能够大大减少PointConv的内存消耗的方法。使用更改总和顺序的重新设计来提高存储效率。这种新结构能够在3D点云上构建多层深度卷积网络,该网络具有与光栅图像上2D CNN相似的功能。我们可以实现与2D卷积网络中相同的平移不变性,以及点云中点顺序的置换不变性。

在分割任务中,将信息从粗糙层逐渐转移到较细层的能力很重要。因此,可以充分利用特征从粗糙层到较细层的去卷积操作[24]对于性能至关重要。大多数最先进的算法[26,28]无法执行反卷积,这限制了它们在分割任务上的性能。由于我们的PointConv是卷积的完全近似值,因此很自然地将PointConv扩展到PointDeconv,可以完全将信息粗化到粗糙层并传播到更细的层。通过使用PointConv和PointDeconv,我们可以在语义分割任务上实现更高的性能。
我们的工作是:

  • 我们提出了PointConv,一种密度重新加权的卷积,它可以完全逼近任何3D点集上的3D连续卷积。
  • 我们设计了一种内存有效的方法,通过更改求和顺序技术来实现PointConv,最重要的是,它可以扩展到现代CNN级别。
  • 我们将PointConv扩展到反卷积版本(PointDeconv),以获得更好的分割结果。

实验表明,我们基于Point-Conv构建的深层网络与其他点云深层网络相比具有很高的竞争力,并且在部分分割[2]和室内语义分割基准[5]中取得了最新的成果。为了证明PointConv确实是真正的卷积运算,我们还通过将2D图像中的所有像素转换为CIFAR-10来评估PointConv。具有2D坐标的点云以及每个点的RGB特征。在CIFAR-10上进行的实验表明,我们的PointConv的分类准确度可与相似结构的图像CNN媲美,远胜过以前通过点云网络获得的最佳结果。作为在3D数据上使用CNN的基本方法,我们认为PointConv可能有许多潜在的应用。

2. Related Work

3D CNN网络上的大多数工作都将3D点云转换为2D图像或3D体积网格。 [36,27]提出将3D点云或形状投影到多个2D图像中,然后将2D卷积网络用于分类。尽管这些方法在形状分类和检索任务上都取得了显著成绩,但将它们扩展到高分辨率场景分割任务[5]。 [43,23,27]代表了另一种方法,该方法通过量化将点云体素化为体积网格,然后应用3D卷积网络。这种方法受其3D体积分辨率和3D卷积的计算成本的约束。[31]通过使用一组不平衡的八叉树来显着提高分辨率,其中每个叶节点存储一个池化要素表示。 Kd-networks [18]在具有一定大小的Kd树上以前馈自下而上的方式计算表示形式。在Kd网络中,在训练和测试期间,点云中输入的点数必须相同,这并不适合许多任务。SSCN[7]利用具有新颖速度/内存的基于体网格的卷积通过仅在输入点上考虑CNN输出来进行改进。但是,如果对点云进行稀疏采样,尤其是在采样率不均匀的情况下,则对于稀疏采样的区域,可能无法在体积卷积滤波器中找到任何邻居,这可能会引起严重的问题。

一些最新的著作[30,26,28,35,37,13,9,39]直接将原始点云作为输入,而没有将它们转换为其他格式。 [26,30]提出使用共享的多层感知器和最大池化层来获取点云的特征。由于最大池化层应用于点云中的所有点,因此很难捕获局部特征。 PointNet ++ [28]通过添加层次结构来改进PointNet [26]中的网络。分层结构类似于图像CNN中使用的那种结构,该结构从小局部区域开始提取特征,然后逐渐扩展到较大区域。 PointNet [26]和PointNet ++ [28]中用于聚合不同点的要素的关键结构是最大池。但是,最大池化层仅在局部或全局区域中的要素上保留最强的激活,这可能会丢失一些有用的细分任务详细信息。 [35]提出了一种方法,将点云的输入特征投影到高维格上,然后在高维格上应用双边卷积以聚合特征,这称为“ SPLATNet”。 SPLATNet [35]能够提供与PointNet ++ [28]相当的结果。切线卷积[37]将局部表面几何形状投影在围绕每个点的切线平面上,从而提供了一组可平面卷积的切线图像。逐点卷积[13]动态查询最近的邻居,并将这些点合并到核单元中,然后对合并的单元应用核权重以在点云上卷积。 Flex-convolution [9]引入了常规卷积层的概括以及有效的GPU实现,可以将其应用于具有数百万个点的点云。 FeaSt-Net [39]提出通过添加软分配矩阵将常规卷积层推广到3D点云。PointCNN[21]是从输入点学习-变换,然后用它同时加权和置换输入与我们的方法相比,PointCNN无法实现排列不变性,这是点云所需要的。

著作[33、16、41、12、40]和[44]建议学习连续滤波器以执行卷积。 [16]提出可以将二维卷积中的权重过滤器视为连续函数,可以用MLP近似。[33]首先将该思想引入了3D图形结构。 [40]将[33]中的方法扩展到分割任务,并提出了一个有效的版本,但是它们的有效版本只能近似深度卷积,而不是真实的卷积。动态图CNN [41]提出了一种可以动态更新图的方法。文献[44]提出了一种特殊的滤波器系列来近似权重函数,而不是使用MLP。 [12]通过考虑密度提出了3D卷积的Monta Carlo近似。我们的工作与3个方面不同。最重要的是,我们以前的工作中从未提出过有效卷积的有效版本。此外,我们使用的密度不同于[12],并且我们提出了一种基于PointConv的反卷积运算符来执行语义分割。

3. PointConv

我们提出了一种卷积运算,它将传统的图像卷积扩展到称为PointConv的点云中。 PointConv是3D连续卷积算子的蒙特卡洛近似的扩展。 对于每个卷积滤波器,它使用MLP近似加权函数,然后应用密度标度对学习的加权函数进行重新加权。 第3.1节介绍了PointConv层的结构。 第3.2节介绍了PointDeconv,使用PointConv图层对特征进行反卷积。

3.1. Convolution on 3D Point Clouds

形式上,对于d维向量x的函数f(x)和g(x),如等式(1)中定义卷积。
在这里插入图片描述
图像可以解释为2D离散函数,通常表示为网格状矩阵。在CNN中,每个滤镜都限于一个小的局部区域,例如3×3、5×5等。在每个局部区域内,不同像素之间的相对位置始终是固定的,如图1(a)所示。而且,对于局部区域内的每个位置,可以轻松地将滤波器离散化为一个具有实际值权重的总和。
在这里插入图片描述

点云表示为一组3D点 { p i ∣ i = 1 , . . . , n } \{p_i | i = 1,...,n\} { pii=1...n},其中每个点都包含位置矢量 ( x , y , z ) (x,y,z) xyz及其特征,例如颜色,表面法线等。与图像不同,点云具有更灵活的形状。点云中某个点的坐标 p = ( x , y , z ) ∈ R 3 p =(x,y,z)\in R^3 p=xyzR3不在固定网格上,而是可以采用任意连续值。因此,每个局部区域中不同点的相对位置是不同的。栅格图像上的常规离散卷积滤镜无法直接应用于点云。图1显示了图像中的局部区域和点云之间的差异。

为了使卷积与点集兼容,我们提出了一种排列不变的卷积运算,称为PointConv。我们的想法是首先回到3D卷积的连续版本:
在这里插入图片描述
其中 F ( x + δ x , y + δ y , z + δ z ) F(x + \delta x,y + \delta y,z + \delta z) Fx+δxy+δyz+δz是局部区域 G G G中以点 p = ( x , y , z ) p =(x,y,z) p=xyz为中心的点的特征。 点云可以看作是来自连续 R 3 R^3 R3空间的非均匀样本。 在每个局部区域中, ( δ x , δ y , δ z ) (\delta x,\delta y,\delta z) δxδyδz可以是局部区域中的任何可能位置。 我们将PointConv定义如下:
在这里插入图片描述
其中 S ( δ x , δ y , δ z ) S(\delta x,\delta y,\delta z) Sδxδyδz是点 ( δ x , δ y , δ z ) (\delta x,\delta y,\delta z) δxδyδz的反密度。 S ( δ x , δ y , δ z ) S(\delta x,\delta y,\delta z) Sδxδyδz是必需的,因为可以非常不均匀地对点云进行采样1。直观地,局部点的数量在整个点云中变化,如图2(b)和(c)所示。此外,在图2(c)中,点 p 3 , p 5 , p 6 , p 7 , p 8 , p 9 , p 1 0 p_3,p_5,p_6,p_7,p_8,p_9,p_10 p3p5p6p7p8p9p

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值