Waymo SOTA!SparseKD:高效知识蒸馏下的3D检测(港大&NIPS2022)

本文探讨了知识蒸馏在高效3D目标检测器开发中的应用,特别关注基于pillar和voxel的检测器。研究了高效学生模型的设计,并提出了关键位置logitKD和教师引导初始化来增强3D知识蒸馏。

点击下方卡片,关注“自动驾驶之心”公众号

ADAS巨卷干货,即可获取

点击进入→自动驾驶之心【3D目标检测】技术交流群

后台回复【SparseKD】获取本文论文及代码!!!

摘要

尽管在三维物体检测方面取得了长足的进展,但先进的三维检测器往往存在计算开销过大的问题。为此,我们探讨了知识蒸馏(KD)在开发高效3D对象检测器方面的潜力,重点关注流行的基于pillar和voxel的检测器。在缺乏完善的师生对的情况下,我们首先从模型压缩和输入分辨率降低的角度研究如何获得在准确性和效率之间取得良好平衡的学生模型。然后,我们建立了一个基准,以评估现有的KD方法在2D领域开发的3D对象检测基于6个良好的师生对。进一步,我们提出了一种改进的KD管道,其中包含了一种增强的logit KD方法,只对由教师分类响应确定的几个关键位置进行KD,以及一个教师引导的学生模型初始化,以便通过权重继承将教师模型的特征提取能力转移到学生身上。最后,我们在Waymo和KITTI数据集上进行了广泛的实验。我们表现最好的模型达到了65.75%的LEVEL 2 mAPH,超过了它的教师模型,只需要44%的教师在Waymo上的flops。我们最高效的模型在NVIDIA A100上运行51 FPS,比PointPillar快2.2倍,在Waymo上精度更高。代码可从https://github.com/CVMI-Lab/SparseKD获得。

1.简介

点云三维目标检测是一项基础性的感知任务,在自动驾驶、机器人、智慧城市等领域有着广泛的应用。近年来,得益于大规模3D感知数据集[12,2,45]和先进的point-based[36],pillar-based[24,51]和voxel-based的稀疏和不规则LiDAR点云场景表示[13,60],3D检测取得了显著进展[55,43,41,1,58]。然而,更强的性能往往伴随着更重的计算负担(参见图1),使得它们在实际应用程序中的采用仍然是一个具有挑战性的问题。

最近提高效率的尝试集中在为基于点的3D对象检测器开发指定的架构[6,59],而不能推广到广泛的基于pillar/voxel的方法[60,24,55,41,58,10]。在这里,我们的目标是一个模型不可知的框架,以获得高效和准确的三维物体检测器与知识蒸馏(KD)。由于KD的有效性、通用性和简单性,它已成为在各种2D任务中开发高效模型的事实上的策略[18,30,9,19,54],他通过从准确而计算复杂的教师模型中学习知识,提高了轻量级的、准确的学生网络的表现。尽管对2D任务进行了大量的研究,但由于尚未解决的研究挑战,KD用于高效3D物体检测的研究在很大程度上没有引起研究的注意。在本文中,我们首次系统地研究了用于开发高性能和高效的三维激光雷达探测器的知识蒸馏。

首先,我们研究如何在给定一个预先训练的教师3D对象检测器下,权衡效率和准确性获得轻量级的学生检测器,。与二维领域不同的是,在二维领域中,可以很容易地获得具有不同模型效率的成熟主干架构(例如,ResNet 18 vs. ResNet 50)[44,47,16],这种可扩展的3D backbone仍有待开发。这使得设计合适的学生模型成为一个不容忽视的问题。直观地说,一个好的学生模型应该在准确性和效率之间达成一个很好的妥协,因为一个差的学生模型可能有较差的能力或体系结构级别的缺点,导致进一步的知识蒸馏的困难。从这个角度来看,我们首先提出了性价比(CPR)来公平地评估一个模型的效率和能力。然后,我们研究了基于柱状结构和基于体素结构的不同因素,包括模型宽度(即通道数量)、深度(即层数)和输入分辨率。具体来说,我们发现基于柱的架构更倾向于输入级压缩(即降低输入分辨率),而基于体素的检测器更倾向于宽度级压缩,因为基于体素的检测器的空间冗余较少。

其次,我们实证研究了现有的知识蒸馏方法在这个新设定下的准确性教师模型和高效学生模型的有效性。由于之前没有针对这个问题的研究,我们在涵盖基于voxel和pillar的体系结构的6对师生对上对7种现有的知识蒸馏方法进行了基准测试。具体来说,我们评估了以下主要流:基于模型输出的logit KD提取(KD[18]和GID-L[9]),模仿中间特征的feature KD (FitNet [40], Mimic [26], FG[50]和GID-F[9]),以及利用教师预测的标签分配[35]的label KD。进一步,我们还研究了它们的协同效应,实证发现特征KD在单个方面优于其他KD方式,但无法与其他KD方式协同进一步提高3D检测性能。这可能是因为logit和标签KD可以为中间特征添加隐式正则化。我们通过实证研究得到的最佳策略是单独使用FG[50]或minic[26]。

第三,我们提出了简单、通用和有效的策略,以改进基于上述强KD baseline的三维目标检测知识蒸馏。针对3D场景中包含3D对象的小信息量区域和大量冗余背景区域之间的极端不平衡,我们设计了一种改进的logit KD方法,即关键位置logit KD,只对高度自信或教师预测最高的位置进行模仿。这些区域显示在实例中心或容易出错的位置附近。此外,为了促进知识从教师到学生的有效转移,我们开发了教师引导初始化(TGI),它重新映射预先训练的教师参数来初始化学生模型。该方法在继承教师模型的特征提取能力的同时,与logit和label KD技术很好地配合。

最后,我们对高效模型设计和知识蒸馏方法的实证研究在提供高效和有效的基于柱和体素的3D检测器方面取得了优异的性能。这在最大的带注释的3D对象检测数据集——Waymo[45]上得到了广泛的验证。如图1所示,我们的性能最好的模型CP-Voxel-S的性能甚至超过了它的老师模型(cp - voxel),而它的flops减少了2.4倍。此外,我们最有效的基于柱的模型(即CP-pillar -v0.64)可以达到51FPS和58.89%的mAPH,而之前最快的基于voxel/pillar的检测器——PointPillar在NVIDIA A100 GPU上运行23帧每秒和57.03% mAPH(见第D节)。我们的方法也被证明在从复杂的两级对象检测器到轻量级的单级检测器的知识转移方面是有效的。此外,我们的方法可以很好地推广到其他设置,如KITTI数据集与SECOND,以及第5.5节的先进压缩方法,第F节的其他检测器,甚至第E节的3D语义分割。

2.相关工作

3D lidar-based目标检测旨在从点云定位与识别3D物体。基于点的方法[43,6,56,59]采用原始点云并利用pointnet++[36]提取稀疏点特征并生成逐点的3D建议。基于pillar的工作[24,51]完成了鸟瞰图的体素化,并利用pointnet++提取pillar特征。基于体素的方法[60,55,41]对点云进行体素化,利用三维稀疏卷积网络获得体素特征,这是目前最流行的数据处理方法。此外,range-based的工作[1,46]被用于远程的、更快的检测。近年来,利用原始点数据处理设计高效的三维探测器引起了人们的关注[6,59]。在这项工作中,我们专注于探索模型不可知的知识蒸馏方法,以提高三维探测器的效率。

知识蒸馏旨在将知识从一个大的教师模型转移到一个轻量级的学生网络,这是高效深度学习的一个蓬勃发展的领域。Hinton等人提出了开创性的知识蒸馏

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值