(阅读笔记)PointNet++: Deep Hierarchical Feature Learning on Point Sets in a Metric Space

PointNet++

  • 一、动机和贡献
  • 二、PointNet++模型

一、动机和贡献

  • 点云深度模型的现有工作
    ①体素编码;
    ②将点云映射至平面投影;
    ③人工特征工程;
    ④直接消耗点云(PointNet)。

  • PointNet的局限性:PointNet对于场景的分割效果十分一般,由于暴力地将所有点最大池化为全局特征,没有学习到局部点与点之间的关系;

  • 作者在PointNet++中主要借鉴了CNN的多层感受野思想,分层使用卷积核做内积,渐渐扩展后层单个特征的感受野,提取到局部特征;且提出多尺度分组的特征提取方法。

二、PointNet++模型

【实际上,PointNet++需要解决两个关键的问题:第一,如何将点集划分为不同的区域;第二,如何利用特征提取器获取不同区域的局部特征。在本文中,作者使用邻域球来定义分区,每个区域可以通过中心坐标和半径来确定,作者使用了FPS算法来采样选择中心坐标;然后使用PointNet作为特征提取器。】
(阅读笔记)PointNet++: Deep Hierarchical Feature Learning on Point Sets in a Metric Space_第1张图片

  1. Set Abstraction(集合抽象化)用于提取点的局部特征,将Set Abstraction操作级联,PointNet++就能像CNN一样从浅层特征得到深层语义特征,Set Abstraction具体包含三个阶段。
    ①采样层(sampling):激光雷达单帧的数据点可以多达100k个,如果对每一个点都提取局部特征,计算量是非常巨大的。作者提出先对点云数据进行采样。作者采用最远点采样法(farthest point sampling, FPS),相对于随机采样,FPS算法能够更好地覆盖整个采样空间。FPS的目的主要是对输入点进行采样,在这些点中选出足够多的中心点,并且点与点之间的距离要足够远。
    ②分组层(grouping):定义点的“局部”,借鉴图像像素的局部是其周围一定曼哈顿距离下的像素点(卷积核确定)的思想,定义点云数据中一个点的局部由其周围给定半径划出的球形空间内的其他点构成。该层的目的是是利用上一步得到的中心点将点集划分成若干个区域。
    ③特征提取层PointNet:PointNet对各个局部进行特征提取来得到局部特征,即将每个分区的点进行编码,输出特征向量。

  2. 分类模块
    采用级联的Set Abstraction来逐层的提取数据点的局部特征,最后采用全连接层总结全局特征输出分类结果。

  3. 分割模块
    对于分割网络,级联Set Abstraction将点云提取一个全局的特征,然后将下采样后的特征进行上采样,使得原始点云中的每个点都有对应的特征,上采样通过最近邻k插值实现(即,逆距离加权平均);简单来说,距离越远的点权重越小,即权重w与距离d成反比,最后对于每一个点的权重再做一个全局的归一化。
    (阅读笔记)PointNet++: Deep Hierarchical Feature Learning on Point Sets in a Metric Space_第2张图片
    逆距离权重法(Inverse Distance Weighted)主要依赖于反距离的幂值,幂参数可基于距输出点的距离来控制已知点对内插值的影响。幂参数是一个正实数,默认值为2。(一般0.5到3的值可获得最合理的结果)。
    【通过定义更高的幂值,可进一步强调最近点。因此,邻近数据将受到更大影响,表面会变得更加详细(更不平滑)。随着幂数的增大,内插值将逐渐接近最近采样点的值。指定较小的幂值将对距离较远的周围点产生更大的影响,从而导致平面更加平滑。】
    在IDW插值之前,我们可以事先获取一个离散点子集,用于计算插值的权重。注意点有两点:离散点距离插值点越远,其对插值点的影响力越低,甚至完全没有影响力;离散点越少可以加快运算速度。

  4. 非均匀采样密度下的鲁棒特征学习
    点云数据在空间中的分布是不均匀的(激光收集点云的时候总是在近的地方密集,在远的地方稀疏),这会导致PointNet不能提取到很好的局部特征,点云的缺失鲁邦性不好;直观上,对于稀疏的点云,应该考虑使用更大的尺度范围来提取特征。
    (阅读笔记)PointNet++: Deep Hierarchical Feature Learning on Point Sets in a Metric Space_第3张图片
    ①多尺度分组(multi-scale grouping, MSG)
    原理:采用不同尺度的分组层,然后采用PointNet提取每个尺度的特征;将不同尺度的特征连接起来,形成一个多尺度特征。
    局限性:需要对每个局部的每个尺度提取特征,其计算量的增加也是很显著的。

②多分辨率分组(multi-resolution grouping, MRG)
动机:为了解决MSG计算量太大的问题,作者提出了MRG,保留了根据点的分布特性自适应聚合信息的能力;
原理:在某一层对每个局部提取到的特征由两个向量串联构成,第一部分由其前一层提取到的特征再次通过特征提取网络得到,第二部分则通过直接对这个局部对应的原始点云数据中的所有点进行特征提取得到;
(1)当一个局部区域的密度较低时,第一个向量的可靠性可能低于第二个向量,因为计算第一个向量的子区域包含更稀疏的点,并且有更多的采样缺陷;在这种情况下,第二个向量的权重应该更高。
(2)当局部区域的密度较高时,第一个向量提供更详细的信息,因为它具有在较低层次递归地以较高分辨率检查的能力。

你可能感兴趣的:(深度学习,深度学习)