FcaNet: Frequency Channel Attention Networks

news2025/2/24 9:34:35

FcaNet: Frequency Channel Attention Networks

  • Abstract
  • 预备知识
    • GAP
    • DTC(离散余弦变换)
  • 本文method
    • Revisiting DCT and Channel Attention
      • Channel Attention
    • Multi-Spectral Channel Attention
      • Multi-Spectral Channel Attention Module
      • Criteria for Choosing Frequency Component

主要贡献在于把channel attention改为multi-spectral channel attention

Abstract

注意力机制,尤其是通道注意力,在计算机视觉领域取得了巨大的成功。许多研究集中于如何设计有效的通道注意力机制,而忽略了一个根本问题,即通道注意力机制使用标量来表示通道,这是由于大量信息丢失而带来的困难。在这项工作中,我们从不同的角度出发,利用频率分析将信道表示问题视为一个压缩过程。基于频率分析,我们从数学上证明了传统的全局平均池是频域特征分解的特例。通过证明,我们自然地在频域推广了信道注意力机制的压缩,并提出了多光谱信道注意力的方法,称为FcaNet。FcaNet简单但有效。我们可以在计算中更改几行代码,以便在现有的channel注意力方法中实现我们的方法。此外,与其他通道注意力方法相比,该方法在图像分类、目标检测和实例分割任务方面取得了最新的结果。在相同的参数数量和相同的计算成本下,我们的方法可以始终优于基线SENet。

预备知识

GAP

全局平均池化是在论文Network in Network中提出的

GAP

如果要预测K个类别,在卷积特征抽取部分的最后一层卷积层,就会生成K个特征图,
然后通过全局平均池化就可以得到 K个1×1的特征图,将这些1×1的特征图输入到softmax layer之后,每一个输出结果代表着这K个类别的概率(或置信度 confidence),起到取代全连接层的效果。

优点:

  • 和全连接层相比,使用全局平均池化技术,对于建立特征图和类别之间的关系,是一种更朴素的卷积结构选择。
  • 全局平均池化层不需要参数,避免在该层产生过拟合。
  • 全局平均池化对空间信息进行求和,对输入的空间变化的鲁棒性更强。

DTC(离散余弦变换)

DCT,即离散余弦变换,常用图像压缩算法,步骤如下:

  • 首先将图像分割成8x8或16x16的小块;
  • DCT变换,对每个小块进行DCT变换;
  • 舍弃高频系数(AC系数),保留低频信息(DC系数)。高频系数一般保存的是图像的边界、纹理信息,低频信息主要是保存的图像中平坦区域信息。
    图像的低频和高频,高频区域指的是空域图像中突变程度大的区域(比如目标边界区域),通常的纹理丰富区域。

