Paper name
BEVDistill: Cross-Modal BEV Distillation for Multi-View 3D Object Detection
Paper Reading Note
URL: https://openreview.net/forum?id=-2zfgNS917
TL;DR
- ICLR 2023 openreview 挂的文章,主要做 lidar -> camera 模态的蒸馏,在 BEVFormer 的基础上做实验, NDS 提升了 3.4 (单帧)2.7(多帧),NuScenes test 集上的最高 NDS 为 59.4
Introduction
背景
- 基于纯 camera 的 3d 物体检测方法有成本低和高性能的优势,同时在远距离物体检测与类别识别上有优势
- 基于纯 camera 的方法对于距离定位还是比较困难的,这部分信息可以通过 lidar 获取,所以希望通过 lidar 蒸馏来提升纯 camera 性能
- 当前的基于 lidar 提升 camera 的问题
- 基于lidar额外训练一个深度估计模块:部分方法需要在 inference 时增加深度估计模块,增加了 inference 耗时
- lidar 蒸馏 camera:
- monodistill 将 lidar 点转换到图像域上,让 lidar teacher 难以实现较高精度,导致蒸馏性能低
- UVTR 在 voxel space 上蒸馏,需要让 2d 分支也模拟出 3d 特征,忽视了不同模态之间的固有差异
本文方案
- 在 BEV 下进行跨模态蒸馏,将不同模态的输入都经过特征提取转换到 BEV 域下
- 提出了一种 bev 下的蒸馏 loss
- dense:基于高斯掩码的前景特征蒸馏
- sparse:基于互信息最大化的 token 蒸馏
- 在 BEVFormer 的基础上做实验, NDS 提升了 3.4 (单帧)2.7(多帧),NuScenes test 集上的最高 NDS 为 59.4
Dataset/Algorithm/Model/Experiment Detail
实现方式
baseline 模型
-
student 模型:BEVFormer
-
Teacher 模型:Object-DGCNN,将 DGCNN attention 替换为 vanilla multi-scale attention module
BEVDISTILL 整体框架
- 主要就是 bev 特征与 detector 的 token 上进行蒸馏
DENSE FEATURE DISTILLATION
- 跨模态的蒸馏不适合直接作用于全特征图,这个 monodistill 也有提到,比如 camera 模态基本有前景和背景上比较全的信息,而 lidar 的点只有在激光能打到的地方存在,导致不同模态间的信息本身就有差异
- 这里使用仅对前景蒸馏解决上面的问题,对于 BEV 下每个 gt 框中心点生成一个高斯掩码来对前景特征进行特征进行 reweight,然后再对 bev 特征进行蒸馏,从而忽略背景蒸馏的影响
SPARSE INSTANCE DISTILLATION
-
baseline 方案:最小化 teacher 与 student 的预测的互信息
其中 c 是分类结果,b是定位结果 -
上面的方法精度低,分析原因有
- 并不是所有来自老师的预测都应该被视为有价值的线索,因为大多数预测都是误报,分类分数很低
- 尽管分类逻辑可以表示丰富的知识,但当输入数据不同时,它可能不成立
-
本文提出的优化方案
- 基于 teacher 预测的结果的置信度 b,以及与 gt 框的 IoU 生成一个质量分数
- 基于质量分控制蒸馏的权重
- 另外考虑到直接在 logits 上蒸馏信息比较低维度(num of classes),这里转换为对倒数第二层的特征进行蒸馏(即 logits 前一层特征)
其中 Lcls 蒸馏项还参考 Contrastive representation distillation 对互信息蒸馏进行一点改进
- 基于 teacher 预测的结果的置信度 b,以及与 gt 框的 IoU 生成一个质量分数
实验结果
实验环境
- 8卡 A100
- 24 epoch
- batchsize=1
- FP16 training
与 SOTA 对比
- 相比于原始的 BEVFormer,BEVFormer-T 精度分别提升 3.4/2.3 mAP 和 3.4/2.7 NDS;与其他蒸馏方法比也是能涨最多点
结合 bevdepth 做的实验
- 能在 bevdepth 基础上继续涨点
- 据论文说是刷到了 sota,但是官网看貌似没有超过 bevdepth
消融实验
-
这里来看 dense 蒸馏涨点幅度更大
-
mask 消融实验,GT-Center 是直接选中心点,Query-Center 是 query reference points;Pred-Heatmap 是 teacher 预测框的中心生成 soft 的高斯mask;GT-Heatmap 是 gt 框的中心生成 soft 的高斯mask
-
loss 消融实验
检测结果可视化
Thoughts
- 实验对比挺充分的,蒸馏 loss 创新点一般
- reviewer1 提出的问题(与 bevdepth 对比,加可视化)基本都解决了,不过其他 reviewer 的问题目前还没有解决,比如 novelty 差,增加 waymo 数据集实验,增加不同detector head 的实验