关注公众号,发现CV技术之美

本文介绍论文『LGD: Label-guided Self-distillation for Object Detection』,由旷视孙剑、张祥雨团队等提出标签引导的自蒸馏技术:《LGD》,被称为涨点神器!助力目标检测!(AAAI 2022 接收论文)

详细信息如下:

  • 论文链接:https://arxiv.org/abs/2109.11496

  • 项目链接:未开源

导言:

在本文中,作者提出了第一个用于目标检测的自蒸馏框架,称为LGD(标签引导的自蒸馏)。以前的研究依赖于教师模型来为蒸馏提供指导性的知识。但是,这在真实场景中可能是不可行的。因此,作者通过对象内和对象间的关系建模来生成指导性知识,只需要学生表示和标签。

具体而言,本文的框架通过稀疏标签编码对象间关系自适应对象内知识映射来获取指导性知识。LGD中的模块通过学生检测器进行端到端的训练,并在推理中被丢弃。

实验证明,LGD在各种检测器、数据集和大量任务(如实例分割)上都取得了不错的性能。例如,在MS-COCO数据集中,LGD在2×单尺度训练下使用ResNet-50将RetinaNet从36.2%提高到39.0%MAP(+2.8% )。对于像FCOS这样更强的检测器,在2×多尺度训练下使用ResNeXt-101DCN v2(46.1%),LGD达到47.9%(+1.8% )。对于CrowdHuman数据集中的行人检测,使用基于ResNet-50的Faster R-CNN,LGD将MMR提高了2.3% 。与经典的基于教师的方法FGFI相比,LGD不仅不需要经过预训练的教师就能获得更好的性能,而且训练成本比固有的学生学习低51%。

      01      

Motivation

知识蒸馏(KD,Knowledge distillation)最初被用于图像分类,并取得了不错的结果。通常,它是关于将指导性知识从预训练的模型(教师)转移到较小的模型(学生)。

近年来,KD算法应用于目标检测任务,引起了研究者的广泛兴趣。目前的这些目标检测上的KD算法,大多都需要一个性能较好的教师模型,更强大的教师可以提高这种蒸馏效率。然而,理想教师模型的在现实世界的应用中很难满足,因为它可能需要大量的试验和试错。相反,“无预训教师的通用检测KD”这一问题几乎没有被研究过。

为了减轻对预训教师的依赖,无教师方案被提出,如自蒸馏(self-distillation)联合学习(collaborative learning)标签正则化(label regularization) 。然而,这些方法是为分类而设计的,不适用于检测,因为后者必须处理具有不同位置和类别的多个对象。

最近,LabelEnc通过引入位置-类别建模扩展了传统的标签规则化。虽然它获得了不错的结果,但作者发现,随着检测器变得更强,例如,随着更大的主干和多尺度训练,性能改进已经饱和(如上图所示)。作者猜测这是因为标签本身只描述对象的类别和位置,而没有考虑同样重要的对象间关系。

对于容量有限的检测器,尽管没有关联信息,LabelEnc能够提供强大的补充监督信号。对于能够提取大量面向对象提示的更强大的检测器,使用LabelEnc好处较少,甚至是有害的。这可能是由于异构输入(图像与标签)和孤立建模的语义差异造成的。

受此启发,作者提出了标签引导的自蒸馏(LGD) ,这是一种新的无需教师的目标检测方法。在LGD中,作者设计了一个对象间关系适配器和一个对象内知识映射器 来协同建模形成结构化知识的关系。

关系适配器通过交叉注意交互来计算交互嵌入。具体地,通过测量每个对象的外观嵌入与每个标签嵌入之间的跨模态相似度来计算每个对象的交互嵌入,然后对其进行加权聚合。

知识映射器考虑对象内部表示的一致性,将交互后的嵌入映射到特征映射空间作为最终的指导性知识。

通过上述关系建模,最终的指导性知识自然地适应于学生的表征,有利于强学生检测器的有效精炼和语义差异的缓解。此外,本文的方法不依赖于强卷积网络作为教师。上述高效的设计使得LGD可以与学生网络联合训练,简化了流程,降低了训练成本。在推理期间,只保留学生检测器,因此不会带来额外的cost。

      02      