二维DCT变换就是将二维图像从空间域转换到频率域。形象的说,就是计算出图像由哪些二维余弦波构成,其主要用于数据或图像的压缩,能够将空间域的信号转换到频域上,具有良好的去相关性的性能。二维的DTC​​公式如下:
f h , w 2   d = ∑ i = 0 H − 1 ∑ j = 0 W − 1 x i , j 2   d cos ⁡ ( π h H ( i + 1 2 ) ) cos ⁡ ( π h W ( j + 1 2 ) ) \mathrm{f}_{\mathrm{h}, \mathrm{w}}^{2 \mathrm{~d}}=\sum_{\mathrm{i}=0}^{\mathrm{H}-1} \sum_{\mathrm{j}=0}^{\mathrm{W}-1} \mathrm{x}_{\mathrm{i}, \mathrm{j}}^{2 \mathrm{~d}} \cos \left(\frac{\pi \mathrm{h}}{\mathrm{H}}\left(\mathrm{i}+\frac{1}{2}\right)\right) \cos \left(\frac{\pi \mathrm{h}}{\mathrm{W}}\left(\mathrm{j}+\frac{1}{2}\right)\right) fh,w2 d=i=0H1j=0W1xi,j2 dcos(Hπh(i+21))cos(Wπh(j+21))
二维的逆DTC公式如下:
x h , w 2   d = ∑ h = 0 H − 1 ∑ w = 0 W − 1 f i , j 2   d cos ⁡ ( π h H ( i + 1 2 ) ) cos ⁡ ( π h W ( j + 1 2 ) ) \mathrm{x}_{\mathrm{h}, \mathrm{w}}^{2 \mathrm{~d}}=\sum_{\mathrm{h}=0}^{\mathrm{H}-1} \sum_{\mathrm{w}=0}^{\mathrm{W}-1} \mathrm{f}_{\mathrm{i}, \mathrm{j}}^{2 \mathrm{~d}} \cos \left(\frac{\pi \mathrm{h}}{\mathrm{H}}\left(\mathrm{i}+\frac{1}{2}\right)\right) \cos \left(\frac{\pi \mathrm{h}}{\mathrm{W}}\left(\mathrm{j}+\frac{1}{2}\right)\right) xh,w2 d=h=0H1w=0W1fi,j2 dcos(Hπh(i+21))cos(Wπh(j+21))
我们称二者的共有项为基函数:
B h , w i , j = cos ⁡ ( π h H ( i + 1 2 ) ) cos ⁡ ( π h W ( j + 1 2 ) ) \mathrm{B}_{\mathrm{h}, \mathrm{w}}^{\mathrm{i}, \mathrm{j}}=\cos \left(\frac{\pi \mathrm{h}}{\mathrm{H}}\left(\mathrm{i}+\frac{1}{2}\right)\right) \cos \left(\frac{\pi \mathrm{h}}{\mathrm{W}}\left(\mathrm{j}+\frac{1}{2}\right)\right) Bh,wi,j=cos(Hπh(i+21))cos(Wπh(j+21)) 当h=0、w=0时,就等价于GAP

本文method

传统的通道注意方法致力于构建各种通道重要性权重函数,这种权重函数要求每个通道都有一个标量来进行计算,由于计算开销有限,简单有效的全局平均池化(GAP)成为了他们的不二之选。但是一个潜在的问题是GAP​是否能够捕获丰富的输入信息,也就是说,仅仅平均值是否足够表示通道注意力中的各个通道。

GAP的不足与分析:
1)不同的通道可能拥有相同的平均值,而其代表的语义信息是不相同的;
2)从频率分析的角度,可以证明GAP等价于DCT​​的最低频率,仅仅使用GAP相当于丢弃了其他许多包含着通道特征的信息;
3)CBAM还表示,仅使用GAP是不够的,因此额外引入了GMP​。​

Revisiting DCT and Channel Attention

在这里插入图片描述

Channel Attention

通道注意力机制在 CNN 中广泛应用。它使用一个可学习的网络对各个通道的重要度加权,生成更有意义的输出。假设 X ∈ R C × H × W X\in \mathbb{R}^{C\times H\times W} XRC×H×W是图像特征张量, C是通道数, H,W分别是特征图的高度和宽度。然后该注意力机制可以写成: a t t = s i g m o i d ( f c ( c o m p r e s s ( X ) ) ) , (4) att=sigmoid(fc(compress(X))),\tag{4} att=sigmoid(fc(compress(X))),(4)其中 a t t ∈ R C att\in \mathbb{R}^C attRC 是注意力向量,sigmoid是Sigmoid函数, f c fc fc表示全连接层或一维卷积的映射函数, compress表示一个通道压缩方法,例如,全局平均池化。得到所有 C个通道的注意力向量后,输入 X 的每个通道都用下面对应的注意力值来缩放: X ~ : , : , i , : = a t t i X : , : , i , : s . t . i ∈ { 0 , 1 , . . . , C − 1 } , (5) \tilde{X}_{:,:,i,:}=att_iX_{:,:,i,:} s.t. i\in\{0,1,...,C-1\}, \tag{5} X~:,:,i,:=attiX:,:,i,:s.t.i{0,1,...,C1},(5) X ~ \tilde{X} X~是注意力机制的输出, a t t i att_i atti 是注意力向量中第 i 个元素, X : , i , : , : X_{:,i,:,:} X:,i,:,: 是输入的第个通道。

