FDA: 用于语义分割的傅里叶域自适应

news2024/11/18 17:43:06

论文链接:https://arxiv.org/abs/2004.05498

代码链接:GitHub - YanchaoYang/FDA: Fourier Domain Adaptation for Semantic Segmentation

机构:UCLA

发表于2020CVPR

这篇文章别的地方略读了,主要看看方法,感兴趣自己去翻原文233333

摘要

我们描述了一种简单的无监督域自适应方法,即通过交换源和目标分布的低频频谱来减小源和目标分布之间的差异。我们在语义分割中说明了该方法,其中密集注释的图像在一个领域(例如,合成数据)中很丰富,但在另一个领域(例如,真实图像)中很难获得。目前最先进的方法是复杂的,一些需要对抗性优化,以使神经网络的主干对离散域选择变量保持不变。我们的方法不需要任何训练来执行域对齐,只需要一个简单的傅里叶变换及其逆变换。尽管它很简单,但当集成到相对标准的语义分割模型中时,它在当前基准测试中实现了最先进的性能。我们的结果表明,即使是简单的程序也可以忽略数据中令人讨厌的可变性,而更复杂的方法很难从中学习

背景

我们的方法如图1所示:只需计算每个输入图像的(快速)傅里叶变换(FFT),并在使用源域中的原始注释通过逆FFT (iFFT)重建用于训练的图像之前,将目标图像的低水平频率替换为源图像。

傅里叶域自适应需要选择一个自由参数,即要交换的光谱邻域的大小(图1中的绿色正方形)。我们测试了各种尺寸,以及一种简单的多尺度方法,该方法由不同域尺寸产生的结果平均组成。

我们的方法的动机源于观察到低水平频谱(振幅)可以在不影响高水平语义感知的情况下显著变化。某物是车辆还是人,不应取决于传感器的特性、光源或其他低水平的可变性源。然而,这种可变性对频谱有重大影响,迫使基于学习的模型与其他讨厌的可变性一起“学习它”。如果这种可变性没有在训练集中表现出来,模型就不能泛化。这一点尤其重要,因为网络似乎不能很好地在不同的低级统计数据之间传递[1]。

相关工作

Semantic Segmentation

Domain Adaptation

旨在减少两个分布之间的差距

一种常见的差异度量是MMD(最大平均差异)及其核变体[15,27],由CMD(中心矩差异)扩展[52]到高阶统计量[3,30]。

Adversarial Learning

使用经过训练的鉴别器来最大限度地消除源表示和目标表示之间的混淆,从而减少域差异。‘

这个就是那个用于医学分割的实时Test-time adaption_test time adaptation 去噪-CSDN博客

中的方法了!

方法

2.1. Fourier Domain Adaptation (FDA)

在无监督域自适应(UDA)中,我们得到一个源数据集 ,其中xs ∈ R H X W X3 是个有颜色的图像,而ys ∈ R H X W 是xs的语义图

是目标域数据集

在这里,我们提出傅里叶域自适应(FDA)来减少两个数据集之间的域差距。

让FA,FP:R H X W X3→R H X W X3是对于一个RGB图的傅里叶变换F 的振幅amplitude和相位phase分量

e.g 对于一个单通道图片x我们有↓,这可以使用FFT算法在[13]中有效地实现。相应地,F^-1是将频谱信号(相位和振幅)映射回图像空间的傅里叶反变换。

更多的,我们表示Mβ是一个mask,它的值都是零除了 β∈ (0,1)中心区域↓,其中这里我们假设图像的中心是(0,0)。注意β并没有被以像素衡量,因此 β的选择并没有依赖图片的大小或者分辨率。

给定两个随机采样的图像xs ~Ds; xt ~ Dt,傅里叶域适应可以公式化为↓

其中源图像FA(xs)的振幅低频部分被目标图像xt的振幅低频部分所取代。然后,在相位分量不变的情况下,将修改后的xs的光谱表示映射回图像xs!t,其内容与xs相同,但会类似于Dt样本的外观。这个过程在Fig1中解释,其中Mβ表现为绿色

β的选择

当β = 0的时候 xs→t和xs是一样的,β = 1 的时候  xs→t 和xt是一样的

图2解释了这样的一个过程,但也有可见的伪影(artifacts),从图2的放大区域可以看到。

然而,在table1中我们展示了β 多种选择得到效果以及结果模型的平均值,类似于简单的多尺度池化方法

2.2. FDA for Semantic Segmentation

给一个已经适应过的原数据集Ds→t,我们可以训练一个语义分割网络Øw,与参数w,通过减少下面的交叉熵损失

由于FDA将这两个领域结合在一起,因此UDA成为一个半监督学习(SSL)问题。SSL的关键是正则化模型。我们使用决策边界的惩罚作为标准来跨越未标记空间中的聚类。

