【弱监督语义分割】AllSpark:从transformer中的未标记特征重生标记特征,用于半监督语义分割

AllSpark: Reborn Labeled Features from Unlabeled in Transformer for Semi-Supervised Semantic Segmentation

摘要:

        目前最先进的方法是用真实标签训练标注数据,用伪标签训练未标注数据。然而,这两个训练流程是分开的,这就使得标注数据在训练过程中占据主导地位,从而导致伪标签的质量低下,并因此产生次优结果。为了缓解这一问题,我们提出了 AllSpark ,它利用信道交叉注意力机制从未标明的特征中重新生成标明的特征。我们进一步引入了语义记忆和通道语义分组策略,以确保未标记的特征充分代表已标记的特征。AllSpark 为 SSSS 的架构级设计而非框架级设计提供了新的思路,从而避免了日益复杂的训练流水线设计。它还可以被视为一个灵活的瓶颈模块,可以无缝集成到基于转换器的通用分割模型中。

介绍:

        大多数最先进的 SSSS 方法 [23, 24, 26, 31, 50] 都基于伪标签 [22, 34] 方案,即根据模型预测为未标签数据分配伪标签。然后使用这些伪标签数据对模型进行迭代训练,就像使用已标记的示例一样。根据标注数据和未标注数据的训练流程,目前的先进技术主要可分为两类:(1) 连续式、最有代表性的是以教师和学生为基础的框架[17, 20, 36, 44, 45, 56]。首先用标注数据进行训练,然后用指数移动平均值更新教师模型。(2) 并行,以 CPS(交叉伪监督)为代表[6, 23, 46, 50],即在一个小批量内将已标记数据与未标记数据串联起来,模型通过一致性正则化同时优化这两种数据流。

        如图 1(a) 所示,这些最先进方法的一个主要特点是将标注数据和非标注数据的训练流程分开。由于标注数据带有标签,因此训练流的分离使得标注数据在训练过程中占据主导地位;见图 1(c)。然而,这些方法都有一个共同的重大缺陷:用于为未标记图像生成伪标签的模型受到有限的标记样本集的严重影响,从而导致伪标签质量低下,结果不尽人意。遗憾的是,以往的研究忽略了这一重要观察结果。

        为此,我们提出了一种新颖的方法:我们不直接在已标注样本上进行训练,而是利用未标注样本生成已标注特征(如图 1(b) 所示)。这种方法的基本原理是,已标注数据远远少于未标注数据,通过从未标明数据中重新生成已标注特征,我们在已标注数据流中引入了多样性从而创造了更具挑战性的学习环境。标注分支不完全依赖自我重构,而是学会从未标明的特征中提取有价值的通道。通道中的通用语义信息为这一想法提供了可行性,例如,如图 3 所示,"船 "的标注样本和 "飞机 "的非标注样本表现出相似的金属材料质地。

        接下来的步骤是确定一种有效的方法来重新生成标注数据。幸运的是,最初在变压器解码器中使用的交叉注意机制 [39] 提供了一种合适的方法,因为它旨在利用源序列重建目标序列。因此,我们在交叉注意概念的基础上开发了我们的方法,并将其调整为以信道方式运行[9, 42],以提取信道语义信息。如图 2 所示,这种名为 AllSpark 的方法利用标记数据特征作为q,利用未标记数据特征作为k和v。具体来说,AllSpark 会计算已标注特征的每个通道与未标注特征之间的相似性矩阵然后强调相似度最高的未标记通道,以重建已标记的特征。然而,实现这一想法的关键挑战在于mini批次中有限的未标注特征,这些特征可能不足以重建正确的标注特征。为了解决这个问题,我们引入了语义内存(Semantic Memory,S-Mem),从以前的未标记特征中收集通道。S-Mem 采用建议的通道语义分组策略进行迭代更新,该策略首先将代表相同语义的通道分组,然后将它们排入 S-Mem 的相应类别插槽

