Focal and Global Knowledge Distillation forDetectors

摘要

文章指出,在目标检测中,教师和学生在不同领域的特征差异很大,尤其是在前景和背景中。如果我们 平等地蒸馏它们,特征图之间的不均匀差异将对蒸馏产生负面影响。因此,我们提出了局部和全局蒸馏。局部蒸馏分离前景和背景,迫使学生专注于教师的关键像素和通道。全局蒸馏重建了不同像素之间的关系,并将其从教师传递给学生,补偿了局部蒸馏中缺失的全局信息。由于我们的方法只需要计算特 征图上的损失, FGD 可以应用于各种探测器。
总结
提出了局部和全局蒸馏,局部蒸馏分离前景和背景,迫使学生专注于教师的关键像素和通道。
全局蒸馏重建了不同像素之间的关系,并将其从教师传递给学生,补偿了局部蒸馏中缺失的全局信息。

1、介绍

众所周知,前景 - 背景类不平衡是物体检测的一个关键点,不平衡的比例也损害了物体检测的蒸馏。对于这个问题,chen 分配权重以抑制背景, Mimick 提取学生的区域建议网络提出的积极区域。 FGFI TADF分别使用细粒度和高斯掩模来选择蒸馏区域。击败分别提取前景和背景。然而,蒸馏的关键在哪里,仍然不清楚。
为了探究学生和教师特征之间的差异,我们对注意力的空间和通道进行了可视化。如图 1 所示,学生的注意力和教师的注意力在前景中差异非常显著,而在背景中的差异相对较小。
这可能会导致学习前景和背景的不同困难。文章中,进一步探讨了知识蒸馏的前景和背景对目标检测的不同影响。我们通过在蒸馏中解耦前景和背景来设计实验。令人惊讶的是,如表1 所示,在前景和背景一起蒸馏的性能是最差的,甚至比只使用前景或背景还要差。这一现象表明,特征中的不均匀差异会对蒸馏产生负面影响。更深入的思考,不仅前景和背景之间存在负面影响,像素和通道之间也存在负面影响。因此,提出局部蒸馏,在分离前景和背景的同时,局部蒸馏还计算教师特征中不同像素和通道的注意力,像学生能够专注于教师的关键像素和通道。
总结
局部蒸馏,在分离前景和背景的同时,局部蒸馏还计算教师特征中不同像素和通道的注意力,使学生能 够关注教师的关键像素和通道
然而,仅仅关注关键信息是不够的。众所周知,全局上下文在检测中起着重要作用。许多关系模块已成功应用于检测,如非局部、GcBlock 、关系网络,极大地提高了检测器的性能。为了弥补局部蒸馏中提出的全局信息,我们进一步提出了全局蒸馏。在局部蒸馏中,我们利用GcBlock 提取不同像素之间的关系,然后从教师到学生提取它们。
总结
只关注局部是不够的,因此在局部蒸馏中,利用 GcBlock 蒸馏不同像素之间的关系。
提出了局部和全局蒸馏( FGD ),将局部蒸馏和全局蒸馏相结合,如图 2 所示。
所有损失函数仅根据特征进行计算 ,因此 FGD 可以直接用于各种探测器,包括两级模型、基于锚的一级和无锚的一级模型。
本文贡献:
1 、我们认为老师和学生关注的像素和通道是完全不同的,如果我们提取像素和通道而不区分它们,这将导致微不足道的改进。
2 、我们提出了局部和全局蒸馏,使学生不仅关注教师的关键像素和通道,而且能够学习像素之间的关系。

2、相关工作

基于特征的知识蒸馏方法,可以应用于几乎所有检测器。 Li 等人选择从 RPN 中采样的特征来计算蒸馏损失。很多方法对所有像素和通道都一视同仁。FKD 分别使用注意力掩码和非局部模块来引导学生蒸馏关系。然而,它将前景和背景蒸馏在一起。
蒸馏检测的关键问题是选择有价值的蒸馏区域。先前的蒸馏方法平等地处理所有像素和通道或将所有区域提取在一起。大多数方法缺少全局上下文信息的提炼。此外,我们捕捉了不同像素之间的全局关系,并将其提取给学生,这带来了另一个改进。

3、方法

大多数探测器都使用 FPN 作为 neck ,他们是从 backbone 中得到的不同尺度的特征图。从老师那里转移这些知识显著提高了学生的表现。通常,特征的蒸馏可以公式化为:
其中, F^S and F^T分别表示 来自教师和学生的特征,f是用于将F^S重塑到F^T相同 尺寸的自适应层。 H W 表示高宽 ,C 表示通道。然而,这种方法对所有部分一视同仁,缺乏对不同像素之
间全局关系的提炼。为了克服上述问题,提出了 FGD ,包括局部蒸馏和全局蒸馏。

3.1局部蒸馏

