Paper Reading: (CCVC) 基于冲突的半监督语义分割跨视图一致性

在这里插入图片描述

目录

  • 简介
  • 目标/动机
  • 工作重点
  • 方法
    • CVC: 跨视图一致性
    • CPL: 基于冲突的伪标记
  • 实验
    • 设置
    • comparison with SOTA
    • Ablation
  • 总结

简介

题目:《Conflict-Based Cross-View Consistency for Semi-Supervised Semantic Segmentation》, CVPR’23, 基于冲突的半监督语义分割跨视图一致性

日期:2023.5.2

单位:悉尼大学,香港大学,三星研究所

论文地址:https://arxiv.org/abs/2303.01276

GitHub:https://github.com/xiaoyao3302/CCVC

作者

Zicheng Wang,找不到

Zhen Zhao
在这里插入图片描述

个人主页:http://zhaozhen.me/

在这里插入图片描述

Xiaoxia Xing,找不到

Dong Xu, https://www.cs.hku.hk/people/academic-staff/dongxu
在这里插入图片描述

Xiangyu Kong,找不到

  • 通讯作者

Luping Zhou,周泸萍, https://sites.google.com/view/lupingzhou
在这里插入图片描述

  • 摘要

半监督语义分割(SSS)可以减少对大规模全注释训练数据的需求。现有方法处理伪标签时常常会受到确认偏差的影响,这可以通过联合训练框架来缓解。目前基于联合训练的SSS方法依赖于手工制作的每个扰动来防止不同的子网崩溃,但人为扰动难以得到最优解。本文提出一种新的基于冲突的跨视图一致性(CCVC)方法,该方法基于两个分支的联合训练框架,旨在强制两个子网从不相关的视图中学习信息特征。首先提出一种新的跨视图一致性(CVC)策略,该策略通过引入特征差异损失来鼓励两个子网从同一输入中学习不同的特征,同时这些不连续的特征有望生成输入的一致预测分数。CVC策略有助于防止两个子网陷入崩溃。此外,进一步提出一种基于冲突的伪标记(CPL)方法,以保证模型将从冲突预测中学习更多有用的信息,以保证训练过程的稳定。


一种基于冲突的跨视图一致性(CCVC)方法,该方法基于一个双分支协同训练框架,旨在强制两个子网从不相关的视图中学习信息特征

目前的半监督语义分割方法大致可分为两大类,即基于自训练的方法和基于一致性正则化的方法。大多数基于自训练的方法选择一组预测来生成伪标签以微调模型,而大多数基于一致性正则化的方法旨在使用弱增强输入的网络预测作为对强增强输入的那些预测的监督。然而,这两种方法都会遇到一个问题,即假阳性预测会引入不正确的伪标签,从而误导训练,这就是所谓的确认偏差。

协同训练是一种训练框架,可以应用于半监督学习方法。旨在学习两个子网,从不同的角度推理同一个实例,然后相互交换所学信息。这两个子网可以为彼此提供不同且互补的信息,从而实现稳定准确的预测,并减少确认偏差的影响

目标/动机

使用伪标签的方式,可能会受到确认偏置的影响,会由于训练不稳定导致性能下降。基于一致性正则化的方式显示出较好的性能,但大多数依赖于弱扰动输入的预测生成伪标签,再将伪标签作为强扰动输入预测的监督。也会受到确认偏置的影响。

**协同训练,能使不同的子网能够从不同的视图推断出相同的实例,并通过伪标记将从一个视图学到的知识转移到另一个视图。**特别是,协同训练依赖于多视图参考来增加对模型的感知,从而提高生成的伪标签的可靠性。关键是如何防止不同的子网相互崩溃,以便模型能够根据不同视图的输入做出正确的预测。然而,大多数SSS方法中使用的手工扰动并不能保证学习异质特征,从而有效地防止子网陷入崩溃。

面对上述问题,本文为SSS提出了一种新的基于冲突的跨视图一致性(CCVC)策略,该策略确保模型中的两个子网可以分别学习不同的特征,从而可以从两个互不相关的视图中学习可靠的预测以进行联合训练,从而进一步使每个子网能够做出可靠和有意义的预测

