目标检测提升技巧 | 结构化蒸馏一行代码让目标检测轻松无痛涨点(一)

简介: 目标检测提升技巧 | 结构化蒸馏一行代码让目标检测轻松无痛涨点(一)

知识蒸馏(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在数学上不太复杂,并且是可微的,因此适合作为目标函数。

相关文章
|
7月前
|
机器学习/深度学习
大模型开发:解释卷积神经网络(CNN)是如何在图像识别任务中工作的。
**CNN图像识别摘要:** CNN通过卷积层提取图像局部特征,池化层减小尺寸并保持关键信息,全连接层整合特征,最后用Softmax等分类器进行识别。自动学习与空间处理能力使其在图像识别中表现出色。
104 2
|
2月前
|
机器学习/深度学习 数据可视化 计算机视觉
目标检测笔记(五):详细介绍并实现可视化深度学习中每层特征层的网络训练情况
这篇文章详细介绍了如何通过可视化深度学习中每层特征层来理解网络的内部运作,并使用ResNet系列网络作为例子,展示了如何在训练过程中加入代码来绘制和保存特征图。
63 1
目标检测笔记(五):详细介绍并实现可视化深度学习中每层特征层的网络训练情况
|
4月前
|
API 异构计算
4.3.2 图像分类ResNet实战:眼疾识别——模型构建
这篇文章介绍了如何使用飞桨框架中的ResNet50模型进行眼疾识别的实战,通过5个epoch的训练,在验证集上达到了约96%的准确率,并提供了模型构建、训练、评估和预测的详细代码实现。
|
7月前
|
机器学习/深度学习 数据可视化 计算机视觉
【YOLOv8改进】MCA:用于图像识别的深度卷积神经网络中的多维协作注意力 (论文笔记+引入代码)
YOLO目标检测专栏介绍了YOLO的创新改进和实战案例,包括多维协作注意力(MCA)机制,它通过三分支架构同时处理通道、高度和宽度注意力,提高CNN性能。MCA设计了自适应组合和门控机制,增强特征表示,且保持轻量化。该模块适用于各种CNN,实验证明其在图像识别任务上的优越性。此外,文章还展示了如何在YOLOv8中引入MCA层的代码实现和相关任务配置。
|
7月前
|
机器学习/深度学习 数据可视化 数据挖掘
【视频】少样本图像分类?迁移学习、自监督学习理论和R语言CNN深度学习卷积神经网络实例
【视频】少样本图像分类?迁移学习、自监督学习理论和R语言CNN深度学习卷积神经网络实例
|
人工智能 算法 计算机视觉
目标检测基础(一)
目标检测基础(一)
123 0
目标检测基础(一)
|
机器学习/深度学习 计算机视觉
深度学习原理篇 第七章:Deformable DETR
简要介绍Deformable DETR的原理和代码实现。
1473 1
|
传感器 监控 算法
目标检测基础(二)
目标检测基础(二)
131 0
|
机器学习/深度学习 编解码 人工智能
深度学习进阶篇[8]:对抗神经网络GAN基本概念简介、纳什均衡、生成器判别器、解码编码器详解以及GAN应用场景
深度学习进阶篇[8]:对抗神经网络GAN基本概念简介、纳什均衡、生成器判别器、解码编码器详解以及GAN应用场景
深度学习进阶篇[8]:对抗神经网络GAN基本概念简介、纳什均衡、生成器判别器、解码编码器详解以及GAN应用场景
|
机器学习/深度学习 监控 算法
了解YOLO算法:快速、准确的目标检测技术
了解YOLO算法:快速、准确的目标检测技术
3151 0