对于前景和背景的不平衡,我们提出了局部蒸馏来分离图像,并引导学生关注关键像素和通道。蒸馏区的比较见图3.
首先,我们设置一个二进制掩码 M 来分离背景和前景
其中 r 表示 GTbox ,并且 i,j 分别是特征图的水平坐标和垂直坐标。 如果 (i,j) 落在 GT ,则 M_{i,j} = 1,否则为0.
规模较大的目标由于拥有更多的像素,将占据更多的损失,这将影响小目标的蒸馏。在不同的图像中, 前景和背景的比例差异很大。因此,为了平等对待不同的目标,平衡前景和背景的损失,我们将比例掩 S 设置为
其中 H_rW_r表示 GT r 的高度和宽度。如果一个像素属于不同的目标,我们选择
最小的框来计算 S SENet和 CBAM 表明,关注关键像素和通道有助于基于 CNN 的模型获得更好的结果。 z 等人使用一种简单 的方法来获得空间注意力掩码并提高蒸馏性能 。在本文中,我们 应用类似的方法来选择局部像素的通 道,然后得到相应的注意力掩码。我们分别计算不同像素和不同通道的绝对平均值。
其中 H W 、C表示特征的高度、宽度和通道。G^SG^C 空间和通道注意力图,然后
注意力掩码可以公式化为
T 的用于调整分布的温度超参数。
学生和老师的掩码之间存在显著差异。在训练过程中,我们使用老师的掩码来引导学生。对于二进制掩码M ,比例掩码 S,注意力掩码A^SA^C,我们提出特征损失L_{fea}如下:
A^SA^C分别表示教师检测器的空间注意力掩码和通道注意力掩码。F^T and F^S分别表示教师检测器和学生检测器的特征图。\alpha and \beta 平衡背景和前 景之间损失的超参数。
除此之外,我们使用注意力损失L_{at} 迫使学生检测器模仿教师检测器的空间和通道注意力掩码 ,其 公式为:
t s 表示教师和学生, l 表示 L1 损失 , \gamma平衡损失的超参数。
部损失L_{focal}是特征损失L_{fea}和注意力损失L_{at}的总和。

3.2全局蒸馏

不同像素之间的关系,具有宝贵的知识,可用于提高检测任务的性能。在 3.1 节中,我们利用局部蒸馏来分离图像,并迫使学生专注于关键部分。然而,这种局部蒸馏切断了前景和背景之间的关系 。因此,我们提出了全局提取 旨在从特征图中提取不同像素之间的全局关系,并将其从教师蒸馏到学生
如图 4 所示:
我们 利用 GcBlock 来捕捉单个图像中的全局关系信息,并迫使学生检测器从教师那里学习关系。 全局损失L_{global}如下:
W_k,W_{v1},W_{v2}表示卷积层。 LN 表示归一化, N_p特征中的像素数,\lambda是平衡损失的超参数。

3.3总损失

总之,训练学生检测器的总损失如下:
L_{original} 是检测器的原始损失。
蒸馏损失仅从特征图上计算,该特征图可以从检测器的颈部获得,因此,它可以很容易地应用于不同的 探测器。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/744095.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【Spring Boot系列】快速上手 Spring Boot

💝💝💝欢迎来到我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。 推荐:kwan 的首页,持续学…

macOS - 获取硬件设备信息

文章目录 1、CPU获取方式 一: system_profiler获取方式二:sysctl, machdepmachdep 2、内存3、硬盘4、显卡5、声卡6、光驱7、系统序列号8、型号标识符9、UUID 等信息 10. 计算机名称 1、CPU 获取方式 一: system_profiler % syst…

深信服技术认证“SCCA-C”划重点:深信服应用交付AD

