ECCV 2022
异质辅助蒸馏
Abstract
Conventional knowledge distillation (KD) methods for object detection mainly concentrate on homogeneous teacher-student detectors. However, the design of a lightweight detector for deployment is often significantly different from a high-capacity detector. Thus, we investigate KD among heterogeneous teacher-student pairs for a wide application. We observe that the core difficulty for heterogeneous KD (hetero-KD) is the significant semantic gap between the backbone features of heterogeneous detectors due to the different optimization manners.Conventional homogeneous KD (homo-KD) methods suffer from such a gap and are hard to directly obtain satisfactory performance for hetero-KD. In this paper, we propose the HEtero-Assists Distillation (HEAD) framework, leveraging heterogeneous detection heads as assistants to guide the optimization of the student detector to reduce this gap. In HEAD, the assistant is an additional detection head with the architecture homogeneous to the teacher head attached to the student backbone. Thus, a hetero-KD is transformed into a homo-KD, allowing efficient knowledge transfer from the teacher to the student. Moreover, we extend HEAD into a Teacher-Free HEAD (TF-HEAD) framework when a well-trained teacher detector is unavailable. Our method has achieved significant improvement compared to current detection KD methods. For example, on the MS-COCO dataset, TF-HEAD helps R18 RetinaNet achieve 33.9 mAP (+2.2), while HEAD further pushes the limit to 36.2 mAP (+4.5).
传统的用于目标检测的知识蒸馏( KD )方法主要集中在同构的师生检测器上。然而,用于部署的轻量级检测器的设计通常与高容量检测器有很大不同。因此,为了得到广泛的应用,我们研究了异质师生对之间的KD。我们观察到,异构KD (不同KD )的核心难点在于,由于优化方式的不同,异构检测器的主干特征之间存在明显的语义鸿沟。传统的同构KD ( homo-KD )方法存在这样的缺陷,很难直接获得不同KD的满意性能。在本文中,我们提出了不同Assists Distillation ( HEAD )框架,利用异构的检测头作为辅助来指导学生检测器的优化,以减少这种差距。在HEAD中,助理是一个额外的检测头,其结构与连接到学生骨干的教师头部相同。因此,一个异构的KD被转换为一个同构的KD,从而实现从教师到学生的高效知识迁移。此外,当没有训练有素的教师检测器时,我们将HEAD扩展为无教师HEAD ( TF-HEAD )框架。我们的方法与当前的检测KD方法相比取得了显著的改进。例如,在MS - COCO数据集上,TF - HEAD帮助R18 RetinaNet达到33.9 mAP ( + 2.2 ),而HEAD进一步将极限推至36.2 mAP ( + 4.5 )。
introduction
简明扼要,不同检测器的检测头引导 一种backbone的不同knowledge。
传统方法受限,因为主干知识的差异扩大了教师和学生间的语义鸿沟,本篇论文重点在 同一backbone下的 不用检测头对 学生头的指导。
3 method
提出AKD,CKD 以及 无教师KD机制TF-HEAD
3.1 AKD
assistant 和 teacher 同质。
教师双阶段:
学生为双阶段: 学生RPN后的输出做ROI Align后计算loss
学生为单阶段:学生head 的cls分支输出做替代 -> 将每个anchor的 cls logit 转换为 类不可知的 obj logit,然后根据RPN怎么弄,它就怎么生成RoIs
问题一:RoI Pooling和RoI Align
RoI Pooling 量化操作 损失精度,
RoI Align 利用双线性插值 在不损失精度的基础上,更有利于分割。
问题二:单阶段学生怎么生成RoIs
首先S的预测头 cls分支找到前景概率大的anchor然后结合reg分支位置参数,根据RPN怎么生成,它就怎么生成RoIs。
这里T backbone 的特征进T检测头,那么什么特征进A检测头呢?
Ps, 即经过ROI对齐后的特征,要么是双阶段学生RPN后 RoI Align的特征,要么是图二右上方那里经过 convert 后的RoIs对齐后的特征。
A 检测头和 T检测头间有 , A检测头和 GT间有
这里计算还是好理解的,助手拿到的是学生backbone得到的特征,要和Teacher计算loss,还要和GT比较。
这就是
3.2 CKD
通过教师直接监督学生,进一步提高学生能力。
1.T直接监督S
这里有两句话
We ignore the regression feature following G-DetKD [48]. Secondly, inspired by MimicDet [31], we trace back to the original anchors of each RoI. Thirdly, since each anchor corresponds to a pixel on , we sample these pixel features to form
忽略G-DetKD后的reg feature, 受启发,追溯每个RoI的原始锚点。由于每个锚对应于FS cls上的一个像素,因此我们采样这些像素特征以形成F
个人理解:
1.忽略reg分支,貌似CKD是 继承的G-DetKD的东西
2.对cls分支,AKD提出的前景anchor追踪其orin像素,采样这些像素得到特征
又有单双阶段不同的话,加一个1*1卷积 对齐,再计算loss。
3.3 TF-EHAD
多个助手(异质的检测头)
多个助手AKD 和 CKD 然后加上 student本身的和GT之间的loss
助手1与GT
助手1与学生