PointConv: Deep Convolutional Networks on 3D Point Clouds
论文:https://arxiv.org/pdf/1811.07246.pdf
源码:https://github.com/DylanWusee/pointconv
Abstract
- 将动态滤波器扩展到一个新的卷积运算,PointConv。
- PointConv可以应用于点云以构建深度卷积网络。将卷积核视为由权重和密度函数组成的3D点局部坐标的非线性函数。
- 提出了一个公式,可以有效地计算权重函数,从而能够大幅扩展网络并显着改善其性能。
- 学习的卷积核可用于计算3D空间中任何点集上的平移不变和置换不变卷积。
- PointConv可用作反卷积运算符,以将特征从子采样点云传播回其原始分辨率。
- 在ModelNet40,ShapeNet和ScanNet上进行的实验表明,基于PointConv构建的深度卷积神经网络能够在3D点云上具有挑战性的语义分割基准上达到最新水平。
- 将CIFAR-10转换为点云,在PointConv上构建的网络的性能可以与2D卷积网络相当。
(一)Introduction
直接获取3D数据的传感器:
- 室内传感器(例如激光扫描仪)
- 飞行时间传感器(例如Kinect,RealSense或Google Tango)
- 结构光传感器(例如iPhoneX上的传感器)
- 室外传感器(例如LIDAR和MEMS传感器)
优点:
- 深度信息可以消除2D图像中的许多分割模糊性,并且表面法线提供了场景几何的重要线索。
idea来源:
- 2D图像中,卷积神经网络(CNN)从根本上改变了计算机视觉的格局。
- CNN通过利用平移不变性获得成功,因此可以将同一组卷积滤波器应用于图像中的所有位置,从而减少参数数量并提高泛化能力。
- 希望将这种成功转移到3D数据分析中。
遇到困难:
- 3D数据通常以点云的形式出现,这是一组无序的3D点,每个点上有或没有附加功能(例如RGB)。
- 点云是无序的,并且不符合2D图像中的规则晶格网格。
- 在这种无序输入上很难应用常规的CNN。
现有解决办法:
- 将3D空间视为体积网格,
现有解决办法的不足:
- 在高分辨率体积上,体积将稀疏而CNN则难以计算。
本文提出的初始思路:
- PointConv:使用inverse density scale 来对MLP学习的连续函数进行加权,该函数对应于连续卷积的Monte Carlo approximation。
- PointConv将点云的位置作为输入并学习MLP以近似权重函数,并对学习的权重应用反密度标度以补偿非均匀采样。
初始思路不足:
- 当输出功能的通道大小非常大时,简单实现的PointConv会导致内存效率低下,因此很难训练并扩展到大型网络。
初始思路改进:
- 为减少PointConv的内存消耗,通过使用更改求和顺序的重新构造来提高存储效率。
- 这种新结构能够在3D点云上构建多层深度卷积网络,该网络具有与栅格图像上2D CNN相似的功能。
- 可以实现与2D卷积网络中相同的平移不变性,以及点云中点的排列顺序的不变性。
发现:
- 大多数最先进的算法pointnet,pointnet++无法执行反卷积,这限制了它们在分割任务上的性能。
- PointConv是卷积的完全近似,因此可以很自然地将PointConv扩展到PointDeconv,它可以完全利用粗层信息并传播到较细的层。
- 通过使用PointConv和PointDeconv,可以提高语义分割任务的性能。
论文贡献:
- 提出了PointConv,这是一种密度重新加权的卷积,能够完全近似任何一组3D点上的3D连续卷积。
- 设计了一种内存有效的方法,以更改求和顺序技术来实现PointConv,最重要的是,可以扩展到当前CNN级别。
- 将PointConv扩展到反卷积版本(PointDeconv),获得更好的分割结果。
证明: PointConv是真正的卷积运算。
- 将2D图像中的所有像素转换为具有2D坐标以及每个点具有RGB特征的点云来评估CIFAR-10上的PointConv。
- 在CIFAR-10上的实验表明,PointConv的分类准确度可与类似结构的图像CNN相比,远胜过以前通过点云网络获得的最佳结果。
(二)Related Work
看论文吧~~
(三)PointConv
3.1. Convolution on 3D Point Clouds
对于 d d d维向量 x x x的函数 f ( x ) f(x) f(x)和 g ( x ) g(x) g(x),定义卷积如下:
( f ∗ g ) ( x ) = ∬ τ ∈ R d f ( τ ) g ( x + τ ) d τ − − − − − − − − − − ( 1 ) (f*g)(x)=\iint_{\tau \in R^{d}}^{}f(\tau )g(x+\tau)d\tau----------(1) (f∗g)(x)=∬τ∈Rdf(τ)g(x+τ)dτ−−−−−−−−−−(1)
2D基础:
- 图像可以解释为2D离散函数,通常表示为网格状矩阵。
- 在CNN中,每个滤波器都限于一个小的局部区域,例如3×3,5×5等。
- 在每个局部区域内,不同像素之间的相对位置始终是固定的,如图1(a)所示。
- 而且,对于局部区域内的每个位置,可以轻松地将滤波器离散化为具有实值权重的总和。
3D延伸:
- 点云表示为一组3D点 { p i ∣ i = 1 , . . . , n } \left \{p_{i}|i=1,...,n\right \} { pi∣i=1,...,n},其中每个点都包含位置向量 ( x , y , z ) (x,y,z) (x,y,z)及其特征(例如颜色,表面法线等) 。
- 点云中某个点的坐标 p = ( x , y , z ) ∈ R 3 p=(x,y,z)\in R^{3} p=(x,y,z)∈R3不在固定网格上,而是可以取任意连续值。
- 每个局部区域中不同点的相对位置是不同的。常规的栅格图像中离散卷积滤波器不能直接应用于点云。

