论文阅读笔记:Semi-supervised Semantic Segmentation with Error Localization Network
论文阅读笔记:Semi-supervised Semantic Segmentation with Error Localization Network
- 1 背景
- 2 创新点
- 3 方法
- 4 模块
- 4.1 使用标注数据训练ELN
- 4.2 使用ELN进行半监督
- 5 效果
- 5.1 与SOTA方法对比
- 5.2 消融实验
论文:https://arxiv.org/pdf/2204.02078v3.pdf
代码:http://cvlab.postech.ac.kr/research/ELN/
1 背景
虽然现有的Teacher-Student框架和对比学习在很大程度上提高了语义分割的性能,但他们都有一个共同的缺点:由于对未标注图像的预测通常发生错误,因此使用错误预测进行学习会导致错误的确认偏差,从而返回被破坏的模型。现有的大多数方法只是通过不适用不确定的预测作为监督来解决这个问题,但他们的性能都严重依赖于手动调整的阈值。
最近的一种方法通过学习和利用一个修正错误的辅助网络来处理伪标签上的错误;该模型称为误差校正网络( Error Correction Network,ECN ),从主分割网络的预测和它们在训练图像的标注子集上的真实标签之间的差异中学习。理想情况下,ECN可以显著的提高伪标签的质量,但在实际应用中,由于其训练过程中的挑战,其优势往往受到限制。由于分割网络被快速地过拟合到少量的标注图像上,其输出作为ECN的输入并不能覆盖ECN在测试中面临的各种各样的错误预测,这导致ECN的泛化能力有限。
本文提出了一种新的方法,该方法致力于处理伪标签上的错误,但可以更好地推广到任意伪标注图像的错误。方法的核心是错误定位网络(ELN),他以二值分割的形式识别具有错误伪标注的像素。正如经验证明的那样,简单地忽略无效的伪标签,而不是纠正他们,足以环节确认偏差和学习准确的分割模型。更重要的是,错误定位是第一个类无关的纠错子问题,因此更容易求解,为目标任务训练一个准确的具有良好泛化性的网络更加直接。
2 创新点
-
本文提出了错误定位,一种处理伪标签上错误的新方法。它简单而有效,可以很自然地与自我训练和对比学习相结合。此外,通过实验证明了错误定位相对于错误纠正的优越性。
-
本文发展了一种新的策略,在ELN的训练过程中有意识地产生不同的和可能的预测误差。这样即使使用少量带标签的数据进行训练,也提高了ELN的泛化性。
3 方法
如图2,本文设计了一种新颖的ELN训练策略,以进一步提高模型泛化性。具体来说,在主分割网络上附加多个辅助解码器,并对其进行训练,以达到不同的精度等级,以便他们在不同的训练阶段模拟分割网络。然后训练ELN对辅助解码器和主分割网络给出的预测进行误差定位,该策略提高了ELN的泛化能力,因为这些预测作为ELN的输入可能会表现出分割网络在使用未标记图像进行自我训练时产生的错误模式。
然后将训练好的ELN用于语义分割的半监督学习。ELN的整体pipeline如图1所示。本文框架通过两种方式利用未标记图像:自训练和对比学习,这两种方式都依赖于伪标签。为此,作者采用两个分割网络:一个学生网络,也是最终应用的模型,一个教师网络,用于生成伪标签并基于学生网络指数平均移动来更新参数。
4 模块
4.1 使用标注数据训练ELN
首先,在标记图像集合 D L D_L DL 上用标准的像素级交叉熵损失 L s u p L_{sup} Lsup 预训练主分割网络。令 L c e ( P , Y ) L_{ce}(P,Y) Lce(P,Y) 表示分割预测 P P P 和真值标签 Y Y Y 之间的标准像素级交叉熵:
式中 i i i 表示输入的每个像素的索引, Y i Y_i Yi 为像素 i 的真值 one-hot 向量。令 P = D ( E ( X ) ) P=D(E(X)) P=D(E(X)) 表示主网络对图像 X X X 的分割预测。 L s u p L_{sup} Lsup 可表示为:
其中 Y Y Y 是输入图像X的真值。
当预训练完成后,每个辅助解码器都以与主网络相似的方式进行训练,但仅在 L c e ( P , Y ) L_{ce}(P,Y) Lce(P,Y) 的一定倍数下最小化,且梯度不传播到辅助解码器之外。设 K K K 为所有辅助解码器的个数, k k k 为他们的索引。 K K K 个辅助解码器的总损失记为 L a u x L_{aux} Laux:
其中 P k = D k ( E ( X ) ) P^k=D^k(E(X)) Pk=Dk(E(X)) 表示第 k 个解码器的预测, α k \alpha^k αk 表示一个用于约束第 k k k 个辅助解码器的损失的尺度超参数,通过这个方式训练辅助解码器可以使他们产生合理的错误预测,并将其作为ELN的训练输入。
损失大于阈值才进行梯度传播。
给定一幅图像及其分割预测作为输入,通过训练ELN对预测进行误差定位,其中错误的真实位置是通过将预测与真实值进行比较得出。令 E k E^k Ek 表示 P k P^k Pk 的像素熵图, B k = E L N ( X ⊕ P k ⊕ E k ) B^k=ELN(X⊕P^k⊕E^k) Bk=ELN(X⊕Pk⊕Ek) 表示以二值分割图的形式对ELN进行预测,其中 ⊕ ⊕ ⊕ 表示通道级矩阵级联。ELN的二元交叉熵损失 L E L N L_{ELN} LELN 如下:
其中 M k M^k Mk 表示 B k B^k Bk 的真值,如果第 i i i 个像素是对的,则 M i k = 1 M^k_i=1 Mik=1,反之为0, k = 0 k=0 k=0 表示主解码器。
尽管使用了辅助解码器,但 M k M^k Mk 中像素级二进制标签的总体通常偏向于1,这损害了ELN的错误识别能力,为了环节这一问题, L E L N L_{ELN} LELN 中预测错误的像素使用加权因子进行平衡。令 L w c e L_{wce} Lwce 表示分割预测 P P P 与其二值真值标签 Y Y Y 之间的权重重新调整的像素级交叉熵:
所以式(4)被重写为:
在第一阶段中,标注数据的总损失为:
4.2 使用ELN进行半监督
在学习ELN后,主分割网络在有两个损失的未标注图像集 D U D_U DU 进行训练,一个是自训练损失,一个是像素级对比损失。作者采用平均教师框架,它允许教师网络对学生网络提供更稳定的伪监督。教师 ( E ~ , D ~ ) (\widetilde{E},\widetilde{D}) (E ,D ) 的权重 θ ~ \widetilde\theta θ 通过学生 ( E , D ) (E,D) (E,D) 的 θ \theta θ 的指数移动平均以更新比例 β \beta β 更新:
提出的自训练监督损失 L p s e u d o L_{pseudo} Lpseudo 与 L s u p L_{sup} Lsup 一样是像素级的交叉熵损失,但仅适用于ELN识别的有效像素。令 P ~ = D ~ ( E ~ ( X ) ) \widetilde{P}=\widetilde{D}(\widetilde{E}(X)) P =D (E (X)) 表示教师网络的分割预测,KaTeX parse error: Undefined control sequence: \* at position 10: P^a=D(E(A\̲*̲X)) 表示学生网络的分割预测,其中 A A A 表示对输入图像 X X X 施加扰动算子。损失 L p s e u d o L_{pseudo} Lpseudo 可表示为:
其中 ⌊ ⌉ ⌊⌉ ⌊⌉ 是一个取整到最近整数的函数。 Y i ^ \hat{Y_i} Yi^ 表示像素 i i i 的伪标签的 one-hot 向量。通过取整的二值掩码,主分割网络可以仅在有效像素熵训练。
为了进一步提高学习到的特征的质量,作者采用了逐像素的对比损失 L c o n t r a L_{contra} Lcontra。具体来说,在这种损失中,伪标签相同的特征互相吸引,而来自不同的类别的特征在特征空间中被推开。作者将其范围扩展到整个输入批次中,而不是在单张图像上应用损失,以考虑各种特征关系。对于给定的输入, 令 Ω p i \Omega_p^i Ωpi 表示属于像素 i i i 的类别的像素集合, Ω n i \Omega_n^i Ωni 表示不属于像素 i i i 类的像素集合,令 d d d 表示距离函数, d ( f 1 , f 2 ) = e x p ( c o s ( f 1 , f 2 ) / τ ) d(f_1,f_2)=exp(cos(f_1,f_2)/\tau) d(f1,f2)=exp(cos(f1,f2)/τ),其中 c o s cos cos 表示余弦相似度, τ \tau τ 表示温度超参数。像素级对比损失 L c o n t r a L_{contra} Lcontra 可表示为:
其中 V V V 表示 D u D_u Du 上的有效像素集合, f i f_i fi 和 f ~ i \widetilde{f}_i f i 分别表示为像素 i i i 在学生网络和教师网络上的特征嵌入。
L c o n t r a L_{contra} Lcontra通过鼓励 ∑ k ∈ Ω n i d ( f i , f ~ k ) \sum_{k∈\Omega_n^i}d(f_i,\widetilde{f}_k) ∑k∈Ωnid(fi,f k) 的值降低,从而促进了不同类别的像素相似度趋近于0,进而拉大了不同类别特征的距离。同时 L c o n t r a L_{contra} Lcontra通过鼓励 d ( f i , f ~ k ) d(f_i,\widetilde{f}_k) d(fi,f k) 的值增加,从而促进相同类别的像素相似度趋近于1,进而拉近了相同类别特征的距离。
总损失如下:
标签的数据通过 L l a b e l e d L_{labeled} Llabeled 参与训练。当训练完成时,只有学生网络用于推理,因为包括ELN在内的其他网络都是支持学生网络半监督的辅助模块,所以这些模块在推理时会移除。
5 效果
5.1 与SOTA方法对比
5.2 消融实验
ELN模块和ECN模块的对比实验。
ELN预测的效果如图5和图6。(a)为主分割网络的结果(b)中白色为和GT比较预测正确部分的掩码(c)为ELN预测的掩码(d)中白色为预测错误不作为伪标签的部分。
辅助decoder个数的消融实验,最终确认3个辅助decoder可以获得较好的效果。
不同损失的消融实验。
相关文章:

论文阅读笔记:Semi-supervised Semantic Segmentation with Error Localization Network
论文阅读笔记:Semi-supervised Semantic Segmentation with Error Localization Network 1 背景2 创新点3 方法4 模块4.1 使用标注数据训练ELN4.2 使用ELN进行半监督 5 效果5.1 与SOTA方法对比5.2 消融实验 论文:https://arxiv.org/pdf/2204.02078v3.pdf…...
Flink开发语言选择:Java vs Scala,哪种更适合你的项目?
欢迎来到我的博客,很高兴能够在这里和您见面!欢迎订阅相关专栏: 工💗重💗hao💗:野老杂谈 ⭐️ 全网最全IT互联网公司面试宝典:收集整理全网各大IT互联网公司技术、项目、HR面试真题.…...

轻空间成功完成陕西渭南砂石料场气膜仓项目
轻空间(江苏)膜结构科技有限公司凭借卓越的技术实力与丰富的项目经验,成功完成了陕西省渭南市砂石料场气膜仓的建设。这一项目的顺利交付,不仅满足了当地对高效仓储的需求,也为西北地区的仓储设施建设树立了标杆。 陕西…...

pikachu~文件下载漏洞
0x02文件下载 # 首先看到界面都是对图片的下载,然后我们需要对其中一张照片进行下载,查看它的文件地址可以发现 http://127.0.0.1/pikachu-master/vul/unsafedownload/execdownload.php?filenameai.png# 看到链接后发现我们可以修改我们想要传的的路径…...
MTK Android12 关机界面全屏展示
需求:关机和重启按钮点击后,去掉正在关机的动画和tips,改为一张图片实现。 修改点 修改点如下: 涉及到的修改文件 修改: \vendor\mediatek\proprietary\packages\apps\SystemUI\src\com\android\systemui\globalactionsGlobalActionsDialogLite.java新增: \vendor\media…...

