【ICCV2023】频率成分在少样本学习中的重要性

news2024/12/27 12:32:05

论文标题:Frequency Guidance Matters in Few-Shot Learning

论文链接:https://openaccess.thecvf.com/content/ICCV2023/html/Cheng_Frequency_Guidance_Matters_in_Few-Shot_Learning_ICCV_2023_paper.html

代码:暂未开源

引用:Cheng H, Yang S, Zhou J T, et al. Frequency Guidance Matters in Few-Shot Learning[C]//Proceedings of the IEEE/CVF International Conference on Computer Vision. 2023: 11814-11824.

a364b1325f103a99da411ecc97ecfcbd.png

导读

少样本学习旨在学习一种具有判别性的特征表示,以便使用很少标记的支持样本来识别未见过的类别。虽然大多数少样本学习方法关注图像样本的空间信息,但频率表示在分类任务中也被证明是重要的。本文研究了不同频率分量对少样本学习任务的影响。

为了增强少样本学习方法的性能和泛化能力,作者提出了一种新颖的"Frequency-Guided Few-shot Learning"(FGFL)框架,该框架利用任务特定的频率成分来自适应地遮蔽相应的图像信息。该框架采用了一种新颖的多级度量学习策略,包括原始图像、遮蔽图像和未遮蔽图像之间的三元损失,以及遮蔽和原始支持集和查询集之间的对比损失,以利用更多的判别性信息。

作者进行了广泛的实验,涵盖了四个基准数据集,并考察了几种不同的少样本学习场景,包括标准场景、跨数据集、跨领域和粗粒度注释分类。无论是定性还是定量的结果都表明,所提出的FGFL方案能够关注与类别判别相关的频率成分,从而将这些信息整合到更有效和更具泛化性的少样本学习中。

本文贡献

首先,本文提出了FGFL框架,利用频率信息来增强少样本学习方法在空间域中的性能和泛化能力。

其次,提出了两种类型的排名损失函数,包括原始和生成图像的样本和任务级别的三元组和对比损失函数,以强制网络专注于每个少样本元任务的类别判别频率成分。此外,生成的未遮蔽图像也被用于增强支持集的可区分性。

第三,研究了不同频率成分对当前方法在几种泛化少样本设置下的影响,即跨数据集、跨领域和粗到细粒度注释泛化。实验证明了所提出的FGFL能够提高少样本方法的性能和泛化能力,在几种少样本设置下获得了卓越的结果。

相关工作

少样本学习

少样本学习的目标是识别只有少数可用的支持样本的新的查询样本。近年来,现有的深度少样本学习方法主要可分为三类。首先,基于优化的元学习方法[2,11,20,28,33]依赖于设计一种良好的模型初始化或优化策略,能够快速适应新的任务。其次,基于度量的方法[7,29,30,36,48,55,58]专注于构建一个合适的潜在空间来提取区别性特征嵌入,然后基于支持样本和查询样本之间的相似性进行预测。第三,基于数据生成和增强的方法侧重于生成更多的变异样本来学习更准确的分类器,例如,通过自监督学习应用数据旋转或转换[21],用生成模型[14,23]合成新数据,或使用带有伪标签[18,44,52]的外部数据。上述算法大多只使用空间图像作为网络输入,而没有利用频率信息。在本文的工作中,作者研究了频率信息在离散余弦变换(DCT)域中的影响,并利用它来指导空间域中的少样本分类。

频域学习

频域学习包含丰富的图像理解模式,在一些计算机视觉任务中得到了广泛的研究,如压缩感知[43,51,56]、视觉预训练[47]、域转移[19,53]和图像分类[4,8,32,42,50]。Yang等人,[53]使用快速傅里叶变换(FFT),通过简单地在源域和目标域样本之间交换低频频谱来实现域对齐。最近的一些工作考虑应用离散余弦变换(DCT)在频域进行学习。

在这项工作中,本文也使用DCT将图像转换到频域。与之前的工作[4]不同,作者考虑了空间域和频率域之间的相互作用,并学习生成区分频率掩模,以增强空间域的学习。

本文方法

少样本学习的频率分析

这部分研究了频率成分对不同少样本分类设置下现有少样本方法的泛化性能的影响。研究通过在元任务中去除和保留每个图像的部分频率成分,用于进行类别预测。为了生成输入RGB图像X的频率表示,作者采用了2D-离散余弦变换(2D-DCT)函数,得到D = DCT(X)。