有了通道注意力和DCT的定义,我们可以总结出2个关键特性:
a) 在通道注意力之前,现有方法使用 GAP 来做预处理。
b) DCT 可以看作为一个输入加权的和,用了等式3和等式4中的余弦部分作为权重。

GAP 是均值操作,算力消耗有限,是最简单的输入频谱了。但在通道注意力机制中仅使用 GAP 信息是不足够的。受这些特点启发,作者就提出了多频谱通道注意力方法。

Multi-Spectral Channel Attention

在这里插入图片描述

出于简洁性,作者使用 B 来表示2D DCT的基函数: B i , j h , w = c o s ( π h H ( i + 1 2 ) ) c o s ( π w W ( j + 1 2 ) ) B^{h,w}_{i,j}=cos( \frac{πh}{H}(i+\frac{1}{2}))cos(\frac{πw}{W}(j+\frac{1}{2})) Bi,jh,w=cos(Hπh(i+21))cos(Wπw(j+21))
那么 2D DCT 就可以写成:
x i , j 2 d = ∑ h = 0 H − 1 ∑ w = 0 W − 1 f h , w 2 d cos ⁡ ( π h H ( i + 1 2 ) ) cos ⁡ ( π w W ( j + 1 2 ) ) =  Eq.  7 f 0 , 0 2 d B 0 , 0 i , j + f 0 , 1 2 d B 0 , 1 i , j + ⋯ + f H − 1 , W − 1 2 d B H − 1 , W − 1 i , j =  Eq.  6 gap ⁡ ( x 2 d ) H W B 0 , 0 i , j + f 0 , 1 2 d B 0 , 1 i , j + ⋯ + f H − 1 , W − 1 2 d B H − 1 , W − 1 i , j  s.t.  i ∈ { 0 , 1 , ⋯   , H − 1 } , j ∈ { 0 , 1 , ⋯   , W − 1 } .  \begin{array}{l} x_{i, j}^{2 d}=\sum_{h=0}^{H-1} \sum_{w=0}^{W-1} f_{h, w}^{2 d} \cos \left(\frac{\pi h}{H}\left(i+\frac{1}{2}\right)\right) \cos \left(\frac{\pi w}{W}\left(j+\frac{1}{2}\right)\right) \\ \stackrel{\text { Eq. } 7}{=} f_{0,0}^{2 d} B_{0,0}^{i, j}+f_{0,1}^{2 d} B_{0,1}^{i, j}+\cdots+f_{H-1, W-1}^{2 d} B_{H-1, W-1}^{i, j} \\ \stackrel{\text { Eq. } 6}{=} \operatorname{gap}\left(x^{2 d}\right) H W B_{0,0}^{i, j}+f_{0,1}^{2 d} B_{0,1}^{i, j}+\cdots+f_{H-1, W-1}^{2 d} B_{H-1, W-1}^{i, j} \\ \text { s.t. } i \in\{0,1, \cdots, H-1\}, j \in\{0,1, \cdots, W-1\} \text {. } \\ \end{array} xi,j2d=h=0H1w=0W1fh,w2dcos(Hπh(i+21))cos(Wπw(j+21))= Eq. 7f0,02dB0,0i,j+f0,12dB0,1i,j++fH1,W12dBH1,W1i,j= Eq. 6gap(x2d)HWB0,0i,j+f0,12dB0,1i,j++fH1,W12dBH1,W1i,j s.t. i{0,1,,H1},j{0,1,,W1}很明显,一个图像或特征可以用不同频率组成的组合表示。

