Attention-guided Feature Distillation for Semantic Segmentation

news2024/10/5 14:15:18

摘要

与现有的复杂方法相比,该方法通常用于从老师那里提取知识给学生,该方法展示了一种简单而强大的方法,可以利用精细的特征映射来转移注意力。事实证明,该方法在提取丰富信息方面是有效的,在作为密集预测任务的语义分割方面优于现有方法。所提出的注意力引导特征蒸馏(AttnFD)方法采用卷积块注意模块(CBAM),该模块通过考虑通道特征信息和空间信息内容来细化特征映射。通过仅使用教师和学生的精细化特征图之间的均方误差(MSE)损失函数,AttnFD在语义分割方面表现出出色的性能。

介绍

虽然逐像素KD有利于图像分类,但由于其捕获像素之间上下文相关性的能力有限,在增强语义分割任务方面面临挑战。

随着研究的进展,已经转向基于特征的蒸馏和对齐教师和学生网络之间的中间特征映射。为了实现这一点,许多方法提出了复杂的损失函数来增强知识蒸馏,因为用简单的距离度量复制特征图有局限性。虽然这些方法是有效的,但最近的研究表明,通过新的模块转换学生特征映射,同时保留基本损失函数,可以使网络更简单,性能更高。

注意机制是为了模仿人类观看视觉场景的方式设计的。事实上,人类倾向于选择具有重要信息的区域(忽略图像的其他地方),而不是一次处理完整的图像。考虑到注意力的长距离上下文语义信息的聚合能力,将其集成到基于特征的KD中有望产生重要影响。尽管有潜力,但这种方法目前在很大程度上未被探索。

与之前的工作不同,之前的工作要么定义复杂的损失来考虑成对关系,要么依赖原始特征,而本研究利用CBAM中的注意机制。这种机制结合了通道和空间信息来产生精细的特征,然后从老师那里提炼出来给学生。图1所命令原始特征和精炼特征之间的区别。

image-20240509184959618

如图所示,经过改进的特征突出了图像的重要区域,并减少了背景噪声,使其成为具有显著蒸馏潜力的强大候选图像。这是因为它迫使学生网络模仿教师强调的重要区域。

贡献

(1)提出一种简单有效的基于注意力的语义分割特征蒸馏方法。通过利用来自教师和学生网络的原始特征图,通道和空间注意力被用来生成精细化的特征图进行蒸馏,通过使用该模块引入了一种新的KD方法。

(2)超越现有的KD语义分割方法。所提出的注意力引导特征蒸馏方法显著提高了紧凑模型在广泛使用的基准数据集上的最先进性能。

相关工作

面向语义分割的知识蒸馏

逐像素KD对于语义分割任务是不够的,因为它们需要关于场景空间结构的更高级别的信息。[41]中的工作建议将学生的8个邻居边界对齐。SKDS使用广告序列运算,并在网络的每个特征映射的通道之前提出成对KD。[39]采用对抗性训练,使用类内特征变异而不是两两蒸馏。此外,还在各个级别提出了进一步的成对蒸馏方法,包括实例级、类级和通道级。最近,人们开始考虑其他形式的关系。DIST通过关注类内和类间的相关性,解决了使用更强教师的挑战。CIRKD提取图像间的关系,以更好地获取关于像素依赖性的全局知识。BPKD对身体和边缘使用单独的蒸馏损失来提高边缘的区分。

尽管这些方法已经被证明是有效的,但它们定义和提取知识的新方法通常会导致复杂的模型,这需要先验知识和仔细的特征提取过程。因此,一些研究倾向于设计模块来转换特征并从中提取丰富的信息。MGD中提出的方法设计掩盖学生特征的随机像素,并训练其复制教师的特征。最近的一些作品也展示了通过直接使用原始特征或通过简单的转换来提高性能。MLP通过使用简单的通道转换,跨通道维度对齐特征来实现这一点。LAD表明,使用教师和学生的原始特征之间的MSE损失可以显著提高性能。

注意力机制

注意机制用于计算机视觉,以帮助模仿人类在处理场景时对图像区域的选择性注意。这种机制允许模型更准确地从图像中提取局部上下文信息,同时降低计算成本。一些方法,如SE-NET和SGE-NET,在通道间水平计算注意力,CBAM表明,在多个维度上获取注意力可以获得更高的准确性,并提出了沿着通道方面的关注利用空间注意力的策略。在KD的背景下,[1]通过结合[9]的概念并在蒸馏过程中使用空间自注意,利用了一种注意力机制。

在这项工作中,我们使用CBAM注意机制改进原始特征,因为它自适应地执行空间和通道注意。据我们所知,这是第一次同时利用空间和通道注意力进行知识蒸馏。

