毫末智行提出TempDistiller | 首次提出将时间知识蒸馏到3D检测

650次阅读
没有评论

毫末智行提出TempDistiller | 首次提出将时间知识蒸馏到3D检测点击下方名片,即刻关注智驾实验室毫末智行提出TempDistiller | 首次提出将时间知识蒸馏到3D检测

在鸟瞰视角(BEV)3D目标检测中,实现精度和效率之间的平衡是一个显著的挑战。尽管基于相机的BEV方法通过结合长期时间信息实现了显著的性能,但它们仍然面临低效率的问题。一种可能的解决方案是知识蒸馏。现有的蒸馏方法仅关注于重构空间特征,而忽略了时间知识。

为此,作者提出TempDistiller,这是一个时间知识蒸馏器,可以在提供有限帧数的情况下从教师检测器中获取长期记忆。具体而言,通过自注意力操作将长期时间知识应用于教师特征,形成重构目标。然后,通过生成器为学生特征生成新的特征。最后,作者使用这个重构目标来重构学生特征。此外,当输入全帧为学生模型时,作者还探索了时间关系知识。在nuScenes基准上验证了所提出方法的有效性。

实验结果表明,与 Baseline 相比,TempDistiller在mAP上提高了+1.6,在NDS上提高了+1.1,压缩时间知识后的速度提高了约6 FPS,并且是最准确的velocity估计。

1 Introduction

基于相机的3D目标检测在自动驾驶领域受到了广泛关注,因为它具有较低的部署成本和丰富的视觉信息。最近,鸟瞰视角(BEV)检测通过结合时间信息实现了出色的性能。然而,在BEV检测中实现精度和效率之间的平衡仍然是一个重大的挑战。一个可能的解决方案是利用知识蒸馏来增强紧凑型检测器的性能。

通用的2D蒸馏技术可以轻松地适应3D检测。特别是针对3D检测,FD3D首先提出了一种焦点蒸馏器,用于捕捉前景区域内的局部知识。仅在摄像头设置中蒸馏避免了不同模态对齐和异质问题,这些问题是由基于激光雷达的知识蒸馏引起的。

尽管这些蒸馏方法和时间融合方法在某种程度上是有效的,但在三个方面仍然存在问题:

  1. 蒸馏方法主要关注空间信息,而忽视了时间知识。
  2. 缺乏长期记忆,而在并行时间融合范式中处理多个帧时,会增加计算复杂度。
  3. 密集BEV表示导致了高的计算开销,而稀疏BEV表示仍然受到上述第二个问题的影响。

为了缓解这些问题,在顺序范式中聚合时间特征。然而,作者认为这种方法可能会遭受时间知识遗忘。密集BEV表示导致了高的计算开销,而稀疏BEV表示仍然受到上述第二个问题的影响。

考虑到上述问题,作者提供了一种新颖的方法来处理稀疏BEV空间中的时间信息,该方法通过知识蒸馏。作者提出的称为TempDistiller的方法是一种基于Mask特征重构建的时间知识蒸馏器。Mask特征重构建的核心思想是利用学生模型的一部分像素来重构完整的特征,由教师模型引导。这种重构范式旨在帮助学生实现更好的表示。

毫末智行提出TempDistiller | 首次提出将时间知识蒸馏到3D检测

如图1(a)和(b)所示,先前的特征重构建方法仅恢复空间特征。而TempDistiller专注于为学生特征重构时间知识。如图1(c)所示,通过应用自注意力操作到教师特征,将长期时间知识聚合为重建目标。然后,引入随机Mask为学生特征生成新的特征。最后,根据重建目标重构学生特征。这种设计使得学生检测器可以在推理过程中吸收长期时间知识,而不会增加额外的计算开销。

此外,在实际观察中发现,当学生模型的输入帧数与教师模型相同时,时间特征重构建的效果最小。考虑到学生模型本身从多个帧中学习长期时间信息,时间特征重构建所提供的知识达到饱和状态。因此,作者转向研究时间关系蒸馏作为一种互补技术。这种方法擅长捕捉帧间物体的相似性,尤其是在移动物体方面,从而在提高速度估计方面发挥关键作用。