方法

如上图所示,LGD中主要有三个模块:

  1. 计算标签和外观嵌入的编码器

  2. 对象间关系适配器,其在给定对象的标签和外观嵌入的情况下生成交互嵌入。

  3. 对象内知识映射器,将嵌入的内容反投影到特征映射空间,以获取可供提炼的指导性知识。

2.1 Label-appearance Encoder

Label Encoding

对于图片中的每个对象,作者concat了归一化的ground-truth框和one-hot形式的类别标签来得到每个对象的描述符。将对象描述符传递到标签编码模块以获得精细化的标签嵌入,其中I表示对象索引,C=256是中间特征维度,N是对象编号。

为了引入标签描述符间的基本关系建模,作者采用经典的PointNet作为标签编码模块。根据实验结果,作者发现PointNet作为编码器的实验结果要略好于MLP和Transformer。此外,作者将BatchNorm替换成了LayerNorm,以适应小Batch Size的检测设置。

Appearance Encoding

除了标签编码,作者从包含感知对象外观特征的学生检测器的特征金字塔中提取紧凑的外观嵌入。作者采用了mask pooling从特征映射中提取对象的嵌入。具体地说,对于总共N个对象和一个位置为,,,的虚拟上下文对象。对于每个对象,是二进制矩阵,其值在ground truth区域内被设置为1,否则被设置为0。

对所有金字塔级别执行掩码合并,在每个金字塔级别,输入的对象掩码被缩减到对应的分辨率,以成为尺度特定的掩码。在第p个尺度下,通过计算投影特征图与下尺度对象掩码之间的通道广播的哈达玛乘积,然后进行global sum pooling可得到外观嵌入。其中,为一个的3×3卷积层。因此,对于第p个尺度的每个对象,可以外观嵌入:。

2.2 Inter-object Relation Adapter

在给定标签和外观嵌入的情况下,作者通过交叉注意过程来表示对象间关系的自适应。如上图所示,该过程在每个学生外观金字塔尺度上执行,以检索交互嵌入。

在交叉注意中,利用一系列key和query计算KQ-注意力关系来聚合value以获得注意力输出。

为了实现标签引导的信息自适应,作者采用当前尺度下的外观嵌入A作为query,尺度不变的标签嵌入L作为key和value。该方案测量了对象间较低层次的结构外观信息与较高层次的标签语义之间的相关性,然后重组信息标签嵌入以实现动态自适应。

在进行注意之前,query、key和value分别由线性层、和进行转换。然后,作者通过用标签外观相关因子加权每个变换后的标签嵌入,来计算第i个对象的交互嵌入:

其中,是第i个外观和第j个标签嵌入之间的按比例点积,并进行Softmax来计算得到的:

此外,作者也借鉴了Self-Attention中的multi-head的形式,并将所有head的结果concat之后用进行投影,得到所有对象的的交互嵌入:

其中;表示沿通道维度的concat操作。与外观嵌入一样,结果嵌入也是尺度敏感的。如上所述,作者通过在所有特征尺度上迭代来获得跨尺度的交互嵌入。

2.3 Intra-object Knowledge Mapper

为了使一维交互嵌入适用于检测任务中广泛使用的中间特征提取,作者将交互的嵌入映射到二维特征映射空间,以获取指导性知识。当然,对于每个金字塔比例尺,,结果特征的分辨率被限制为与相应的学生特征相同。

直观地,由于在紧凑表示的标签编码中没有对显式空间拓扑进行建模,因此需要恢复每个物体的定位信息,以实现几何透视上的校准。作者将每个对象绑定的交互嵌入和相应的ground-truth区域填充到零初始化特征map上。

对于每一个对象i,作者通过计算矢量化对象掩码与投影的、交互的嵌入之间的矩阵乘法,得到尺度p的特征图。所有这些对象映射加在一起形成一个统一的映射,并接上一个精炼模块,以形成结构化知识:

其中,和都是FC层。为3×3卷积层。以RELU开始,后跟三个3×3卷积层。通过上面的计算,我们就得到了所有尺度的指导性知识 。

在蒸馏之前,使用来调整学生的表征。然后,在每个特征尺度上在指导性知识和学生特征之间进行知识转移。作者采用InstanceNorm来消除两个特征图的外观和标签样式信息,然后使用均方误差(MSE)计算蒸馏损失:

除了优化学生检测器的蒸馏损失和检测损失外,作者还通过共享的检测头进行监督,进一步保证了指导表征和与学生表征的结果一致性。总检测损失如下所示:

其中表示学生/指导性表征。代表检测头。总的训练损失如下所示:

为了稳定的训练,蒸馏在30k次迭代中开始,因为当指导性知识优化得不够充分时,蒸馏可能是有害的。

      03      

实验

3.1 Comparison to Teacher-free Methods

Detailed Comparison with State-of-the-Art

上表和上图显示了本文方法和Teacher-Free的SOTA蒸馏方法的比较结果。

Comparison with Typical Methods

上表和上图显示了本文方法和Teacher-Free的经典方法的比较结果。

3.2 Comparison with Classical Teacher-based KD

上图和上表比较了本文方法和经典的基于学生模型的蒸馏方法的对比,可以看出本文的方法在性能上依旧具备优越性。

3.3 Ablation Studies

Label Encoding

上表展示了不同LabelEncoding的方法的对比,可以看出PointNet相比于其他想法性能更佳。

Inter-object Relation Adapter

上表展示了利用RetiNANet、Faster R-CNN、FCOS进行对象间关系自适应的消融实验结果

Intra-object Knowledge Mapper

在本文中,指导性知识依赖于对象和虚拟上下文两者的交互嵌入。作者对它们进行了消融,实验结果如上表所示。

Head Sharing

上表说明了在学生和指导性代表之间共享head的性能更好。

3.4 Training Efficiency

上表展示了不同方法的overhead,可以看出本文方法的训练成本更小。

      04      

总结

在这篇文章中,作者提出了一种新的自蒸馏框架,称为LGD,用于在没有预训教师模型的情况下进行目标检测中的知识蒸馏。它吸收了对象间和对象内的关系,形成了具有规则标签和学生表示的启发性知识。LGD以在线方式运行,表现良好,训练成本相对较低。它优于以往的无教师方法和经典的基于教师的KD方法,特别是对于强学生模型的检测,显示出更高的潜力。

▊ 作者简介

研究领域:FightingCV公众号运营者,研究方向为多模态内容理解,专注于解决视觉模态和语言模态相结合的任务,促进Vision-Language模型的实地应用。

知乎/公众号:FightingCV

END

欢迎加入「目标检测交流群