相关工作: 

        Semantic Segmentation 

        Semi-supervised Semantic Segmentation

        传统的半监督语义分割(SSSS)方法侧重于如何通过框架级设计更好地利用未标记数据,并使用基于 CNNs 的基本分割模型作为骨干。其中最引人注目的两个基本框架是教师-学生(teacherstudent)[20, 36, 44, 45, 56] 和交叉伪监督(CPS)[6, 46, 50]。具体来说,在基于教师学生的框架中,首先用标注数据训练学生模型,然后用学生的指数移动平均(EMA)更新教师模型,生成伪标签。在基于 CPS 的框架中,标注数据与未标注数据在一个迷你批次中串联起来,模型通过一致性正则化同时优化这两种数据流。

        最近,有几项研究探索了基于 Transformer 的模型,以扩展 SSSS 的边界。具体来说,SemiCVT [17] 提出了一种模型间的类一致性,以交叉教学的方式补充 CNN 和 Transformer 的类级统计。其他方法[23, 25]在基于 CPS 的框架[6]中利用 ViT 作为 CNN 的多样化模型。这些方法可以概括为基于 CNN-Transformer 的方法,它们利用变换器的方式都很幼稚,因此限制了 ViT 潜力的充分发挥。与这些方法不同,我们通过架构层面的设计为纯变压器 SSSS 方法带来了新的启示。

AllSpark: Reborn Labeled Features from Unlabeled Features

Channel-wise Cross-attention: the Core of AllSpark 

                

        为了缓解单独训练方案带来的有偏差的标注数据的主导地位,我们提出了 AllSpark 方案,用非标注数据直接介入标注数据训练流程。通常,不同的特征通道编码不同的语义信息。与补丁标记相比,这些通道特征包含更丰富的上下文信息,在各种输入图像中更具通用性(参见图 7)。我们利用这些来自未标记数据的上下文信息,使用通道交叉关注机制(channelwise crossattention mechanism)[9, 42]重建标记数据的特征,作为一种稳健的正则化。在这一机制中,有标签的数据特征作为q,而无标签的特征作为k和v,如图 3 所示。具体来说,我们计算已标注特征的每个通道与未标注特征之间的相似度相似度最高的未标注通道在重构已标注特征时发挥更重要的作用。其基本原理是,即使与已标记的特征相比,未标记的特征可能来自不同的类别,但它们仍然拥有可以共享的具有通道智慧的通用信息,例如纹理。 

        在编码器阶段后,给定已标记数据和未标记数据的隐藏特征 [hl, hu],我们将其拆分,然后以多头方式将 hl 设置为q,hu 设置为k和v: 

其中,wq、wk、wv∈R C×2C 为变换权重,hl、hu∈R C×d,d 为序列长度(斑块数),C 为信道维度。通道关注度定义如下 :

其中,ψ(-)和σ(-)分别表示实例归一化[37]和软最大函数,wout∈R2C×C。与传统的自我关注机制相比,信道明智的自注意可以捕捉通道之间的长距离依赖关系。为了进一步完善未标注数据的隐藏特征,我们还应用了通道自注意力。获得细化的未标记特征 ˆ h u i 的公式与公式 2 和 3 类似,唯一不同的是 q 被替换为 q = hu wq。重建的 ˆ hl i 和 ˆ hu i 随后被输入解码器,生成最终预测结果。 

Semantic Memory for Enlarging the Feature Space of AllSpark

        在单个mini批次中直接利用未标记的特征不足以有效地重生已标记的特征。为了克服这一限制,我们需要扩展 未标记的特征空间。为此,我们引入了一个先进先出队列--分类语义内存(SMem),用于存储大量未标记的特征,如图 4 底部所示。该内存允许我们在重建过程中有效地访问更广泛的未标记特征。

        S-Mem 的形状为 R K×C×d,其中 K 代表类别数。对于每个类别,S-Mem 存储 C 个通道,每个通道由 d 个贴片组成。在训练过程中,我们利用语义记忆替换未标记特征的原始k和v分量(公式 3 中的 kT 和 vT)。在下一小节 §3.4 中,我们将演示如何用包含特定类别语义信息的精确通道更新每个类别槽。