然后,可以去除或保留每个输入图像的部分频率成分,随后再应用反2D-DCT函数,将其转换回到具有原始输入尺寸的空间域,得到

eac8359ec51c95b64e4c9faf13d40645.png

通过使用DCT函数,可以将原始数据分解为两部分

ccb6da297e59151687717312cf7a6d91.png
,其中XH和XO分别代表高频成分和其他成分。

对于给定的新测试集上的少样本任务

768b0672c97ec9b86c00d0a6a01f3e3b.png
,可以使用部分频率信息重建图像以更新测试任务,得到 fda4e15dc14e96463d2cdcdfda1347bc.png
。然后,采用现有的少样本方法来为每个查询样本 c8af6e7c39354deb1c26b4ecfacbc5f9.png
进行预测。表1显示了在不同测试领域上的分类准确度,图2绘制了经过训练的特征编码器提取的图像特征的t-SNE可视化。 5c5d46291e0e8a81cf2c60be86c2d9fe.png
42535fa3cccba2f151a207cf46dd9b93.png

可以观察到,去除特定频率成分可以提高少样本模型的泛化性能,但会降低相同测试场景下的标准少样本性能。因此,频率信息在不同分类场景中起到不同的作用。通过评估和观察,可以推测少样本方法的泛化行为与频率成分有关,而这些频率成分在不同数据集和领域之间可能有所变化。

频率引导的少样本学习
e939f3aa0152f9ec350a70875dc88a38.png

由于不同的频率成分编码了特定的图像信息,作者提出了"Frequency-Guided Few-shot Learning"(FGFL)框架,利用频率掩模来指导在空间域中的训练。如图3所示,FGFL具有两个分支,分别具有两个编码器

b471c0c02dd4319a7ac397fd8eef95d8.png
,用于在频率和空间域中进行特征提取。

首先,根据频率域中的分类生成任务特定的类别判别频率掩模。这个掩模会突出与当前任务相关的重要频率信息。接下来,我们将遮蔽和未遮蔽的频率样本转换回到空间域,并根据遮蔽和未遮蔽区域生成两个图像集。最后,采用新颖的多级度量策略(如图4所示)来进行类别预测。

daea976700017ca42ec8af2bcd9b3902.png

图4为所提出的多级度量策略的示意图。具体来说,对于元任务中图像集X中的每一幅图像,我们分别从相应的未掩蔽和掩蔽集

59f38ab6465c9306984c8fc81ee8e1cf.png
中构建其三元组,作为正对和负对,分别采用样本级别的三元组损失 deefe41e9eeccd7e44ff2bb21feee263.png
来挖掘它们之间的关联。

在任务级别,我们通过重新组合

23964b5f6456b06c54dce0c50c5882e0.png
中的图像构建了两个额外的少样本任务。然后,我们提出了一个类别级对比损失 560200035f6d1f8b5b706da1d4a158f1.png
,用于处理正对(原始支持和查询样本)和负对(来自不同集合的支持和查询样本)。 2f6762939c5abb4c1ebb421f0d988198.png
计算如下: f2b11c7e1ffdac893f99060374ea6d74.png

其中,

567942d480f83bd22defe74d932abcb0.png

此外,为了分类,我们使用未遮蔽的图像来增强支持集,并使用

d2b1cfd67eaf642730fab711004822a8.png
损失。 f4bde0be93ddf7db68e8119f8388a574.png
计算如下: 252368ceef6cdedd70471130705032de.png

其中,

3ef365debe68b513322b9380a10c73ad.png
9cbc4f6b77392bb6e7685f71b93b3eb8.png

增强分类损失:

f8646d381a4f543cc3c29ebcce88a51c.png

综上,总体分类损失如下:

6ce627684c6765f33c9c2e18bd632628.png

实验

实验结果

与SOTA的比较:

293d990528be68234a352adf00d94aad.png

可视化结果:

1358541050baf62fae7fb0fa66a7ab15.png

5-way 5-shot 设置下的结果:

0e8c1e3e4e3049e296b99e6d51e9d68c.png

3-way 1-shot设置下的三个具有挑战性的少样本泛化场景:

35476d321e5d10b6ce164ee5eae6ef4f.png
消融实验
635ef347301c2314a832b661760037a0.png

结论

