当前位置: 首页 > news >正文

Deep Frequency Filtering for Domain Generalization论文阅读笔记

在这里插入图片描述

这是CVPR2023的一篇论文,讲的是在频域做domain generalization,找到频域中generalizable的分量enhance它,suppress那些影响generalization的分量

  • DG是一个研究模型泛化性的领域,尝试通过各自方法使得模型在未见过的测试集上有良好的泛化性。
  • intro部分指出,低频分量更好泛化,而高频分量的拟合则是泛化性和准确率的trade off,当对高频分量拟合得更好,在相同domain的测试集上准确率会越高,但是在不同domian的测试集上准确率则下降。我的理解是,不同domain的差别在高频分量上是很复杂的,从而使得对高频分量进行拟合降低了泛化性。而低频分量上的差距主要是亮度上的差距,总体来说是比较简单的线性映射,很容易泛化。但也有例外,low-light image enhancement主要处理的应该就是低频分量的泛化吧,还得通过实验确定。

方法部分

  • 文章的模型基于Fast Fourier Convolution(FFC)进行修改

  • related works的第二段介绍了很多基于频率域的研究,有时间可以集中看一看

  • 对空间域特征图做傅里叶变换,然后再进行处理,网络结构图如下:
    在这里插入图片描述

  • 首先上述的网络结构图仅仅是示意,并非最终的网络结构图。文章把设计的DFF Module用到了FFC的网络结构上。首先,经过傅里叶变换后的特征图先用1x1的卷积、BN和ReLU处理特征,得到embedding,然后用一个简单的注意力机制提取注意力图,并把得到的注意力图复制到不同的channel和embedding进行element-wise地相乘,得到了最终的频域输出,再反傅里叶变换变回空间域特征。

  • 有两点要注意的,一是注意力机制是可以换的,文章只是用了最简单的注意力机制,先做通道上的maxpooling和average pooling得到两通道的特征图,然后做7x7的卷积接一个sigmoid得到注意力图。二是,从图上看起来好像你一直空间域频率域变来变去有点笨比,一直在频率域处理不就行了,是因为这个图只是示意图,最终其实是在FFC的网络结构上的,这个网络结构是two-branch的,有空间域的卷积也有频率域的卷积,所以才需要一直变来变去。

  • FFC的网络结构大概是这样的,可以直接在普通的卷积神经网络上修改而成(如resnet),文章认为傅里叶频域的特征是全局特征,所以把特征图按通道分了两个branch,一个branch是全局特征branch,一个branch是局部特征branch,然后全局特征branch用傅里叶卷积处理(其实就是先傅里叶变换再卷积再反傅里叶变换),局部特征branch则用普通卷积。同时,还有两个branch之间的交互,交互的处理用普通卷积,因此大概就是如下公式(四个f中3个是普通卷积一个是傅里叶卷积,l是local,g是global):
    在这里插入图片描述

  • 网络的训练则是用了DG的训练方式,两个loss,一个是要预测正确的domain,一个是要预测正确的label(分类任务)

实验部分

  • 实验设置:衡量DG的性能一般是在某个任务上找一些不同domain的数据集,比如N个数据集,选其中N-1个作为训练集,第N个作为测试集,衡量在测试集上的性能。文章选的是两个任务,一个是分类任务,一个是行人重识别任务,
  • 可以看到,消融实验部分,相比FFC,加了DDF的确实是有提高,而且频率域的才有提高也说明了模块确实是按设想的在工作:
    在这里插入图片描述

在这里插入图片描述

  • 还有一个实验,作者可视化了attention map,发现确实如前面所说,低频的注意力比较高,高频的注意力比较低:
    在这里插入图片描述

相关文章:

Deep Frequency Filtering for Domain Generalization论文阅读笔记

这是CVPR2023的一篇论文,讲的是在频域做domain generalization,找到频域中generalizable的分量enhance它,suppress那些影响generalization的分量 DG是一个研究模型泛化性的领域,尝试通过各自方法使得模型在未见过的测试集上有良好…...

视频里的声音怎么转换成音频?

视频里的声音怎么转换成音频?这样我们就能把视频里的想要的声音在其他音频平台播放或是用于其他视频。其实视频提取音频是一种将视频文件中的音频数据分离出来的技术。该技术可以将视频中的音频转换为不同的格式,让我们可以在无需视频的情况下使用音频文…...

1.1. Java简介与安装

Java简介 Java是一种广泛使用的计算机编程语言,由James Gosling和他的团队在Sun Microsystems公司开发,于1995年首次发布。Java的设计理念是“一次编写,到处运行”,这意味着Java应用程序可以在任何支持Java运行时环境&#xff08…...

Elasticsearch 8.X 性能优化参考 —— 筑梦之路

Elasticsearch 是实现用户无缝搜索体验的关键工具。它通过提供快速、准确和相关的搜索结果,彻底改变了用户与应用程序的互动方式。然而,要确保 Elasticsearch 部署达到最佳性能,就必须关注关键指标,并对诸如索引、缓存、查询、搜索…...

通过强化学习走直线理解基本概念

