This repository has been archived by the owner on Oct 25, 2024. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 30
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Create ICCV2023开源 DistillBEV 巧妙利用跨模态知识蒸馏方法,斩获目标检测SOTA.md
- Loading branch information
Showing
1 changed file
with
109 additions
and
0 deletions.
There are no files selected for viewing
109 changes: 109 additions & 0 deletions
109
docs/academic/算法科普/3D重建/ICCV2023开源 DistillBEV 巧妙利用跨模态知识蒸馏方法,斩获目标检测SOTA.md
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,109 @@ | ||
# ICCV2023开源 DistillBEV:巧妙利用跨模态知识蒸馏方法,斩获目标检测SOTA! | ||
|
||
## 1. 论文速读 | ||
|
||
目前基于多相机BEV的三维目标检测方法与基于激光雷达的方法还存在明显的性能差距 ,这是由于激光雷达可以捕获精确的深度和几何信息 ,而仅从图像中推断三维信息具有挑战性。文章提出了一种跨模态知识蒸馏方法DistillBEV ,通过让学生模型(基于多相机BEV)模仿教师模型(基于激光雷达)的特征 ,实现多相机三维检测的性能提升。提出了区域分解、自适应缩放、空间注意力等机制进行平衡 ,并扩展到多尺度层和时序信息的融合。在nuScenes数据集上验证了方法的有效性 ,多个学生模型都获得了显著提升 ,优于其他蒸馏方法和当前多相机三维检测SOTA。特别是BEVFormer的mAP提升达4.4% ,NDS提升4.2%。这种跨模态的知识蒸馏为弥合多相机三维检测与激光雷达检测的差距提供了新的思路。方法具有通用性 ,可广泛应用于包括CNN和Transformer的各种学生模型。是自动驾驶领域一个值得关注的进展。未来可将该方法推广到其他多相机三维感知任务 ,如分割、跟踪等;结合更多传感器进行跨模态融合;探索其他表示学习与迁移的方式等。三维环境理解仍需持续努力 ,期待跨模态学习带来更大突破。 | ||
|
||
 | ||
|
||
图1 通过提出的跨模态知识蒸馏方法DistillBEV,在nuScenes验证集上mAP和NDS的性能提升比较。各种基于多相机BEV的三维目标检测器都获得了一致且显著的性能提升。 | ||
|
||
## 2. 原文摘要 | ||
|
||
多相机鸟瞰图(BEV)是一种基于摄像头的三维感知方法,它在自动驾驶领域日益受到关注,因为它比激光雷达具有更高的成本效益和更好的可扩展性。然而,多相机BEV在三维目标检测方面仍然明显落后于激光雷达。这主要是因为激光雷达能够直接获取精确的深度和其他几何信息,而从图像中推断这些三维信息则非常困难。为了解决这个问题,我们提出了DistillBEV,一种简单而有效的跨模态知识蒸馏方法,它通过训练学生模型(多相机BEV检测器)来模仿经过预训练的教师模型(激光雷达检测器)提取的特征,从而提高学生模型的表示能力。我们设计了一种有效的平衡策略,使学生模型能够专注于从教师模型中学习最重要的特征,并将知识蒸馏扩展到多尺度和时序层面。在流行的nuScenes数据集上的大量实验表明,我们的方法可以一致地并显著地提升各种不同的学生模型的性能。 | ||
|
||
文章标题:DistillBEV: Boosting Multi-Camera 3D Object Detection with Cross-Modal Knowledge Distillation | ||
|
||
代码和模型链接:https://github.com/qcraftai/distill-bev | ||
|
||
## 3. 方法精讲 | ||
|
||
 | ||
|
||
图2 所提出的跨模态蒸馏方法DistillBEV的示意概览。我们旨在通过引导后者(学生)模仿前者(教师)提取的特征来弥合多相机BEV和基于激光雷达检测器之间的表示学习差距。我们引入平衡策略,包括区域分解、自适应缩放和空间注意力,以鼓励学生模型关注学习教师模型的关键特征。我们的教师模型可以基于激光雷达或摄像头-激光雷达融合(用虚线表示)。注意底部的激光雷达相关组件在训练后移除。 | ||
|
||
如图2所示,为了应对BEV中跨模态知识转移的挑战,DistillBEV涉及形成区域分解掩码、自适应缩放因子和空间注意力图,以及对多尺度层和时序融合的扩展。 | ||
|
||
#### 3.1 区域分解 | ||
|
||
在二维目标检测中,众所周知,简单地在教师和学生模型之间执行特征对齐几乎不会带来改进,因为前景和背景区域之间存在不平衡。但是,在三维目标检测中,这种现象甚至更加严重,因为绝大部分三维空间都是未占用的。我们对BEV特征图的统计发现,非空像素平均不到30%,其中只有一小部分包含我们感兴趣的对象。为了进行有效的知识转移,我们引入区域分解,以引导学生模型关注关键区域,而不是将所有区域视为平等。具体地,我们将特征图分割为四种类型:真正例(TP)、假正例(FP)、真反例(TN)和假反例(FN)。相应地,我们定义区域分解掩码$M$: | ||
|
||
 | ||