Channel-wise Semantic Grouping

        以天真的方式存储之前未标记的特征并不适合语义分割任务,因为类别往往是不平衡的。为了确保每个类别都有足够的语义信息,有必要建立一个类别平衡的语义记忆。因此,我们引入了通道语义分组(Channel-wise Semantic Grouping)策略,以确定未标记特征中每个通道的语义表示,然后将它们分组并添加到 SMem 的相应类槽中,如图 4 所示。具体来说,我们计算未标记特征 hu∈ RC×d 与概率标记 ˆ p∈ RK×d 之间的相似度。概率标记是从概率图 p∈RK×H×W 中得到的经过调整和重塑的向量,它是分割网络的软预测,包含 hu 的整体语义信息。确定每个通道的语义表示后,我们就可以根据各自的语义类别将它们存储在存储器中。相似性矩阵 Sim ∈ RK×C 的定义为Simi,j = ψ(ˆ p⊤ j hu i )。这样,通过比较第 i 个(i∈[0, C])通道的语义信息和图像的整体语义上下文,我们就能确定第 i 个通道最有可能代表的语义类别。然后,我们将代表相同语义类别的通道分组,并将它们排入语义存储器中相应的类别槽。 

        在推理阶段,虽然我们仍然可以利用 S-Mem 的交叉注意机制,但它往往会带来计算负担,而且对性能的改善微乎其微。为了提高效率,我们选择在推理阶段取消 S-Mem 和 CSG。因此,交叉注意的两个输入变得相同,可以简化为自我注意。

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

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

相关文章

《Fundamentals of Power Electronics》——正激变换器

正激变换器电路如图6.24所示: 该变压器隔离型转换器基于Buck电路,需要一个晶体管,因此常被使用在比全桥和半桥功率等级低的应用中。其非脉动输出电流与其他降压衍生变换器相同,使正激变换器非常适合涉及高输出电流的应用。晶体管最…

Slave SQL线程与PXB FTWRL死锁问题分析

1. 问题背景 2.27号凌晨生产环境MySQL备库在执行备份期间出现因FLUSH TABLES WITH READ LOCK未释放导致备库复制延时拉大,慢日志内看持锁接近25分钟未释放。 版本: MySQL 5.7.21PXB 2.4.18 慢查询日志: 备份脚本中的备份命令:…

QT 开发COM(ActiveX)组件基础介绍和方案验证

一、COM简介 1.1 COM是什么? COM,Component Object Model,即组件对象模型,是一种以组件为发布单元的对象模型,这种模型使各软件组件可以用一种统一的方式进行交互。COM 既提供了组件之间进行交互的规范,也…

LSTM-KDE的长短期记忆神经网络结合核密度估计多变量回归区间预测(Matlab)

LSTM-KDE的长短期记忆神经网络结合核密度估计多变量回归区间预测(Matlab) 目录 LSTM-KDE的长短期记忆神经网络结合核密度估计多变量回归区间预测(Matlab)效果一览基本介绍程序设计参考资料 效果一览 基本介绍 1.LSTM-KDE的长短期…

微服务入门学习笔记(黑马商城)

课程转跳:SpringCloud微服务Day1-01.微服务课程介绍_哔哩哔哩_bilibili 一、服务拆分 新建一个maven项目将商品服务拆分出去 更改包扫描 新建一个数据库用于商品服务,同样将表拆分出去 更改配置文件的服务名和数据库名 启动多个实例: 复制配…

解决Pycharm全局搜索与输入法简繁切换快捷键冲突问题

Pycharm中全局搜索快捷键Ctrl Shift F 如图所示: 微软输入法简繁切换快捷键设置: 解决办法: 关掉输入法的切换功能即可,或者更改简繁切换快捷键,毕竟简繁切换使用频率极低。

特别的时钟:上次那个时钟布局和计算有问题,重新修改一下,用JS创建180多个li标签,自动生成数字

<!DOCTYPE html> <html lang"zh-CN"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>特别的时钟</title> </head> <st…

Github Action Bot 开发教程

Github Action Bot 开发教程 在使用 Github 时&#xff0c;你可能在一些著名的开源项目&#xff0c;例如 Kubernetes&#xff0c;Istio 中看到如下的一些评论&#xff1a; /lgtm /retest /area bug /assign xxxx ...等等&#xff0c;诸如此类的一些功能性评论。在这些评论出现…

合泰杯(HT32F52352)RTC的应用(计时)--->掉电不丢失VBAT(代码已经实现附带源码)

摘要 在HT32F52352合泰单片机开发中&#xff0c;rtc在网上还是挺少人应用的&#xff0c;找了很久没什么资料&#xff0c;现在我根据手册和官方的代码进行配置理解。 RTC在嵌入式单片机中是一个很重要的应用资源。 记录事件时间戳&#xff1a;RTC可以记录事件发生的精确时间&…

踏上R语言之旅:解锁数据世界的神秘密码(四)

