目标检测落地必备Trick | 结构化知识蒸馏让RetinaNet再涨4个点

简介: 目标检测落地必备Trick | 结构化知识蒸馏让RetinaNet再涨4个点

知识蒸馏(KD)是深度神经网络中一种众所周知的训练范式,其中由教师模型获得的知识传递给一个学生模型。KD已被证明是一种有效的技术,可以显著提高学生模型在各种任务(包括目标检测)中的表现。因此,KD技术主要依赖于中间特征的指导,这通常通过在训练期间最小化教师和学生模型激活之间的-范数距离来实现。

在本文中提出了一种基于结构相似性(SSIM)的像素独立-范数的替换。通过考虑额外的对比度和结构线索,在损失公式中考虑了特征空间中的特征重要性、相关性和空间相关性。

MSCOCO上的大量实验证明了本文的方法在不同训练方案和架构中的有效性。本文的方法只增加了很少的计算开销,易于实现,同时显著优于标准的-范数。此外,与普通模型相比,使用基于注意力的采样机制比最先进KD方法表现更好,包括使用Faster R-CNN R-50获得+3.5 AP增益。


1、简介


在过去十年中,卷积神经网络(CNNs)已证明是解决基本计算机视觉任务的非常有效的工具。神经网络的一个主要应用包括自动驾驶汽车中的实时感知系统,其中目标检测通常是一项非常重要的任务。然而,将CNNs部署到实时应用程序中会对内存和延迟造成严格限制。另一方面,最先进的检测器的性能提高通常伴随着内存需求和推理时间的增加。因此,网络模型的选择及其相应的检测性能受到严格限制。

已经提出了几种技术来解决这个问题,例如剪枝、权重量化、参数预测和知识蒸馏(KD)。在这项工作中,作者对后者特别感兴趣,因为它提供了一种直观的性能改进方式,而无需对现有网络进行架构修改。

使用KD,在训练期间,由计算昂贵的教师模型获得的知识被迁移到较小的学生模型。KD已被证明在分类、分割等任务中非常有效,特别是最近在目标检测方面取得了长足发展。由于典型目标检测模型的输出空间的复杂性,有必要在中间特征应用KD,因为仅依赖基于输出的KD已被证明是无效的。在基于特征的KD中,除了现有目标之外,还引入了一个训练目标,该目标最小化了教师和学生激活之间的误差,并且是由单个特征激活之间的-范数距离定义的事实标准,如图1a所示。然而,-范数忽略了特征图中存在的3个重要信息:

  1. 特征之间的空间关系
  2. 教师和学生特征之间的相关性
  3. 个体特征的重要性

最近的工作侧重于通过假设对象区域更“knowledge-dense”,通过对特征激活进行采样的机制绕过后一点。然而,正如Guo等人所证明的那样,即使只提取背景特征激活也可以显著提高性能,因此不能假设仅目标区域包含有用的知识。采样机制还引入了额外的缺陷,这些缺陷可能会限制其在现实世界应用中的更广泛实现,例如需要标注数据。

image.png

在这项工作中提出了结构知识蒸馏,其目的是改善与作为KD方法核心驱动因素的-范数相关的缺点,而不是设计更复杂的采样机制。作者的关键见解如图1b所示:

CNN的特征空间可以局部分解为亮度(均值)、对比度(方差)和结构(互相关)分量,这一策略已在SSIM形式的图像领域成功应用。

新的训练目标变成最小化均值和方差的局部差异,并最大化教师和学生激活之间的局部零归一化互相关。这样做可以捕捉教师和学生的特征激活之间的空间关系和相关性中包含的额外知识,而不是直接最小化个体激活的差异。

为了证明方法的有效性,使用各种检测架构和训练方案进行了广泛的实验。总体而言,贡献如下:

  • 提出了结构知识蒸馏,它引入了和变体,以代替目标检测模型中基于特征的KD的-范数。这使得能够捕获学生和教师网络的特征空间中表现为局部均值、方差和互相关关系的额外知识。
  • 通过对特征空间的分析说明本文方法关注的是不同于-范数的区域,因此,仅从目标区域采样是次优的,因为整个特征空间可以包含取决于激活模式的有用知识。
  • 通过在MSCOCO上进行大量实验,证明了在各种训练设置和模型架构下检测精度的一致性定量改进。本文的方法甚至性能相当或优于精心调整的最先进的目标采样机制,并通过仅引入一行代码从根本上实现了这一点。

2、相关工作


2.1、知识蒸馏

