Learning to Sample
1.Background
3D数据可通过多种形式进行表征包括基于多视图图像的方法以及体素化模型等技术手段这些方法各有特点但基于表面信息的空间采样的方法如point cloud在存储效率方面具有显著优势然而由于其包含大量数据量较大的point数量导致处理过程面临挑战因此减小数据规模成为解决问题的关键一环例如可以通过优化算法提高计算效率并降低系统功耗同时减少对存储资源的需求综上所述在实际应用中选择合适的表征方法至关重要
2.related work
随机采样、最远点采样等其他方法都是非学习的预定规则
3.Method
Problem statement
- 输入: 点云数据(具体为n个三维坐标的集合),采样数量为k
- 输出: 由k个采样点构成的3×k矩阵
- 大致方法流程:基本流程图如下所示

第一步:基于n个样本对Tasknetwork进行预训练,并固定其参数;
第二步:通过S-NET获得一批样本(生成样本),将这些生成样本输入到预训练好的Tasknetwork中进行处理。在此过程中设计并采用两个损失函数:任务损失(taskloss)与采样损失(sampling loss)。其中采样损失的作用是同时鼓励生成样本靠近原始数据中的一个样本点,并促使生成样本均匀分布在原始数据云周围;
第三步:在评估阶段(或推理过程中),将生成样本与原始数据匹配以优化Tasknetwork的表现。最终输出的是经过优化后的采样集。
接下来详细介绍怎么做的
3.1 S-NET
-
S-NET 结构:一种用于三维形状表示的方法
该网络架构模仿了 PointNet 的基本设计思路。每个点通过 1×1 卷积操作生成一个特征向量,并经过 feature-wise 最大值池化操作提取全局特征信息;随后利用全连接层生成 k×3 维的结果矩阵以完成三维形状表示任务- Sampling loss

- 总loss:

通过简化处理后的点云实现了对两个相反问题的调和,在保留原有物体特征的基础上,并能够适应后续的任务需求。基于这一原则分别定义了采样损失函数与任务损失函数
Matching
在inference过程中生成的数据点与输入的数据点匹配的方法是其中,在生成的数据点与输入的数据点匹配的过程中

但是可能会存在 generated points 中有多个 point 都指向 input points 中同一个 point 的情况出现针对这种情况采取的一种处理方法就是将这些重复指向同一个 point 的情况记录下来 最终生成的 points 数量将少于 K 个单位 接下来就需要从 input points 中选择与当前 generated points 最远的一些 point 进行采样
Experiment
对比分析 random sampling 和 FPS 在分类、检索和重建 三项核心指标上的性能表现
-
classification
分类准确率相较于random sampling 和FPS更高 -
retrieval
效果相较于random sampling 和FPS更好 -
reconstruction
a lower reconstruction error
