Dual Relation Knowledge Distillation for Object Detection用于目标检测的双关系知识蒸馏

摘要

有两个关键点导致检测任务的蒸馏性能不佳。一是前景和背景特征严重不平衡,二是小对象缺乏足够的特征表示为了解决上述问题,我们提出了一种新的知识蒸馏方法——双关系知识蒸馏(DRKD),包括逐像素关系蒸馏和逐实例关系蒸馏逐像素关系蒸馏将像素特征嵌入图空间中,并利用图卷积捕获全局像素关系。通过提取全局像素关系,学生检测器可以了解前景和背景特征之间的关系,避免了由于特征不平衡问题而直接提取特征的困难。此外,我们发现实例关系为小对象的独立特征之外补充了有价值的知识。为此,设计了基于实例的关联蒸馏,计算不同实例之间的相似度,得到关联矩阵。更重要的是,关系过滤模块被设计用来突出显示有价值的实例关系。所提出的双关系知识蒸馏具有通用性,可以很容易地应用于一级和两级检测器。

介绍

我们提出了双关系知识蒸馏(DRKD),使学生模型能够从教师模型中学习像素和实例之间的关系。我们发现,逐像素关系对前景和背景特征之间的不平衡不敏感,可以使检测器聚焦于前景,如图1所示。此外,实例关系可以提供独立特征之外的有价值的知识,特别是对于小对象

因为小实例之间有很多镶嵌,这意味着实例关系补充了小对象的独立特征之外的有价值的知识,因为设计了两种关系蒸馏:像素关系蒸馏和实例关系蒸馏。

提出了逐像素关系蒸馏,使检测器专注于前景特征的学习。我们采用图卷积来捕获全局像素关系。图卷积比注意力模块捕获更好的特征表示,以提高模型的性能。首先,坐标空间中的特征嵌入到图空间中,然后,图卷积用于捕获图空间中的关系特征。最后,将关联特征投影会原始坐标空间。输出特征成为逐像素关系特征。通过提取逐像素关系特征,检测器可以更关注前景特征的学习,如图1所示,解决了不平衡问题。

基于小实例与其他大小的实例具有更丰富的关系这一事实,面向实例的关系蒸馏被设计为为小实例获得更丰富的表示。首先,应用嵌入高斯函数来评估不同实例之间的关系,该函数在注意机制中得到了广泛的应用。计算不同大小实例之间的相似度,得到关联矩阵。此外,在实验中我们观察到不同的关系对蒸馏有不同的贡献。因此,关系筛选器模块被设计用来增强有价值的关系。过滤后的关系矩阵被蒸馏,以将实例关系从教师检测器转移到学生检测器。同时,利用裁剪后的前景特征进行蒸馏,进一步提高框架的检测精度。实验证明,基于实例的关系蒸馏可以提高小目标的检测精度。本工作的贡献可归纳为以下几点:

1、我们提出了基于图卷积的逐像素关系蒸馏。与注意机制相比,图卷积可以更有效地捕获全局上下文,达到更好的蒸馏效果。

2、我们提出了基于实例的关系蒸馏,以获得更丰富的小实例表示。实验表明,基于实例的关系蒸馏可以提高小目标的检测精度

方法

提出了双关系知识蒸馏(DRKD),使学生检测器能够从教师检测器那里学习逐像素和逐实例关系,如图3所示。

image-20240401203125013

逐像素关系蒸馏

逐像素关系蒸馏帮助学生检测器学习前景和背景特征之间的关系,解决特征不平衡问题。采用图卷积模块GloRe来捕获全局像素关系。它可以比注意力机制更有效地捕获全局上下文,达到更好的蒸馏效果。

具体来说,我们从教师和学生的backbone中提取多尺度特征,并将其提供给不同的GloRe模块,用于捕获全局像素关系。然后,提取逐像素的关系特征将全局关系从教师转移到学生呢。蒸馏损失如式(1)所示,此外,为了最小化学生模型和教师模型之间的特征差异,在学生模型一侧加入自适应卷积。
L P R = 1 k ∑ i = 1 k ∣ ∣ ϕ ( t t ) − f ( ϕ ( s i ) ) ∣ ∣ L_{PR} = \frac{1}{k} \sum_{i=1} ^k ||\phi (t_t) - f(\phi(s_i))|| LPR=k1i=1k∣∣ϕ(tt)f(ϕ(si))∣∣
k是特征个数,image-20240401204022574分别表示来自教师和学生的特征。image-20240401204048658表示GloRe模块。f表示自适应卷积。如图3(b)所示,GloRe包含三部分:图嵌入、图卷积和重投影。首先将坐标特征投影到低维图特征空间中。对于输入特征image-20240401204251154,我们首先通过线性层将其投影变换为image-20240401204301516。然后通过image-20240401204353104的投影得到图节点特征image-20240401204404932,投影矩阵为image-20240401204412653。投影方法是原始特征的线性组合,如式(2)所示。图节点特征可以聚合多个区域的信息:

image-20240401204509230