所提出的方法

在本节中,描述了提出的注意引导特征蒸馏的公式。所建议方法的概述如图2所示。

image-20240511144715428

image-20240511144809880为从教师或学生网络中获得的中间特征映射,空间维度为hxw,通道维度C。在网络的不同阶段,两个注意力模块聚合了中间特征的空间和通道描述符image-20240511144852442。然后这些空间和通道注意力描述符与原始特征图A相乘,生成新的丰富上下文特征图image-20240511145033257,将类间和空间间的信息引入原始特征图。特征细化的总体公式为:

image-20240511145103832

image-20240511145134829表示逐像素乘法。在乘法过程中,空间注意力沿通道传播,通道注意图沿空间维度传播。通道注意模块和空间注意模块的方法分贝见图3和图4.

image-20240511145247597

image-20240511145259032

通道注意图

如图3所示,通道注意模块(CAM)通过对中间特征映射A应用最大池化和平均池化算子来聚合空间信息。这些操作产生上下文描述符,然后由多层感知器处理以生成通道注意图Mc(A)。该图突出显示图像的有意义区域,同时模糊与分割任务无关的区域,如背景。中间特征映射A的通道感知描述符定义为:

image-20240511145829218

image-20240511145958465是对中间特征映射。image-20240511150024337应用平均池化和最大池化算子生成的特征映射。image-20240511150040037是两个池化特征映射之间的共享MLP的权重。image-20240511150051872后接ReLU激活函数,image-20240511150058548为sigmoid函数。

空间注意模块

如图4所示,空间注意模块(SAM)的操作与CAM非常相似。中间特征映射image-20240511150234121的空间信息通过使用max和averge池化运算符进行聚合,生成两个不同的空间上下文描述符image-20240511150335815。然后,计算特征映射A的空间上下文描述符为:

image-20240511150409941

其中表示一个7x7的卷积核。利用新获得的特征,建议的损失计算为:

image-20240511150504268

其中image-20240511151216147分别表示学生网络和教师网络的第j个中间丰富的上下文特征映射。在计算不同矩阵之前,每个特征映射沿着其通道进行归一化。

整体损失函数是的加权和,由:

image-20240511151332361

其中是一个权重系数,如4.2中所述进行了微调。在这种情况下,使用众所周知的交叉熵损失函数作为学生网络预测和ground truth标签之间的分割损失。

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

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

相关文章

Obsidian/Typora设置图床

在obsidian中默认图片是保存在本地的,但是在要导出文档上传到网上时,由于图片保存在本地,会出现无法加载图片的问题。 这里引用的一段话: 这里使用picgo-core和gitee实现图床功能, 参考1: Ubuntu下PicGO配…

Python中bisect模块

Python中bisect模块 在Python中,如果我们想维持一个已排序的序列,可以使用内置的bisect模块,例如: import bisect# 用于处理已排序的序列 inter_list [] bisect.insort(inter_list, 3) bisect.insort(inter_list, 2) bisect.in…

2.监督/非监督学习

参考链接为:https://hands1ml.apachecn.org/1/ 机器学习可以根据训练时监督的量和类型进行分类。主要有四类:监督学习、非监督学习、半监督学习和强化学习。 本文将简单介绍监督学习和非监督学习 监督学习 在监督学习中,用来训练算法的训练…

39-5 入侵检测系统(IDS)- 安装配置IDS(安装成功)

官网:Snort Rules and IDS Software Download 参考: (这位大佬分享了安装包下载链接):https://www.cnblogs.com/taoyuanming/p/12722263.html (安装过程参考这位大佬):Snort 安装与配置(CentOS 7)_centos 7 snort-CSDN博客一、安装 IDS(我这里在 CentOS 7 虚拟机中安…

python3 Fatal error in launcher: Unable to create process using

python 环境变量 在window系统环境变量 path 中配置 python 的安装目录,目录层级至paython 的安转目录即可。 pip环境变量配置 在path 中增加配置 paython 安装目录下 Scripts 子目录的环境变量。 以上配置完成后,win R 打开命令窗口,输…

mysql中的页和行

页 行即表中的真实行,‘行式数据库’的由来 虽然MySQL的数据文件(例如.ibd文件)中的数据页在物理上是通过链表连接的,但是在逻辑上,MySQL使用B树来组织和访问数据。 行:主要是dynamic类型

C++Windows11平台通过CMake在VS2022上面配置Googletest1.14.0