通道注意力只是基于 GAP 的结果。但是从等式8中,我们可以看到输入 X的信息并不只是由 GAP 构成的: X = g a p ( X ) H W B 0 , 0 i , j ⏟ utilized  + f 0 , 1 2 d B 0 , 1 i , j + ⋯ + f H − 1 , W − 1 2 d B H − 1 , W − 1 i , j ⏟ discarded  . X=\underbrace{g a p(X) H W B_{0,0}^{i, j}}_{\text {utilized }}+\underbrace{f_{0,1}^{2 d} B_{0,1}^{i, j}+\cdots+f_{H-1, W-1}^{2 d} B_{H-1, W-1}^{i, j}}_{\text {discarded }} . X=utilized  gap(X)HWB0,0i,j+discarded  f0,12dB0,1i,j++fH1,W12dBH1,W1i,j.这样在通道注意力机制中,只用到了一小部分的信息。在现有的通道注意力方法中都没有包含其它频率组成和信息。

Multi-Spectral Channel Attention Module

在这里插入图片描述
基于定理1的分析,作者发现现有的通道注意力方法所使用的信息都是不充分的,通道注意力的 GAP 方法只是 2D DCT 的一个特例。那么,我们就可以引入2D DCT更多的频率组成,引入更多的信息来解决信息不充分的问题。

为了引入更多的信息,作者提出使用2D DCT的多个频率组成,包括最低的频率组成,即 GAP。