KD旨在将大的教师模型获得的知识迁移到较小的学生模型。Buciláa等人(2006)证明,大模型集合所获得的知识可以迁移到单个小模型。Hinton等人(2015)提供了一种应用于DNN的更通用的解决方案,其中他们提高了最终softmax的温度超参,直到大模型产生了一组合适的Softmax目标。计算机视觉领域的大多数KD研究集中于分类任务。然而,由于本文主要兴趣在于实时领域,专注于更相关的目标检测任务。

2.2、目标检测

目标检测是基本的计算机视觉任务之一,其中速度和精度通常是两个关键要求。目标检测器可以分为单阶段和两阶段方法,在这项工作中研究了两种变体的方法。通常,两阶段检测器需要用更高的计算成本获得更高的精度,而单阶段检测器则是更低的推理时间和复杂性,以换取对精度的均衡。然而,这个概念高度依赖于特征提取器和超参数配置的选择,这不是一个简单的过程。单阶段域中的主要元架构是RetinaNet,其扩展包括Anchor-free模块和Reppoints。在两阶段领域中,Faster R-CNN被视为使用最广泛的元架构,其中迭代包括Cascade R-CNN。此外,无论架构如何,ResNet都常用于提取特征,这些特征还使用例如FPN在多个尺度上进行融合。

2.3、面向目标检测的知识蒸馏

已经提出了几种将KD用于目标检测器的方法,其中已经发现,由于检测模型中输出空间的复杂性,通常在中间特征而不是输出上的引导是关键的。由于检测任务需要在不同位置识别多个目标,因此引入的主要复杂性是前景和背景之间的不平衡,这表现在中间特征中。通常,假设目标区域“knowledge-dense”,而背景区域则不那么密集。因此,最近的工作隐含地集中在设计机制上,该机制对目标相关特征进行采样,以从中提取知识。

Li等人(2017)在两阶段检测器中模拟从区域提议中采样的特征。Wang等人(2019)提出了基于标注框定位“knowledge-dense”特征位置的模仿Mask。

Dai等人(2021)提出了一个基于分类分数之间距离的提取模块。类似地,Zhixing等人(2021)使用输出类概率来确定特征目标概率。

最近,Kang等人(2021)提出了一种方法,他们在注意力机制中对实例注释进行编码,以定位“knowledge-dense”区域。

与上述方法相反,Zhang和Ma(2021)提出了一种纯粹基于特征的方法,其目的是模拟注意力图作为采样机制,并进一步通过非局部模块进行提取。无论采用何种取样技术,Guo等人(2021)已经证明,背景特征对蒸馏并不一定不那么重要。

2.4、目标函数

基于特征的KD的目标是在训练期间最小化教师和学生特征空间之间的误差,通常是除了现有目标之外。在基于特征的KD中,最广泛使用的目标函数是-范数,,而不太常见的。然而,-范数忽略了特征之间的空间关系、教师和学生之间的相关性以及个体特征的重要性,其中个体特征是先前工作的主要焦点。

为了考虑空间相关性,需要进一步在局部而不是逐点比较特征。SSIM通过对强度和对比度进行局部比较,而不仅仅是逐点比较,提供了一种考虑空间相关性的优雅方式。它还能够通过整合零归一化互相关来考虑教师和学生之间的关系。与VIF、GMSD和FSIM等替代图像信号质量度量相反,SSIM在数学上不太复杂,并且是可微的,因此适合作为目标函数。


3、本文方法


3.1、概述

从定义基于特征的蒸馏损失的一般形式开始。出于这项工作的目的,将检测器分为3个部分:

  1. Backbone:用于提取特征
  2. Neck:用于融合不同尺度的特征(通常为FPN)
  3. Head:用于生成回归和分类分数

对于基于特征的KD,在Neck的输出处分别从教师和学生中选择中间特征和。T和S之间基于特征的蒸馏损失为:

其中、、、分别为高度、宽度、通道数量和Neck输出数量,为第个输出刻度的元件总数。此外,将定义为将和的值映射到[0,1]的归一化函数,在本文的前提下是最小-最大重新缩放层,而是匹配和维度的可选自适应层,这里为1×1卷积层。

作者还引入了缩短符号,它表示在归一化特征上的单个特征位置,,,处的差异测量函数的选择,并包括自适应层,即。因此,使用和分别表示标准化和适应的学生和标准化教师激活,例如。

3.2、测量差异