在总结中,作者的贡献可以描述为:

  1. 截至目前,这是第一项将时间知识转移到3D目标检测的工作。作者探索了如何学习和时间知识及其关系信息。

  2. 提供了一种新颖的方法来处理长期时间融合,该方法通过知识蒸馏。即使输入帧数减少,TempDistiller也允许学生检测器通过时间特征重构建从教师检测器中获取长期时间知识。

  3. 提出的这种方法在基准上实现了1.6 mAP和1.1 NDS的性能提升,在输入帧数减少后,推理速度提高了约6 FPS,同时实现了最准确的速度估计。此外,作者还改进了被遮挡和远程物体的检测。从定性结果来看,作者也提高了对被遮挡和远程物体的检测。

2 Related Work

Surround-view 3D Object Detection in BEV

最近,基于环绕视角的相机3D目标检测已经通过鸟瞰视角(BEV)表示取得了显著的成功。例如,Lift-Splat-Shoot(LSS)根据深度估计将多视图2D图像特征转换为3D空间。在LSS的基础上,BEVDet系列通过引入数据增强、时间融合和来自激光雷达的深度 GT 值,进一步提高了性能。

与2D到3D反投影方法不同,BEVFormer使用变形注意力机制构建了一个密集的BEV空间,用于使用多视图2D特征进行采样。受到DETR的启发,DETR3D采用一组3D Query 而不是密集的BEV Query 来探索稀疏BEV表示。然而,如果将3D Query 点投影到固定局部感受野的2D空间以采样相机的特征,则性能可能会受到影响。

为了解决这个问题,PETR系列利用全局注意力来扩展感受野。尽管上述方法取得了显著的进步,但它们仍然具有较大的计算负担。因此,SparseBEV提出了一种完全稀疏的检测器,具有可调整的感知野以在准确性和速度之间进行更好的权衡。然而,SparseBEV在处理较长的帧时仍然存在减慢的问题。为了解决这个问题,一种直观的方法是利用知识蒸馏(KD)。在本论文中,作者深入探讨了稀疏BEV表示中的时间知识。

Temporal Modeling

结合历史信息,尤其是长期时间知识在自动驾驶中至关重要。

主流的时间融合机制可以分为并行时间融合和顺序时间融合。早期的工作将短期记忆(2-4帧)融合在一起,但它们的性能并不令人满意。为了探索长期时间融合,SOLOFusion利用了17帧,并取得了出色的性能。然而,这些并行时间融合方法通常面临着平衡精度和效率的挑战。

为了缓解这个问题,采用了顺序时间融合,将历史特征传播到当前时间戳,从而在保持出色性能的同时,极大地加快了推理速度。本论文中专注于并行时间融合范式,并从新颖的角度通过知识蒸馏压缩时间信息来解决这个问题。

Knowledge Distillation for Object Detection

将知识蒸馏应用于2D目标检测是一个热门话题。与[3]中的全局特征蒸馏不同,一些工作强调了基于边界框选择区域的重要性,并在特征上应用注意力Mask以减轻噪声干扰。FGD有效地结合了这两种策略,进一步提高了性能。从另一个角度来看,Mask特征重构已经证明了自己的有效性。受到Mask图像建模的启发,MGD在学生特征上生成随机Mask,然后在其指导下重构。黄[11]使用注意力Mask而不是随机Mask进行特征重构。

对于3D目标检测,大多数方法专注于跨模态知识蒸馏,旨在将激光雷达(LiDAR)基于的特征转移到相机基于的特征。尽管这些方法通过利用激光雷达的实时建模能力显著提高了性能,但将不同模态对齐对齐是一项重大挑战,导致处理异质问题的困难。

为了应对这个问题,FD3D首先提出了仅使用相机的蒸馏,以从不完美的教师中重建焦点知识。作者也在本研究中采用了仅使用相机的蒸馏设置。以前的面具特征构建方法只关注空间知识,忽视了时间知识建模。在本工作中,作者承担了为学生模型重建长期时间知识的任务,由教师模型指导。这种方法即使输入帧数有限,也能使学生模型获得长期记忆。

3 Method

毫末智行提出TempDistiller | 首次提出将时间知识蒸馏到3D检测

图2展示了TempDistiller的流程。首先在3.1节描述了整体框架。在3.2节中,描述了一个基于有效 Query 的稀疏BEV表示的 efficient 方法。然后,在3.3节中,阐述了一个时间特征重构建方法。在3.4节中,进一步研究了时间关系知识。最后,在3.5节中,引入了整体损失。

Overall Framework

