[AAAI22] Knowledge Distillation for Object Detection via Rank Mimicking and Prediction-guided Feature Imitation

Motivation

导致 Student 网络性能差的两个原因:

  • 候选框 bbox 差别很大:如图所示,对于简单的目标 (图a),两个模型的最终留下的 bbox 是由同一个 anchor 回归的 (对于 anchor-free 方法是 anchor points)。但是,对于难一点的 bbox (图b) ,却是由不同的 anchor 回归。对于难例样本,两者的 anchor 置信度不同。
  • Student 和 teacher 的特征和预测之间都存在着较大 gap。特征差异性 $(F_{dif} = F_{tea} - F_{stu}) $和预测差异性 (Pdif=Ptea−Pstu)(P_{dif} = P_{tea} - P_{stu})(Pdif​=Ptea​−Pstu​),是直接通过特征图相减得到的。关键是:二者 gap 位置是不一样的 (图中 inconsistency 处)。这表明这部分区域特征差异性很大,预测差异性却很小。故不需要将对应的特征差异性用来蒸馏。预测指导特征模仿的思路:用预测差异性来指导特征模仿学习。

Method

基于上述两个问题,作者提出了 Rank Mimicking (RM) 和 Prediction-guided Feature Imitation (PFI) 对一阶段的检测器进行蒸馏。前者将 teacher 对候选框的排序作为一种待蒸馏的知识;后者用预测差异性来指导特征差异性,可以提高 student 模型的检测结果。

Rank Mimicking

  • 对于一个目标 jjj,假设有 NNN 个 anchor 负责对该个物体进行预测 (positive anchor)。对 student 和 teacher 网络,计算得到这 NNN 个 anchor 的预测的类别分数。
  • 分别对 student 网络和 teacher 网络的 positive anchor 类别分数进行 softmax,得到其预测分布:
    sij′=exp(sij)∑m=1Nexp(smj)tij′=exp(tij)∑m=1Nexp(tmj)s_i^{j^\prime}=\frac{\text{exp}(s_i^j)}{\sum^N_{m=1}\text{exp}(s_m^j)} \ \ \ \ \ \ \ \ t_i^{j^\prime}=\frac{\text{exp}(t_i^j)}{\sum^N_{m=1}\text{exp}(t_m^j)} sij′​=∑m=1N​exp(smj​)exp(sij​)​        tij′​=∑m=1N​exp(tmj​)exp(tij​)​
  • 最小化 KL 散度让 teacher 和 student 网络 positive anchor 分数的分布保持一致:
    LRM=−1M∑j=1M∑i=1Ntij′log(sij′tij′)L_{RM} = -\frac{1}{M}\sum^M_{j=1}\sum^N_{i=1}t_i^{j^\prime}log(\frac{s_i^{j^\prime}}{t_i^{j^\prime}}) LRM​=−M1​j=1∑M​i=1∑N​tij′​log(tij′​sij′​​)
    ​其中,M表示当前图像中的待检测目标格式。
  1. Teacher 模型与 student 模型对于所有 positive anchor 的预测类别分数具有同样的分布。
  2. 将所有 positive anchor 作为一个整体,利用KL散度去蒸馏其分布情况。

Prediction-guided Feature Imitation

现象:预测差异大的位置特征差异可能会很小,而预测差异小的位置特征差异可能会很大。

  • 如果直接进行无差别的特征蒸馏,则特征差异较大、预测差异较小的区域会在反向传播中占据主导地位。这会导致特征蒸馏效果变差。
  • 采用 teacher 和 student 网络预测类别分数差的 ℓ2\ell_2ℓ2​ 距离,来表示其预测的差异性。其中 CCC 代表类别数,得到的 PPP 是一个 H×WH\times WH×W 的 mask (PFI mask)。某个点的值越大,则代表 S 和 T 的预测差异性越大。
    Pdif=1C∑c=1C∥Pstuc−Pteac∥22Fdif=1Q∑q=1Q∥Fstuq−Fteaq∥22LPFI=1L∑l=1L1Hl∗Wl∥Pdif⊙Fdif∥22Ltotal=Ltask+αLRM+βLPFIP_{dif}=\frac{1}{C}\sum^C_{c=1}\|P_{stu}^c-P^c_{tea}\|^2_2\\ F_{dif}=\frac{1}{Q}\sum^Q_{q=1}\|F_{stu}^q-F^q_{tea}\|^2_2\\ L_{PFI}=\frac{1}{L}\sum^L_{l=1}\frac{1}{H_l*W_l}\|P_{dif}\odot F_{dif}\|^2_2\\ \\ L_{total} = L_{task}+\alpha L_{RM}+\beta L_{PFI} Pdif​=C1​c=1∑C​∥Pstuc​−Pteac​∥22​Fdif​=Q1​q=1∑Q​∥Fstuq​−Fteaq​∥22​LPFI​=L1​l=1∑L​Hl​∗Wl​1​∥Pdif​⊙Fdif​∥22​Ltotal​=Ltask​+αLRM​+βLPFI​

Experiment