假设类分离,这可以通过惩罚决策边界遍历由数据点密集填充的区域来实现,这可以通过最小化目标图像上的预测熵来实现。然而,如[45]所述,这在低熵区域是无效的。我们没有在像素上设置任意阈值来施加惩罚,而是使用鲁棒加权函数来实现熵最小化,即↓,

 其中是沙博尼耶罚函数(Charbonnier penalty function)。 它对高熵预测 > 0.5的惩罚大于对低熵预测的惩罚,如图所示

将其与自适应源图像上的分割损失相结合,我们可以使用以下总体损失来训练语义分割网络Øw

Self-Supervised training

是通过使用高度自信的伪标签来提高SSL性能的一种常见方法。在没有正则化的情况下,这个实践是自我引用的,所以我们关注正则化。

如文献[42]所述,均值教师mean teacher通过平均模型权重来提高半监督学习绩效,这在学习过程中提供了正则化。在这里,我们提出使用多个模型预测的平均值来正则化自学习。

然而,与一次使用相同的损失训练多个模型不同,有一个明确的散度项,我们直接训练多个Øwβ 在 FDA过程中,不需要显式强制模型发散。我们实例化M=3分割网络

它们都是使用(6)从头开始训练的,对于某一目标图像xti的均值预测可以通过:

注意,网络的输出是softmax激活,因此平均值仍然是K个类别的概率分布。使用M模型生成的伪标签,我们可以训练Øwβ利用下面的自监督训练损失得到进一步的改进↓,其中 D^t是Dt用伪标签y^ti 扩充了

因为我们的训练细节与β的在FDA操作中不同,我们把利用不同分割网络的均值预测的自监督训练称为Multi-band Transfer(MBT)。我们的FDA语义分割网络的完整训练过程包括使用Eq.(6)从头开始对M个模型进行一轮初始训练,以及使用Eq.(8)进行另外两轮自监督训练,我们将在下一节中详细介绍。

实验

数据集

GTA5

SYNTHIA

CityScapes

Segmentation Network

实验结果

 

 

 

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

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

相关文章

基于Spring Boot的四川火锅文化网站的设计与实现

摘 要 四川火锅文化网站的目的是让使用者可以更方便的将人、设备和场景更立体的连接在一起。能让用户以更科幻的方式使用产品,体验高科技时代带给人们的方便,同时也能让用户体会到与以往常规产品不同的体验风格。 与安卓,iOS相比较起来&…

基于SpringBoot+MYSQL的课程作业管理系统

目录 1、前言介绍 2、主要技术 3、系统流程分析 3.1、操作流程 3.2、添加信息流程 3.3、删除信息流程 4、系统设计 5、数据库设计 6、数据表 6、运行截图(部分) 6.1、管理员功能模块 6.2、教师功能模块 7、源码获取 基于springboot的课程作业管理系统 1、前言介绍 …

代码随想录算法训练营第47天 | 198.打家劫舍,213.打家劫舍II,337.打家劫舍 III

动态规划章节理论基础: https://programmercarl.com/%E5%8A%A8%E6%80%81%E8%A7%84%E5%88%92%E7%90%86%E8%AE%BA%E5%9F%BA%E7%A1%80.html 198.打家劫舍 题目链接:https://leetcode.cn/problems/last-stone-weight-ii/ 思路: 当前房屋偷与…

Vue+OpenLayers7入门到实战:OpenLayers7创建自定义鹰眼控件,自定义鹰眼控件样式,调整鹰眼控件位置、大小、文字和按钮等样式

返回《Vue+OpenLayers7》专栏目录:Vue+OpenLayers7入门到实战 前言 本章介绍如何使用OpenLayers7在地图上创建自定义鹰眼控件,自定义鹰眼控件样式,调整鹰眼控件位置、大小、文字和按钮等样式。 二、依赖和使用 "ol": "7.5.2"使用npm安装依赖npm inst…

RP2040 VSCode C/C++开发环境快速部署

RP2040 VSCode C/C开发环境快速部署 📌安装参考《树莓派(Raspberry Pi) Pico VSCode C/C开发环境配置(无需Visual Studio)》📍Windows环境下 MSYS2一键式部署pico程序包,下载地址:https://github.com/raspberrypi/pico-setup-wind…

以太坊开发学习-solidity(二)值类型