将多个帧融合在一起可以提供更丰富的运动信息,这对于动态目标的检测和速度估计性能有极大的提高。然而,在并行时间融合范式中,作者观察到输入帧数增加会导致推理速度的降低,而输入帧数过少会导致精度下降。因此,在精度和速度之间找到平衡变得具有挑战性。

为了应对这个挑战,作者提出了TempDistiller,如图2所示,旨在在精度和效率之间取得更好的平衡。TempDistiller的核心组成部分包括时间特征重构建损失和时间关系蒸馏损失。得益于它们,TempDistiller的一个重要特点就是即使输入帧数有限,也能捕获长期时间记忆。另一个显著的特点是提取帧间关系的能力。

TempDistiller中使用一个重的BEV检测器作为教师模型,并将时间知识转移到一个轻量级的学生BEV检测器。教师模型可以处理一个长序列的帧,而学生模型的输入帧长度是可选的。在蒸馏阶段,将教师模型冻结并保留原始学生架构,通过在训练后删除任何额外的辅助层。基于这一点,推理阶段没有额外的计算开销。

Sparse BEV Representation

密集BEV表示引入了计算复杂性,尽管通过在轻量级检测器上利用知识蒸馏来缓解这个问题[34]。因此,作者转向稀疏BEV表示,并采用[20, 31]中描述的方法。在这种表示中,稀疏 Query 被定义为一个九元组,其中表示 Query 在BEV空间中的坐标,而分别表示其宽度、长度和高度。表示 Query 的旋转和速度。 Query 集由个 Query 组成,每个 Query 都与-维特征相关联。

最初,这些 Query 特征通过可缩放的空间自注意力与当前时间戳的特征对齐。然后,由这些 Query 生成的3D点被投影到FPN特征图上,以采样空间特征。生成的采样特征聚合了每个帧的多视图和多尺度信息,其中T表示帧数。

请注意,在采样之前,稀疏 Query 点根据其他动态物体的自运动和速度与当前时间戳的特征对齐。然后,将采样的特征添加到 Query 特征中,并经过一个解码器进行自适应空间-时间特征解码。在时间知识蒸馏中,在采样特征和FPN特征上进行时间特征重构建。此外,通过时间关系蒸馏探索帧间关系。最后,对解码的特征进行特征对齐。

Temporal Feature Reconstruction

采样特征依赖于来自多个帧的信息,因此需要基础网络和BEV编码器/解码器来处理长时序。与它不同,作者通过重建时间知识来传递长期记忆。首先,随机Mask学生特征的一定比例。然后,在教师特征的指导下,学生特征被恢复。为了帮助学生特征获取长期时间知识,作者通过自注意力操作将教师特征与更多帧的特征进行聚合。

具体来说,将学生特征和教师特征分别表示为,其中。在上生成随机Mask,Mask比例为,可以表示为

其中是一个在之间的随机数,表示 Query 的索引。表示第帧。此外,执行时间自注意力(TSA)来聚合教师时间信息。所有帧的教师特征作为 Query 和值。来自前帧的特征作为Key,它们将时间序列长度与学生特征的长度对齐。因此,教师时间知识的聚合可以表示为

TSA是基于缩点积注意力操作的。

一旦确定了重构目标,作者就可以使用生成层来恢复被Mask的学生特征:

其中由两个1D 卷积层和一个层组成。然后,在教师时间聚合特征的监督下,使用均方误差(MSE)恢复生成的学生特征。因此,稀疏BEV特征的时间重建损失可以表示为

其中

此外,时间特征重构方法不仅限于BEV,可以无缝地扩展到视角视图(PV)。为了实现这一点,将时间特征重构技术应用于FPN的最后层特征。由于PV中特征图的空间形状是二维的,中的卷积层被修改为二维卷积。类似地,PV的重建损失可以表示为

其中。H和W分别是FPN特征的高度和宽度。对于FPN的前三层,采用类似于MGD的空间特征重构方法。

在作者的实验中惊讶地发现,从一个较小的教师检测器(使用ResNet50 Backbone )重构时间特征,可以实现与较大教师检测器(使用ResNet101 Backbone )相当的表现。这正好揭示了TempDistiller在学习长期时间知识方面的有效性,而无需依赖更强大的 Backbone 。

Temporal Relational Distillation

当学生模型的输入帧数等于教师模型的输入帧数时,观察到时间特征重构的有效性减弱。这种现象可能源于学生模型利用现有帧数充分捕获长期时间信息的能力,使得时间特征重构的影响减小。

