Advertisement

【论文阅读笔记】Learning to sample

阅读量:

Learning to sample

  • 前沿

  • 引言

  • 方法

    • 问题声明
    • S-NET
    • 匹配
    • ProgressiveNet: sampling as ordering
  • 实验

    • 分类
    • 检索
    • 重建
  • 结论

  • 附录

前沿

这是一篇比较经典的基于深度学习的点云下采样方法

核心创新点:

  1. 首次提出一种以学习驱动且针对特定任务设计的新型点云采样方法。
  2. 提出了两种新型采样网络方案:
    其中一种方案(S-NET)旨在针对不同规模的采样数据分别建立独立模型。
    另一种方案(ProgressiveNet)则能够根据点的重要性进行排序,并支持任意比例的采样率。

任务损失:优化网络参数以增强对关键特征的学习能力并提高预测准确性;采样损失:通过调整生成器参数使得输出样本与原始数据集具有高度的一致性

paper:https://arxiv.org/abs/1812.01659
code:

当处理的点云数据量较大时

引言

近年来,在应用领域中对点云数据的需求日益增长。相应的下采样技术的重要性也得到了越来越多的关注。现有的主流方案主要包括随机采样、均匀采样以及最远点采样(FPS)等策略。这些技术已被广泛应用于多个子任务中包括分类、部分分割、语义分割以及检索等问题域。然而,在现有研究中缺乏系统性探讨针对下采样的专门学习方法。为此,我们提出了一种新型神经网络架构S-NET。该网络架构通过PointNet框架学习生成一个高度压缩的特征表示,并将其优化为更适合后续任务的形式。在实现这一目标的过程中需要兼顾两个看似矛盾的要求:一方面需要保持原始结构的关键特性;另一方面则需要将其优化为更适合后续任务的形式。为了实现这一双重目标我们需要同时最小化采样损失以及最大化特定任务的表现度。具体而言通过训练过程能够获得一组既能反映输入特征又具备理想性能参数的优化结果

为了实现上述目标我们需要构建一个能够在两方面取得平衡的模型架构:一方面要确保生成的样本能够充分捕捉到原始数据的核心信息;另一方面则要使其具备最优的任务适用性

FPS 的一个优势在于对原始数据集中的部分样本进行采样。相比之下,在 S-NET 生成的结果中,并不能确保输出仅为输入数据的一部分。在推理过程中实施后续处理步骤以实现这一目标,在此过程中将生成的数据与原始数据对比后筛选出一个代表性的样本集合(见图 1)。通过实验对比可以看出,在 FPS 相比之下采用我们的采样策略能够显著提升在多个任务上的表现效果。

我们的方法可被视为一种基于特征的选择策略[27, 28]。每一个点都是一个底层形状的特征,在这种情况下我们旨在选取那些对当前任务贡献最大的关键特征。这种机制也可以视为一种视觉注意力机制的形式[29, 30],从而使得后续的任务网络能够聚焦于这些重要点。

S-NET 被训练以生成固定数量的样本 ,由此可知必须为每个目标尺寸单独训练 S-NET 。为了缓解这一挑战,** 我们提出了一种改进型 S-NET ,即 ProgressiveNet **。该改进型 S-NET 根据任务重要性排序关键点。这种设计使得可以根据需求选择合适的样本量,从而实现对细节层级的动态调节。

该采样方案被应用于三个关键领域:三维点云分类、信息检索以及三维模型重建。我们对比了基于随机抽样的经典算法及FPS(Farthest Point Sampling)策略,在三维点云分类方面取得显著的准确率提升,在信息检索性能上也得到了明显优化,并且三维模型重建误差较之下降了。

总体而言,我们主要完成了以下工作:
• 基于特定任务的数据驱动的点云采样方法;
• 采用渐进采样策略,在保证准确性的同时提升效率;
• 通过按与任务相关性排序的方式选择采样的点,并进一步优化了分类器设计;
基于上述工作所得到的抽样结果,在实验中实现了对分类器的有效训练,并验证了该方案在性能上的显著提升。

方法

问题声明

给定点集P={p_i∈R³, i=1,…,n}中选取数量k满足k≤n的任务网络T中确定子集S*包含k个点使其目标函数f达到最小值

S^*=\argmin_S f(T(S)), S\subset P,|S|=k