如图1所示,从交叉一致性正则化(CCR)模型的两个子网中提取的特征之间的相似性得分保持在较高水平,这表明CCR的推理观点有点相关。相反,CVC方法确保了重新分析的观点有足够的不同,从而产生更可靠的预测

在这里插入图片描述

图1。我们比较了传统交叉一致性正则化(CCR)方法和我们的CVC方法的两个子网提取的特征之间的余弦相似值。我们还比较了用mIoU测量的两种方法的预测精度。我们证明了我们的CVC方法可以防止两个子网相互崩溃并能从无关的视图推断输入,而CCR不能保证推断的视图是不同的。我们展示了我们的新方法可以增加对模型的感知,从而产生更可靠的预测。实验是在原始Pascal VOC数据集上实现的,在1/4分割分区下,以ResNet-101作为编码器的主干

工作重点

首先提出了一种具有差异损失的交叉视图一致性(cross-view consistency,CVC)方法,以最小化两个子网提取的特征之间的相似性,从而鼓励它们提取不同的特征,从而防止两个子网相互崩塌

然后,使用交叉伪标记将从一个子网学到的知识转移到另一个子网,以提高对网络的感知,从而正确地推理来自不同视图的相同输入,从而产生更可靠的预测(如图1)

然而,差异损失可能会给模型引入太强的扰动,使得子网提取的特征可能包含用于预测的不太有意义的信息,从而导致来自两个子网的不一致和不可靠的预测。这将导致确认偏差问题,从而损害子网的联合训练。为了解决这个问题,进一步提出了一种基于冲突的伪标签(conflictbased pseudo-labelling,CPL)方法,鼓励每个子网的冲突预测生成的伪标签对彼此的预测进行更强的监督,以强制两个子网进行一致的预测,以保留预测以及预测的可靠性。通过这种方式,有望减少确认偏差的影响,使训练过程更加稳定。

方法

在这里插入图片描述

图2:我们的跨视图一致性(CVC)方法的网络架构。我们使用特征差异损失来强制网络从不同的视图生成相同的输入。一方面,我们使用监督损失Llsup,i和一致性损失Lucon,i来执行交叉监督。另一方面,我们使用差异损失Lαdis来最小化特征提取器提取的特征之间的相似性,从而强制两个子网学习不同的信息。下标i表示第i个子网,上标α表示标记数据或未标记数据。标记//表示停止梯度下降操作(表示禁止反向传播)。值得一提的是,我们的CVC方法是对传统数据增强方法的补充。

变量含义:

有标记图像:

无标记图像:

M, N:标记图像和未标记图像的数量。在大多数情况下,有N»M

大小为H×W和C通道的输入图像:

每个像素的一个独热标签:,其中Y表示类别的总数

CVC: 跨视图一致性

Cross-view consistency

两个子网,Ψ1和Ψ2,具有相似的架构,但两个子网的参数不共享

每个子网划分为特征提取器Ψf,i和分类器Ψcls,i

​ 特征提取器Ψf,i在L2归一化后提取的特征表示为fαi

​ 分类器Ψcls,i产生的预测表示为

i=1或2,分别表示子网1和2

α∈{u,l},分别表示标记数据流或未标记数据流

为了使两个子网能够推理来自不同视图的输入,因此提取的特征应该不同。

因此,我们使用差异损失Lαdis最小化每个特征提取器提取的特征fαi之间的余弦相似度,其可以公式化为:
在这里插入图片描述

系数1是为了确保差异损失的值总是非负的。

鼓励两个子网输出没有共同关系的特征,从而强制两个子网推理来自不同视图的输入。

多数SSS方法采用在ImageNet上预训练的ResNet作为DeepLabv3+的主干,并且仅以较小的学习率对主干进行微调,这使得本文的特征差异最大化操作难以实现。为了解决这个问题,本文通过使用卷积层将提取的特征映射到另一个特征空间,来实现网络的异构性

遵循与BYOL和SimSiam类似的操作,通过使用具有非线性层的简单卷积层(即Ψ映射)将Ψf,2提取的特征映射到另一个特征空间,来实现网络的异构性。将Ψf,2在映射后提取的特征表示~ fα2,并将差异损失重写为:
在这里插入图片描述

