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.mfbz.cn/a/456208.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

力扣101---对称二叉树(简单题)

题目描述: 给你一个二叉树的根节点 root , 检查它是否轴对称。 示例 1: 输入:root [1,2,2,3,4,4,3] 输出:true示例 2: 输入:root [1,2,2,null,3,null,3] 输出:false 非递归Java代…

Leetcode 1514 概率最大的路径

文章目录 1. 题目描述2. 我的尝试 1. 题目描述 原题链接:Leetcode 1514 概率最大的路径 给你一个由 n 个节点(下标从 0 开始)组成的无向加权图,该图由一个描述边的列表组成,其中 edges[i] [a, b] 表示连接节点 a 和 b…

C#,数值计算,希尔伯特矩阵(Hilbert Matrix)的算法与源代码

Hilbert, David (1862-1943) 1 希尔伯特(Hilbert) 德国数学家,在《几何学基础》中提出了第一套严格的几何公理(1899年)。他还证明了自己的系统是自洽的。他发明了一条简单的空间填充曲线,即埃里克魏斯汀的数学世界,即希尔伯特曲线,埃里克魏斯汀的数学世界,并证明了不…

win11创建本地局域网网站

前言 本篇文章介绍在windows11环境下通过IIS(Internet Information Services)管理器创建局域网网站 启用windows相关功能 键盘win R打开运行窗口输入optionalfeatures,回车打开windows功能界面选中下面这几项,点击确定,稍等即可 打开IIS 按下win键…

3.1_6 基本地址变换机构