该问题具有挑战性性质因为它涉及到采样的特性如同池化操作在传统池化层中输出特征可直接求导从而实现有效的梯度传播但在离散采样的场景下这种特性不再适用因为"arg pooling"类型的操作其传递的信息无法逐点更新因此直接训练采样操作面临本质性的困难为此我们提出了一种分阶段策略第一阶段利用神经网络即S-NET生成潜在样本第二阶段通过与原始输入建立对应关系筛选出最终的采样候选

在这里插入图片描述

图1描述了这一过程。S-NET接收多个n个3D坐标的输入数据,并将这些坐标定义为表示3D形状的具体位置信息。随后系统处理这些点并输出相应的数据结果。S-NET之后配置了一个专门的任务网络,在经过特定任务的预训练过程后能够负责完成给定的任务目标。为了保证系统的稳定性和有效性,在整个S-NET的训练与测试过程中保持固定状态,并确保采样数据仅被优化到具体的任务目标上而不是泛泛而谈的各种潜在应用领域

在训练阶段中,生成的采样点输入到任务网络模型中。通过最小化任务损失函数值,这些采样点一方面实现了对具体任务的目标优化,另一方面则被一个额外的采样正则化损失项所引导,该项迫使每个采样点接近其对应的输入点,从而保证了生成采样点的空间分布特性。**在推理阶段,**将生成的采样点与原始输入点云进行最优匹配,以获取其子集作为最终输出结果。这些采样点经过任务网络处理后,并被用于评估系统的性能表现。

我们提出的两种采样方案分别是:S-NET 和 ProgressiveNet. 在第一个方案(图 1)中,为不同样本容量设计专门的采样架构,从而实现对各类样本量数据的有效处理能力。第二个方案(图 2)则采用了一种更为灵活的设计,能够自适应地调节目标样本量大小,从而满足任意小于输入大小的需求,展现出更强的适应性优势。

S-NET

S-NET架构遵循与PointNet相同的网络组织结构。输入点通过单通道卷积处理以生成每个点对应的特征向量。接着采用全局对称池化操作提取整体特征向量,并随后采用多层全连接网络进行特征融合。最终输出结果为完整的点云集合

让我们将生成的点集表示为 G,输入点集表示为 P。我们构建了一个采样正则化损失,由三项组成:

L_{f}(G, P)=\frac{1}{|G|} \sum_{g \in G} \min _{p \in P}\|g-p\|_{2}^{2} 该公式寻求最小化生成集 G 中所有生成点 g 到生成集 P 中最近点 p 的欧氏距离平方均值。

L_{m}(G, P)=\max _{g \in G} \min _{p \in P}\|g-p\|_{2}^{2}
该公式通过计算生成点集G中每个样本g与其在输入点集P中的最近邻p之间的欧氏距离平方值,并选取其中的最大值来衡量两集合间的差异性。
其目的是为了减小生成点集中最远的样本与输入数据集中对应样本之间的距离,并非单纯地防止数据跑偏。
这种设计有助于提升模型在处理边缘或异常数据时的表现能力。

L_{b}(G, P)=\frac{1}{|P|} \sum_{p \in P} \min _{g \in G}\|p-g\|_{2}^{2} 该公式用于计算输入集 P 中每个样本 p 与其 nearest neighbor 在生成集 G 中的距离平方的平均值。

L_fL_m 被引导以确保在平均情况和最坏情况下, G 中的各点都能够接近对应的 P_i 中的关键点. 其目的是为了促使随后的匹配过程实现紧密匹配效果. 经过实验研究发现, 混合应用平均值与最大值的操作能够加快收敛速度 . 此外, L_b 被设计用于保证生成的所有采样点能够在输入数据集上呈现均匀分布特性, 进而有效降低匹配过程中的冲突可能性. 所采用的采样正则化损失函数被定义为上述三项指标的重要度加权求和形式:

L_{s}(G, P) = L_{f}(G, P)+\beta L_{m}(G, P) +(\gamma+\delta|G|) L_{b}(G, P)

请注意这一点很重要。这也是倒角距离(chamfer distance)的一种扩展形式,在参数设置为β等于零、γ等于一以及δ等于零时得以实现。此外我们定义了L_task作为任务网络的损失函数。S-NET总损失为:

L^{S-N E T}(G, P)=L_{\text {task }}(G)+\alpha L_{s}(G, P)