初识云计算
随着科技的飞速发展,云计算作为一种新兴的信息技术架构,正在逐渐改变我们的工作方式和生活方式。 云计算是什么? 云计算是一种通过互联网提供计算资源和服务的计算模式。它通过互联网将计算和存储资源进行集中和共享,为用户提供…...
golang sync.Cond实现读写锁
直接上代码: package mainimport ("fmt""sync""time" )// RWLock 实现一个简单的读写锁 type RWLock struct {readerCount int // 当前正在读取的读者数量writerCount int // 当前正在写的写者数量mutex sync.Mutex // 保护…...

从通用到定制:营销Agent如何跨越数据鸿沟,实现对话SOP的个性化飞跃
从通用到定制:营销Agent如何跨越数据鸿沟,实现对话SOP的个性化飞跃 1.背景 营销 Agent 指的是在营销过程中洞察客户并作出决策以及行动的 AI 智能体,包括感知、理解、决策、交互、反馈多个模块。对话 SOP 是交互模块中非常重要的部分,如何在缺少数据的情况下快速实现千人…...
设计模式-单例设计模式
单例模式的设计和线程安全 单例模式是一种创建型设计模式,确保一个类只有一个实例,并提供一个全局访问点。实现单例模式时,线程安全性是一个重要考虑因素,特别是在多线程环境中。 1. C11 之前的线程安全实现 在 C11 之前&#…...

