DACS: Domain Adaptation via Cross-domain Mixed Sampling 学习笔记

news2025/1/23 2:14:49

DACS

  • 介绍
  • 方法
    • Naive Mixing
    • DACS
    • ClassMix![在这里插入图片描述](https://img-blog.csdnimg.cn/ca4f83a2711e49f3b754ca90d774cd50.png)
    • 算法流程
    • 实验结果
    • 反思

介绍

近年来,基于卷积神经网络的语义分割模型在众多应用中表现出了显著的性能。然而当应用于新的领域时,这些模型通常不能很好地泛化,特别是从合成数据到真实数据时。本文讨论了无监督域适应(UDA)的问题,即对来自一个源域的标记数据进行训练,同时从目标域的无标记数据进行学习。现有的方法通过对这些无标签图像进行伪标签训练取得了成功。人们提出了多种技术来降低由域转移引起的低质量伪标签的情况,并取得了不同程度的成功。我们提出了DACS:通过跨域混合采样的域适应,它将来自两个域的图像与相应的标签和伪标签混合在一起。除了标签数据本身外,这些混合样本还会被训练。

我们注意到,在现有的纠正错误伪标签的方法中,目标域中的某些图像会过度采样,图像中的低置信度像素会被过滤掉。许多低置信度像素与语义边界上的预测对齐,从而导致那里的训练信号减弱。传统的直接使用混合的方法会导致一些类进行合并。

总结来说:DACS提出了三个创新点。
①引入了一种新的算法,将目标域的图片和源域中的图片进行混合,创造出来一个新的、高扰动的样本
②通过实验证明跨域的图像混合可以很大程度上解决类合并的问题
③在GTA5—>City 取得了sota 的水准

方法

Naive Mixing

在这里插入图片描述
对于朴素的混合方法就是拿目标域的两张图进行混合,然后生成Xm,然后获得其对应的伪标签Ym,然后将源域中的Xs,Ys,和在目标域混合生成的图片再放到一块训练。

DACS

在这里插入图片描述
DACS也是基于上述的混合的思想,不过使用的混合图片一张来自源域一张来自目标域。首先使用网络对目标域的数据生成伪标签,对于混合的方式采用的方式ClassMix,将源域Xs中的图像随机一半类抠出来粘贴到目标域的图片上,然后生成对应的伪标签,此时已知源域图片Xs和对应的标签Ys和混合图片Xm及其对应的标签Ym。

ClassMix在这里插入图片描述

如图所示:获取的B,Sb,A,Sa,通过Sa获得动态的二进制掩码M,随机将A中的一半类粘贴到B得到一个新的混合图Xa,然后将Sa,SB和M获得对应的特征图Ya。

算法流程

在这里插入图片描述
和方法里面的DACS讲解的差不多,先获取源域中的图标和对应的标签,然后获取目标域的图片,通过训练的网络获取对应的伪标签,然后将Xs和Xt通过ClassMix的方式混合,同时将标签也进行混合。然后将生成Xm和源域中的Xs利用网络生成对应的标签,然后去计算对应的交叉熵损失函数,执行反向传播和梯度下降。对于其他的参数在论文中都已经详细给了就不多介绍了。

实验结果

在这里插入图片描述
在这里插入图片描述
上两张图分别是在GTA5和SYNTHIA下的Iou和MIou。可以看出来虽然不是每一项都是sota,但是很多项都是top1。
在这里插入图片描述
为了进一步评估DACS,并更好地理解类合并问题的根源,进行了额外的实验,并在上图中展示。结果显示了论文3.1节中解释的朴素混合,以及仅使用伪标签而不使用任何混合和使用不同的混合策略。从上图可以看出,DACS的性能明显强于朴素混合。如论文3.1节所述,最重要的原因是朴素混合合并了几个类,这极大地影响了整体性能。从表中每个班级的借据可以清楚地看出,其中七个班级的朴素混合分数低于1%。

反思

老文章,但是没搜到别人写的学习笔记,就单纯按照自己所理解和代码中的写了,有不对的地方望指正。论文中提到了ClassMix,但是没有提到那个二进制掩码的地方,我去翻了翻代码发现确实是有相关的步骤,而且最后实验就跟最后论文说的一样用了2个源域的和2个目标域的图进行跑的。(等考完试看完代码再补充更新)

代码链接:https://github.com/vikolss/DACS/blob/master/trainUDA.py

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

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

相关文章

2250216-92-1,Propargyl-PEG3-triethoxysilane,炔基-三聚乙二醇-三乙氧基硅烷,具有高效稳定和特异性

【中文名称】炔基-三聚乙二醇-三乙氧基硅烷【英文名称】 Propargyl-PEG3-triethoxysilane【结 构 式】【CAS号】2250216-92-1【分子式】C19H37NO7Si【分子量】419.59【基团部分】炔基基团【纯度标准】95%【包装规格】1g,5g,10g,可以提供核磁图…

Zebec生态持续深度布局,ZBC通证月内翻倍或只是开始

“Zebec生态近日利好不断,除了推出了回购计划外,Nautilus Chain、Zebec Labs等也即将面向市场,都将为ZBC通证深度赋能。而ZBC通证涨幅月内突破100%,或许只是开始。”近日,流支付生态Zebec生态通证ZBC迎来了大涨&#x…

计算机网络的166个核心概念,你知道吗?

上回我整理了一下计算机网络中所有的关键概念,很多小伙伴觉得很有帮助,但是有一个需要优化的点就是这些概念不知道出自哪里,所以理解起来像是在云里穿梭,一会儿在聊应用层的概念,一会儿又跑到网络层协议了。针对这种情…

小学生学Arduino---------点阵(二)动态图片以及文字

今天进阶了利用人眼视觉暂留原理制作动态的图片变换。 1、熟练掌握图片显示器的使用 2、创作多种动态图片、文字的显示 3、明确动态图片、文字显示过程 4、掌握图片显示器中清空指令的使用 5、搭建动态图片、文字的显示电路 6、编写动态图片、文字的程序 复习: 绘…

@Slf4j注解的使用

1.Slf4j的作用? 很简单的就是为了能够少写两行代码,不用每次都在类的最前边写上: private static final Logger logger LoggerFactory.getLogger(this.XXX.class); 我们只需要在类前面添加注解Slf4j,即可使用log日志的功能了 2.…

美格智能与宏电股份签署战略合作协议,共创5G+AIoT行业先锋

2月17日,美格智能技术股份有限公司CEO杜国彬及相关业务负责人员一行到访深圳市宏电技术股份有限公司总部大厦参观交流,并参加了主题为“聚势同行、合创未来”宏电股份与美格智能2023年IoT产业生态合作研讨会,受到了宏电股份总裁张振宇及相关业…

手写Promise方法(直击Promise A+规范)

前言:大家好,我是前端獭子。高效优雅是我的创作方式。学习是一个渐进的过程,要把知识串联起来才能解决某一方面的问题。 Promise 构造函数 我们先来写 Promise 构造函数的属性和值,以及处理new Promise()时会传入的两个回调函数。…

【Git】IDEA集合Git和码云

目录 7、IDEA集合Git 7.1 配置Git忽略文件-IDEA特定文件 7.2 定位 Git 程序 7.3 初始化本地库 7.4 添加到暂存区 7.5 提交到本地库 7.6 切换版本 7.7 创建分支 7.8 切换分支 7.9 合并分支 7.10 解决冲突 8、 Idea集成码云 8.1 IDEA 安装码云插件 8.2 分析工程到码…

QHashIterator-官翻

QHashIterator Class template <typename Key, typename T> class QHashIterator QHashIterator 类为 QHash 和 QMultiHash 提供 Java 风格的常量迭代器。更多内容… 头文件:#include qmake:QT core 所有成员列表&#xff0c;包括继承的成员废弃的成员 公共成员函数…

硫酸锂溶液除钙镁树脂系统

H-93锂盐净化除钙镁镁螯合树脂是包含氨甲膦酸基连接到聚苯乙烯共聚物的一种耐用的大孔树脂。 CH-93是用于锂盐净化除钙镁从含有一价阳离子的废水处理中选择性的除去二价金属阳离子。使二价金属阳离子以及由其他二价阳离子可以像钙一样容易地从一价阳离子中分离出来。 CH-93是…

[论文阅读笔记19]SiamMOT: Siamese Multi-Object Tracking

这是CVPR2021的一篇文章, 是利用SOT的一些思想来进行MOT的运动估计. 文章地址: 文章 代码地址: 代码 0. 摘要 本文提出了一个孪生(Siamese)式的MOT网络, 该网络用来估计帧间目标的运动. 为了探究运动估计对多目标跟踪的影响, 本文提出了两种运动建模方式: 显式和隐式. 本文在…

C++(41)-低版本升级到VS2019项目时遇到的问题(2)

1.错误码&#xff1a;MSB8066 代码为3 QT 项目老版本升级到新版本造成的&#xff0c; 1.重新加载项目&#xff1a; 扩展->QT VS tools->Open QT project files-> 2.添加QT模块&#xff1a;QT Project-Settings -> QT Modules2.无法打开QT的头文件 3.…

电脑自带的录屏放在哪里了?轻松弄懂,看这篇文章就明白了

有很多小伙伴有这个疑问&#xff0c;电脑自带的录屏放在哪里了&#xff1f;其实&#xff0c;电脑自带的录屏工具并不是所有电脑都要&#xff0c;具体要看你的电脑品牌和操作系统&#xff0c;Windows系统和Mac系统的电脑都自带了录屏工具&#xff0c;下面跟着小编一起来看看吧。…

Redis:缓存一致性问题(缓存更新策略)

Redis缓存的一致性1. 缓存1.1 缓存的作用&#xff1a;1.2 缓存的成本&#xff1a;2. 缓存模型3. 缓存一致性问题3.1 引入3.2 解决(1) 先更新数据库&#xff0c;再手动删除缓存(2) 使用事务保证原子性(3) 以Redis中的TTL为兜底3.3 案例&#xff1a;商铺信息查询和更新(1) 查询商…

“双碳”目标下二氧化碳地质封存技术应用前景及模型构建实践方法与讨论

我国二氧化碳地质封存技术起步较晚&#xff0c;目前仍没有一套相对完整的行业规范&#xff1b;且就该技术而言&#xff0c;涉及环节众多&#xff0c;理论相对复杂&#xff0c;对于行业的新入局者不太友好。因此&#xff0c;结合时代背景&#xff0c;我们首次尝试对二氧化碳地质…

【面试1v1实景模拟】Spring事务 一文到底

老面👴:小伙子,了解Spring的事务吗? 解读🔔:这个必须了解,不了解直接挂~😂😂😂,但面试官肯定不是想听你了解两个字,他是想让你简单的介绍下。 笑小枫🍁:了解,事务在逻辑上是一组操作,要么执行,要不都不执行。主要是针对数据库而言的,比如说 MySQL。为…

C++——C++11第三篇

目录 包装器 function包装器 bind 包装器 function包装器 function包装器 也叫作适配器。C中的function本质是一个类模板&#xff0c;也是一个包装器。 上面的程序验证&#xff0c;我们会发现useF函数模板实例化了三份。 包装器可以很好的解决上面的问题 &#xff0c;让它只实…

Android新启动模式之singleInstancePerTask

Android新启动模式之singleInstancePerTask 一.singleInstancePerTask介绍 singleInstancePerTask为android12新增的在standard、singleTop、singleTask、singleInstance之后的第五种启动模式。 Android12对于singleInstancePerTask描述如下(sdk中在platforms/android-31/d…

05- 形态学及图像的开闭运算 (OpenCV基础) (机器视觉)

知识重点 二值化操作 gray cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)&#xff0c;对灰度图像操作, 全局阈值&#xff0c;整幅图像采用同一个数作为阈值 。 自适应阈值二值化 dst cv2.adaptiveThreshold(gray, 255, cv2.ADAPTIVE_THRESH_GAUSSIAN_C, cv2.THRESH_BINARY, 9, …

做测试5年,靠业务熟悉吃老本,技术短板暴露,30岁被无情辞退...

朋友跟我诉苦&#xff0c;最近他被公司无情辞退了。测试几年&#xff0c;月薪10k&#xff0c;如今已经30了&#xff0c;接下来不知道该怎么办&#xff0c;让我帮他想想办法... 几年下来&#xff0c;也算是公司的骨干成员&#xff0c;不说有功&#xff0c;但一定无过。公司业务…