[PointNet++] (NPIS 2017)

image-20210525203213754

1. Motivation

  • However, by design PointNet does not capture local structures induced by the metric space points live in, limiting its ability to recognize fine-grained patterns and generalizability to complex scenes.
  • In addition, the distance metric defines local neighborhoods that may exhibit different properties

limitation of PoinNet

  • No local context
  • Limited translation invariance

根据作者的讲解:PointNet either one point or all point,很难分割精细的物体,对于分割任务有局限性;其次对于平移不变性也有局限性,如果是多个物体的点云(而不是当个物体),那么平移后,所有的xyz都不一样了,全局特征以及分类也不一定了。

2. Contribution

  • 本文作者提出了一个基于PointNet的分级的神经网络。

    In this work, we introduce a hierarchical neural network that applies PointNet recursively on a nested partitioning of the input point set.

  • 正对点云集合中密度的稀疏性不同的问题,这会导致统一在某一个densities下训练的网络的性能下降,作者提出了multi-scale 多尺度特征的方式,来自适应的学习联合特征。

    With further observation that point sets are usually sampled with varying densities, which results in greatly decreased performance for networks trained on uniform densities, we propose novel set learning layers to adaptively combine features from multiple scales.

  • In particular, results significantly better than state-of-the-art have been obtained on challenging benchmarks of 3D point cloud

3. Method

image-20210525203446415

3.1 Hierarchical Point Set Feature Learning

如图2所示,作者提出的分层结构是由set abstract组成,对于SA模块来说,由三个layer组成,Sampling layer,Grouping Layer和PointNet layer。

  • The Sampling layer selects a set of points from input points, which defines the centroids of local regions.
  • Grouping layer then constructs local region sets by finding “neighboring” points around the centroids
  • PointNet layer uses a mini-PointNet to encode local region patterns into feature vectors

SA的输入是Nx(d+C),N表示N个点,d表示三维坐标,C表示point feature。

SA的输出为N’ x (d+C’),其中N是采样后的点,C’是new feature vectors。

之后得到的特征分别根据分类和分割任务设计2个框架,需要注意的是对于分割来说,除了要应用插值进行还原,作者使用了skip link concatenating操作,也就是将第一维采样点相同的特征进行cat操作,作为pointnet的输入。

image-20210525203738570

3.1.2 Sampling layer

给定 { x 1 , x 2 , . . . . , X n } \{x_1, x_2,....,X_n\} {x1,x2,....,Xn}, 首先作者使用farthest point sampling(FPS)来选择每一个子集合 {} { x i 1 , x i 2 , . . . , x i m } \{x_{i_1}, x_{i_2},...,x_{i_m} \} {xi1,xi2,...,xim},其中选取一个离这个子集合其余点最远的 x i j x_{i_{j}} xij

与随机采样相比,在给定相同数量的质心的情况下,它对整个点集具有更好的覆盖率。

3.1.3 Grouping layer

grouping layer的输入是Nx(d+C)以及坐标的集合N’xd,这层的输出是N’xKx(d+C),其中K和N’是重点理解的,N’是采样的点(每个子集合中的质心),K作为每个local region内的点的集合

  • K is the number of points in the neighborhood of centroid points.

对于local region的选取,作者采用Ball query

  • Ball query finds all points that are within a radius to the query point (an upper limit of K is set in implementation).

与kNN相比,球形查询的局部邻域可确保固定的区域比例,从而使局部区域的功能在整个空间中更具通用性,这对于需要局部模式识别(例如语义点标记)的任务是首选。

3.1.4 PointNet layer

在这一层中,输入是N’x K x(d+C),相当于对N’中的每一个subsample point的 Kx(d+C)做pointnet中的mlp,pooling等操作,得到d+C’的vector,因此输出就是N’x(d+C’)。其中N’就是上述提到的centroid point。

局部局域point的坐标是从之前的全局坐标准变为以每一个N’的相对坐标,也就是 X i j = x i j − x ^ ( j ) X_i^{j} = x_i^{j}-\hat x^{(j)} Xij=xijx^(j) x ^ ( j ) \hat x^{(j)} x^(j)是centroid 坐标。

3.2 Robust Feature Learning under Non-Uniform Sampling Density

image-20210525211149352

3.2.1 Multi-scale grouping (MSG)

由于采样区域的不均匀的问题,如果使用相同的radius,那么采样得到的密度是不同的。

MSG是在同一层中,使用半径不同的采样区域提取特征,最后在将它们cat在一起。

image-20210525210823716

作者在附录中给出的MSG的训练细节如下:

SA(K,R,[l1,…ld]),K是局部局域,R是radius,L就是FC层。这里的K是K local regions,相当于是K个subsample point(与上文的K表示局域区域内的point数量不同。)

中午想了很久,发现有一点是想当然了,MSG通过cat操作,具体cat是第一维,例如经过了3个radius不同的fc层后,他们是64,128,128,然后他们会经过max pooling,那么最后输出分别是N’ x 64 N’ x128, N’ x 128(这里的N’就是这里的K)。他们的N‘都是一样的都是采样得到的点,因此可以进行cat操作。

image-20210525212002836
image-20210525212010327
image-20210525211246969

3.2.2 Multi-resolution grouping (MRG)

MSG是在不同的分辨率下进行的cat操作。作者说这样子可以减少计算量。

image-20210525212122442

3.3 Point Feature Propagation for Set Segmentation

  • We adopt a hierarchical propagation strategy with distance based interpolation and across level skip links (as shown in Fig. 2).

  • we use inverse distance weighted average based on k nearest neighbors (as in Eq. 2, in default we use p = 2, k = 3).

    分割过程中使用的插值方法如下,直到将points的数量还原回原始输入的数量。

    image-20210525213259506

4. Experiment

4.1 Classification

image-20210525212227983
image-20210525212233636

4.2 Robustness to Sampling Density Variation

image-20210525212313590

4.3 Point Set Segmentation for Semantic Scene Labeling

image-20210525212333920
image-20210525212344184

4.4 Point Set Classification in Non-Euclidean Metric Space

image-20210525212819975

4.5 Feature Visualization

image-20210525212417031
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值