文章目录 第一个Solidity程序编译并部署代码变量值类型1. 布尔型2. 整型3. 地址类型4. 定长字节数组 第一个Solidity程序 开发工具:remix 本教程中,我会用remix来跑solidity合约。remix是以太坊官方推荐的智能合约开发IDE(集成开发环境&#…

Windows系统搭建web网站并结合内网穿透实现公网访问本地站点

文章目录 使用工具1. 本地搭建web网站1.1 下载phpstudy后解压并安装1.2 打开默认站点,测试1.3 下载静态演示站点1.4 打开站点根目录1.5 复制演示站点到站网根目录1.6 在浏览器中,查看演示效果。 2. 将本地web网站发布到公网2.1 安装cpolar内网穿透2.2 映…

阿里云服务器选哪个地域比较好?考虑因素4点分享

阿里云服务器地域选择方法,如何选择速度更快、网络延迟更低的地域节点,地域指云服务器所在的地理位置区域,地域以城市划分,如北京、杭州、深圳及上海等,如何选择地域?建议根据用户所在地区就近选择地域&…

【学习学习】学习金字塔

学习金字塔(Cone of Learning),全称学习吸收率金字塔,是一种现代学习方式的理论。网上流传它是美国缅因州的国家训练实验室(National Training Laboratories)研究成果,用数字形式形象显示了采用…

【机器学习】详细解析Sklearn中的StandardScaler---原理、应用、源码与注意事项

【机器学习】详细解析Sklearn中的StandardScaler—原理、应用、源码与注意事项 🌈 个人主页:高斯小哥 🔥 高质量专栏:Matplotlib之旅:零基础精通数据可视化、Python基础【高质量合集】、PyTorch零基础入门教程&#x…

JetBrains全家桶激活,分享PyCharm 2024 激活的方案

大家好,欢迎来到金榜探云手! PyCharm 公司简介 JetBrains 是一家专注于开发工具的软件公司,总部位于捷克。他们以提供强大的集成开发环境(IDE)而闻名,如 IntelliJ IDEA、PyCharm、和 WebStorm等。这些工具…

【晴问算法】入门篇—贪心算法—区间选点问题

题目描述 给定n个闭区间,问最少需要确定多少个点,才能使每个闭区间中都至少存在一个点。 输入描述 输出描述 输出一个整数,表示最少需要确定的点的个数。 样例1输入 3 1 4 2 6 5 7输出 2 解释 至少需要两个点(例如3和5&#xff…

Windows系统安装GeoServe结合内网穿透实现公网访问本地位置信息服务

文章目录 前言1.安装GeoServer2. windows 安装 cpolar3. 创建公网访问地址4. 公网访问Geo Servcer服务5. 固定公网HTTP地址 前言 GeoServer是OGC Web服务器规范的J2EE实现,利用GeoServer可以方便地发布地图数据,允许用户对要素数据进行更新、删除、插入…

25考研|北大软微会「爆炸」吗?

软微不是已经爆炸了吗? 大家去看看他的录取平均分就知道了,没有实力千万别碰,现在考软微已经不存在捡漏之说。 110408的复试线已经划到了465分,这个人真的不低了,因为有数学一和408两个比较难的专业课,复…

基于springboot创建mybatis

第一步:创建项目 第二步:添加依赖 第三步:连接MySQL 第四步:添加MySQL配置 #驱动类名称 spring.datasource.driver-class-namecom.mysql.cj.jdbc.Driver #数据库连接的url spring.datasource.urljdbc:mysql://localhost:3306/myb…

Nginx底层基础数据结构

基础数据结构 ngx_int_t 32位操作系统4字节,64位操作系统8字节 解决跨平台以及,普通int类型在x86和x64操作系统上面是4字节,在类型转换时造成内存浪费(如在x64下面转换long类型) typedef intptr_t ngx_int_t;#ifdef _WIN64 typedef __int64 intptr_t; #else typedef _…

leetcode 3080

leetcode 3080 题目 例子 思路 创建数组&#xff0c;记录nums 的值 对应的id, 按照大小排序。 代码实现 class Solution { public:vector<long long> unmarkedSumArray(vector<int>& nums, vector<vector<int>>& queries) {vector<long…

基于Spring Boot的社区垃圾分类管理平台的设计与实现

摘 要 近些年来&#xff0c;随着科技的飞速发展&#xff0c;互联网的普及逐渐延伸到各行各业中&#xff0c;给人们生活带来了十分的便利&#xff0c;社区垃圾分类管理平台利用计算机网络实现信息化管理&#xff0c;使整个社区垃圾分类管理的发展和服务水平有显著提升。 本文拟…

训练数据集(一):真实场景下采集的煤矸石目标检测数据集,可直接用于YOLOv5/v6/v7/v8训练

文章目录 数据集介绍数据集训练精度展示数据集获取方式 数据集介绍 煤矸石训练数据集&#xff1a;891张&#xff1b;验证数据数据集&#xff1a;404张 数据集类别&#xff1a;0代表煤炭&#xff08;coal&#xff09;&#xff0c;1代表矸石&#xff08;gangue&#xff09;&…

BUU [FBCTF2019]RCEService

BUU [FBCTF2019]RCEService 开题&#xff0c;要求以json格式输入命令。 无任何信息泄露&#xff0c;源码如下&#xff1a; <?phpputenv(PATH/home/rceservice/jail);if (isset($_REQUEST[cmd])) {$json $_REQUEST[cmd];if (!is_string($json)) {echo Hacking attempt de…