我们对标记数据和未标记数据都应用差异监督,因此我们将总差异损失计算为在这里插入图片描述

  • 对于有标记图像

为了需要确保子网做出有意义的预测。因此,对于标记的数据,我们使用GT标签作为监督来训练两个子网以生成语义上有意义的预测,我们将监督损失公式化如下:
在这里插入图片描述

下标i表示第i个子网,并且我们使用n表示第m个图像中的第n个像素,因此~ ylmn和ylmn分别表示第m标记图像中第n个像素的预测或GT标记。注意,我们需要对这两个子网进行GT监督,因此我们可以将监督损失计算为在这里插入图片描述

  • 对于无标记图像

采用伪标记方法使每个子网能够从另一个子网学习语义信息。给定一个预测,由其生成的伪标签可以被写为 yumn,i=
,其中的预测得分的第c维,i和c={1,…, Y}表示类别的索引。应用交叉熵损失来微调模型,每个分支的一致性损失可以公式化如下:
在这里插入图片描述
总Loss:在这里插入图片描述

CPL: 基于冲突的伪标记

使用我们的跨视图一致性(CVC)方法,两个子网将从不同的视图中学习语义信息。然而,训练可能是不稳定的,因为特征差异损失会在模型上引入太强的扰动。因此,很难保证两个子网能够相互学习有用的语义信息,这可能会进一步影响预测的可靠性。

Conflict-based pseudo-labeling

二进制值来定义预测是否冲突,当=1,反之为0

根据之前设置置信阈值γ以确定预测是否可信的方法,将冲突预测进一步分为两类,即冲突和可信任(conflicting and confident,CC)预测, 冲突但不可信(conflicting but unconfident,CU)预测,并且只将更高的权重ωc分配给由CC预测生成的伪标签

CC预测为,当其=1时,表示

同理CU预测为,表示CU预测和无冲突预测的并集,且有

仍然使用CU预测生成的伪标签来用正常权重微调模型,而不是直接丢弃它们,主要原因是我们认为这些CU预测也可以包含关于类间关系的潜在信息。

因此,我们可以将方程4重写为
在这里插入图片描述在这里插入图片描述
在这里插入图片描述

在推理阶段,只需要网络的一个分支就可以产生预测,而且还需要注意,我们的方法与传统的数据增强方法无关,这意味着我们可以直接对输入数据采用任何数据增强方法,以增加输入的多样性,唯一需要确保的是两个子网的输入应该相同。

实验

设置

  • Dataset: Pascal VOC 2012 dataset, Cityscapes dataset
  • 分割模型:DeepLabv3, backbone:在ImageNet上预训练的ResNet
  • lr:0.001/0.005,epoch:80/250,batch size:24/8
  • wc:2.0;λ1、λ2、λ3:5.0,1.0,2.0/2.0,2.0,1.0;γ:0.9/0.0(?)

comparison with SOTA

原始Pascal VOC 2012数据集上将我们的方法与其他方法进行了比较,结果见表1。

采用ResNet-101作为编码器的主干。
†表明提出的模型只训练了40个epoch,而其他模型则训练了80个epoch。
值得注意的是,当标记数据数量较少时,所提方法表现出了很好的性能,例如,当只有92个或183个标记数据时,所提方法比当前SOTA方法分别提高了2.2%和2.4%。

进一步验证了CCVC方法在渲染的Pascal VOC 2012数据集上的有效性,结果见表2。
本文报告了分别使用ResNet-50和ResNet-101作为编码器骨干的结果。
实验结果表明,CCVC方法在使用不同的骨干网时,也可以在所有分区协议下实现SOTA结果,特别是在1/16分区协议下,在使用ResNet-50和ResNet-101作为骨干网时,CCVC方法比目前的SOTA方法分别高出1.7%和1.7%,验证了所提方法的有效性。

从表中可以推断,我们的方法可以取得很好的性能,特别是在标记数据数量较少时,这表明我们的方法可以更好地利用未标记数据。

在这里插入图片描述

表1。在不同分区协议下,与PASCAL VOC 2012数据集上最先进的方法进行比较。带标签的图像来自原始的高质量训练集。主干是ResNet-101。输入的裁剪大小设置为512。†表明我们的模型只训练了40个时期,而其他模型训练了80个时期。