|
||
其中$i,j$是特征图上的坐标,$η$控制FP区域像素的相对重要性。 | ||
|
||
这种分解为我们的方法提供了在不同区域赋予不同重要性的灵活性。考虑覆盖真实框的区域(即TP和FN区域的并集)是直观的,因为它们准确传达来自前景目标的特征。但是,我们也将FP区域与TN区域区别对待。当教师模型在某些区域(即使是FP,如将杆误检测为行人)生成高激活时,鼓励学生模型模仿这样的特征响应仍然有益于整体三维几何学习。可以通过教师检测器生成的置信度热图$H_t$和真实标签$H_g$进行阈值判断来找到FP区域: | ||
|
||
 | ||
|
||
其中$H_t$和$H_g$分别对应教师模型和真实值得到的热图,$\gamma$是热图阈值。 | ||
|
||
#### 3.2 自适应缩放 | ||
|
||
在BEV中进行从教师到学生的知识蒸馏的另一个挑战是各种目标包围框大小跨度巨大。例如,从鸟瞰角度来看,公交车的大小是行人的几十倍。此外,背景如墙壁和植被占据了非空区域。因此,背景和巨大的前景目标会在蒸馏损失中占主导地位,因为它们贡献了绝大多数特征。为了使不同大小的对象或类对蒸馏损失贡献相似,引入自适应缩放因子是可取的: | ||
|
||
 | ||
|
||
其中$O_k$是第$k$个真实目标(TP或FN)在BEV中的包围框长度为$H_k$,宽度为$W_k$,$N_{FP}$和$N_{TN}$分别表示落在FP和TN区域中的像素数量。 | ||
|
||
#### 3.3 空间注意力 | ||
|
||
在各种任务和架构中采用注意力图以通过关注重要特征并抑制不重要特征来改进表示学习。这里我们采用基于提取的教师和学生特征的空间注意力图,以进一步选择更多信息量大的特征集中注意力。空间注意力图通过以下构建 : | ||
|
||
 | ||
|
||
其中$F \in \mathbb{R}^{C\times H \times W}$是一个特征图 ,$P(F) \in \mathbb{R}^{H \times W}$表示沿通道维对$F$的平均池化结果 ,$N(F) \in \mathbb{R}^{H \times W}$是通过在所有空间位置做softmax得到的标准化注意力图 ,$\tau$是调整分布熵的温度参数。我们通过考虑教师$F_t$和学生$F_s$的特征图得到最终的空间注意力图 : | ||
|
||
 | ||
|
||
其中$G$是一个映射模块 ,将$F_s$映射到与$F_t$同样大小的$\tilde{F}_s$。关于$G$的设计选择的更多细节在3.4和4.3节中讨论。 | ||
|
||
#### 3.4 多尺度蒸馏 | ||
|
||
常识认为 ,网络不同深度的层编码不同的特征抽象。一个成功的应用是特征金字塔网络 ,它结合不同级别的特征以更好地检测不同大小的对象。为实现教师和学生模型之间的全面对齐 ,我们采用这一想法在基于CNN的模型中在多个尺度进行特征蒸馏。但是 ,教师和学生网络分别采用不同的架构独立设计 ,使得在中间特征上找到对应关系并非易事。例如 ,教师的BEV特征图大小通常是学生的2倍或4倍。简单对齐相同分辨率的特征会导致特征抽象级别不匹配。因此 ,我们引入一个轻量级的自适应模块$G$ ,由上采样和投影层组成 ,用于映射学生特征 ,然后与教师在相似级别的特征对齐。我们还发现 ,在早期层进行特征模仿对蒸馏有害 ,这是因为在早期阶段由于模态差异导致的表示差异仍然很大。注意 ,我们仅在BEV的最后编码层(即头部前的特征)中识别和利用FP区域。我们发现这种设置效果最好 ,假设是因为在最后一层出现的高级语义特征能够更好地表示FP区域。参见补充材料中更多架构细节。 | ||
|
||
#### 3.5 蒸馏损失 | ||
|
||
我们用原始损失(包括分类和回归)以及总体蒸馏损失训练学生网络 ,相关术语如下总结。我们首先定义第$n$层蒸馏之间教师$F_t^{(n)}$和学生$F_s^{(n)}$的特征模仿损失 : | ||
|
||
 | ||