毫末智行提出TempDistiller | 首次提出将时间知识蒸馏到3D检测

作为替代方案,提出时间关系蒸馏(见图3),这种方法计算每帧之间的特征相似性来表示关系知识。

具体来说,对于第i帧和第j帧的稀疏 Query 特征,特征相似性可以表示为,其中。这种方法对于动态目标检测特别有用,因为移动物体在相似度矩阵中通常表现出较高的响应。作者使用KL散度将这种关系知识从教师模型转移到学生模型:

在这里,是softmax,是一个温度(设置为0.5)。

Overall Distillation Loss

此外,作者还通过L2损失进一步约束解码特征

其中。解码特征包含了高层的时空信息,这对学生模型学习抽象知识是有利的。因此,将方程4、方程5、方程6和方程7结合起来,总的蒸馏损失可以表示为:

在这里,是损失权重,用于平衡损失。当输入学生模型的部分帧时,设置为0,而当输入完整的帧时,设置为0。总之,作者同时训练学生模型使用原始分类和回归损失以及总的蒸馏损失。

4 Experiments

Datasets and Metrics

利用大规模自动驾驶基准数据集nuScenes[1]评估TempDistiller。它包括700/150/150场景用于训练/验证/测试。每个场景大约20秒,关键帧之间有0.5秒的标注。该数据集使用六个摄像头捕获帧,提供360度视野。对于3D目标检测,它包括1.4M个3D边界框,跨越10个类别。

遵循官方评估指标,作者报告nuScenes检测分数(NDS),平均精确度(mAP),以及五个真实阳性(TP)指标,包括ATE,ASE,AOE,AVE和AAE,分别用于测量翻译,缩放,方向,速度和属性。NDS结合mAP和五个TP指标提供全面的评估分数。

Implementation Details

TempDistiller使用PyTorch实现。实验结果基于8个A100 GPU,并在RTX4090上使用fp32进行FPS测量。用AdamW优化器训练所有模型24个周期,在nuImage上进行视角预训练。初始学习率设置为,并使用余弦退火策略进行衰减。全局批量大小固定为8。

对于监督训练,作者使用匈牙利算法进行标签分配。分类使用Focal损失,3D边界框回归使用L1损失。以0.5秒为间隔处理相邻帧。

对于使用稀疏BEV表示来建模时间知识,采用了SparseBEV中的ResNet101和ResNet50 Backbone,并利用其公开可用的模型权重。教师模型的选择包括ResNet101或ResNet50,而学生模型使用ResNet50,并具有调整输入帧数灵活性的能力。输入大小设置为ResNet101的900 1600,ResNet50的256 704。初始化 Query ,并将 Query 特征的通道数设置为256。Mask比例固定为0.5。损失权重分别设置为。此外, Query 去噪用于训练稳定性并实现更快收敛。

Main Results

与其他仅使用相机的蒸馏方法进行比较。FD3D是第一个在仅使用相机设置下工作的蒸馏方法,旨在处理空间维度。直接将其应用于时间特征可能会导致巨大的计算负担,特别是考虑到生成器需要为每个时间维度产生新特征。因此,很难将其应用于并行时间融合方法。TempDistiller在更强大的时间检测器基础上全面超越FD3D。

为了进行公平的比较,作者还探索了其他蒸馏方法。TempDistiller比MGD提高了0.9 mAP和0.7 NDS,并超过了CWD的0.8 mAP和0.6 NDS。此外,TempDistiller在相对于这些方法实现了最低的mATE,mAOE,mAVE和mAAE。

毫末智行提出TempDistiller | 首次提出将时间知识蒸馏到3D检测

与最先进的方法进行比较。最先进(SOTA)的时间方法可以分为并行时间融合[9, 18, 20, 23, 25]和顺序时间融合[6, 19, 29]。TempDistiller提高了0.4 mAP,并实现了与Sparse-BEV[20]()相比最低的mAVE为0.238。在并行范式中,TempDistiller在更少的帧数()下表现出最佳性能,超过了SOLOFusion在准确性和推理速度方面的表现。

与StreamPETR相比,作者观察到mAVE和mAAE分别提高了1.2%和1.5%,mAP略有提高。此外,还发现一个有趣的结果,即利用ResNet50作为 Backbone 可以获得与使用更大 Backbone (例如ResNet101)相比的可比性能。这个结果消除了 Backbone 之间能力和差异的影响,充分证明了所提出的方法可以在较少的输入帧数下学习长期时间知识。