23_windows 使用sqlmap、kali使用sqlmap,SQL注入、sqlmap自动注入
sqlmap介绍 安装sqlmap 安装python环境 链接:https://pan.baidu.com/s/16QhhYCppSvuUikhKiOHNgg?pwd9LJY 提取码:9LJY C:\Users\leyilea> python // 测试python能不能用 >>> exit() // 退出 测试sqlmap是否可用 kali中运行sqlmapÿ…...

WPF学习(12)-Image图像控件+GroupBox标题容器控件
Image图像控件 Image也算是独门独户的控件,因为它是直接继承于FrameworkElement基类。 Image控件就是图像显示控件。Image类能够加载显示的图片格式有.bmp、.gif、.ico、.jpg、.png、.wdp 和 .tiff。要注意的是,加载.gif动画图片时,仅显示第…...

【Linux】基础IO认知
文件 1、回顾C语言中的文件接口2、对文件的理解(阶段一)3、文件操作3、1、C的文件操作接口3、2、认识系统调用接口3、2、强化对fd文件描述符及周边知识的理解 1、回顾C语言中的文件接口 事实上,我们在C语言的学习中了解的文件并不是真正的文件。从语言角度来说&…...

7. Kubernetes核心资源之Service服务实战
**service分类 : ** **ClusterIP : ** 默认类型,自动分配一个【仅集群内部】可以访问的虚拟IP **NodePort : ** 对外访问应用使用,在ClusterIP基础上为Service在每台机器上绑定一个端口,就可以通过: ipNodePort来访问该服务 **LoadBalanc…...

《向量数据库指南》——企业采用非结构化数据的场景及其深远影响
引言 在当今数字化转型的浪潮中,企业数据的种类与规模正以前所未有的速度增长,其中非结构化数据作为信息时代的重要组成部分,其价值日益凸显。Lynn提出的关于企业最先采用非结构化数据的观察,引发了我们对这一领域深入探索的兴趣。Charles的见解则为我们揭示了非结构化数据…...

Linux内核编程(十二)热插拔
本文目录 一、知识点1. 热插拔概念2. 热插拔机制3. Netlink机制 二、内核发送uevent事件到用户空间1. kobject发送uevent事件2. udevadm命令查看★示例代码:★优化:完善kset_uevent_ops(热插拔事件结构体) 三、用户空间使用Netlin…...

七夕警示:探索社工库与网络搜索下的个人隐私泄露与保护策略
随着七夕节的脚步日益临近,空气中弥漫着浪漫与温馨的气息。这个充满爱意的节日,我们沉浸在与心爱之人共享甜蜜时光的同时,不应忽视网络安全和个人隐私保护的重要性。在数字化时代,个人信息泄露的风险无处不在,如何在享…...

Redis-哨兵监控(sentinel)
是什么 Docs 吹哨人巡查监控后台master主机是否故障,如果故障了根据投票数自动将某一个从库转换为新主库,继续对外服务 作用:无人值守运维 能干嘛 1.主从监控 监控主从redis的库是否运行正常 2.消息通知 哨兵可以将故障转移的结果发送给客户端 3.…...
RISC-V反汇编调试记录分享
RISC-V反汇编调试记录分享 本文记录一次使用反汇编进行调试分析。 最近在 rtthread 下适配 MilkV Duo 的硬件定时器驱动时遇到了一些问题,demo 运行时报以下错误: Unhandled Exception 2:Illegal Instruction scause:0x0x0000000000000002,stval:0x0x…...
python上下文管理器 with的使用
python上下文管理器 with是从Python一个语法糖,它是一种上下文管理协议,目的在于把我们之前常见一个开发 try,except 和finally 关键字和一些文件开关闭合资源分配释放等问题都简化。 总结起来使用python 提供的with主要的作用是: 实现自动…...