其中的α参数调节正则化的程度。S-NET模型其输出是k×3维的矩阵数据,在这里k代表样本数量,并且我们针对每个不同的k值分别进行训练

匹配

生成的点集合 G 不一定能完全包含在输入点集合 P 中。为了提取出输入点云中的子集信息, 我们将通过配准将生成的数据与原始空间中的所有采样点对应起来

一种广泛使用的匹配两个点集的方法被称为地球移动距离(EMD)[17,23,26,40]。该算法旨在找到使对应点平均距离最小化的集合之间的双射关系,并要求两个集合的规模相等。然而,在我们研究的例子中发现:G 和 P 的规模并不一致。我们深入探讨了两种不同的匹配策略:一种基于非均匀分布的处理方式(第一个变体),另一种则采用了最近邻(NN)匹配的方式(第二个策略)。在此分析中重点介绍了第二种策略,并观察到其表现更为卓越。读者可以参考补充材料获取有关其他匹配方法的详细信息。

在基于 NN 的匹配中,每个点 x ∈ G 被替换为其最接近的欧几里得对应点 y^∗ ∈ P :

这里有点类似于 VQVAE 或者 VQGAN 中的量化操作

y^{*}=\underset{y \in P}{\operatorname{argmin}}\|x-y\|_{2} .

由于 G 中的一些点可能与同一个 P 中的点最为接近, 这表明 G 的唯一采样点数量可能会少于所请求的采样样本量。

因此,在处理过程中去除了重复项并提取了初始采样集。接着采用最远点采样(FPS)[2]方法逐步扩展集合直至达到G的大小,在每一步中选择当前采样集中距离最近的P点。匹配过程仅用于推理阶段作为推理的最后一项操作 。在训练期间生成的数据则由任务网络进行处理,并且由于匹配过程不可微分的原因,在训练过程中无法将任务损失反向传播至S-NET模块。

ProgressiveNet: sampling as ordering

在这里插入图片描述

S-NET 被训练以便将点采样限定为单一预先设定的标准样本量;然而,在需要处理不同标准样本量时,则必须分别训练不同的 S-NET 模型。为此提出了 ProgressiveNet;ProgressiveNet 被设计用于从任意给定规模的点云中提取特征,并将其转换为同样规模但相关性排序后的结果;然而,在原始输入数据中,并没有对这些散乱分布的三维坐标进行排序处理;这样就能根据具体需求灵活选择所需的子集数量;其最后一层全连接层包含恰好 3n 个神经元。

基于图 2 的训练需求,在ProgressiveNet中构建了参数集合 C_s = \{2^1, 2^2, …, 2^{\log_2 n}\}。在每一个参数设置 c ∈ C_s 下 ,我们求取任务相关的损失值以及采样正则化项 ,从而使得整个ProgressiveNet系统的总损失得以优化。

L^{\text {ProgressiveNet }}(G, P)=\sum_{c \in C_{s}} L^{S-N E T}\left(G_{c}, P\right)

其中 L^{S-NET} 被定义为等式6中的一个关键损失项,并与后续研究相关联。G_C 则表示 ProgressiveNet 输出器上生成的一组特定点集合(具体而言是输出层中的前三倍数量)。该损失函数构建了点子集间的层次关系。例如,在每个术语 L^{S-NET}(GC, P) 中的第一个两元素子集被用于构造当c≥2的情况。由于这些小集合出现在每一个相关的术语中,并形成了更大的嵌套模式。类似地其包含关系也延伸到了后续的所有更大规模的数据集中。

在这个训练过程中,在任何k值下(k为任意正整数),前k个生成点都被优化以适应当前任务作为一个独立集,并通过与先前的点集成形成更大的集合。这种设计将显著提升特定任务的结果质量[41]。当进行推理时,在ProgressiveNet输出层产生的新采样点会与输入点云进行匹配,并采用与第3.2节中用于SNET相同的匹配方法。随后将生成的新采样顺序重新排列到其对应的匹配位置上以便后续处理。为了获得特定数量k的新采样样本量我们取前k个采样结果作为最终输出

实验

该方法将 S-NET 应用于三个关键任务:三维物体分类、检索以及三维模型重建。基于 ModelNet40 数据集构建了分类器与检索器,在 PointNet 基础上开发了三维模型自动编码器。针对三维模型重建问题,则采用了 ShapeNet Core55 存储库中的点云自动编码器。随机采样与 FPS 技术被选作替代的数据驱动采样策略,在实验中展示了其有效性。为了保证实验结果的一致性,在应用 S-NET 时仅使用重建后的中间结果。

