资讯详情

CVPR 2022 | 南开程明明团队和天大提出LD:目标检测的定位蒸馏

先上我们的文章和代码:

d07570af1ae217b8fa4a998bf19125e8.png

论文:https://arxiv.org/abs/2102.12252

代码:https://github.com/HikariTJU/LD

代码2:

https://github.com/open-mmlab/mmdetection/tree/master/configs/ld

方法概括:分类head的KD目标检测定位(知识蒸馏)head,即有了LD (Localization Distillation)。

做法:先把bbox的4个logits输出值,离散化为4n个logits输出值,然后分类KD完全一致。

意义:LD使得logit mimicking首次战胜了Feature imitation。蒸馏分类知识和定位知识应根据当地情况进行治疗。

1. bbox模糊的分布和定位

说起LD,不得不说bbox分布式建模主要来自GFocalV1 (NeurIPS 2020)与Offset-bin (CVPR 2020)这两篇论文。

我们知道bbox通常有四个值,一个FCOS点到上下左右四边的距离 (tblr),还有一种是anchor-based检测器中使用的偏移量,即anchor box到GT box的映射 (encoded xywh).

GFocalV1针对tblr形式的bbox建模出了bbox分布,Offset-bin则是针对encoded xywh形式建模出来了bbox分布的共同点是尝试bbox回归被视为一个分类问题。这样做的好处是可以建模bbox定位模糊。

大象的下边界与冲浪板的右边界都是模糊的

然后用n个概率值描述一个边缘,可以显示模型对一个位置的定位模糊估计。分布越尖锐,这个位置几乎没有模糊性(比如大象的上边界),分布越平坦,这个位置就有很强的模糊性(大象的下边界)。当然,不仅仅是bbox分布的平整度也可分为单峰型、双峰型甚至多峰型。

2. 知识蒸馏

Knowledge Distillation (KD)它最早是为图像分类而设计的。核心思想是使用预训练的大模型(teacher)指导一个小模型(student)的学习。

由以上可以看到,定位蒸馏LD与分类蒸馏KD从公式上看是完全一致的,都是针对的head的输出logits为目标检测知识蒸馏提供统一的知识传递logit mimicking框架。

过去,许多工作指出了分类KD蒸馏效率低(涨点低)主要有两个方面:

  1. 在不同的数据集中,类别数量会发生变化,较少的类别可能会发生变化student不能提供很多有用的信息。

  2. 一直以来logit mimicking只能分类head上操作不能定位head上操作,这自然忽视了定位知识传递的重要性。

由于这两个原因,人们将注意力转向了另一种有前途的知识蒸馏方法,Feature imitation。主要采用这种方法FitNet一之,启发不仅仅是分类head上要做logit mimicking,还应允许中间隐藏层(特征图)student去拟合teacher,通过最小化L2 loss来完成。

因此形成了以下目标检测知识蒸馏框架:

目标检测知识蒸馏框架总结

其中分类head上是logit mimicking(分类KD),特征图上是Feature imitation (teacher与student特征图之间L2 loss),定位head上是伪bbox regression,即把teacher作为额外的回归目标,预测框。

Feature imitation对师生特征图进行监督,最常见的做法是先行student特征图尺寸及teacher对齐特征图,然后选择一些感兴趣的区域作为蒸馏区,例如FitNet(ICLR 2015)全图蒸馏;Fine-Grained(CVPR 2019)在一些anchor box的location上蒸馏;还有DeFeat(CVPR 2021)在GT box内部用小loss weight,在GT box外部用大loss weight;亦或者是GI imitation(CVPR 2021)动态蒸馏区,但无论选择什么区域,最终都是在蒸馏区计算两者L2 loss.

那么Feature imitation有什么好处?

在multi-task learning在框架下,特征图相当于树根,每个下游head相当于树叶。因此,特征图显然包含了所有叶子所需的知识。Feature imitation分类知识和定位知识自然会同时传递KD但无法传达定位知识。

Feature imitation缺点是什么?

答案自然是在蒸馏区的每个区域location同时传递分类知识和定位知识。

前后对比,乍一看不矛盾吗?让我解释一下。

分类知识的分布不同于定位知识。这在以前的工作中被提及,例如Sibling Head (CVPR 2020)。

两种知识的不同分布自然导致不在一个location有利于同时传递分类知识和定位知识。有有可能有些地区只有利于分类知识的传递,有些地区只有利于定位知识的传递。换句话说,我们需要分而治之,因地制宜地传递知识。这显然就是Feature imitation无能为力的事情,因为它只会传达混合知识。

概念图