24/8/8算法笔记 决策树构建鸢尾花
决策树是一种由算法自动设计的模型。在机器学习中,构建决策树的过程通常遵循以下步骤: 特征选择:算法会评估每个特征,并选择一个特征作为节点分裂的依据。这个选择基于某种准则,如信息增益(ID3算法…...

接口测试中缓存处理策略
在接口测试中,缓存处理策略是一个关键环节,直接影响测试结果的准确性和可靠性。合理的缓存处理策略能够确保测试环境的一致性,避免因缓存数据导致的测试偏差。以下是接口测试中常见的缓存处理策略及其详细说明: 一、缓存处理的核…...
生成xcframework
打包 XCFramework 的方法 XCFramework 是苹果推出的一种多平台二进制分发格式,可以包含多个架构和平台的代码。打包 XCFramework 通常用于分发库或框架。 使用 Xcode 命令行工具打包 通过 xcodebuild 命令可以打包 XCFramework。确保项目已经配置好需要支持的平台…...
HTML 语义化
目录 HTML 语义化HTML5 新特性HTML 语义化的好处语义化标签的使用场景最佳实践 HTML 语义化 HTML5 新特性 标准答案: 语义化标签: <header>:页头<nav>:导航<main>:主要内容<article>&#x…...

【WiFi帧结构】
文章目录 帧结构MAC头部管理帧 帧结构 Wi-Fi的帧分为三部分组成:MAC头部frame bodyFCS,其中MAC是固定格式的,frame body是可变长度。 MAC头部有frame control,duration,address1,address2,addre…...
Java如何权衡是使用无序的数组还是有序的数组
在 Java 中,选择有序数组还是无序数组取决于具体场景的性能需求与操作特点。以下是关键权衡因素及决策指南: ⚖️ 核心权衡维度 维度有序数组无序数组查询性能二分查找 O(log n) ✅线性扫描 O(n) ❌插入/删除需移位维护顺序 O(n) ❌直接操作尾部 O(1) ✅内存开销与无序数组相…...
基于数字孪生的水厂可视化平台建设:架构与实践
分享大纲: 1、数字孪生水厂可视化平台建设背景 2、数字孪生水厂可视化平台建设架构 3、数字孪生水厂可视化平台建设成效 近几年,数字孪生水厂的建设开展的如火如荼。作为提升水厂管理效率、优化资源的调度手段,基于数字孪生的水厂可视化平台的…...
今日科技热点速览
🔥 今日科技热点速览 🎮 任天堂Switch 2 正式发售 任天堂新一代游戏主机 Switch 2 今日正式上线发售,主打更强图形性能与沉浸式体验,支持多模态交互,受到全球玩家热捧 。 🤖 人工智能持续突破 DeepSeek-R1&…...

Redis数据倾斜问题解决
Redis 数据倾斜问题解析与解决方案 什么是 Redis 数据倾斜 Redis 数据倾斜指的是在 Redis 集群中,部分节点存储的数据量或访问量远高于其他节点,导致这些节点负载过高,影响整体性能。 数据倾斜的主要表现 部分节点内存使用率远高于其他节…...

SiFli 52把Imagie图片,Font字体资源放在指定位置,编译成指定img.bin和font.bin的问题
分区配置 (ptab.json) img 属性介绍: img 属性指定分区存放的 image 名称,指定的 image 名称必须是当前工程生成的 binary 。 如果 binary 有多个文件,则以 proj_name:binary_name 格式指定文件名, proj_name 为工程 名&…...

Docker 本地安装 mysql 数据库
Docker: Accelerated Container Application Development 下载对应操作系统版本的 docker ;并安装。 基础操作不再赘述。 打开 macOS 终端,开始 docker 安装mysql之旅 第一步 docker search mysql 》〉docker search mysql NAME DE…...