点云下采样方法总结(downsampling in pointcloud)

前言:相比于投影或体素分割的方法处理点云,直接对点云进行特征提取能较好地保留三维结构信息,但由于点云的无序性,直接处理的方式在对邻域进行搜索时需要较高的计算成本。一个常用的解决方式就是对点云进行下采样,将对全部点云的操作转换到下采样所得到的关键点上,降低计算量。FPS(farthest point sampling)是一种较为常用的非学习式的下采样方法,其具有简单快速的特点,因此成为众多点云处理网络的采样方案,但是FPS仅仅是基于点的位置和欧式距离作为采样依据,对点云的稀疏性以及语义信息无感,所以在进行高层任务(目标检测等)时也具有一定的弊端。本文总结了一些对FPS的扩展工作,并对比了他们的优势。



FPS:FPS采样依据为点与点之间地欧式距离。最远点采样的优势在于能够尽可能均匀地覆盖空间中的所有点,相比随机采样,FPS对点集的密度分布差异具有很好地鲁棒性。
算法简介:(参考https://blog.csdn.net/QFJIZHI/article/details/103419044)
假设一共有n个点,整个点集为N = {f1, f2,…,fn}, 目标是选取n1个起始点做为下一步的中心点:

  • 随机选取一个点fi为起始点,并写入起始点集 B = {fi};
  • 选取剩余n-1个点计算和fi点的距离,选择最远点fj写入起始点集B={fi,fj};
  • 选取剩余n-2个点计算和点集B中每个点的距离, 将最短的那个距离作为该点到点集的距离, 这样得到n-2个到点集的距离,选取最远的那个点写入起始点B = {fi, fj ,fk},同时剩下n-3个点,
  • 如果n1=3 则到此选择完毕;
  • 如果n1 > 3则重复上面步骤直到选取n1个起始点为止.

Feature-FPS: 由CVPR2020论文3D-SSD (3DSSD: Point-based 3D Single Stage Object Detector)提出。顾名思义,就是采样依据不再是欧氏距离而是点的高级特征(学习得到)之间的相似性。该采样方式的提出主要是为了通过引入语义信息来实现对点语义的感知,提高前景点集的采样比例。

实现:

  • 在处理原始点云时用到的特征即为点的反射率信息,在后续层中使用该点学习得到的特征。
  • 距离度量使用L2范数。

与FPS组合使用:
F-FPS对同一物体的采样点冗余度较高,因此作者通过组合F-FPS与传统FPS来解决这一问题。如公式一所示。
在这里插入图片描述


Adaptive sampling: 由CVPR2020论文PointASNL: Robust Point Clouds Processing using Nonlocal Neural Networks with Adaptive Sampling提出首先利用FPS进行采样,然后根据关键点邻域(k-NN)特征来对k个临近进行自适应加权,求取加权平均值即为新的关键点。这种方式提升了对噪声点的鲁棒性,同时将邻域的几何空间特征引入到了采样过程中。
对于FPS得到的关键点xi,计算新的关键点及其对应特征的过程主要分为以下三步:

  • 计算xi邻域内每个点的特征。List item
  • 获得xi邻域内每个点的位置权重和特征权重稀系数。
    点云下采样方法总结(downsampling in pointcloud)_第1张图片
  • 对xi邻域内各个点进行的位置和特征加权求和,得到新的关键点及其特征。
    点云下采样方法总结(downsampling in pointcloud)_第2张图片

你可能感兴趣的:(点云处理)