分类

我们在 ModelNet40 数据集上完成了实例分类任务的研究 ,采用了官方提供的训练测试划分方法。在实现 S-NET 任务网络时,我们选择了 PointNet 完整架构;而对于 ProgressiveNet,则采用了其原始结构以减少计算开销。特别地,在特殊情况下除外。

在这里插入图片描述

如图所示,在本研究中对比分析了几种典型的采样策略:随机均匀分布与输入点集上的FPS算法以及改进型网络S-NET架构。为了全面评估性能,在本研究中对S-NET进行了10次独立训练,并对其中k取值范围包括从2到1024的所有整数值进行了详细分析计算。其中k值代表的是分割粒度参数,在该设定下我们的实验结果表明采用S-NET采样的分类精度达到了或超越了FPS方法在所有采样率下的性能水平,并且最高提升幅度达到约34.2%(对应k=32的情况)。

在这里插入图片描述

表1清晰地展示了,在采用S-NET进行采样的点上进行训练时,其准确度表现更为突出。表中的每一个数字代表一个独立实现的PointNet模型,并且每个模型均基于不同的采样策略对不同规模的点云数据进行了训练与验证。例如,在应用S-NET采样策略时,仅在16个采样点上的点云数据实现了85.6%的分类精度(对比测试集中的FPS策略仅达到76.7%)。这些实验结果有力地表明了S-NET策略能够有效避免过拟合于特定的数据实例,并在此过程中增强了对不同类别特征的学习能力

在这里插入图片描述

如图4所示,在该图中我们将PointNet vanilla与ProgressiveNet分别应用于不同数量(从2到1024)的采样点上并进行了性能对比其中PointNet vanilla仅在经过S-NET采样后进行评估而ProgressiveNet则直接基于其自身的采样策略进行评估.对于每个特定的数量k(k∈{2,4,8,...,1024})我们采用了专门针对该数量设计的S-NET模型通过FPS算法逐步生成所需数量的采样点.例如为了生成数量为48的采样点我们采用了PointNet vanilla模型并对其进行了训练以支持最多32个采样点之后又通过FPS算法补充至所需的数量.最后输出结果来源于一个具有输出尺寸为1024的ProgressiveNe**t网络其参数配置参考了前面提到的所有关键参数设置.

通过实证研究发现,在处理不同数量的训练样本时,S-NET展现出更优的表现.相比之下, progressive net 在处理介于上述两种情况下的任何数量的样本时均表现出色.这一结果凸显了 progressive net 的优势所在:该网络根据重要性排序数据点,并确保分类精度随数据规模呈现近似单调增长的趋势.

S-NET 基于训练完成的任务网络 ,这表明在处理非常大规模的点云数据时可能会遇到挑战问题 **

PointNet 的类网络在时间复杂度方面主要取决于其逐点卷积层的数量及其计算量;这种设计使其高度依赖于输入点云的规模。S-NET 的空间复杂度与其输出大小 k 呈线性关系,并且在实现特定任务时需综合考虑空间资源(即参数数量)与计算效率(即浮-point运算数量)。例如,在对不同规模(从1024到16个采样点)的点云进行处理时如图所示,在对不同规模(从1024到16个采样点)的测试数据集上运行该模型相较于在完整规模下运行PointNet而言;实验结果表明该方法不仅显著提升了计算效率;而且所需的空间仅增加了约5%;请参阅补充材料中的全部细节

在这里插入图片描述
在这里插入图片描述

我们采用匹配后的处理步骤将自身与 FPS 直接对比。然而,在某些情况下存在 k 个输出点并非原始点云子集的可能性设定。此时,则可以直接利用 S-NET 生成的点而无需进行匹配操作;可以选择生成的直接采样结果或者在两者间进行插值运算以获取中间位置上的新样本数据。具体而言,在这种情况下即通过将每个生成点与其对应的采样位置连线形成直线段的方式计算出第三个中间位置上的样本数据。图 6 显示当输入生成的位置信息时 PointNet 的识别性能表现更好;对于经过归一化至单位球体表面的情况我们发现当 t = 0.05 的设置时分类精度处于采样位置与生成位置性能指标之间的一个平衡状态中**

