文章目录
本文主要介绍pointnet++中Method这部分的内容翻译和一些自己的理解,有不当之处欢迎指出。
We first review PointNet and then introduce a basic extension of PointNet with hierarchical structure. Finally, we propose our PointNet++ that is able to robustly learn features even in non-uniformly sampled point sets.
Review of PointNet: A Universal Continuous Set Function Approximator
给定一个无序的点集 x 1 , x 2 , . . . , x n {x_1,x_2,...,x_n} x1,x2,...,xn,能够定义一个函数 f : χ → R f:\chi \to R f:χ→R使得点集转变为一个向量:
f ( x 1 , x 2 , . . . , x n ) = γ ( M A X i = 1 , . . . , n h ( x i ) f(x_1,x_2,...,x_n) = \gamma(MAX_{i=1,...,n}{h(x_i)} f(x1,x2,...,xn)=γ(MAXi=1,...,nh(xi)
γ \gamma γ和 h h h常为多层感知器网络。
公式中的集合函数 f f f对于输入点的排列具有不变性,并且可以任意近似任何连续集函数。注意, h h h的响应可以解释为一个点的空间编码。
但是,pointnet缺乏捕捉不同尺度的局部环境的能力,所以进一步的提出了下面内容。
Hierarchical Point Set Feature Learning
虽然PointNet使用单个最大池化操作来聚合整个点集,但新架构构建了一个点的分层分组,并逐步抽象出更大的局部区域。
这种层次结构由许多集合抽象层次组成,如图所示。在每个级别,处理和抽象一组点以产生具有较少元素的新集合。集合抽象级别由三个关键层组成:采样层,分组层和PointNet层。采样层从输入点中选择一组点,这些点定义了局部区域的质心。然后,分组层通过在质心周围找到“相邻”点来构造局部区域集。PointNet层使用迷你PointNet将局部区域模式编码为特征向量。
一个set abstraction层的输入是 N ∗ ( d + C ) N*(d+C) N∗(d+C)的矩阵,其中N是输入点的数量,d是坐标。C是点的特征。输出的一个 N ′ ∗ ( d + C ′ ) N'*(d+C')