正如所确定的,的实际标准选择是-范数。惩罚较大的误差,但对较小的误差更能容忍。另一方面,不会过度惩罚较大的误差,但较小的误差会受到更严厉的惩罚。一般形式的-范数由下式给出:

显然,这样的函数不能捕捉特征之间的空间关系。为了捕获二阶信息,需要涉及至少两个特征位置,因此将问题陈述从逐点比较改为局部patch-wise比较。对于每个这样的patch,提取了3个基本属性:平均值、方差和互相关,它们捕捉了和之间的关系。

作者遵循SSIM,并使用大小为11×11和的高斯加权计算这些量。所提出的SSIM框架比较了每个属性,因此由3个分量组成:亮度、对比度和结构,其定义如下:

其中,、表示平均值,、表示方差,表示patch内的协方差。此外,为了防止不稳定性,,,,其中是特征图的动态范围,,。方程(3)的一个重要性质是,由于分母中的二次项,它更重视和的相对变化。

此外,是和之间的零归一化相关系数的直接测量,因此被公式化为它们的协方差和标准差乘积之间的比率。由于方程式(3)的范围为,将3个组成部分结合起来,可实现以下目标:

其中每个函数可以通过超参()进行调整,默认。

由于本文的方法完全基于特征,与Head或边界框标签的类型无关,因此只需使用加权因子将添加到现有检测目标函数(通常为和)中,从而实现以下总体训练目标:

image.png


4、实验


4.1、 Comparison with -norms

image.png

image.png

image.png

4.2、Influence of Luminance, Contrast and Structure

image.png

image.png

image.png

4.3、Comparison to State-of-the-Art Methods

image.png

4.4、Ablation Studies


5、参考


[1].Structural Knowledge Distillation for Object Detection.

相关文章
|
2月前
|
机器学习/深度学习 算法 固态存储
最强DETR+YOLO | 三阶段的端到端目标检测器的DEYOv2正式来啦,性能炸裂!!!
最强DETR+YOLO | 三阶段的端到端目标检测器的DEYOv2正式来啦,性能炸裂!!!
144 0
|
2月前
|
机器学习/深度学习 编解码 定位技术
【论文速递】ECCV2022 - 密集高斯过程的小样本语义分割
【论文速递】ECCV2022 - 密集高斯过程的小样本语义分割
|
机器学习/深度学习 PyTorch 算法框架/工具
【论文泛读】 ResNeXt:深度神经网络的聚合残差变换(ResNet的改进,提出了一种新的维度)
【论文泛读】 ResNeXt:深度神经网络的聚合残差变换(ResNet的改进,提出了一种新的维度)
【论文泛读】 ResNeXt:深度神经网络的聚合残差变换(ResNet的改进,提出了一种新的维度)
|
2月前
|
机器学习/深度学习 负载均衡 算法
训练Backbone你还用EMA?ViT训练的大杀器EWA升级来袭
训练Backbone你还用EMA?ViT训练的大杀器EWA升级来袭
134 1
|
2月前
|
机器学习/深度学习 固态存储 算法
目标检测的福音 | 如果特征融合还用FPN/PAFPN?YOLOX+GFPN融合直接起飞,再涨2个点
目标检测的福音 | 如果特征融合还用FPN/PAFPN?YOLOX+GFPN融合直接起飞,再涨2个点
161 0
|
2月前
|
机器学习/深度学习 算法 固态存储
MFDS-DETR开源 | HS-FPN多级特征融合+Deformable Self-Attention,再续DETR传奇
MFDS-DETR开源 | HS-FPN多级特征融合+Deformable Self-Attention,再续DETR传奇
509 0
|
2月前
|
机器学习/深度学习 编解码 定位技术
【论文速递】ECCV2022 - 开销聚合与四维卷积Swin Transformer_小样本分割
【论文速递】ECCV2022 - 开销聚合与四维卷积Swin Transformer_小样本分割
|
2月前
|
机器学习/深度学习 计算机视觉
【论文速递】ICCV2019 - 基于特征加权和增强的小样本分割
【论文速递】ICCV2019 - 基于特征加权和增强的小样本分割
26 0
|
2月前
|
机器学习/深度学习 数据挖掘 网络安全
【论文速递】CVPR2022 - 用于半监督物体检测的尺度等效蒸馏
【论文速递】CVPR2022 - 用于半监督物体检测的尺度等效蒸馏
|
2月前
|
机器学习/深度学习 监控 算法
【论文速递】CVPR2021 - 通过解耦特征的目标检测知识蒸馏
【论文速递】CVPR2021 - 通过解耦特征的目标检测知识蒸馏