文章目录 前言一、多元线性回归1.多元线性回归模型的建立2.多元线性回归模型的检验 二、多元线性相关分析1.矩阵相关分析2.复相关分析 三、回归变量的选择方法1.变量选择准则2.变量选择的常用准则3.逐步回归分析 总结 前言 回归分析研究的主要对象是客观事物变量间的统计关系。…

Macs Fan Control Pro for mac激活版:macOS 平台的风扇控制软件

Macs Fan Control Pro是一款用于 macOS 平台的风扇控制软件&#xff0c;它允许用户监控和调整 Mac 电脑的风扇转速。以下是该软件的一些特点和功能&#xff1a; Macs Fan Control Pro for mac激活版下载 风扇监控&#xff1a;Macs Fan Control Pro 提供实时的风扇转速监控&…

vue+elementui(笔记)

vueelementui 表格 <div class"tableStyle"><el-table :data"pointsSettingsTableData" style"width: 70%" :stripe"true" size"mini"header-cell-class-name"headerClassName" :cell-style"{ tex…

Llama3 在线试用与本地部署

美国当地时间4月18日&#xff0c;Meta 开源了 Llama3 大模型&#xff0c;目前开源版本为 8B 和 70B 。Llama 3 模型相比 Llama 2 具有重大飞跃&#xff0c;并在 8B 和 70B 参数尺度上建立了 LLM 模型的新技术。由于预训练和后训练的改进&#xff0c;Llama3 模型是目前在 8B 和 …

应急响应-webserver

一.环境准备 1.镜像文件 2.任务说明 3.用户密码 二.应急响应 环境启动 1.导入镜像文件并修改网络 2.远程连接 ss -ntl #列出系统中运行的所有进程 用远程连接工具连接 任务一 Linux 服务日志默认存储在/var/log目录下 默认网站根目录&#xff1a;/var/www/html/ 1.查看…

【Doris系列】 SQL 多方言兼容

目前 Doris 引擎提供了两种方式实现对 sql 多方言的支持。即&#xff0c;提交指定方言的 sql&#xff0c;Doris 可以成功解析&#xff0c;并返回正确的计算结果。本文就简单来测试验证下这两种方式的效果。 一、Doris Sql Convertor Doris 官方提供了一个 sql convertor 工具…

ES全文检索支持拼音和繁简检索

ES全文检索支持拼音和繁简检索 1. 实现目标2. 引入pinyin插件2.1 编译 elasticsearch-analysis-pinyin 插件2.2 安装拼音插件 3. 引入ik分词器插件3.1 已有作者编译后的包文件3.2 只有源代码的版本3.3 安装ik分词插件 4. 建立es索引5.测试检索6. 繁简转换 1. 实现目标 ES检索时…

力扣33. 搜索旋转排序数组

Problem: 33. 搜索旋转排序数组 文章目录 题目描述思路复杂度Code 题目描述 思路 1.初始化左右指针&#xff1a;首先&#xff0c;定义两个指针left和right&#xff0c;分别指向数组的开始和结束位置。 2.计算中间值&#xff1a;在left和right之间找到中间位置mid。 3.比较中间值…

使用Python爬取淘宝商品并做数据分析

使用Python爬取淘宝商品并做数据分析&#xff0c;可以按照以下步骤进行操作&#xff1a; 确定需求&#xff1a;确定要爬取的淘宝商品的种类、数量、关键词等信息。 编写爬虫程序&#xff1a;使用Python编写爬虫程序&#xff0c;通过模拟浏览器请求&#xff0c;获取淘宝商品的页…

ffmpeg音视频裁剪

音视频裁剪&#xff0c;通常会依据时间轴为基准&#xff0c;从某个起始点到终止点的音视频截取出来&#xff0c;当然音视频文件中存在多路流&#xff0c;所对每一组流进行裁剪 基础概念&#xff1a; 编码帧的分类&#xff1a; I帧(Intra coded frames): 关键帧&#xff0c;…

SpringCloud学习笔记(一)微服务介绍、服务拆分和RestTemplate远程调用、Eureka注册中心

文章目录 1 认识微服务1.1 单体架构1.2 分布式架构1.3 微服务1.4 SpringCloud1.5 总结 2 服务拆分与远程调用2.1 服务拆分原则2.2 服务拆分示例2.2.1 搭建项目2.2.2 创建数据库和表2.2.3 实现远程调用2.2.3.1 需求描述2.2.3.2 注册RestTemplate2.2.3.3 实现远程调用 2.2.4 提供…