PointDistiller:面向高效紧凑3D检测的结构化知识蒸馏
0. 引言
知识蒸馏是一种在繁琐的模型中提炼知识并将其压缩为单个模型的方法,以便可以将其部署到实际应用中。随着3D目标检测在自动驾驶、虚拟现实等任务中越来越重要,知识蒸馏等模型提炼技术也被证明了有效性。
本文将为大家分享2022 CVPR的论文"PointDistiller:面向高效紧凑3D检测的结构化知识蒸馏",该论文提出了一种结构化的知识蒸馏框架,可以实现更优秀的目标检测。重要的是,算法已经开源。
1. 论文信息
标题:PointDistiller: Structured Knowledge Distillation Towards Efficient and Compact 3D Detection
作者:Linfeng Zhang, Runpei Dong, Hung-Shuo Tai, Kaisheng Ma
来源:2022 Computer Vision and Pattern Recognition (CVPR)
原文链接:https://arxiv.org/abs/2205.11098
代码链接:https://github.com/RunpeiDong/PointDistiller
2. 摘要
点云表示学习的显著突破推动了它们在现实世界应用中的使用,如自动驾驶汽车和虚拟现实。然而,这些应用通常迫切需要不仅准确而且高效的3D物体检测。
最近,知识蒸馏被认为是一种有效的模型压缩技术,它将知识从一个过度参数化的教师转移到一个轻量级的学生,并在2D视觉中实现一致的有效性。
然而,由于点云的稀疏性和不规则性,将以往基于图像的知识蒸馏方法直接应用于点云检测器通常会导致不理想的性能。为了填补这一空白,本文提出了PointDistiller,一种用于基于点云的三维检测的结构化知识蒸馏框架。
具体来说,PointDistiller包括局部蒸馏,通过动态图形卷积和再加权学习策略提取点云的局部几何结构,突出学生对关键点或体素的学习,提高知识蒸馏效率。
在基于体素和基于原始点的检测器上的大量实验已经证明了我们的方法相对于先前的七种知识蒸馏方法的有效性。例如,我们的4×压缩PointPillars学生在BEV和3D对象检测方面分别实现了2.8和3.4的mAP提升,分别比老师高出0.9和1.8的mAP。
3. 算法分析
如图1所示是作者提出的结构化的知识蒸馏框架PointDistiller,该框架使用局部蒸馏来提取点云的局部几何结构中的教师知识,以及通过突出学生在相对更重要的体素上的学习来处理点云稀疏性的重新加权学习策略。具体来说,该方法首先从整个点云中提取相对较关键的N个体素或点进行采样,然后通过动态图卷积提取其局部几何结构,最后以重新加权的方式进行提取。
图1 PointDistiller框架概述
作者的主要贡献总结如下:
(1) 提出了局部蒸馏,首先用动态图卷积编码点云的局部几何结构,然后从教师到学生进行蒸馏。
(2) 提出了重新加权的学习策略来处理点云中的稀疏性和噪声。它通过在知识提炼中给体素更高的学习权重,突出了学生在体素上的学习。
(3) 在基于体素和基于原始点的检测器上进行了大量实验,以证明作者提出的方法优于七种先前方法的性能。
3.1 局部蒸馏
作者提出局部蒸馏,而不是直接提取教师检测器到学生检测器的主干特征,该局部蒸馏首先用KNN对局部相邻体素或点进行聚类,然后用动态图卷积层对局部几何结构中的语义信息进行编码,最后从老师那里提炼给学生。因此,学生检测器可以继承教师理解点云局部几何信息的能力,并实现更好的检测性能。
3.2 重加权学习策略
处理点云的主流方法之一是将其转换为体素,然后将其编码为规则数据。然而,由于点云中的稀疏性和噪声,大多数体素只包含一个点,并且很可能是一个噪声点。因此,与包含多个点的体素相比,这些单点体素中的代表性特征在知识蒸馏中具有相对较低的重要性。受此观察的激励,作者提出了一种重新加权的学习策略,该策略通过给学生更大的学习权重来突出他们在具有多个点的体素上的学习。此外,类似的思想也可以容易地扩展到基于原始点的检测器,以突出对教师检测器的预测具有更大影响的点上的知识提炼。
4. 实验
4.1 对比试验
表1和表2分别显示了使用和不使用PointDistiller对于BEV检测和3D检测的性能,证明了作者提出的方法可以成功实现从老师检测器到学生检测器的知识迁移,并且实现明显且一致的性能提升,具有如下结论:
(1) 对于BEV和3D检测,使用PointDistiller后,所有种类的检测器和所有压缩比的平均精度显著提高。平均而言,对于基于体素和原始点的检测器,可以分别观察到2.4和1.0的mAP提升。在BEV和3D检测上,可以分别获得1.9和1.9的中等mAP改善。
(2) 在PointPillars和SECOND检测器的BEV检测上,用PointDistiller训练的4×压缩和加速的学生胜过他们的老师,分别为0.9和0.9的mAP。在PointPillars和SECOND检测器的3D检测中,使用PointDistiller训练的4×压缩和加速学生分别比他们的老师高出1.8和0.1的mAP。
(3) 在所有困难任务的检测结果中可以观察到一致的平均精度提升。
(4) 在所有类别的检测结果中可以观察到一致的平均精度提升。
(5) 在PointRCNN上,可以在BEV和3D检测上依次观察到平均1.3和1.2的mAP提升,证明PointDistiller也可以应用于原始点检测器。
表1 使用PointDistiller进行BEV物体检测的实验结果
表2 使用PointDistiller进行3D物体检测方法的实验结果
表3所示是使用PointDistiller与其他先前的知识蒸馏方法的对比,具有如下结论:
(1) PointDistiller明显优于其他的先前方法。在BEV和3D检测方面,PointDistiller分别超越了第二优的知识蒸馏方法1.5和1.9的mAP。
(2) PointDistiller在所有困难的所有类别中达到最佳性能。
(3) PointDistiller是唯一一种使学生探测器优于其教师探测器的知识蒸馏方法。
表3 PointDistiller与其他知识蒸馏方法的对比
表4所示是在nuScenes数据集上使用2×和4×压缩的PointPillars的对比结果。结果显示,作者提出的方法对mAP和NDS的平均性能分别提升了0.65和0.5,验证了该方法对大规模数据集的有效性。
表4 在nuScenes数据集上的实验结果
4.2 消融实验
针对PointDistiller的消融实验主要由两部分组成,包括重新加权学习策略(RL)和局部蒸馏(LD)。如表5所示是KITTI上的4×压缩PointPillars学生消融研究。其中:
(1) 仅通过使用重新加权的学习策略来提取BEV检测和3D检测上的主干特征,可以分别获得2.0和1.9的mAP提升。
(2) 在BEV检测和3D检测上不需要重新加权学习的情况下,通过使用局部蒸馏可以分别获得2.3和2.5的mAP提升。
(3) 通过将这两种方法结合在一起,可以在BEV检测和3D检测上分别实现0.5和0.9的进一步mAP提升。这些结果表明,PointDistiller中的每个模块都有其各自的有效性,且相互独立。此外,它们还暗示了作者所提出的局部蒸馏和重新加权学习可以与其他知识蒸馏方法相结合以获得更好的性能。
表5 4×压缩PointPillars学生的消融实验
同时对PointDistiller进行敏感性研究,该实验主要引入两个超参数:K和N,它们分别指示图中用于局部蒸馏的节点的数量和待提取的体素(点)的数量。两个超参数的敏感性研究如图2所示。结果显示,PointDistiller方法在不同的超参数值下始终以大幅度优于基线,表明该方法对超参数不敏感。
图2 KITTI上的4×压缩的PointPillars的超参数敏感性实验
4.2 可视化分析
在重新加权的学习策略中,利用每个体素或点的重要性分数来确定它是否应该被提取。PointDistiller中重要性分数的可视化如图3所示。结果显示,它们成功地定位了前景物体和背景物体。
图3 PointDistiller的重要性分数的可视化结果
如图4所示,没有知识蒸馏的学生模型往往有更多的假阳性(FP)预测。相比之下,这个过度的FP问题在用PointDistiller方法训练的学生身上得到了缓解。
图4 经过知识蒸馏和没有经过知识蒸馏训练的学生检测结果的定性比较
5. 结论
在2022 CVPR论文"PointDistiller: Structured Knowledge Distillation Towards Efficient and Compact 3D Detection"中,针对基于点云的目标检测,作者提出了一种结构化知识蒸馏框架PointDistiller。该算法由局部蒸馏和加权学习组成,前者首先将点云中局部几何结构的语义信息编码并提取给学生,后者通过为不同的点和体素分配不同的学习权重来处理点云中的稀疏性和噪声。同时,大量实验证明了PointDistiller的有效性。这项成果属于探索基于点云的三维物体检测的开篇之作,具有建设性的意义。