LGD:涨点神器!旷视孙剑、张祥雨团队提出标签引导的自蒸馏技术,助力目标检测!...相关推荐

  1. CVPR2021 DRConv:即插即用!旷视孙剑、张祥雨团队提出动态区域感知的卷积,涨点显著!...

    关注公众号,发现CV技术之美 ▊ 写在前面 在本文中,作者提出了一种名为动态区域感知卷积(DRConv) 的新卷积,它可以自动将多个滤波器分配给具有相似特征表示的空间区域.标准卷积层通常是增加滤波器的 ...

  2. 旷视孙剑博士提出LGD,训练速度提升51%,适用于目标检测的知识蒸馏

    来源:新智元 [导读]知识蒸馏已经成了目前常用的模型压缩方法,但相关研究还局限在图像分类任务上.最近旷视孙剑博士联手西安交大发表了一篇论文,提出新模型LGD,无需一个强力的teacher模型也能在目标 ...

  3. 多快好省的目标检测器来了,旷视孙剑团队提出Anchor DETR:基于Anchor Point的DETR

    作者丨小马 编辑丨极市平台 本文原创首发于极市平台公众号,转载请获得授权并标明出处. [写在前面] 在本文中,作者提出了一种基于Transformer的目标检测器.在以前基于Transformer的检 ...

  4. ResNet成阿尔法元核心技术 旷视孙剑详解Zero的伟大与局限

    摘要:2017年10月19日,DeepMind团队发表了迄今最强版本的AlphaGoAlphaGo Zero,其中一个重要模块是出自华人团队的深度残差网络ResNet.就此背景,新智元采访了深度残差网 ...

  5. R TALK | 旷视孙剑:如何打造云、端、芯上的视觉计算

    「R TALK 」是北京智源-旷视联合实验室推出的一个深度学习专栏,将通过不定期的推送,展示旷视研究院的学术分享及阶段性技术成果.「R Talk 」旨在通过一场场精彩纷呈的深度学习分享,抛砖引玉,推陈 ...

  6. AlphaGo Zero「无师自通」背后的伟大与局限 | 旷视孙剑解读

    整理 | 安木 当你被 AlphaGo Zero 刷屏的时候,你是对人类的创造力产生自豪,还是对人类的未来感到担忧? 10 月 20 日,旷视科技(Face++)首席科学家孙剑博士接受了多家媒体的群访 ...

  7. 对话旷视孙剑:比 TensorFlow 还早半年,旷视 Brain++ 的进化法则

    质疑与荣耀,技术与商业,所有疑问,或许通过这样一个国产自主的AI框架,至少可以回答一半. 打榜.噱头.争议.烧钱 创新.天才.明星.思辨 -- 评价 AI 企业,有人说他们是烧钱的机器.科技行业的共享 ...

  8. 旷视孙剑团队提出AutoML神经架构搜索新方法:单路径One-Shot,更精确更省时

    本文转载自旷视研究院 一步法(One-Shot)是一个强大的神经网络模型搜索(Neural Architecture Search/NAS)框架,但是它的训练相对复杂,并且很难在大型数据集(比如 Im ...

  9. 旷视孙剑团队提出Anchor DETR:基于Transformer的目标检测新网络

    开放了预训练,r50 400多m 写在前面 在本文中,作者提出了一种基于Transformer的目标检测器.在以前基于Transformer的检测器中,目标的查询是一组可学习的embedding.然而 ...

最新文章

  1. String 方法中 replace 和 replaceAll 的区别详解(源码分析)
  2. Pytorch上采样函数 包括interpolate
  3. 剑指offer八:跳台阶
  4. Spring Annotation Processing: How It Works--转
  5. JS 星号 * 处理手机号和名称
  6. oracle dump 转储
  7. Struts2上传文件的大小设置
  8. 【二】Windows API 零门槛编程指南——CreateWindow 窗口创建 “万字长篇专业术语全解”
  9. (56)Verilog HDL双向接口:inout
  10. python `__str__`
  11. 关于浙大考研878历年试卷的说明
  12. 堆积柱形图显示总数_在Excel堆积柱形图中显示合计值
  13. 打通C到B,“能者多劳”的小冰
  14. CLUSTERDOWN Hash slot not served 记录一次线上redis插槽问题
  15. MySQL 案例实战--MySQL数据库主从复制
  16. Spring Cloud - 熔断(Hystrix)
  17. 微积分英文书籍第八版 CALCULUS eight edition
  18. c# 十六进制数据转十六进制字符串
  19. MAC 下 解决ZOC 自动断开
  20. 苹果Mac系统偏好设置怎样原封不动地迁移(导入)到新电脑中?

热门文章

  1. 去哪儿-17-detail-header
  2. Jaccard文本相似度计算 Java程序
  3. 机器学习之PCA原理
  4. Opencv--学习Opencv比较好的网址
  5. STM32F103 - CubeMX 的使用实例详细(04.5)- STM32F103的 - 定时器设定详细解释 - 定时器相关的HAL接口函数 - 定时器的中断
  6. vs2013中对工程、项目和类更名
  7. 封装属性_「Python基础学习」之封装大法
  8. mysql 多表查询 join on_MySQL多表查询Left Join,Right Join学习笔记
  9. sqlerver 字符串转整型_字符串转换成整型并求和
  10. Docker 安装Node-Exporter+ Prometheus Server +Grafana