|
||
其中$\tilde{F}_s^{(n)}=G(F_s^{(n)})$ ,$M$是逻辑取反的区域分解掩码$M$ ,$S$表示自适应缩放因子 ,$A$是空间注意力图 ,$\alpha$和$\beta$是权衡两个项的超参数。 | ||
|
||
此外 ,我们利用注意力模仿损失来强制学生网络学会生成类似教师网络的注意力模式 ,因此聚焦教师网络认为更关键的空间位置 : | ||
|
||
 | ||
|
||
总之 ,整体蒸馏目标函数是多尺度层特征模仿损失(7)和注意力模仿损失(8)之和 : | ||
|
||
 | ||
|
||
其中$N$是执行蒸馏的选定层数 ,$\lambda$控制两个损失函数之间的相对重要性。 | ||
|
||
#### 3.6 带时序融合的蒸馏 | ||
|
||
多相机BEV中的表示的一个理想属性是有利于从多个时间戳融合特征。利用时序信息的方法通过利用重要的动态线索大大改进了三维目标检测和运动估计。对于基于激光雷达的模型 ,通过运动补偿将过去的扫描转换到当前坐标系 ,并为每个点添加相对时间戳 ,从多个点云融合特征是常见的做法。因此 ,在我们的方法中进行时序知识迁移是自然的 ,因为教师模型可以轻松兼容学生模型对时序信息的利用。在实践中 ,我们采用统一的教师模型进行单帧和多帧学生模型的蒸馏 ,以实现带时序融合的蒸馏。 | ||
|
||
## 4. 实验 | ||
|
||
论文比较了8种教师-学生组合,涵盖CNN和Transformer,单帧和时序融合等不同类型的模型。实验结果显示,DistillBEV能显著提升所有组合的性能,证明了方法的泛化能力。如表1,DistillBEV能将学生模型的mAP提高3.9-4.4%,NDS提高2.6-4.2%。这说明跨模态蒸馏确实能增强多摄像头模型对三维信息的学习。除mAP和NDS外,DistillBEV还能减少定位、尺度、方向等错误,提高速度估计的准确性,如表1中的其他指标所示。这进一步证明方法能增强几何表示学习。如表2和表3,DistillBEV优于当前其他基于摄像头的方法,以及其他蒸馏方法,显示了效果的状态价值。详细的消融实验分析了方法的各组件,证明了它们的有效性和必要性。定性结果直观展示了DistillBEV如何改进小遥远目标的检测和深度估计,与定量结果吻合。总之,全面的比较实验证明了DistillBEV的有效性、泛化性和先进性,定量和定性结果相辅相成,充分验证了所提出方法。 | ||
|
||
表1 使用不同教师-学生组合在nuScenes验证集上的性能比较。 | ||
|
||
 | ||
|
||
表2 在nuScenes验证集上的性能比较。组1-4分别对应教师模型,基于摄像头的方法,基于蒸馏的方法以及我们提出的方法。 | ||
|
||
 | ||
|
||
表3 在nuScenes测试集上的性能比较。组1-3分别是教师模型,最新方法和我们提出的方法。 | ||
|
||
 | ||
|
||
 | ||
|
||
图3 基线(BEVDepth)和使用我们的方法蒸馏后的版本在nuScenes验证集上的可视化比较。青色(仅在BEV中以清晰表示)和黄色框分别表示真值和检测结果。我们使用红色箭头标记基线漏检而DistillBEV检测到的对象,用绿色箭头表示DistillBEV定位更准确的对象。 | ||
|
||
## 5. 结论 | ||
|
||
我们提出了DistillBEV ,一种简单有效的方法 ,通过更强大的基于激光雷达的教师模型指导多相机BEV基础学生模型的学习过程。在八种教师-学生组合上进行的大量实验表明 ,我们的方法在推理时不增加任何计算量的情况下 ,一致且显著地提升了各种学生模型的性能。这表明我们的方法不仅针对特定网络 ,而且可以应用于广泛的CNN和Transformer模型。未来工作中 ,我们打算探索并将所提出的方法应用于BEV中的更多基于多相机的感知任务 ,如分割、跟踪和高精度地图构建。 |