Ablation Study

在Teacher模型(ResNet101)和Student模型(ResNet50)的 Backbone 上进行消融研究,其中,除非另有说明。

毫末智行提出TempDistiller | 首次提出将时间知识蒸馏到3D检测

在表2中评估了每个损失组成部分对NDS和mAP的影响。值得注意的是,仅在BEV上应用时间特征重构可以获得更高的准确性(NDS: 0.6, mAP: 1.1)比其他两个损失项。此外,其他两个损失项也可以提高0.7 mAP。当将时间特征重构应用于BEV和PV时,作者观察到NDS和mAP显著提高,分别达到53.7和43.0。

这强调了时间重构在为模型提供长期记忆目标检测方面的有效性。除了编码器层中的特征,作者还关注解码特征。它们包含了高级的时空表示。因此,从解码特征中转移知识也可以带来一定的性能提升。

对Mask比例的影响。作者研究了在BEV和PV中进行时间特征重构建的各种Mask比例。如表3所示,对于BEV和PV,最佳的Mask比例均为0.5。Mask特征重构建的核心思想是利用残余特征来重构完整的特征图。高Mask比例会导致残余特征的表示不佳,而低Mask比例则简化了生成器的学习过程,允许生成一些通用的短路,导致局部最优解。此外,低mAVE表明时间重构有利于关注动态目标并估计它们的速度。

毫末智行提出TempDistiller | 首次提出将时间知识蒸馏到3D检测

作者研究了损失权重在表4中的影响,这对混合损失优化具有重要意义。作者发现,可以获得最佳的NDS和mAVE,以及相对较高的mAP。然后作者将固定为,并调整。当时,作者可以实现43.0 mAP和最低的velocity估计误差,并获得相对较高的NDS。

毫末智行提出TempDistiller | 首次提出将时间知识蒸馏到3D检测

Mask特征类型。在表5中验证了在PV上进行重构的不同特征类型。重构空间特征或时间特征可以稍微提高性能(空间: 0.2 NDS和 0.7 mAP,时间: 0.3 NDS和 0.6 mAP)。值得注意的是,将这两种特征类型结合在一起通过特征重构可以进一步提高性能。

毫末智行提出TempDistiller | 首次提出将时间知识蒸馏到3D检测

输入帧数。在表6中评估了不同的输入帧数。作者发现学生模型在4帧输入的情况下可以实现精度和效率之间的平衡。

毫末智行提出TempDistiller | 首次提出将时间知识蒸馏到3D检测

Visualization

毫末智行提出TempDistiller | 首次提出将时间知识蒸馏到3D检测

作者提供了带有和没有TempDistiller的模型预测的定性结果,以可视化提出的TempDistiller的优越性能。具体而言,TempDistiller在检测被遮挡的物体和远距离目标方面具有增强的能力。如图4中的第二行所示,可以尽早检测到即将主路合流的被遮挡的车辆。

此外,TempDistiller成功地提前识别出一个远处的行人(参见图4的最后一行)。这些实例证实了与处理较长时间序列的方法相比,使用较少的帧数可以实现类似的结果。

5 Conclusions

在本文中提出了TempDistiller,一种用于重构长期时间特征和探索时间关系知识的 temporal 知识蒸馏 方法。TempDistiller涉及从教师中聚合长期时间特征作为重构目标。然后,利用这个目标来重构被Mask的学生特征。这种设计使得TempDistiller可以在输入帧数减少的情况下有效地捕捉长期时间知识。

此外,时间关系蒸馏可以提高动态目标的检测。实验结果表明,TempDistiller可以在精度和效率之间取得平衡,并显著提高了速度估计。

局限性和未来工作。受限于并行时间融合范式,TempDistiller的速度仍然受到输入帧数的影响。此外,输入帧数仍然受到限制。增加帧数是有挑战性的。在未来,作者将通过顺序时间融合探索更多帧的时间知识,旨在解决速度有限和时间知识遗忘的问题。

参考

[1].Distilling Temporal Knowledge with Masked Feature Reconstruction for 3D Object Detection

 

Read More 

正文完
可以使用微信扫码关注公众号(ID:xzluomor)
post-qrcode
 
评论(没有评论)
Generated by Feedzy