Release v1.14.0 google/googletest (github.com),在官网下载Googletest1.14.0(Release版本,本博客默认你已经安装好了CMake)。 将下载好的压缩包解压到你的文件夹。 打开对应的文件夹。 开启控制台窗口,依次输入以下命令 mkd…

用户登录后端:登录密码解密后用PasswordEncoder验证密码是否正确

前置知识: 前端登录加密看用户登录 PasswordEncoder加密看PasswordEncoder详解 项目中因为要判断用户登录密码是否正确,通过输入错误次数锁住用户 1.后端配置rsa私钥 #密码加密传输,前端公钥加密,后端私钥解密 rsa:private_key: xxxx2. 读…

Linux学习之路 -- 文件系统 -- 缓冲区

前面介绍了文件描述符的相关知识,下面我们将介绍缓冲区的相关知识。 本质上来说,缓冲区就是一块内存区域,因为内核上的缓冲区较复杂,所以本文主要介绍C语言的缓冲区。 目录 1.为什么要有缓冲区 2.应用层缓冲区的默认刷新策略 …

【C++】————类与对象(上)-基础知识

目录 1.面向过程和面向对象初步认识 2.类的引入 3.类的定义 类的两种定义方式: 成员变量命名规则的建议: 4.类的访问限定符及封装 4.1 访问限定符 ​编辑 【面试题】问题:C中struct和class的区别是什么? 4.2 封装 【面试…

VPN方案和特点

VPN方案和特点 VPN,或者称为虚拟专用网络,是一种保护你的在线安全和隐私的技术。它可以创建一个加密的连接,使你的在线活动对其他人不可见。以下是一些常见的VPN协议和它们的特点: 开放VPN (OpenVPN):这是一种极为可…

基于SSM的“学生网上请假系统 ”的设计与实现(源码+数据库+文档)

基于SSM的“学生网上请假系统 ”的设计与实现(源码数据库文档) 开发语言:Java 数据库:MySQL 技术:SSM 工具:IDEA/Ecilpse、Navicat、Maven 系统展示 系统功能结构图 主页界面 登录界面 班级信息添加界面 院系信息…

(2024,KAN,MLP,可训练激活函数,样条函数,分层函数)Kolmogorov–Arnold 网络

KAN: Kolmogorov–Arnold Networks 公和众和号:EDPJ(进 Q 交流群:922230617 或加 VX:CV_EDPJ 进 V 交流群) 目录 0. 摘要 1. 简介 2. KAN 2.1 KA 表示定理 2.2 KAN 架构 2.3 KAN 的逼近能力和缩放定律 2.4 对于…

【JS面试题】闭包

一、自由变量 在学习闭包之前,首先了解一下什么是自由变量: 一个变量在当前作用域(比如函数内)没有定义,但是被使用了,这个变量就是自由变量。在定义该函数的位置,向上级作用域,一…

C++笔试强训day20

目录 1.经此一役小红所向无敌 2.连续子数组最大和 3.非对称之美 1.经此一役小红所向无敌 链接 简单模拟即可。 需要注意的是&#xff1a; 除完之后有无余数&#xff0c;若有&#xff0c;则还可以再挨一次打。 #include <iostream> using namespace std; #define in…

离散化(算法竞赛)

Ⅰ 离散化简介 离散化&#xff1a;把无限空间中有限的个体映射到有限的空间中去&#xff0c;以此提高算法的时空效率。通俗的说&#xff0c;离散化是在不改变数据相对大小的条件下&#xff0c;对数据进行相应的缩小。 适用范围&#xff1a;数组中元素值域很大&#xff0c;但个…

imx91的uboot编译

一、准备操作 下载半导体厂家的uboot源码 如这里我要下载的是imx91的恩智浦linux芯片bootloader 进入半导体厂家官网 下载源码&#xff0c;略 更新linux源&#xff0c;这里我是替换成清华源 vi /etc/apt/sources.list deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ fo…

FPGA相关论文阅读

一、Achieving 100Gbps Intrusion Prevention on a Single Server 论文名称中文翻译&#xff1a;在单台服务器上实现100Gbps吞吐量的入侵防御检测。 文章中的Mixed-1和Norm-1 二、Distributed Password Hash Computation on Commodity Heterogeneous Programmable Platforms…

分布式版本控制工具 - Git

文章目录 1. 概念介绍2. 客户端2.1 介绍2.2 仓库操作2.3 文件操作2.4 分支原理与操作2.5 标签2.6 远程仓库2.7 README与IGNORE 3. IDEA集成4. 版本号4.1 介绍4.2 文件操作4.2 分支操作 5. 命令5.1 介绍5.2 仓库操作5.3 文件操作5.4 分支操作5.5 标签操作5.6 远程仓库 1. 概念介…