所以我们用它multi-task learning知识自然解耦成不同的类型,这允许我们在一个地区有选择地蒸馏知识。为此,我们引入了一个有价值的定位区域 VLR (Valuable Localization Region)帮助我们蒸馏分而治之的概念。

与以往的Feature imitation我们的蒸馏个区域:

  1. Main distillation region (主蒸馏区):即检测器positive location,通过label assignment获得。

  2. VLR:与一般的label assignment做法相似,但面积较大,包括Main region,但去掉了Main region。VLR可以视为是Main region向外扩张。

所以让我们探索这两个区域的分类KD与定位的LD会有什么效果?

KD与LD不同地区的蒸馏效果

这个表格是本文的精髓,有几个有趣的现象。

  1. 可以看到在Main区域上,KD与LD均有效,说明在这个区域上传递分类或定位知识都有好处。但明显LD提升更大,说明定位知识的传递更有利于性能的提升。

  2. VLR上LD这也是为什么我们把这样的区域命名为有价值的定位区域。VLR KD加入损害性能。

于是得到了这篇文章logit mimicking策略,Main KD Main LD VLR LD

有了这个logit mimicking战略,我们可以和Feature imitation对比一下

实验首次显示logit mimicking巨大的潜力也表明logit mimicking多年以来的蒸馏效率低下的原因是缺少有效的定位知识传递。当引入了LD之后,弥补了这一缺陷,logit mimicking可以超过Feature imitation。

当然,上表也显示了最好的蒸馏策略logit mimicking与Feature imitation都用了。只是可以注意到的是,有了logit mimicking之后,各个Feature imitation性能差异不是很明显,选择哪个蒸馏区域差别不大。

下图显示student与teacher平均分类误差和定位误差。

可见一些代表性Feature imitation方法(如Fine-Grained,GI)实可以同时降低分类误差与定位误差。在仅用上LD时,定位误差得到明显下降,但分类误差无法降低也是可以理解的。而在进一步用上了KD之后,两个误差都得到了明显下降。

分类score误差与bbox定位误差

下图则是在两个FPN层级上的定位误差可视化

定位误差,越暗越好

  1. LD loss对定位的指导可以取缔bbox regression,即不使用bbox regression亦可超过baseline. (这表明teacher bbox分布的监督非常强悍)

2. VLR仅仅提供了分而治之蒸馏的初步解决方案,未来设计一种更优雅的区域选择机制,进行因地制宜地传递分类知识和定位知识或许是一个可供研究的方向。

3. LD的出现揭示了目标检测的分类知识与定位知识可以分开传递,这对其他领域(如实例分割)是否也存在第三种mask知识可供分别传递还有待研究。

有关LD更多的信息与insight,于3月末更新,敬请期待

本文仅做学术分享,如有侵权,请联系删文。

1.面向自动驾驶领域的多传感器数据融合技术

2.面向自动驾驶领域的3D点云目标检测全栈学习路线!(单模态+多模态/数据+代码)3.彻底搞透视觉三维重建:原理剖析、代码讲解、及优化改进4.国内首个面向工业级实战的点云处理课程5.激光-视觉-IMU-GPS融合SLAM算法梳理和代码讲解6.彻底搞懂视觉-惯性SLAM:基于VINS-Fusion正式开课啦7.彻底搞懂基于LOAM框架的3D激光SLAM: 源码剖析到算法优化8.彻底剖析室内、室外激光SLAM关键算法原理、代码和实战(cartographer+LOAM +LIO-SAM)

9.从零搭建一套结构光3D重建系统[理论+源码+实践]

10.单目深度估计方法:算法梳理与代码实现

11.自动驾驶中的深度学习模型部署实战

12.相机模型与标定(单目+双目+鱼眼)

13.重磅!四旋翼飞行器:算法与实战

14.ROS2从入门到精通:理论与实战

扫码添加小助手微信,可

也可申请加入我们的细分方向交流群,目前主要有等微信群。

一定要备注:,例如:”3D视觉 + 上海交大 + 静静“。请按照格式备注,可快速被通过且邀请进群。也请联系。

▲长按加微信群或投稿

▲长按关注公众号

:针对3D视觉领域的五个方面进行深耕,更有各类大厂的算法工程人员进行技术指导。与此同时,星球将联合知名企业发布3D视觉相关算法开发岗位以及项目对接信息,打造成集技术与就业为一体的铁杆粉丝聚集区,近4000星球成员为创造更好的AI世界共同进步,知识星球入口:

学习3D视觉核心技术,扫描查看介绍,3天内无条件退款

 圈里有高质量教程资料、答疑解惑、助你高效解决问题

标签: ld11传感器

锐单商城拥有海量元器件数据手册IC替代型号,打造 电子元器件IC百科大全!

锐单商城 - 一站式电子元器件采购平台