本文提出了一种新的频率引导的少样本学习(FGFL)框架,用于少样本的分类和泛化。具体而言,DCT域中由分类梯度生成的频率掩模可以强调当前元任务中的类别判别频率组分。本文提出的多级度量策略,包括样本级三元组损失和类别级对比损失,可以更好地利用样本和任务级别的频率信息,并鼓励模型捕获更多与任务相关的频率信息,以帮助空间域中的分类。此外,本文系统地研究了频率信息对少样本泛化行为的影响。大量实验证明,FGFL在标准少样本设置上取得了与最先进方法相竞争的结果,并显著改善了在未见测试领域的泛化性能。

☆ END ☆

如果看到这里,说明你喜欢这篇文章,请转发、点赞。微信搜索「uncle_pn」,欢迎添加小编微信「 woshicver」,每日朋友圈更新一篇高质量博文。

扫描二维码添加小编↓

ee372b2d05986123f14106ee5850da22.jpeg

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

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

相关文章

基于SpringBoot的医院后台管理系统设计与实现

目录 前言 一、技术栈 二、系统功能介绍 管理员功能实现 患者管理 公告信息管理 公告类型管理 三、核心代码 1、登录模块 2、文件上传模块 3、代码封装 四、结论 前言 信息数据从传统到当代,是一直在变革当中,突如其来的互联网让传统的信息管理…

[云原生1.] Docker镜像的创建

文章目录 1. Docker镜像概述1.1 简介1.2 镜像结构的分层详解 2. 创建Docker镜像的方法类别2.1 基于已有镜像创建2.1.1 创建流程2.1.2 示例 2.2 基于本地模板创建2.2.1 示例 2.3 基于Dockerfile 创建 3. 联合文件系统(UnionFS)2.1 简介2.2 特性 4. Docker…

云原生-AWS EC2使用、安全性及国内厂商对比

目录 什么是EC2启动一个EC2实例连接一个实例控制台ssh Security groups规则默认安全组与自定义安全组 安全性操作系统安全密钥泄漏部署应用安全元数据造成SSRF漏洞出现时敏感信息泄漏网络设置错误 厂商对比参考 本文通过实操,介绍了EC2的基本使用,并在功…

【排序算法】 归并排序详解!分治思想!

🎥 屿小夏 : 个人主页 🔥个人专栏 : 算法—排序篇 🌄 莫道桑榆晚,为霞尚满天! 文章目录 📑前言🌤️归并排序的思想☁️基本思想☁️归并的思想实现☁️分治法 &#x1f3…

并发编程 -常用并发设计模式

1. 优雅终止线程的设计模式 思考:在一个线程 T1 中如何优雅的终止线程 T2? 错误思路1:使用线程对象的 stop() 方法停止线程 stop 方法会真正杀死线程,如果这时线程锁住了共享资源,那么当它被杀死后就再也没有机会释 …

C/C++角谷猜想 2020年12月电子学会青少年软件编程(C/C++)等级考试一级真题答案解析

目录 C/C角谷猜想 一、题目要求 1、编程实现 2、输入输出 二、算法分析 三、程序编写 四、程序说明 五、运行结果 六、考点分析 C/C角谷猜想 2020年12月 C/C编程等级考试一级编程题 一、题目要求 1、编程实现 所谓角谷猜想,是指对于任意一个正整数&…

windows电脑安装系统后固态硬盘和机械硬盘的盘符号顺序显示错乱,解决方法

一、场景 由于电脑磁盘是SSD固态硬盘自己拓展的1T机械硬盘组成,固态硬盘分为C、D两个盘区,机械硬盘分为E、F两个盘区。为了提升运行速度,系统安装在C盘,安装完成后按照习惯盘区顺应该为C、D、E、F,但实际情况却是D、E…

剑指offer --- 二维数组中的元素查找

目录 一、读懂题目 二、思路分析 三、代码呈现 总结 一、读懂题目 题目: 在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的个二维数组和一个整数&#…

用baostock库获取沪深300成分股

先看效果: 代码,bs_get_hs300.py import baostock as bs import pandas as pd# 登陆系统 lg bs.login() # 显示登陆返回信息 print(login respond error_code:lg.error_code) print(login respond error_msg:lg.error_msg)# 获取沪深300成分股 rs bs…

Android开发工具介绍(adb、AVD、DDMS)

目录 1. adb 1.1 查看设备 1.2 安装软件 1.3 卸载软件 1.4 登录设备 shell 1.5 从计算机上发送文件到目标机 1.6 从目标机上下载文件到计算机 1.7 显示帮助信息 2. AVD 2.1 AVD 的创建 2.2 启动 AVD 模拟器 3. DDMS 3.1 DDMS的启动方法 3.2 DDMS 工…