首先沿着通道维度,输入 X被分为多个部分。用 [ X 0 , X 1 , . . . , X n − 1 ] [X_0 ,X_1,...,X_{n−1}] [X0,X1,...,Xn1]表示这些部分,其中 X i ∈ R C ′ × H × W , i ∈ { 0 , 1 , . . . , n − 1 } , C ′ = C n X^i \in \mathbb{R}^{C'\times H\times W}, i\in \{0,1,...,n-1\}, C'=\frac{C}{n} XiRC×H×W,i{0,1,...,n1},C=nC,其中 C 可以被 n 整除。对于每个部分,都会赋予一个对应的2D DCT频率组成,2D DCT结果可以作为通道注意力预处理的结果。这样,我们有:
在这里插入图片描述
其中[u,v]是频率组成的2D索引,对应着 X i X^i Xi F r e q i ∈ R C ′ Freq^i \in \mathbb{R}^{C'} FreqiRC是预处理之后的 C’ 维向量。通过 concat 操作可以获取整个预处理向量:
F r e q = c o m p r e s s ( X ) = c a t ( [ F r e q 0 , . . . , F r e q n − 1 ] ) (8) Freq\\=compress(X)\\=cat([Freq^0,...,Freq^{n-1}])\tag{8} Freq=compress(X)=cat([Freq0,...,Freqn1])(8)
F r e q i ∈ R C Freq^i \in \mathbb{R}^{C} FreqiRC是多频谱向量。整个多频谱通道注意力框架可以写为: m s _ a t t n = s i g m o i d ( F c ( F r e q ) ) (9) ms\_attn=sigmoid(Fc(Freq))\tag{9} ms_attn=sigmoid(Fc(Freq))(9)

Criteria for Choosing Frequency Component

如何为每个部分 X i X_i Xi 选择频率分量索引 [ u i , v i ] [u_i,v_i] [ui,vi]存在一个重要问题。为了充分满足多频谱信道的关注,我们提出了三种标准,即FcaNet-LF(低频)、FcaNet-TS(两步选择)和FcaNet-NAS(神经架构搜索)。

FcaNet-LF
FcaNet-LF指具有低频成分的FcaNet。众所周知,许多压缩方法使用DCT的低频信息来压缩信息。此外,一些方法[21,41]表明,神经网络更喜欢低频信息。这样,选择频率分量的第一个标准就是只选择低频分量。
FcaNet-TS
FcaNet-TS表示FcaNet在两步选择方案中选择组件。其主要思想是首先确定每个频率分量的重要性,然后研究使用不同数量频率分量的影响。也就是说,我们单独评估频道注意力中每个频率分量的结果。最后,我们根据评估结果选择了Top-k最高性能的频率组件。
FcaNet-NAS
FcaNet-NAS指具有搜索组件的FcaNet。对于这个标准,我们使用神经结构搜索来搜索信道的最佳频率分量。对于每个部分 X i X_i Xi,一组连续变量 α = { α ( u , v ) } α=\{α^{(u,v)}\} α={α(u,v)}作为符号用于搜索组件。该部分的频率分量可写成:
在这里插入图片描述

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

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

相关文章

超导材料LK-99烧制工艺中高真空度及其气氛环境控制的解决方案

摘要:根据近期LK-99超导材料研究报道,我们分析此材料制备采用了真空烧结工艺。由于目前大部分复现研究所用的真空烧结技术和设备都非常简陋,使得LK-99的复现性很差。为此我们提出了真空度准确控制解决方案,其目的第一是实现烧结初…

排序(快速排序,归并排序,插入排序,选择排序,冒泡排序,希尔排序,堆排序)

给定你一个长度为 n 的整数数列。 请你对这个数列按照从小到大进行排序。 并将排好序的数列按顺序输出。 输入格式 输入共两行,第一行包含整数 n 。 第二行包含 n 个整数(所有整数均在 1∼109 范围内),表示整个数列。 输…

【深度学习MOT】SMILEtrack SiMIlarity LEarning for Multiple Object Tracking,论文

论文:https://arxiv.org/abs/2211.08824 文章目录 AbstractIntroduction2. 相关工作2.1 基于检测的跟踪2.1.1 检测方法2.1.2 数据关联方法 2.2 基于注意力的跟踪 3. 方法3.1 架构概述3.2 用于重新识别的相似性学习模块(SLM) Experimental Res…

【Docker晋升记】No.2 --- Docker工具安装使用、命令行选项及构建、共享和运行容器化应用程序

文章目录 前言🌟一、Docker工具安装🌟二、Docker命令行选项🌏2.1.docker run命令选项:🌏2.2.docker build命令选项:🌏2.3.docker images命令选项:🌏2.4.docker ps命令选项…

上篇文章viewerjs(npm包补丁)的错误更正。(npm补丁本地没问题,流水线打包要没效果,要么报错)

1、上篇文档的包补丁在本地使用没有问题,并且同事拉代码后也会自动同步npm_modules,也没有问题 2、问题出现在打包上,我这边的项目是用teambition上的飞流设置的流水线来进行打包的,里面用到了两个指令 yarn install npm run bu…

学习左耳听风栏目90天——第二天 2/90(学习左耳朵耗子的工匠精神,对技术的热爱)【程序员如何用技术变现(上)】

总结: 要去经历大多数人经历不到的,要把学习时间花在那些比较难的地方。要写文章就要写没有人写过的,或是别人写过,但我能写得更好的。更重要的是,技术和知识完全是可以变现的。学好英文,看技术文档 程序员…

解决idea编辑application.yml文件或properties文件没有提示问题

注意:这里说的没有提示,是针对application.properties和application.yml文件 解决办法:在idea的插件面板中,禁用或卸载 wl Spring Assistant插件即可解决问题。

python技术栈 之 单元测试中mock的使用

一、什么是mock? mock测试就是在测试过程中,对于某些不容易构造或者不容易获取的对象,用一个虚拟的对象来创建以便测试的测试方法。 二、mock的作用 特别是开发过程中上下游未完成的工序导致当前无法测试,需要虚拟某些特定对象…

Java基础入门篇——While循环(十二)

目录 一、循环结构语句 二、while循环语句 三、do-while循环语句 四、break使用 一、循环结构语句 在实际生活中经常会将同一件事情重复做很多次。例如,在做眼保健操的第四节轮刮眼眶时,会重复刮眼眶的动作:打乒乓球时,会重复…

npm ERR! code ERESOLVEnpm ERR! ERESOLVE unable to resolve dependency tree

拉取项目到本地 执行 npm install 报错 遇到这个问题首先确认的就是版本是不是太高了,降一下版本。或者通过yarn命令替代npm install命令安装,同理,启动也可以采用yarn dev 启动代替npm run dev 下面教大家用一个NVM工具,这个工…

Linux基础与应用开发系列七:一切皆文件

Linux内核 屏蔽硬件区别,把所有的硬件设备抽象成文件,提供统一的接口给用户使用。 虚拟文件系统 抽象层,对文件的访问实际上使对抽象层的访问。 抽象对象:封装了底层读写细节,使用c语言的多态来实现具体文件系统系统…

乐鑫首创|使用 ESP RainMaker® 私有云定制 Matter 生态

ESP RainMaker 是乐鑫的 AIoT 云平台,支持客户自主部署私有物联网云,从而全面掌握数据所有权和管理权,实现定制功能与服务。ESP RainMaker 云后端采用 AWS 无服务器架构,拥有开源的 iOS 和 Android 移动端 APP、第三方语音助手集成…

Java—IO 流

Java—IO 流 🔍文件创建文件获取文件相关信息目录相关操作 🔍IO 流理解流与文件流的分类FileInputStreamFileOutputStream文件拷贝FileReaderFileWriter节点流与处理流类型 BufferedReaderBufferedWriterBufferedInputStream BufferedOutputStream对象处…

erp与crm的区别有哪些呢?两者之间有什么联系?

阅读本文您可以了解:1、crm系统的功能;2、erp系统的功能;3、crm系统和erp系统的区别 一、crm系统是什么 CRM系统是客户关系管理系统的缩写。它是一种用于帮助企业有效管理与客户关系相关的信息、活动和数据的软件工具或平台。 举个例子&…

在服务器上搭建gitlab

目录 1.在服务器上下载gitlab 2.编辑站点位置 3.重载配置 4.访问gitlab 最终效果展示: 官方文档: 安装部署GitLab服务 1.在服务器上下载gitlab wget https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7/gitlab-ce-12.9.0-ce.0.el7.x86_64.r…

lombok 因 idea版本过高不可用

报错: 解决: 添加配置: -Djps.track.ap.dependenciesfalse

信创环境下 FTP如何进行国产化替代?

一、政策驱动,倡导自主、创新、协同 信创,即信息技术应用创新产业,其是数据安全、网络安全的基础,也是新基建的重要组成部分。为打破国外巨头的垄断,解决核心技术关键环节“卡脖子”问题,在核心芯片、基础…

电子保险丝

TPS2660 具有集成输入反极性保护功能的 4.2V 至 60V、150mΩ、0.1A 至 2.23A 电子保险丝 电流监测,故障输出,反向电流始终阻断,反极性保护 29元 TPS2640 具有集成反向输入极性保护功能的 42V、2A 工业电子保险丝 17元 MAX17561AUD 40V&…

robotframework+selenium 进行webui页面自动化测试

robotframework其实就是一个自动化的框架,想要进行什么样的自动化测试,就需要在这框架上添加相应的库文件,而用于webui页面自动化测试的就是selenium库. 关于robotframework框架的搭建我这里就不说了,今天就给大家根据一个登录的实…

【RocketMQ入门-安装部署与Java API测试】

【RocketMQ入门-安装部署与Java API测试】 一、环境说明二、安装部署三、Java API 编写Producer和Consumer进行测试四、小结 一、环境说明 虚拟机VWMare:安装centos7.6操作系统源码包:rocketmq-all-5.1.3-source-release.zip单master部署,在…