文章目录 3.1_6 基本地址变换机构(一)基本地址变换机构(二)对页表项大小的进一步探讨 总结 3.1_6 基本地址变换机构 提示: 重点理解、记忆**基本地址变换机构(即用于实现逻辑地址到物理地址转换的一组硬件机…

网络层:地址解析协议ARP、网际控制报文协议ICMP、虚拟专用网络VPN、网络地址转换NAT

文章目录 地址解析协议ARP解决的问题ARP解析流程ARP高速缓存 网际控制报文协议ICMPICMP报文的种类ICMP差错报告报文ICMP询问报文 ICMP应用举例分组网间探测PING(Packet InterNet Groper)traceroute(tracert)确定路径的MTU 虚拟专用网络专用地址虚拟专用网络远程接入VPN(remote …

2024年文学、历史与艺术设计国际会议(ICLHAD2024)

2024年文学、历史与艺术设计国际会议(ICLHAD2024) 一、【会议简介】 2024国际文学、历史和艺术设计会议(IACLHAD 2024)将在中国杭州举行。本次大会将继续遵循学术性和国际性原则,邀请国内外高校、科研院所、企事业单位的文史美术设计领域的…

力扣每日一题 最大二进制奇数 模拟 贪心

Problem: 2864. 最大二进制奇数 由于奇数的二进制末尾一定是 111,我们可以把一个 111 放在末尾,其余的 111 全部放在开头,这样构造出的奇数尽量大。 复杂度 时间复杂度: O ( n ) O(n) O(n) 空间复杂度: O ( 1 ) O(1) O(1) Code class…

自动化运维工具Ansible

目录 一.Ansible基本内容 1.定义 2.特点与优势 优势: (1)轻便性:无需在被控制服务器上安装客户端,Ansible基于ssh协议 (2)幂等性:大部分模块有幂等性,即如果输入sys…

react 综合题-旧版

一、组件基础 1. React 事件机制 javascript 复制代码<div onClick{this.handleClick.bind(this)}>点我</div> React并不是将click事件绑定到了div的真实DOM上&#xff0c;而是在document处监听了所有的事件&#xff0c;当事件发生并且冒泡到document处的时候&a…

一文搞懂多模态:BeiT-3之前的14个多模态+4个周边原理解读

在人工智能的世界里&#xff0c;多模态学习不断地展现出其重要性。这个领域的迅速发展不仅促进了不同类型数据之间的深度融合&#xff0c;还为机器理解世界提供了更加丰富和细腻的视角。随着科技的不断演进&#xff0c;人工智能模型已经开始渐渐具备处理和理解从文本、图像&…

数组和指针

一、数组不可以被赋值 数组一旦声明之后&#xff0c;是不可以修改的&#xff0c;只有数组中的元素是可以被修改的 #include<stdio.h> int main() {int arr1[]{1,2,3};int arr2[]{7,8,9};arr1arr2;return 0; } 二、指针可以被赋值 指针可以通过赋值指向其他内存空间 #…

flutter 开发app可以做的事情

热更新文件/图片 预览组件/文件上传分片/动态多语言/兼容web缓存管理页面动画封装公用组件库日志系统/日志规范/错误定位低代码实现/探索/落地网络延迟脚本字体包优化web 页面浏览器刷新没有历史路径&#xff0c;导致报错选择多语言之后&#xff0c;退出再次进入&#xff0c;没…

Excel生成 chart 混合图表

在开发中有这样一个需求&#xff0c;邮件预警的时候&#xff0c;要求邮件主体内容是一个Chart 图表&#xff08;生成后的img&#xff09;&#xff0c;邮件需要有附件&#xff0c;且附件是Excel列表加图表&#xff0c;图表类型是混合图。 回顾&#xff1a;在之前一篇讲到如何使用…

云数据库Redis配置用户名密码连接

一般情况&#xff0c;生产环境6379端口是禁止对外开放的&#xff0c; 所有用户名密码可以不设置。 但是如果有格鲁需求&#xff0c;需要开放redis公网访问&#xff0c;建议端口限制IP&#xff0c;并设置用户密码 spring中配置 阿里云数据库 云数据库 Redis_缓存数据库_高并…

数据分析可视化神器---streamlit框架,各种图表绘制,布局以及生产综合案例剖析

✨✨ 欢迎大家来到景天科技苑✨✨ &#x1f388;&#x1f388; 养成好习惯&#xff0c;先赞后看哦~&#x1f388;&#x1f388; &#x1f3c6; 作者简介&#xff1a;景天科技苑 &#x1f3c6;《头衔》&#xff1a;大厂架构师&#xff0c;华为云开发者社区专家博主&#xff0c;…

如何应用TRIZ点亮产品新概念设计的火花?

在创新设计的领域里&#xff0c;TRIZ&#xff08;发明问题解决理论&#xff09;被誉为一把开启创新之门的金钥匙。它能够帮助设计师和工程师突破思维定式&#xff0c;找到前所未有的解决方案。那么&#xff0c;如何在产品的新概念设计阶段&#xff0c;利用TRIZ点亮创新的火花呢…

玩转 Spring 状态机:更优雅的实现订单状态流转

说起 Spring 状态机&#xff0c;大家很容易联想到这个状态机和设计模式中状态模式的区别是啥呢&#xff1f;没错&#xff0c;Spring 状态机就是状态模式的一种实现&#xff0c;在介绍 Spring 状态机之前&#xff0c;让我们来看看设计模式中的状态模式。 1. 状态模式 状态模式…

探秘知乎的排名算法:知乎撰写高质量内容的秘诀

知乎作为一个知识问答社区&#xff0c;用户众多、内容繁杂&#xff0c;那么究竟是什么样的原则决定了知乎上的排名呢&#xff1f;腾轩科技传媒探讨知乎排名的规则&#xff0c;并分享如何撰写高质量的文章。 知乎排名的算法 在知乎这个巨大的社交平台上&#xff0c;任何一个用户…

torch.backends.cudnn.benchmark 作用

相关参数 torch.backends.cudnn.enabled torch.backends.cudnn.benchmark torch.backends.cudnn.deterministictorch.backends.cudnn.benchmark True&#xff1a;将会让程序在开始时花费一点额外时间&#xff0c;为整个网络的每个卷积层搜索最适合它的卷积实现算法&#xff0c…
最新文章