image-20240401204539494是一个可学习的投影矩阵。V是图节点特征。

基于图节点特征,利用图卷积来捕获节点之间的关系,该关系由方程(3)定义。

image-20240401204644556

A为邻接矩阵,随机初始化,随训练更新。在训练过程中,邻接矩阵学习节点间边的权重。边的权值反映了节点之间的关系。基于邻接矩阵和状态更新矩阵。更新节点特征,得到关系感知特征。

image-20240401204850051是单位矩阵,image-20240401204921061是节点邻接矩阵,是图节点特征。image-20240401204959506表示状态更新矩阵。image-20240401205022359表示图空间中的关系感知特征。

最后,将关系感知特征投影回坐标特征空间,如式所示。

image-20240401205112785

image-20240401205149401是逐像素关系矩阵,B是可学习投影矩阵,image-20240401205220246表示图空间中的关系感知特征。

实例关系蒸馏

基于小实例与其他大小的实例具有更丰富的关系这一事实,面向实例的关系蒸馏被设计为为小实例获得更丰富的表示。采用嵌入高斯函数对实例特征的相似度进行建模。此外,我们还设计了一个关系过滤模块来强调有价值的关系。面相实例的关系模块如图4所示。

image-20240401205512244

实例特征提取

为了捕获与实例相关的关系,我们需要提取实例特征。根据输入与特征图的比值,利用目标坐标的GT从特征图中提取实例特征。提取的实例特征被调整为相同的大小。如等式(5):

image-20240401205726138

image-20240401205834933表示ROI Align。x为输入特征映射。C表示GT的坐标。o表示输出特征的大小。

实例关系模块和蒸馏

如图4所示,输入特征X,N表示同一图像中的实例数,D表示实例特征的通道,K表示实例特征映射的大小。面向实例的关系模块可以表示为:

image-20240401210055335

image-20240401210145526其中表示实例特征,image-20240401210150966表示全连通层。image-20240401210156276是图4关系过滤器中关系矩阵的权重。image-20240401210231040表示图4的关系过滤器。image-20240401210309759表示image-20240401210315621image-20240401210323174之间的实例关系特性。我们将实例关系蒸馏函数定义为(7):

image-20240401210417218

此外,实例特征也有助于解决前景和背景之间的不平衡问题。实例蒸馏也使检测器关注地学习前景特征并加速学生检测器的收敛。因此,我们直接提取实例特征,进一步提高蒸馏性能。L2损失用于蒸馏。在学生检测器的一侧应用自适应卷积,以最小化学生和教师之间的特征差异:

image-20240401210847026

总损失

image-20240401210859949

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

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

相关文章

微信小程序实现左滑删除

效果 实现思路 使用的是官方提供的movable-area 嵌套movable-view 1、movable-area:注意点,需要设置其高度,否则会出现列表内容重叠的现象。 2、由于movable-view需要向右移动,左滑的时候给删除控件展示的空间,故 mov…

HarmonyOS 应用开发之ArkData

功能介绍 ArkData (方舟数据管理)为开发者提供数据存储、数据管理和数据同步能力,比如联系人应用数据可以保存到数据库中,提供数据库的安全、可靠以及共享访问等管理机制,也支持与手表同步联系人信息。 标准化数据定义…

C++ list

文章目录 list的介绍及使用list的介绍list的构造list iterator的使用list capacitylist element accesslist modifiers list模拟实现list节点类list迭代器类list类 list深度剖析list迭代器失效list反向迭代器 list与vector对比 list的介绍及使用 list的介绍 1.list的底层是双向…

每天五分钟计算机视觉:如何基于滑动窗口技术完成目标的检测?

汽车检测算法 现在我们想要构建一个汽车检测算法,我们希望输入到算法中一张图片,算法就可以帮助我们检测出这张图片中是否有汽车。 数据集 首先创建一个标签训练集,x是样本,y是标签。我们的训练集最好是被剪切过的图片,剪掉汽车以外的部分,使汽车居于中间位置,就是整张…

Django如何定义视图函数?FBV-CBV的使用场景

目录 1. 前言 2. FBV与CBV 2.1 FBV 2.2 CBV 2.3 两种区别 3. request参数 4. 返回值 5. 结尾 1. 前言 在Django中,我们通过浏览器URL发送了请求,请求通过路由层,最后匹配到相应的视图函数 在视图函数中,也分两种编写形式&…

使用ARCore深度API实现点云采集

一、深度API 本小节内容摘自ARCore官方文档。 ARCore 深度API Depth API 可助力实现对象遮挡、提升沉浸感和新颖的互动体验,从而增强 AR 体验的真实感。 在下图中,右侧画面是采用深度API进行遮挡后的效果,与左侧图相比更加真实。 深度值 给…

node.js的模块化 与 CommonJS规范

一、node.js的模块化 (1)什么是模块化? 将一个复杂的程序文件依据一定的规则拆分成为多个文件的过程就是模块化 在node.js中,模块化是指把一个大文件拆分成独立并且相互依赖的多个小模块,将每个js文件被认为单独的一个模块;模块…

