标题:
MONODISTILL: LEARNING SPATIAL FEATURES FOR MONOCULAR 3D OBJECT DETECTION
文章链接:https://arxiv.org/abs/2201.10830
代码链接:https://github.com/monster-ghost/MonoDistill
创新点:
- 借助创新的蒸馏框架,在推理阶段不引入任何额外成本的情况下,将深度信号引入单目3D检测器,提升检测性能;
网络框架:
MonoDistill主要包含了以下三个部分的蒸馏:
- 特征空间 Scene-level Distillation(场景层蒸馏):
- 作用:场景级知识可以通过编码特征的相对关系、保持知识结构和缩小模态差距来帮助单目三维检测器对给定图像建立高层次的理解
- 将结构高维信息通过Affinity map进行建模和学习,而不是通过特征本身
- Affinity map(AM)的构造函数(下图), f i f_i fi和 f j f_j fj表示第i和第j个特征向量, f i T f j f_i^Tf_j fiTfj相乘后得到AM matrix,然后L2正则化了一下
- A t A^t At代表teacher网络中特征的AM, A s A^s As代表student网络的AM,算了一个L1的蒸馏loss,并进行了归一化,得到第一个场景蒸馏loss: L s f \mathcal{L}_{sf} Lsf
- Trick:由于AM的计算和存储复杂度与k成二次幂相关,为了降低开销,作者提出将所有特征分组到几个局部区域,并使用局部区域的特征相似性图(affinity map)来解决开销问题 - 特征空间 Object-level distillation(物体层蒸馏):
- 直接使用特征进行蒸馏,但是特征图存在背景噪声,背景区域占据比重较多但是有效信息量少,这里使用gt_2d_bbox_mask( M o f M_{of} Mof)抠出前景来消除背景噪声,计算蒸馏loss L o f \mathcal{L}_{of} Lof的公式如下, F s F_s Fs, F t F_t Ft 分别是student和teacher的特征图, N p o s N_{pos} Npos是有效特征向量的数量 - 预测空间 Object-level distillation(物体层蒸馏):
- 将teacher的输出作为soft label来监督student,只取前景预测,背景预测多是false-positive,区别前背景则使用bbox的中心点区域(ref: CenterNet),下图:左-将框的中心点作为前景区域,右-基于中心点和框的大小生成2D高斯中心点区域
- L o r \mathcal{L}_{or} Lor是蒸馏L1损失, M o r M_{or} Mor是正负样本mask,N是样本总量 - 最后将三部分loss进行一个加权求和,则得到了最终的loss,这里的student网络使用的是MonoDLE, L s r c \mathcal{L}_{src} Lsrc则是MonoDLE的loss
实验指标:
消融实验:
Kitti test set Car指标:
总结
本文作者提出了一种基于单目图像的基于知识蒸馏的三维目标检测方法。基于单目图像的3D 物体探测器通过从 LiDAR-based teacher模型中提取知识,在inference阶段,该模型不需要任何中间深度预测就能检测出三维物体,具有创新性。