H5游戏源码分享-密室逃脱小游戏(考验反应能力)

H5游戏源码分享-密室逃脱小游戏&#xff08;考验反应能力&#xff09; 预判安全位置&#xff0c;这个需要快速的反应能力 源码 <!DOCTYPE html> <html> <head> <meta http-equiv"Content-Type" content"text/html; charsetutf-8" /&…

WEB登录设备控制台异常——TLS协议问题

问题描述&#xff1a;登录设备web控制台浏览器报错&#xff0c;切换其他浏览器也有问题。 出现这个问题&#xff0c;大概率是网站支持的TLS协议很低&#xff0c;而浏览器的TLS协议很高&#xff0c;那么就是是降浏览器的TLS版本。 解决步骤&#xff1a; 1、火狐浏览器地址栏输…

DbVisualizer和DBeaver启动不来,启动报错

启动报错 大多数启动报错都是因为你没有用管理员身份运行程序&#xff0c;提示的错误都是八竿子打不着的什么jdk、jvm问题。 比如DbVisualizer提示什么jvm配置参数&#xff0c;实际dbvis.exe 用管理员身份打开即可&#xff08;右键 dbvis.exe->属性->兼容性->勾上 “…

计算机毕业设计选题推荐-社区志愿者服务微信小程序/安卓APP-项目实战

✨作者主页&#xff1a;IT毕设梦工厂✨ 个人简介&#xff1a;曾从事计算机专业培训教学&#xff0c;擅长Java、Python、微信小程序、Golang、安卓Android等项目实战。接项目定制开发、代码讲解、答辩教学、文档编写、降重等。 ☑文末获取源码☑ 精彩专栏推荐⬇⬇⬇ Java项目 Py…

Android View 的绘制流程之 Measure 过程详解

由于 performTraversals 方法比较长&#xff0c;看一个简化版&#xff1a; // ViewRootImpl 类 private void performTraversals() {// 这个方法代码非常多&#xff0c;但是重点就是执行这三个方法// 执行测量performMeasure(childWidthMeasureSpec, childHeightMeasureSpec);…

[EFI]asus strix b760-i 13900F电脑 Hackintosh 黑苹果efi引导文件

硬件型号驱动情况主板 asus strix b760-i 处理器 I9 13900F 已驱动内存crucial ddr5-5200 64gb(32gb*2)(overclock 5600)已驱动硬盘 WD black sn850 500g*2 已驱动显卡rx570已驱动声卡Realtek ALCS1220A已驱动网卡Intel I225-V 2.5 Gigabit Ethernet已驱动无线网卡蓝牙Fevi T91…

Spring Cloud之Gateway网关学习【详细】

目录 统一网关Gateway 网关的实现 搭建网关 编写配置文件 路由断言工程 路由的过滤器 全局过滤器 网关过滤器执行顺序 网关的cors跨域配置 问题及解决 统一网关Gateway 网关的实现 SpringCloud中存在两种网关 gateway&#xff1a;基于Spring5中提供的WebFlux实现&a…

[AUTOSAR][诊断管理][ECU][$28] 通信控制

文章目录 一、简介二、 应用场景三、通信控制基本原理四、服务请求请求格式请求实例服务响应正响应格式负响应NRC支持五、常见Bug大揭秘六、示例代码28_comm_ctl.c一、简介 根据ISO14119-1标准中所述,诊断服务28服务主要用于网络中的报文发送与接受,比如控制应用报文的发送与…

java支持3种网络编程模型,以及在web项目中的应用

之前有总结过linux中的5种IO模型 https://blog.csdn.net/weixin_45068892/article/details/127424119 本次主要讲一下java中支持的IO模型。 Java共支持3种网络编程IO模式&#xff0c;及应用场景 BIO NIO AIO https://blog.csdn.net/CSDN_GIA/article/details/128535848 BIO…

idea:解决jsp request.getParameter爆红的问题

文章目录 1. 复现错误2. 分析问题3. 解决问题 1. 复现错误 今天在写jsp代码时&#xff0c;出现如下错误&#xff1a; 2. 分析问题 这是没有引入相关jsp的相关jar包引起的。 我们可按如下步骤&#xff0c;引入jsp的相关jar包。 3. 解决问题 File -> Project Structure -&g…