在这里插入图片描述

表2。在不同分区协议下,与PASCAL VOC 2012数据集上最先进的方法进行比较。标记的图像是从混合训练集中采样的。输入的裁剪大小设置为512, †表示我们复制的结果。

在这里插入图片描述

表3。在不同分区协议下,在Cityscapes数据集上与最先进的方法进行比较。主干是ResNet-50,输入的裁剪大小设置为712。*表示U2PL再现的结果。

Ablation

以ResNet-101作为DeepLabv3+的主干,在原始Pascal VOC 2012数据集上进行所有的消融实验,并将其划分为1/4

组件的有效性。CCVC方法包括CVC模块、CPL模块和数据增强(Aug)。请注意,我们的CVC方法中使用了三个损失,即监督损失Lsup、一致性损失Lcon和差异损失Ldis,以及一个额外的映射模块map。分析结果见表4

在这里插入图片描述

表4。对我们的CCVC方法中不同成分的有效性进行消融研究,包括监督损失Lsup、一致性损失Lcon、差异损失Ldis、映射操作Ψ映射、基于冲突的伪标记(CPL)和数据扩充(Aug)策略。请注意,我们只训练40个epoch的模型。

Aug: 当我们使用ST++中列出的一些简单的强数据增强来增加输入数据的多样性时,我们的方法可以进一步增强,mIoU提高3.4%,

计算了在训练过程中每种方法的可靠预测的比例f以及响应的mIoU。可靠预测的阈值γ,设为0.9

CCR(交叉一致性正则化)方法比我们的CVC方法可以生成更自信的预测,而我们的CVC方法的性能比CCR方法更好,这表明CCR方法将比CVC方法生成更自信但不正确的预测

在这里插入图片描述

图3。监督基线的训练过程,交叉一致性正则化(CCR)方法和我们的CVC方法。可以看出,我们的方法不会输出很多高度自信的预测,但预测的准确性非常高,这表明我们的方法可以有效地减少确认偏差的影响。

在这里插入图片描述

表5。消融研究基于冲突的伪标记(CPL)方法的有效性。我们改变置信冲突(CC)预测的权重,即ωc,以验证模型将从冲突预测中学习更多的语义信息。请注意,我们只训练40个时期的模型。

  • 结果质量可视化

如图4所示:监督基线(b)容易产生噪声预测,交叉一致性正则化方法(c)可能无法识别一些难以识别的部分,而我们的CVC方法(d)和CCVC方法(e)可以很容易地识别那些难以识别的像素,如履带自行车的后轮,甚至一些小物体。我们使用我们的CCVC方法进一步可视化训练期间的进化过程,以验证图中提出的基于冲突的伪标记(CPL)方法的有效性。

Fig5:观察到,在训练过程中,黄色框内的冲突预测逐渐变得一致,这表明了我们的CPL方法的有效性。

在这里插入图片描述

图4。我们的方法在1/4分区下从原始Pascal VOC 2012数据集获得的定性结果。(a) 输入图像,(b)监督基线的结果,(c)交叉一致性正则化(CCR)方法的结果。

在这里插入图片描述

图5。我们的方法在1/4分区下的原始Pascal VOC 2012数据集上的定性结果,其中我们使用ResNet-101作为DeepLabv3+的主干。(a) 输入图像和地面实况标签,(b)当对模型进行5个时期的训练时两个子网的预测结果,(c)当对该模型进行10个时期的培训时两个子网络的预测结果。我们可以观察到,我们的基于冲突的伪标记(CPL)方法可以防止两个子网做出不一致的预测,这保证了预测结果的可靠性。

总结

  • Conclusion

在这项工作中,我们提出了一种基于协同训练框架的半监督语义分割方法,其中我们引入了一种跨视图一致性策略,迫使两个子网学习从不相关的视图推理相同的输入,然后相互交换信息以生成一致的预测。因此,我们的方法可以有效地减少崩溃,扩大对网络的感知,以产生更可靠的预测,并进一步减少确认偏差问题。在基准数据集上进行的大量实验验证了我们新提出的方法的有效性

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

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