Qi等人[1]指出临界集合是指导致最大池化特征出现的一组关键点。我们的研究则建议采用贡献最大特征值的关键点来进行采样。通过实验验证表明该方法仅在较小的采样率下能够获得满意的效果。具体内容可参见附录中的详细描述。

检索

在这里插入图片描述

经实验表明,在 S-NET 网络结构中采用 PointNet 模型进行分类任务时能够展现出比 FPS 方法更为优越的检索性能。具体而言,在 ModelNet40 数据集上我们对每个测试样本进行重复实验操作以保证结果的一致性与可靠性。在 S-NET 方法中我们通过将点通过 PointNet 进行采样后馈送给网络并利用其倒数第二层神经元输出来生成形状描述符;随后我们通过计算该形状描述符与查询样本之间的 L2 距离来进行检索操作。实验过程在不同数量的采样样本下均进行了重复验证以确保结果的有效性与稳定性。最终统计结果显示如表 2 所示不同采样率及对应的采样策略下的平均精度(mAP)数值表现出了显著差异性

在这里插入图片描述

图 7 展示了原始数据的精度-召回曲线以及通过 FPS 和 S-NET 进行采样的数据集。每个形状均采用 tok=32 的采样点,在所有召回率水平上应用 S-NET 后发现精度显著提升。

重建

我们采用了自动编码器作为任务网络来实施采样策略。

归一化重建误差 图 8 展示了 NRE 随着采样率的变化趋势,在此过程中采用 n/k = 2048/k 的定义方式。我们将 FPS(Frame Per Second)与其对比的对象限定为 S-NET 和 progressiveNet 网络架构。当采样率较小时(即 k 值较大时),FPS 所产生的 NRE 基本上与 S-NET 相近。相比之下,在 k 达到一定数值后(例如 k=32),我们的方法显著优于 FPS;具体而言,在 k=32 的情况下(即每秒约64帧),FPS 的 NRE 略高于 2;而 S-NET 和 progressiveNet 分别表现出约1.5 和1.75 的 NRE 值。其中 S-NET 在该指标上表现更为优异的原因在于其针对不同频次信号进行了专门优化设计;而我们的方法则通过从不可见形状中选取采样点的方法进行优化设计后发现,在相同条件下能够实现更低的重建误差水平

在这里插入图片描述

样本和重建可视化 图9对比了来自64个点的不同重建方法在相同样本量下的表现(单位:px)。实验数据表明,在相同条件下S-NET方法表现出更高的重建质量,并且其在计算效率上也优于传统全连接法(FPS)。值得注意的是,在空间分布特征上存在显著差异:S-NET采样点呈现非均匀分布特征,并且其采样密度随着距离源区域的距离增加而降低;与之相比,FPS采样呈现出较为均匀的空间分布特性,并且其密度变化较小

在这里插入图片描述

通过对抗性简化的理论验证,在本研究中我们展示了如何绕过自动编码器这一技术障碍

在这里插入图片描述

顶行显示源形状(以蓝色表示)以及256个生成位置(以红色表示)。底行展示从这些位置构建目标形状及完成重构过程。值得注意的是,在简化处理后尽管点云结构与原始飞机轮廓相似性较高但最终重构出的却是完全不同的形态具体表现为一辆汽车。

结论

我们开发了一种名为S-NET的学习型简化网络架构,在目标任务优化过程中实现对原始3D点云的有效采样。该架构包含一个高效编码器模块与后处理匹配机制,在保持计算效率的同时实现了高质量样本生成效果。为了进一步提升性能,在此基础上我们开发了一个名为ProgressiveNet的新网络架构,在每一步采样过程中动态调整空间分辨率以适应不同层次的任务需求。实验结果表明,在多个典型应用领域(如三维物体分类、检索与重建)中所提出的方法均显著超越传统FPS方案,并且展现出良好的可扩展性特征。

这种方法具备广泛的适用性,并且能够生成一个小型的点云数据集其构成元素并不局限于原始输入形状的一部分 。输出端不仅实现了与输入端之间的最小化几何误差,并且通过优化下游任务的目标函数提升了性能表现。我们已经展示了通过学习样本提升性能并将其与多种应用场景相结合的有效性

附录

Todo

全部评论 (0)

还没有任何评论哟~