当前位置: 首页 > news >正文

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} 是检测器的原始损失。
蒸馏损失仅从特征图上计算,该特征图可以从检测器的颈部获得,因此,它可以很容易地应用于不同的 探测器。

相关文章:

Focal and Global Knowledge Distillation forDetectors

摘要 文章指出,在目标检测中,教师和学生在不同领域的特征差异很大,尤其是在前景和背景中。如果我们 平等地蒸馏它们,特征图之间的不均匀差异将对蒸馏产生负面影响。因此,我们提出了局部和全局蒸馏。局部蒸馏分离前景和…...

FX110网:1月美国零售货币资金环比上升2.61%,嘉盛环比上升1.86%

美国商品期货交易委员会(CFTC)发布的最新月度报告显示,2024年1月零售货币存款与上月相比上升2.61%。 这份报告涵盖在美国运营的注册零售货币对交易商(RFED)和经纪自营商。包括嘉信理财(CHARLES SCHWAB Futu…...

全量知识系统的核心-全量知识的一个“恰当组织”的构想及百度AI答问

全量知识系统的核心-全量知识的一个恰当组织 Q1. 以下是对 我刚刚完成的文档“全量知识系统的核心:全量知识的一个恰当组织构想”的百度AI答复。由于字数400的限制,内容被分成四段. 第一次回答:学科和科学的框架 关于技术学科、一般学科和…...

C++中using 和 typedef 的区别

C中using 和 typedef 的区别_typedef using-CSDN博客 在C中,“using”和“typedef”执行声明类型别名的相同任务。两者之间没有重大区别。C中的“Using”被认为是类型定义同义词。此方法也称为别名声明。定义这些别名声明的工作方式类似于使用“using”语句定义C中…...

LeetCode-1944题: 队列中可以看到的人数(原创)

【题目描述】 有 n 个人排成一个队列,从左到右 编号为 0 到 n - 1 。给你以一个整数数组 heights ,每个整数 互不相同,heights[i] 表示第 i 个人的高度。一个人能 看到 他右边另一个人的条件是这两人之间的所有人都比他们两人 矮 。更正式的&…...

Java基础面试题整理2024/3/13

1、可以使用switch的数据类型 Java5以前,switch(arg)表达式中,arg只能是byte、short、char、int。 Java5之后引入了枚举类型,也可以是枚举类型。 Java7开始引入了字符串类型。 2、Java中的goto有什么作用 goto是Java中的保留字&#xff0c…...

MachineSink - 优化阅读笔记

注:该优化与全局子表达式消除刚好是相反的过程,具体该不该做这个优化得看代价模型算出来的结果(有采样文件指导算得会更准确) 该优化过程将指令移动到后继基本块中,以便它们不会在不需要其结果的路径上执行。 该优化过程并非旨在替代或完全…...

虾皮shopee根据ID取商品详情 API

公共参数 名称类型必须描述keyString是免费申请调用key(必须以GET方式拼接在URL中)secretString是调用密钥api_nameString是API接口名称(包括在请求地址中)[item_search,item_get,item_search_shop等]cacheString否[yes,no]默认y…...

你知道数据库有哪些约束吗?

目录 1. NULL约束 2. 唯一(UNIQUE)约束 3. 默认值(DEFAULT)约束 4. 主键约束 5. 外键约束 6. CHECK约束 数据库约束是一种用于确保数据库中数据完整性和一致性的规则或条件。这些约束可以应用于表、列或整个数据库&#xff0…...

QT----基于QT的人脸考勤系统(未完成)

目录 1 编译opencv库1.1 下载源代码1.2 qt编译opencv1.3 执行Cmake一直卡着data: Download: face_landmark_model.dat 2 编译SeetaFace2代码2.1 遇到报错By not providing "FindOpenCV.cmake" in CMAKE_MODULE_PATH this project has2.2遇到报错Model missing 3 测试…...

机试:成绩排名

问题描述: 代码示例: #include <bits/stdc.h> using namespace std;int main(){cout << "样例输入" << endl; int n;int m;cin >> n;int nums[n];for(int i 0; i < n; i){cin >> nums[i];}// 排序for(int i 0; i < n; i){//…...

C编程基础四十分笔记

都是一些基础的C语言 一 输入一个整数&#xff0c;计算这个整数有几位二 编写程序计算一个分布函数三 输入一个字符串&#xff0c;再随便输入一个字母&#xff0c;判断这个字母出现几次四 求 1到10的阶乘之和五 求一个球体体积六 写一个链表&#xff0c;存1&#xff0c;2&#…...

k8s关于pod

目录 1、POD 的创建流程 kubectl 发起创建 Pod 请求&#xff1a; API Server 接收请求并处理&#xff1a; 写入 Etcd 数据库&#xff1a; Kubelet 监听并创建 Pod&#xff1a; Pod 状态更新和汇报&#xff1a; 2、POD 的状态解析 1. Pending Pod 2. Running Pod 3. S…...

yum安装mysql 数据库tab自动补全

centos7上面没有mysql&#xff0c;它的数据库名字叫做mariadb [rootlocalhost ~]#yum install mariadb-server -y [rootlocalhost ~]#systemctl start mariadb.service [rootlocalhost ~]#systemctl stop firewalld [rootlocalhost ~]#setenforce 0 [rootlocalhost ~]#ss -na…...

MBT-Net

feature F&#xff0c;edge feature E-F where r related to the relative position 辅助信息 作者未提供代码...

大数据赋能,能源企业的智慧转型之路

在数字洪流中&#xff0c;大数据已经成为推动产业升级的新引擎。特别是在能源行业&#xff0c;大数据的应用正引领着一场深刻的智慧转型。今天&#xff0c;我们就来探讨大数据如何在能源企业中发挥其独特的魅力&#xff0c;助力企业提效降本&#xff0c;实现绿色发展。 动态监控…...

2024考研国家线公布,各科分数线有哪些变化?考研国家线哪些涨了,哪些跌了?可视化分析告诉你

结论在文章结尾 2024考研国家线 一、近五年国家线趋势图-学术硕士 文学 管理学 工学照顾专业 体育学 交叉学科 军事学 历史学 理学 享受少数名族照顾政策的考生 中医类照顾专业 教育类 艺术类 医学 工学 哲学 法学 农学 经济学 二、近五年国家线趋势图-专业硕士 中医 应用心理 …...

高效、安全的APP分发与推广平台

在信息化快速发展的今天&#xff0c;APP已经成为人们生活中不可或缺的一部分。然而&#xff0c;对于众多APP开发者来说&#xff0c;如何让自己的APP在众多竞争者中脱颖而出&#xff0c;被更多用户所认知和下载&#xff0c;成为了一个亟待解决的问题。这时&#xff0c;一个高效、…...

浅谈异或运算

异或&#xff0c;是一个数学运算符&#xff0c;英文为exclusive OR&#xff0c;缩写为xor&#xff0c;应用于逻辑运算。异或的数学符号为“⊕”&#xff0c;计算机符号为“xor”。其运算法则为&#xff1a; a⊕b &#xff08;a ∧ b&#xff09; ∨ &#xff08;a ∧b&#xf…...

Linux下platform总线

一. 简介 前面我们讲了设备驱动的分离&#xff0c;并且引出了总线 (bus) 、驱动 (driver) 和设备 (device) 模型&#xff0c;比如 I2C 、 SPI 、 USB 等总线。 但是&#xff0c;在 SOC 中有些外设是没有总线这个概念的&#xff0c;但是又要使用总 线、驱动和设备模型该怎么…...

C# EPPlus导出dataset----Excel2绘制图像

一、生成折线图方法 /// <summary> ///生成折线图 /// </summary> /// <param name="worksheet">sheet页数据 </param> /// <param name="colcount">总列数</param> /// &l…...

2024年云服务器ECS价格表出炉——阿里云

2024年阿里云服务器租用费用&#xff0c;云服务器ECS经济型e实例2核2G、3M固定带宽99元一年&#xff0c;轻量应用服务器2核2G3M带宽轻量服务器一年61元&#xff0c;ECS u1服务器2核4G5M固定带宽199元一年&#xff0c;2核4G4M带宽轻量服务器一年165元12个月&#xff0c;2核4G服务…...

Grafana

介绍 官网&#xff1a;https://grafana.com/ Grafana 是一个开源的指标分析和可视化工具&#xff0c;它被广泛用于展示和监控云基础设施和应用程序的实时数据。Grafana 提供了一个强大且易于使用的界面&#xff0c;允许用户创建各种图表、图形和仪表盘&#xff0c;以直观地展…...

InnoDB记录结构

InnoDB页简介 InnoDB是一个将表中的数据存储到磁盘上的存储引擎&#xff0c;所以即使关机后重启我们的数据还是存在的。而真正处理数据的过程是发生在内存中的&#xff0c;所以需要把磁盘中的数据加载到内存中&#xff0c;如果是处理写入或修改请求的话&#xff0c;还需要把内…...

【框架学习 | 第六篇】SpringBoot基础篇(快速入门、自动配置原理分析、配置文件、整合第三方技术、拦截器、文件上传/下载、访问静态资源)

文章目录 1.SpringBoot简介1.1原有Spring优缺点分析1.1.1Spring优点1.1.2Spring缺点 1.2SpringBoot概述1.2.1SpringBoot解决上述Spring的缺点1.2.2SpringBoot特点1.2.3SpringBoot核心功能 2.SpringBoot快速入门2.1代码实现2.1.1创建Maven工程2.1.2添加SpringBoot的起步依赖2.1.…...

使用 ReclaiMe Pro 恢复任意文件系统(Win/Linux/MacOS)

天津鸿萌科贸发展有限公司是 ReclaiMe Pro 数据恢复软件授权代理商。 ReclaiMe Pro 是一个通用工具包&#xff0c;几乎可以用于从所有文件系统&#xff08;从 Windows 系列文件系统、Linux 和 MacOS&#xff09;中恢复数据。此外&#xff0c;考虑到数据恢复工作的具体情况&…...

全视智慧机构养老解决方案,以科技守护长者安全

2024年2月28日凌晨1时许&#xff0c;在上海浦东大道的一家养护院四楼杂物间内发生了一起火灾事故。尽管火势不大&#xff0c;过火面积仅为2平方米&#xff0c;但这场小火却造成了1人死亡和3人受伤的悲剧。这一事件再次提醒我们&#xff0c;养老院作为老年人聚集的场所&#xff…...

NavicatPremium16破解激活

背景&#xff1a; 如题&#xff0c;本篇主要参考一个个人博客&#xff0c;里面提供百度网盘形式的下载链接&#xff0c;博主在个人尝试的过程中加了几点补充&#xff0c;便于更快安装&#xff01; Navicat Premium 16 永久破解激活 - 酷酷的洛克 - 博客园 (cnblogs.com) 背景…...

thinkphp6.1~8.0 快速创建CRUD

GIT 源码 TINKPHP 快速创建模型CRUD源码 import os import tkinter as tk from tkinter import messagebox#转小写 def toLowerCase(str):""":type str: str:rtype: str"""return "".join(chr(ord(c) 32) if 65 < ord(c) < 90…...

MySQL的常用函数

MySQL函数 聚合函数时间函数字符集函数数学函数其他函数 聚合函数 函数名说明COUNT()统计个数SUM()总和&#xff0c;不是数字没有意义AVG()求平均值&#xff0c;不是数字没有意义MAX()求最大值&#xff0c;不是数字没有意义MIN()求最小值&#xff0c;不是数字没有意义 group …...