相关文章

HPM5300系列--第二篇 Visual Studio Code开发环境以及多种调试器调试模式

一、目的 在博文《HPM5300系列--第一篇 命令行开发调试环境搭建》、《HPM6750系列--第四篇 搭建Visual Studio Code开发调试环境》中我们介绍了命令行方式开发环境,也介绍了HPM6750evkmini开发板如何使用Visual Studio Code进行开发调试(其中调试方式使用…

AcWing 338. 计数问题

文章目录 题目描述问题分析代码 题目描述 AcWing 338.计数问题 给定两个整数 a a a 和 b b b, 求 a a a 和 b b b中所有数字中0~9的出现次数 数据范围&#xff1a; 0 < a, b < 100000000 输入格式&#xff1a; 输入包含多组测试数据。 每组测试数据占一行&#xff0c;包…

AI会干掉美图秀秀们吗?

网上流传着这样一个传说&#xff0c;亚洲有三大“邪术”&#xff0c;韩国整容术、日本化妆术&#xff0c;还有震惊世界的中国PS 术。虽然是网友的戏称&#xff0c;但也反映了PS美图技术在国内盛行一时。 而说起美图技术就不得不提到美图公司&#xff0c;但美图公司近些年的日子…

影视动画行业发展现状与方向:AI技术推动动画工业化体系新变革

工业化体系 是国产动画强国的必经之路 中国动画的百年历程不仅是创作者们展现艺术才华的历程&#xff0c;也是一代代中国动画人不懈追求动画工业体系建设的历程。 为什么现在的中国动画需要建立工业化体系呢&#xff1f; 举个例子&#xff0c;在建立工业化体系之前&#xff…

推荐一个小而全的第三方登录开源组件

大家好&#xff0c;我是 Java陈序员。 我们在企业开发中&#xff0c;常常需要实现登录功能&#xff0c;而有时候为了方便&#xff0c;就需要集成第三方平台的授权登录。如常见的微信登录、微博登录等&#xff0c;免去了用户注册步骤&#xff0c;提高了用户体验。 为了业务考虑…

网络基础(十):DHCP原理与配置

目录 1、DHCP的概念 2、使用DHCP的优势 3、DHCP的分配方式 4、可分配的地址信息 5、DHCP的工作原理&#xff08;租约过程&#xff09; 6、DHCP动态配置主机地址&#xff08;使用eNSP软件配置&#xff09; 1、DHCP的概念 DHCP(Dynamic HostConfiguration Protocol&#x…

SLAM学习——相机模型(针孔+鱼眼)

针孔相机模型 针孔相机模型是很常用&#xff0c;而且有效的模型&#xff0c;它描述了一束光线通过针孔之后&#xff0c;在针孔背面投影成像的关系&#xff0c;基于针孔的投影过程可以通过针孔和畸变两个模型来描述。 模型中有四个坐标系&#xff0c;分别为world&#xff0c;c…

vite(一)——基本了解和依赖预构建

文章目录 一、什么是构建工具&#xff1f;1.为什么使用构建工具&#xff1f;2.构建工具的作用&#xff1f;3.构建工具怎么用&#xff1f; 二、经典面试题&#xff1a;webpack和vite的区别1.编译方式不同2.基础概念不同3.开发效率不同4.扩展性不同5.应用场景不同6.总结&#xff…

孩子都能学会的FPGA:第三十一课——用FPGA实现SPI主机发送数据

&#xff08;原创声明&#xff1a;该文是作者的原创&#xff0c;面向对象是FPGA入门者&#xff0c;后续会有进阶的高级教程。宗旨是让每个想做FPGA的人轻松入门&#xff0c;作者不光让大家知其然&#xff0c;还要让大家知其所以然&#xff01;每个工程作者都搭建了全自动化的仿…

【Python】conda镜像配置,.condarc文件详解,channel镜像

1. conda 环境 安装miniconda即可&#xff0c;Miniconda 安装包可以到 http://mirrors.aliyun.com/anaconda/miniconda/ 下载。 .condarc是conda 应用程序的配置文件&#xff0c;在用户家目录&#xff08;windows&#xff1a;C:\users\username\&#xff09;&#xff0c;用于…

SAP PP 配置学习(一)

物料主数据 一、定义物料类型属性 未检查的外部号分配&#xff1a;这是指如果用户自己输入的物料编码超出了定义的编码范围&#xff0c;是否会提示错误。 勾上代表不检查。 用户部门&#xff1a;这里勾选需要进行维护的视图&#xff0c;如果不选择&#xff0c;那么在新建和维…

苍穹外卖项目笔记(12)— 数据统计、Excel报表

前言 代码链接&#xff1a; Echo0701/take-out⁤ (github.com) 1 工作台 需求分析和设计 产品原型 工作台是系统运营的数据看板&#xff0c;并提供快捷操作入口&#xff0c;可以有效提高商家的工作效率 接口设计 ① 今日数据接口&#xff1a; ② 订单管理接口&#xff1…

智慧灯杆技术应用分析

智慧灯杆是指在传统灯杆的基础上&#xff0c;通过集成多种先进技术实现城市智能化管理的灯杆。智慧灯杆技术应用的分析如下&#xff1a; 照明功能&#xff1a;智慧灯杆可以实现智能调光、时段控制等功能&#xff0c;根据不同的需求自动调节照明亮度&#xff0c;提高照明效果&am…

论文阅读《Parameterized Cost Volume for Stereo Matching》

论文地址&#xff1a;https://openaccess.thecvf.com/content/ICCV2023/papers/Zeng_Parameterized_Cost_Volume_for_Stereo_Matching_ICCV_2023_paper.pdf 源码地址&#xff1a;https://github.com/jiaxiZeng/Parameterized-Cost-Volume-for-Stereo-Matching 概述 现有的立体匹…

SpringBoot整合Lucene实现全文检索【详细步骤】【附源码】

笑小枫的专属目录 1. 项目背景2. 什么是Lucene3. 引入依赖&#xff0c;配置索引3.1 引入Lucene依赖和分词器依赖3.2 表结构和数据准备3.3 创建索引3.4 修改索引3.5删除索引 4. 数据检索4.1 基础搜索4.2 一个关键词&#xff0c;在多个字段里面搜索4.3 搜索结果高亮显示4.4 分页检…

数组相关的题目

数组相关的题目 128. 最长连续序列 128. 最长连续序列 题目&#xff1a;给定一个未排序的整数数组 nums &#xff0c;找出数字连续的最长序列&#xff08;不要求序列元素在原数组中连续&#xff09;的长度。 很容易就能想到要先排序&#xff0c;再进行后续的处理。有一个坑&a…

Java集合--Map

1、Map集合概述 在Java的集合框架中&#xff0c;Map为双列集合&#xff0c;在Map中的元素是成对以<K,V>键值对的形式存在的&#xff0c;通过键可以找对所对应的值。Map接口有许多的实现类&#xff0c;各自都具有不同的性能和用途。常用的Map接口实现类有HashMap、Hashtab…

交易历史记录20231206 记录

昨日回顾&#xff1a; select top 10000 * from dbo.CODEINFO A left join dbo.全部&#xff21;股20231206010101 B ON A.CODE B.代码 left join dbo.全部&#xff21;股20231206CONF D on A.CODED.代码left join dbo.全部&#xff21;股20231206 G on A.CODEG.代码 left…

铭飞CMS list 接口 SQL注入漏洞复现

0x01 产品简介 铭飞CMS是一款基于java开发的一套轻量级开源内容管理系统,铭飞CMS简洁、安全、开源、免费,可运行在Linux、Windows、MacOSX、Solaris等各种平台上,专注为公司企业、个人站长快速建站提供解决方案 0x02 漏洞概述 铭飞CMS在5.2.10版本以前list 接口处存在sql注入…

电子元器件介绍——电阻(一)

电子元器件 文章目录 电子元器件前言1.1电阻基本知识1.2电阻的作用1.3电阻的分类1.4 贴片电阻贴片电阻的规范、尺寸、封装 1.5 技术参数噪声&#xff1a; 1.6 电阻的失效 总结 前言 接下来我们就把常用的电子元器件全部介绍给大家&#xff0c;这一节是电阻&#xff0c;电容电感…