超越教师!PointDistiller:面向高效紧凑3D检测的结构化知识蒸馏(CVPR2022)

超越教师!PointDistiller:面向高效紧凑3D检测的结构化知识蒸馏(CVPR2022)_第1张图片

论文链接:https://arxiv.org/pdf/2205.11098.pdf

代码链接:https://github.com/RunpeiDong/PointDistiller

摘要

点云表示学习的显著突破促进了它们在自动驾驶汽车和虚拟现实等现实世界应用中的使用。然而,这些应用通常迫切需要不仅准确而且高效的 3D 对象检测。

最近,知识蒸馏已被提出作为一种有效的模型压缩技术,它将知识从过度参数化的教师转移到轻量级学生,并在 2D 视觉中实现一致的有效性。然而,由于点云的稀疏性和不规则性,直接将以前的基于图像的知识蒸馏方法应用于点云检测器通常会导致性能不理想。

为了填补这一空白,本文提出了 PointDistiller,这是一种用于基于点云的 3D 检测的结构化知识蒸馏框架。具体来说,PointDistiller 包括局部蒸馏,通过动态图卷积和重新加权学习策略提取和蒸馏点云的局部几何结构,突出学生对关键点或体素的学习,以提高知识蒸馏效率。

对基于体素和原始点的检测器的广泛实验证明了本文的方法优于以前的七种知识蒸馏方法的有效性。例如,本文的 4 倍压缩 PointPillars 学生在 BEV 和 3D 对象检测上实现了 2.8 和 3.4 mAP 的改进,分别比其老师高 0.9 和 1.8 mAP。

贡献点

• 本文提出了局部蒸馏,它首先用动态图卷积对点云的局部几何结构进行编码,然后将它们从教师蒸馏到学生。

• 本文提出了重新加权的学习策略来处理点云中的稀疏性和噪声。它通过在知识蒸馏中赋予学生更高的学习权重来突出学生在体素上的学习,这些体素内部有更多的点。

• 已经对基于体素和基于原始点的检测器进行了广泛的实验,以证明本文的方法相对于以前的七种方法的性能。

论文方法

网络结构

超越教师!PointDistiller:面向高效紧凑3D检测的结构化知识蒸馏(CVPR2022)_第2张图片

和:教师和学生检测器中的特征编码层。

和:采样的待蒸馏体素或具有前个最大重要性分数的点的特征。

和:教师和学生检测器特征的通道数。

和:教师和学生检测器的图特征。

基于预先定义的重要性分数,本文的方法从整个点云中采样相对更关键的N个体素或点,通过动态图卷积提取它们的局部几何结构,然后以重新加权的方式提取它们。

主要模块

Sampling Top-N To-be-distilled Voxels (Points)

采样 Top-N 待蒸馏体素(点)

原因:

由于点云非常稀疏,而体素通常是等距的,因此大多数体素只包含很少甚至单点。因此,这些单点体素在知识蒸馏中对学生学习的价值要小得多。即使在基于原始点的检测器中,通常也存在一些相对更关键的点和一些无意义的点(例如,噪声点)。因此,本文建议提取对知识蒸馏更有价值的体素或点,而不是蒸馏点云中的所有体素或点。

具体操作:

对于基于体素的检测器,本文将第 i 个体素的重要性得分定义为,其表示其中的点数。

对于基于点的检测器,受先前通过注意力定位图像中关键像素的工作的启发,本文将第 i 个点的重要性分数定义为其沿通道维度的排列不变最大值,可以表示为

基于重要性分数,本文可以根据从计算的重要性分数对前N个重要体素或点进行知识蒸馏。

Extracting Local Geometric Information

提取局部几何信息

本文提出了局部蒸馏,而不是直接提取代表性特征,它使用动态图卷积层提取点云的局部几何信息并将其提取到学生检测器。

具体操作:具体而言,将 表示为第i个待提取体素或点的特征,本文可以基于该体素或点及其K个相邻体素或点通过KNN聚类构建图(K-最近邻)。通过将 z~i~及其 K-1 个邻居的特征分别表示为 和 ,

受先前方法的启发,本文首先通过将它们与全局质心体素(或点)特征 z~i,1~连接来更新图中每个体素(或点)的特征,可以表示为,其中

然后,本文对它们应用动态图卷积作为聚合操作,可以表示为,其中,表示聚合算子。

继之前基于图的点云网络之后,本文将设置为具有 ReLU 激活和批量归一化的非线性层。那么局部蒸馏的训练目标可以表述为

bafca48996f7cca4289cf34a0803176d.png

其中表示学生编码层 的参数。表示学生和教师检测器的动态图卷积层的参数。

请注意,这些层同时使用学生检测器进行训练,并且可以在推理过程中被丢弃。

Reweighting Knowledge Distillation Loss

重加权的知识蒸馏损失

点云对象检测中的不同体素和点在知识蒸馏中具有不同的值。因此,本文建议根据前面段落中介绍的重要性分数重新加权每个体素或点的学习权重。将待蒸馏的 N 的学习权重表示为 。与采样过程中定义的重要性分数类似,本文将每个图的学习权重定义为经过 softmax 函数后相应特征上的最大值,可以表示为,其中 τ 是softmax函数中的温度超参数。

对于基于体素的方法,本文将 φ 定义为 softmax 函数后体素中的点数,可以表示为。然后,采用重新加权策略,知识蒸馏的训练目标可以表述为

d877c49d9978563e9b823722d1a9b856.png

如上面的损失函数所示, 越高,第i个图上学生和教师特征之间的知识蒸馏损失对整体损失的影响会更广泛,因此第i个图上的学生学习可以被突出显示。因此,所提出的重新加权策略允许学生检测器在相对更关键的体素图(点图)中更加关注学习教师知识。

此外,等式 2 还暗示本文的方法是一种基于特征的知识蒸馏方法,与检测器的架构和标签集 无关。因此,它可以直接添加到各种 3D 对象的原始训练损失中用于模型压缩的检测器。

实验结果

F代表浮点操作的数目 flops (/G), P 代表参数量(/M)mAP代表中等难度的平均精度。

KD代表本文的方法是否被使用到每个检测器第一行报告的结果是教师检测器的性能。

在BEV (Bird-Eye-View)物体检测上的实验结果

超越教师!PointDistiller:面向高效紧凑3D检测的结构化知识蒸馏(CVPR2022)_第3张图片

在3D物体检测上的实验结果

超越教师!PointDistiller:面向高效紧凑3D检测的结构化知识蒸馏(CVPR2022)_第4张图片

总结

本文提出了一种结构化的知识蒸馏框架PointDistiller,用于基于点云的目标检测。

它由局部蒸馏组成,首先将点云中局部几何结构中的语义信息编码并提取给学生,然后通过为不同的点和体素分配不同的学习权重来重新加权学习以处理点云中的稀疏性和噪声。

对基于体素的检测器和基于原始点的检测器的广泛实验证明了其优于以前的七种知识蒸馏方法。

本文的消融研究显示了 PointDistiller 中每个模块的单独有效性。此外,可视化结果表明,PointDistiller 可以通过减少假阳性预测显着提高检测性能,并且重要性得分能够揭示更重要的体素。

参考

[1]Zhang L, Dong R, Tai H S, et al. PointDistiller: Structured Knowledge  Distillation Towards Efficient and Compact 3D Detection[J]. arXiv  preprint arXiv:2205.11098, 2022.

你可能感兴趣的:(计算机视觉,机器学习,人工智能,深度学习,java)