[目标检测知识蒸馏3] [AAAI22] Knowledge Distillation for Object Detection via Rank Mimicking and Prediction相关推荐

  1. [2022AAAI]Knowledge Distillation for Object Detection via Rank Mimicking and ... 论文笔记

    目录 摘要 Method Rank mimicking Prediction-guided Feature Imitation 总损失 实验 总结 论文全名有点长,题目放不下了: Knowledge ...

  2. 直播预告 | AAAI 2022论文解读:基于锚框排序的目标检测知识蒸馏

    「AI Drive」是由 PaperWeekly 和 biendata 共同发起的学术直播间,旨在帮助更多的青年学者宣传其最新科研成果.我们一直认为,单向地输出知识并不是一个最好的方式,而有效地反馈和 ...

  3. 【CVPR 2021】基于解耦特征的目标检测知识蒸馏:Distilling Object Detectors via Decoupled Features

    [CVPR 2021]基于解耦特征的目标检测知识蒸馏:Distilling Object Detectors via Decoupled Features 论文地址: 主要问题: 主要思路: 具体实现 ...

  4. 【AAAI 2021】自监督目标检测知识蒸馏:Distilling Localization for Self-Supervised Representation Learning

    [AAAI 2021]自监督目标检测知识蒸馏:Distilling Localization for Self-Supervised Representation Learning 论文地址: 代码地 ...

  5. 【CVPR 2021】通用的实例级蒸馏:General Instance Distillation for Object Detection

    [CVPR 2021]通用的实例级蒸馏:General Instance Distillation for Object Detection 论文地址: 主要问题: 主要思路: 主要贡献: 具体实现: ...

  6. 分析显著性目标检测--Global Context-Aware Progressive Aggregation Network for Salient Object Detection

    分析显著性目标检测--Global Context-Aware Progressive Aggregation Network for Salient Object Detection 引入 方法 网 ...

  7. 基于dota的目标检测(旋转框)论文阅读Oriented Object Detection in Aerial Images with Box Boundary-Aware Vectors

    基于dota的目标检测(旋转框)|论文阅读Oriented Object Detection in Aerial Images with Box Boundary-Aware Vectors 文章目录 ...

  8. CVPR2022知识蒸馏用于目标检测:Focal and Global Knowledge Distillation for Detectors

    论文下载:https://arxiv.org/abs/2111.11837 源码下载:https://github.com/yzd-v/FGD Abstract 知识蒸馏已成功应用于图像分类.然而目标 ...

  9. 一文搞懂【知识蒸馏】【Knowledge Distillation】算法原理

    知识蒸馏算法原理精讲 文章目录 知识蒸馏算法原理精讲 1. 什么是知识蒸馏? 2. 轻量化网络的方式有哪些? 3. 为什么要进行知识蒸馏? 3.1 提升模型精度 3.2 降低模型时延,压缩网络参数 3 ...

最新文章

  1. c 初始化char**_CC++|指针详述及实例分析
  2. 瘫痪17年,利用双向脑机接口来诱发触觉,控制机械手
  3. 白钢条用什么可以切割_错怪李佳琦了!原来用小苏打刷牙,1个月真的可以白4度,太心动了...
  4. java tessdata训练_Tesseract For Java为可执行jar设置Tessdata_Prefix
  5. 删除sql下注册服务器
  6. Redis 6.0 源码阅读笔记(7) -- ZSet 数据类型源码分析
  7. 我是如何在5 天内,完成 60 个类的核心模块的重构
  8. iOS使用得图SDK开发VR播放器
  9. java 米与厘米 转换_米转码换算(米与码的换算关系)
  10. 易到要在网约车市场突围并不容易
  11. 超级鸡马虚拟服务器,超级鸡马按键操作图文教程_超级鸡马怎么玩_牛游戏网
  12. SpringBoot搭建微信公众号后台(零):服务搭建与接口验证
  13. python中的序列类型数据结构元素的切片操作_PythonI/O进阶学习笔记_4.自定义序列类(序列基类继承关系/可切片对象/推导式)...
  14. weekofyear跨年问题
  15. 朴素贝叶斯算法(python 实现)
  16. 【优化】py2下hbase的字符串编码问题(\\xe7\\xbc\\x96)
  17. 真香!java设置全局变量
  18. 谷歌和有道翻译API使用
  19. 【ASM】史上最通俗易懂的ASM教程 ASM 插件
  20. certutil 校验文件md5,sha1,sha256

热门文章

  1. Web打印组件jatoolsPrinter
  2. 怎么下载在阿里云平台注册域名的域名证书
  3. count(*)和sum(1) 的效率
  4. 【JZOJ5664】凫趋雀跃
  5. 传世单机架设错误汇总
  6. 2021杭电多校补题(6)
  7. 工业现场设备互联互通问题分析及解决思路
  8. 机器的虚拟调试 - MapleSim Insight 对高空作业车稳定性进行实时调试
  9. 8-24 DAIRY
  10. 电力线上网的新闻回顾:中电飞华开始商用(2003年3月新闻)