【论文学习】PointNet++

Author:Charles R. Qi     Li Yi     Hao Su     Leonidas J. Guibas    Stanford University 

会议:Conference on Neural Information Processing Systems (NIPS) 2017

 

一、回顾PointNet

原理:

1、learn a spatial encoding of each point

2、aggregate all individual point features to a global point cloud signature(a single max pooling)

优点:an effective architecture to process an unordered set of points for semantic feature extraction

缺点:

1、does not capture local structure

2、没有考虑到不同的密度

方法:

point set {x1, x2, ..., xn}

γ and h are usually multi-layer perceptron (MLP) networks

h can be interpreted as the spatial encoding of a point

 

 

二、PointNet++

原理:

1、We first partition the set of points into overlapping local regions by the distance metric of the underlying space.

2、Similar to CNNs, we extract local features capturing fine geometric structures from small

neighborhoods; such local features are further grouped into larger units and processed to produce higher level features.

3、This process is repeated until we obtain the features of the whole point set

 

问题:

1、如何划分点 -> 确定每个划分的中心和距离

centroids(图心) are se lected among input point set by a farthest point sampling (FPS) algorithm

2、如何提取局部特征——PointNet.

 

 

三、问题设置

X = (M, d):M ⊆ R^n is the set of points and d is the distance metric

学习一个输入为X的映射f,结果可以是分类、分割

 

 

四、方法

composed by a number of set abstraction levels

At each level, a set of points is processed and abstracted to produce a new set with fewer elements

 

1、set abstraction level

组成部分:

1)Sampling layer

     作用:selects a set of points from input points, which defines the centroids of local regions

.    方法:iterative farthest point sampling (FPS)

     具体操作:Given input points {x1, x2, ..., xn},choose a subset of points {xi1, xi2, ..., xim}, such that xij is the most distant point (in metric distance) from the set {xi1, xi2, ..., xij−1} with regard to the rest points

2)Grouping layer

    作用:constructs local region sets by finding “neighboring” points around the centroids.

    具体操作:输入N × (d + C)的点集合和N‘ × d的图中心坐标集合,输出N’ × K × (d + C),K is the number of points in the neighborhood of centroid points(每个region K都不一样)。使用ball query’s local neighborhood找K个点

3)PointNet layer

     作用:uses a mini-PointNet to encode local region patterns into feature vectors

     具体操作:对于每一local region,输入N’ × K × (d + C),输出N’ ×  (d + C‘)。在计算中将此region的坐标转换为x=x-xc,减去中心点的坐标,再输入到Point net中

 

输入输出:

输入:N × (d + C) matrix:N points with d-dim coordinates and C-dim point feature

输出:N' × (d + C’) matrix of N‘ subsampled points with d-dim coordinates and new C‘-dim feature vectors summarizing local context

 

 

2、Robust Feature Learning under Non-Uniform Sampling Density

Multi-scale grouping (MSG)

      思想:apply grouping layers with different scales followed by according PointNets to extract features of each scale. Features at different scales are concatenated to form a multi-scale feature.

      方法:randomly dropping out input points:1)for each training point set, we choose a dropout ratio θ uniformly
sampled from [0, p] where p ≤ 1。2)drop a point with probability θ

                During test, we keep all available points

Multi-resolution grouping (MRG)

     两个组成部分:1)summarizing the features at each subregion from the lower level Li−1 using
the set abstraction level;2)directly processing all raw points in the local region using a single PointNet.

     两个部分的权重设置:1)the density of a local region is low,the second vector should be weighted higher;2)the density of a local region is high, the first vector weighted higher

3、Segmentation

1)interpolation:使用inverse distance weighted average based on KNN

2)将插值产生的feature concatenated with skip linked point features

3)通过“unit pointnet”(类似CNN中的1*1卷积)进行特征降维

五、实验

1、Datasets

MNIST:

       2D。60k training and 10k testing

       classification:选取512 points
ModelNet40:

       3D objects。CAD models of 40 categories。9,843 shapes for training and 2,468 for testing.

       classification:选取1024 points
SHREC15: 3D objects。1200 shapes from 50 categories。 We use five fold cross validation。
ScanNet: 3D scenes。1513 scanned and reconstructed indoor scenes。1201 scenes for training, 312 scenes for test.

2、Point Set Classification in Euclidean Metric Space

效果:1)比point net好;2)有时比image CNNs好

鲁棒性测试:randomly drop points during test time to validate our network’s robustness to non-uniform and sparse data

3、Point Set Classification in Non-Euclidean Metric Space

针对问题:同一个类别,但是pose不一样,如一匹马可能直立可能弯着。这两者应有一样的分类结果

方法步骤:1)construct the metric space induced by pairwise geodesic distances。2)obtain an embedding metric。3)extract intrinsic point features in this metric space including WKS [1], HKS [27] and multi-scale Gaussian curvature。4)use these features as input and then sample and group points according to the underlying metric space

4、Segmentation

猜你喜欢

转载自blog.csdn.net/Always_ease/article/details/84821790