图释:
- 图1显示了局部区域中图像与点云之间的差异。
- (a)显示图像中的5×5局部区域,其中点之间的距离只能获得很少的离散值。
- (b)和(c)表明,在点云内的不同局部区域中,顺序和相对位置可能会非常不同。
PointConv理论基础来源:
3D卷积的连续版本:
C o n v ( W , F ) x y z = ∭ ( δ x , δ y , δ z ) W ( δ x , δ y , δ z ) F ( x + δ x , y + δ y , z + δ z ) d δ z δ y δ x − − − − − ( 2 ) Conv\left ( W,F\right)_{xyz}=\iiint_{\left ( \delta x,\delta y,\delta z\right )}^{}W\left (\delta x,\delta y,\delta z\right )F\left ( x+\delta x,y+\delta y,z+\delta z\right )d\delta z\delta y\delta x----- (2) Conv(W,F)xyz=∭(δx,δy,δz)W(δx,δy,δz)F(x+δx,y+δy,z+δz)dδzδyδx−−−−−(2)
- F ( x + δ x , y + δ y , z + δ z ) F\left ( x+\delta x,y+\delta y,z+\delta z\right ) F(x+δx,y+δy,z+δz)是局部区域 G G G中以点 p = ( x , y , z ) p=(x,y,z) p=(x,y,z)为中心的点的特征。
- 点云可以看作是来自连续 R 3 R^3 R3空间的非均匀样本。
- 在每个局部区域中, ( δ x , δ y , δ z ) ( \delta x,\delta y,\delta z ) (δx,δy,δz)可以是局部区域中的任何可能位置。
PointConv定义:
P o i n t C o n v ( S , W , F ) x y z = ∭ ( δ x , δ y , δ z ) S ( δ x , δ y , δ z ) W ( δ x , δ y , δ z ) F ( x + δ x , y + δ y , z + δ z ) PointConv\left ( S,W,F\right)_{xyz}=\iiint_{\left ( \delta x,\delta y,\delta z\right )}^{}S\left (\delta x,\delta y,\delta z\right )W\left (\delta x,\delta y,\delta z\right )F\left ( x+\delta x,y+\delta y,z+\delta z\right ) PointConv(S,W,F)xyz=∭(δx,δy,δz)S(δx,δy,δz)W(δx,δy,δz)F(x+δx,y+δy,z+δz)
其中 S ( δ x , δ y , δ z ) S\left (\delta x,\delta y,\delta z\right ) S(δx,δy,δz)是点 ( δ x , δ y , δ z ) (\delta x,\delta y,\delta z) (δx,δy,δz)的反密度。 S ( δ x , δ y , δ z ) S\left (\delta x,\delta y,\delta z\right ) S