为帮助大家更加系统化地学习云计算知识,高效通过云计算工程师认证,深信服特推出“SCCA-C认证备考秘笈”,共十期内容。“考试重点”内容框架,帮助大家快速get重点知识 划重点来啦 *点击图片放大展示 深信服云计算认证(S…

中国工程精英智创数字工厂——2023纵览基础设施大会暨光辉大奖赛观察 (下)

中国工程精英智创数字工厂 ——2023纵览基础设施大会暨光辉大奖赛观察 (下) 吴付标 中国制造的尽头是智能化、智慧化,这一趋势正在加速前进。2022年,中国以50座达沃斯论坛盖章认证的“灯塔工厂”数量冠绝全球,而“数…

活动预告:如何培养高质量应用型医学人才?

在大数据时代与“新医科”建设的背景下,掌握先进的医学数据处理技术成为了医学研究与应用的重要技能。 为了更好地培养社会所需要的高质量应用型医学人才,许多高校已经在广泛地开展面向医学生的医学数据分析教学工作。 在“课-训-赛”育人才系列活动的…

详解Python中%r和%s的区别及用法

首先看下面的定义: %r用rper()方法处理对象 %s用str()方法处理对象 函数str() 用于将值转化为适于人阅读的形式,而repr() 转化为供解释器读取的形式(如果没有等价的语法,则会发生SyntaxError 异常) 某对象没有适于人…

面试常问:为什么 Vite 速度比 Webpack 快?

前言 最近作者在学习 webpack 相关的知识,之前一直对这个问题不是特别了解,甚至讲不出个123....,这个问题在面试中也是常见的,作者在学习的过程当中总结了以下几点,在这里分享给大家看一下,当然最重要的是…

面试六--TCP粘包问题

1.流式传输协议 流式传输协议(Streaming Protocol)是一种用于在网络上传输数据的通信协议,它允许数据以连续的流的形式进行传输,而不是一次性发送完整的数据包。流式传输协议即协议的内容是像流水一样的字节流,内容与内…

代码随想录day19(2)二叉树:二叉树的最大深度(leetcode104)

题目要求:求出二叉树的最大深度 思路:首先要区分二叉树的高度与深度。二叉树的高度是任一结点到叶子结点的距离,而二叉树的深度指的是任一节点到根节点的距离(从1开始)。所以求高度使用后序遍历(从下往上&…

【小白学机器学习9】自己纯手动计算验证,EXCEL的一元线性回归的各种参数值

目录 0 目标 1 构造模型 1.1 构造模型的思路 1.2 具体模型构造的EXCEL公式和过程 2 直接用EXCEL画图,然后生成趋势线的方式进行回归分析 2.1 先选择“观测值Y”的数据,用散点图或者折线图作图 2.2 然后添加趋势线和设置趋势线格式 2.3 生成趋…

ttkefu如何更改头像

ttkefu头像如何更改: 第一种:可以直接点击头像-更改框就出来了

前后端交互理解 简易表白墙(servlet)

前后端交互理解 简易表白墙(servlet) 文章目录 前后端交互理解 简易表白墙(servlet)后端核心内容前后端交互接口约定后端代码展示 上期介绍过 Servlet API ,本篇文章目的是借助 servlet 做出一个完整的网站。在一个网站…

Docker 搭建 PaddleOCR

转自PaddleOCR docker模式 - 简书 目的: 公司要放弃第三方的ocr工具(日语),需要自己搭建训练一套,这篇是搭建 图片要标出文字的选取框 因为是日文所以ocr有专门的工具,只需要文字坐标就好如图 日文的账票需要加密一下 我得环境是 Ubuntu 22.04.1 LTS 1,下载代码 cd /hom…

AI-线性回归模型

线性回归应用场景 房价预测,通过分析房地产市场的历史数据,如房屋大小、位置、建造年份等因素,线性回归可以帮助预测未来房价的走势。 销售额预测,企业可以利用线性回归模型来预测产品的销售额,这通常涉及到产品价格、…

科研三维模型高精度三维扫描服务3d逆向测绘建模工业产品抄数设计

三维抄数技术在科研三维模型的应用已经日益广泛,其高精度、高效率的特点使得科研工作者能够更快速、更准确地获取和分析数据。这一技术的核心在于通过专业的三维扫描仪对实物进行高精度测量,再将这些数据转化为三维数字模型,为后续的研究提供…

QT c++ 双精度数拆分和组合 Tool

本文描述QT c的双精度数拆分和合并,即双精度浮点数拆为四个16位无符号整数以及将四个16位无符号整数组合为双精度浮点数。 开发平台:win10QT6.2.4 MSVC2019 64 bit 在本文的最好列出了代码和可执行文件打包下载链接(可直接使用)…

Mysql 死锁案例1-记录锁读写冲突

死锁复现 CREATE TABLE t (id int(11) NOT NULL,c int(11) DEFAULT NULL,d int(11) DEFAULT NULL,PRIMARY KEY (id),KEY c (c) ) ENGINEInnoDB DEFAULT CHARSETutf8;/*Data for the table t */insert into t(id,c,d) values (0,0,0),(5,5,5),(10,10,10) 事务1事务2T1 START…

linux 模拟shell

💓博主CSDN主页:麻辣韭菜-CSDN博客💓   ⏩专栏分类:http://t.csdnimg.cn/G90eI⏪   🚚代码仓库:Linux: Linux日常代码练习🚚   🌹关注我🫵带你学习更多Linux知识   🔝&#x1f5…

BUU [FBCTF2019]RCEService

BUU [FBCTF2019]RCEService 开题&#xff0c;要求以json格式输入命令。 无任何信息泄露&#xff0c;源码如下&#xff1a; <?phpputenv(PATH/home/rceservice/jail);if (isset($_REQUEST[cmd])) {$json $_REQUEST[cmd];if (!is_string($json)) {echo Hacking attempt de…

阿里云第一次面试记录

java多态&#xff1f; 多态表示一个对象具有多种的状态&#xff0c;具体表现为父类的引用指向子类的实例 Fu f Zi z(); 多态是同一个行为具有多个不同表现形式或形态的能力。 多态就是同一个接口&#xff0c;使用不同的实例而执行不同操作 特点&#xff1a; 对象类型和引用类型…