摘要: 一条线上包含起点和终点共有6个格子,起点在左终点在右。假设智能体已经学到了最优的策略,并且在每一步行动时,以 0.9 0.9 0.9 的概率选择最优策略(也就是往右),以 0.1 0.1 0.1 的概率选…...

Java字符流

5 字符流 5.1 为什么出现字符流 由于字节流操作中文不是特别的方便,所以Java就提供字符流字符流=字节流+编码表用字节流复制文本文件时,文本文件也会有中文,但是没有问题,原因是最终底层操作会自动进行字节拼接成中文,如何识别是中文的呢? 汉字在存储的时候, 无论选择哪…...

2023年上半年信息系统项目管理师上午真题及答案解析

1.“新型基础设施”主要包括信息技术设施、融合基础设施和创新基础设施三个方面。其中信息基础设施包括( )。 ①通信基础设施 ②智能交通基础设施 ③新技术基础设施 ④科教基础设施 ⑤算力基础设施 A.①③⑤ B.①④⑤ C.②③④ D.②…...

LeetCode 739 每日温度

题目: 给定一个整数数组 temperatures ,表示每天的温度,返回一个数组 answer ,其中 answer[i] 是指对于第 i 天,下一个更高温度出现在几天后。如果气温在这之后都不会升高,请在该位置用 0 来代替。 示例 1…...

介绍几种常见的运维发布策略

随着Devops的发展,为了提高运维发布的成功率,探索出了多种发布策略。本文简单介绍几种常见发布策略, 以及它们适用的场景和优缺点。 第一种,停机发布 这是最早的一种发布策略,停机发布会在发布以前关闭服务,停止用户…...

C++ QT QDBus进阶用法。

以下是使用QDBus的高级用法示例代码&#xff1a; 1. 使用DBus的异步调用机制&#xff1a; #include <QCoreApplication> #include <QDebug> #include <QDBusConnection> #include <QDBusPendingCallWatcher> class MyDBusObject : public QObject …...

2023-5-26 LeetCode每日一题(二进制矩阵中的最短路径)

2023-05-29每日一题 一、题目编号 1091. 二进制矩阵中的最短路径二、题目链接 点击跳转到题目位置 三、题目描述 给你一个 n x n 的二进制矩阵 grid 中&#xff0c;返回矩阵中最短 畅通路径 的长度。如果不存在这样的路径&#xff0c;返回 -1 。 二进制矩阵中的 畅通路径…...

博客系统后端设计(七) - 实现显示用户信息与注销功能

文章目录 1. 显示用户信息1.1 约定前后端交互接口1.2 修改列表页的前段代码1.3 实现详情页的后端代码1.4 实现详情页的前端代码 2. 注销2.1 确定前后端交互接口2.2 实现后端代码2.3 修改前端代码 1. 显示用户信息 此处的用户名是写死的&#xff0c;我们希望的是此处是能够动态生…...

Spring5 学习笔记

前置知识&#xff1a; 掌握Java基础知识&#xff08;特别是反射&#xff09;掌握Java注解掌握XML掌握Maven Spring5学习笔记 1、Spring概述1.1、简介1.2、优点1.3、组成1.4、拓展 2、IOC理论推导2.1、分析实现2.2、IOC本质 3、HelloSpring3.1、导入jar包3.2、编写代码3.3、思考…...

leetcode--分隔链表(java)

分割链表 leetcode 86 分割链表 &#xff08;中等&#xff09;解题思路&#xff1a;链表专题 leetcode 86 分割链表 &#xff08;中等&#xff09; leetcode 86 分割链表 原题链接&#xff0c;可以直接测试 给你一个链表的头节点 head 和一个特定值 x &#xff0c;请你对链表进…...

使用 AD8232 ECG 传感器和 ESP32 进行基于物联网的 ECG 监测

这篇文章是使用 AD8232 ECG 传感器和 ESP32 进行基于物联网的 ECG 监测。可以从世界任何地方在线观察来自患者心脏的心电图信号。 目录 概述 什么是心电图? 心电图的医疗用途 AD8232 心电图传感器...

【Linux初阶】基础IO - 文件操作(使用系统接口实现) | vim批量注释代码

&#x1f31f;hello&#xff0c;各位读者大大们你们好呀&#x1f31f; &#x1f36d;&#x1f36d;系列专栏&#xff1a;【Linux初阶】 ✒️✒️本篇内容&#xff1a;重新理解文件和文件操作&#xff0c;C语言实现的简单文件操作&#xff0c;文本初始权限&#xff0c;系统接口介…...

网络安全之信息收集

​​​第一部分&#xff1a;被动信息收集 1、简介 ​ 在信息收集这块区域&#xff0c;我将其分为两部分&#xff1a;第一部分即被动信息收集&#xff0c;第二部分即主动信息收集。 ​ 对于标准的渗透测试人员来说&#xff0c;当明确目标做好规划之后首先应当进行的便是信息收…...

ModuleNotFoundError: No module named ‘_lzma‘