第十七章 Kafka

一、特性 - 高吞吐、低延迟 - 高伸缩性 - 持久性、可靠性 - 容错性 - 高并发 通过 O(1)的磁盘数据结构提供消息的持久化,这种结构对于即使数以 TB 的消息存储也能够保持长时间的稳定性能。 高吞吐量:即使是非常普通的硬件 Kafka 也可以支持每秒数百…

深入理解数据结构——堆

前言: 在前面我们已经学习了数据结构的基础操作:顺序表和链表及其相关内容,今天我们来学一点有些难度的知识——数据结构中的二叉树,今天我们先来学习二叉树中堆的知识,这部分内容还是非常有意思的,下面我们…

Image-Adaptive YOLO for Object Detection in Adverse Weather Conditions(IA-YOLO)

1、总体概述 基于深度学习的目标检测在常规条件的数据集可以获得不错的结果,但是在环境、场景、天气、照度、雾霾等自然条件的综合干扰下,深度学习模型的适应程度变低,检测结果也随之下降,因此研究在复杂气象条件下的目标检测方法…

【软件工程导论】——面向对象与UML(学习笔记)

📖 前言:面向对象是以问题空间中出现的物体为中心进行模型化的一种技术。建立模型是软件工程中最常使用的技术之一。无论软件分析或软件设计,都需要建立模型。UML 就是OO 软件工程使用的统一建模语言。它是一种图形化的语言,主要用…

vue3中播放flv流视频,以及组件封装超全

实现以上功能的播放&#xff0c;只需要传入一个流的地址即可&#xff0c;当然组件也只有简单的实时播放功能 下面直接上组件 里面的flvjs通过npm i flv.js直接下载 <template><div class"player" style"position: relative;"><p style&…

linux:生产者消费者模型

个人主页 &#xff1a; 个人主页 个人专栏 &#xff1a; 《数据结构》 《C语言》《C》《Linux》 文章目录 前言一、生产者消费者模型二、基于阻塞队列的生产者消费者模型代码实现 总结 前言 本文是对于生产者消费者模型的知识总结 一、生产者消费者模型 生产者消费者模型就是…

Mac电脑Jmeter集成到Jenkins,压测多个接口并生成测试报告

Jenkins支持的JDK版本17、21&#xff0c;通过java -version查看当前JDK版本&#xff0c;确认是否匹配 打开网址https://www.jenkins.io/download 点击下载&#xff0c;选择mac版本 commend空格打开终端&#xff0c;输入安装命令brew install jenkins 安装完成后输入brew servi…

2021-08-06

yarn的简介&#xff1a; Yarn是facebook发布的一款取代npm的包管理工具。 yarn的特点&#xff1a; 速度超快。 Yarn 缓存了每个下载过的包&#xff0c;所以再次使用时无需重复下载。 同时利用并行下载以最大化资源利用率&#xff0c;因此安装速度更快。超级安全。 在执行代码…

AI绘图cuda与stable diffusion安装部署始末与避坑

stable diffusion的安装说起来很讽刺&#xff0c;最难的不是stable diffusion&#xff0c;而是下载安装cuda。下来我就来分享一下我的安装过程&#xff0c;失败了好几次&#xff0c;几近放弃。 一、安装cuda 我们都知道cuda是显卡CPU工作的驱动&#xff08;或者安装官网的解释…

Stable Diffusion WebUI 附加功能/图片放大(Extras):单张图片/批量处理/从目录进行批量处理

本文收录于《AI绘画从入门到精通》专栏&#xff0c;专栏总目录&#xff1a;点这里&#xff0c;订阅后可阅读专栏内所有文章。 大家好&#xff0c;我是水滴~~ 篇文章主要讲解 Stable Diffusion WebUI 的附加功能/图片放大&#xff08;Extras&#xff09;的使用&#xff0c;主要…

计算机网络——33多点访问协议

多点访问协议 多路访问链路和协议 两种类型的链路&#xff08;一个子网内部链路连接形式&#xff09; 点对点 拨号访问的PPP以太网交换机和主机之间的点对点链路 广播 传统以太网HFC上行链路802.11无线局域网 多路访问协议 单个共享的广播型链路 2个过更多结点同时传送&am…

数据结构——二叉树——二叉搜索树(Binary Search Tree, BST)

目录 一、98. 验证二叉搜索树 二、96. 不同的二叉搜索树 三、538. 把二叉搜索树转换为累加树 二叉搜索树&#xff1a;对于二叉搜索树中的每个结点&#xff0c;其左子结点的值小于该结点的值&#xff0c;而右子结点的值大于该结点的值 一、98. 验证二叉搜索树 给你一个二叉树的…

uni app 扫雷

闲来无聊。做个扫雷玩玩吧&#xff0c;点击打开&#xff0c;长按标记&#xff0c;标记的点击两次或长按取消标记。所有打开结束 <template><view class"page_main"><view class"add_button" style"width: 100vw; margin-bottom: 20r…