安装torchvision报错&#xff1a;ModuleNotFoundError: No module named ‘_lzma’ 参考文章&#xff1a;https://zhuanlan.zhihu.com/p/404162713 解决思路&#xff1a;用backports.lzma代替_lzma包 解决步骤&#xff1a;(ubuntu系统) 安装依赖sudo apt-get install liblzma-d…...

标点符号相关的英语单词

Comma - 逗号 Period - 句号 Question mark - 问号 Exclamation mark - 感叹号 Semicolon - 分号 Colon - 冒号 Quotation marks - 引号 Parentheses - 括号 Brackets - 方括号 Hyphen - 连字符 Dash - 破折号 Ellipsis - 省略号 Apostrophe - 省略符号 Slash - 斜杠 Backslash…...

MyBatis的部分知识点

一、resultMap的constructor配置方式 <resultMap id"" type""> <constructor> <!--主键--> <idArg column"id" javaType"_int"/> <!--其他列--> …...

19c补丁后oracle属主变化,导致不能识别磁盘组

补丁后服务器重启&#xff0c;数据库再次无法启动 ORA01017: invalid username/password; logon denied Oracle 19c 在打上 19.23 或以上补丁版本后&#xff0c;存在与用户组权限相关的问题。具体表现为&#xff0c;Oracle 实例的运行用户&#xff08;oracle&#xff09;和集…...

ES6从入门到精通:前言

ES6简介 ES6&#xff08;ECMAScript 2015&#xff09;是JavaScript语言的重大更新&#xff0c;引入了许多新特性&#xff0c;包括语法糖、新数据类型、模块化支持等&#xff0c;显著提升了开发效率和代码可维护性。 核心知识点概览 变量声明 let 和 const 取代 var&#xf…...

【HarmonyOS 5.0】DevEco Testing:鸿蒙应用质量保障的终极武器

——全方位测试解决方案与代码实战 一、工具定位与核心能力 DevEco Testing是HarmonyOS官方推出的​​一体化测试平台​​&#xff0c;覆盖应用全生命周期测试需求&#xff0c;主要提供五大核心能力&#xff1a; ​​测试类型​​​​检测目标​​​​关键指标​​功能体验基…...

ABAP设计模式之---“简单设计原则(Simple Design)”

“Simple Design”&#xff08;简单设计&#xff09;是软件开发中的一个重要理念&#xff0c;倡导以最简单的方式实现软件功能&#xff0c;以确保代码清晰易懂、易维护&#xff0c;并在项目需求变化时能够快速适应。 其核心目标是避免复杂和过度设计&#xff0c;遵循“让事情保…...

LeetCode - 199. 二叉树的右视图

题目 199. 二叉树的右视图 - 力扣&#xff08;LeetCode&#xff09; 思路 右视图是指从树的右侧看&#xff0c;对于每一层&#xff0c;只能看到该层最右边的节点。实现思路是&#xff1a; 使用深度优先搜索(DFS)按照"根-右-左"的顺序遍历树记录每个节点的深度对于…...

Mysql8 忘记密码重置,以及问题解决

1.使用免密登录 找到配置MySQL文件&#xff0c;我的文件路径是/etc/mysql/my.cnf&#xff0c;有的人的是/etc/mysql/mysql.cnf 在里最后加入 skip-grant-tables重启MySQL服务 service mysql restartShutting down MySQL… SUCCESS! Starting MySQL… SUCCESS! 重启成功 2.登…...

pikachu靶场通关笔记19 SQL注入02-字符型注入(GET)

目录 一、SQL注入 二、字符型SQL注入 三、字符型注入与数字型注入 四、源码分析 五、渗透实战 1、渗透准备 2、SQL注入探测 &#xff08;1&#xff09;输入单引号 &#xff08;2&#xff09;万能注入语句 3、获取回显列orderby 4、获取数据库名database 5、获取表名…...

通过MicroSip配置自己的freeswitch服务器进行调试记录

之前用docker安装的freeswitch的&#xff0c;启动是正常的&#xff0c; 但用下面的Microsip连接不上 主要原因有可能一下几个 1、通过下面命令可以看 [rootlocalhost default]# docker exec -it freeswitch fs_cli -x "sofia status profile internal"Name …...

规则与人性的天平——由高考迟到事件引发的思考

当那位身着校服的考生在考场关闭1分钟后狂奔而至&#xff0c;他涨红的脸上写满绝望。铁门内秒针划过的弧度&#xff0c;成为改变人生的残酷抛物线。家长声嘶力竭的哀求与考务人员机械的"这是规定"&#xff0c;构成当代中国教育最尖锐的隐喻。 一、刚性规则的必要性 …...

跨平台商品数据接口的标准化与规范化发展路径:淘宝京东拼多多的最新实践

在电商行业蓬勃发展的当下&#xff0c;多平台运营已成为众多商家的必然选择。然而&#xff0c;不同电商平台在商品数据接口方面存在差异&#xff0c;导致商家在跨平台运营时面临诸多挑战&#xff0c;如数据对接困难、运营效率低下、用户体验不一致等。跨平台商品数据接口的标准…...