注意力机制之ECA-Net:Efficient Channel Attention for Deep Convolutional Neural Network

news2024/11/23 12:07:31

论文link:link
code:code

1.摘要

  近年来,通道注意机制被证明在改善深层卷积神经网络(CNN)的性能方面提供了巨大的潜力。然而现有的大多数方法都致力于开发更复杂的注意模块以获得更好的性能,这不可避免地增加了模型的复杂性。为了克服性能和复杂度的矛盾,提出了一种高效的通道注意力(ECA)模块,该模块只需要很小的参数,同时可以带来明显的性能提升。通过对SENET中通道注意模块的剖析,我们实证地表明避免降维对于学习通道注意是重要的,适当的跨通道交互可以在显著降低模型复杂度的同时保持性能。因此我们提出了一种无需降维的局部交叉信道交互策略,该策略能通过一维卷积有效地实现。此外,我们还提出了一种自适应选择一维卷积核大小的方法,以确定跨信道相互作用的覆盖范围。建议的ECA模块是高效而有效的,例如,我们的模块相对于ResNet50主干的参数和计算分别是80vs.24.37M和4.7E-4GFLOP vs.3.86GFLOPS,在Top-1准确率方面性能提升超过2%。我们使用ResNet和MobileNetV2的主干,对我们的ECA模块在图像分类、目标检测和实例分割方面进行了广泛的评估。实验结果表明,与同类模块相比,该模块具有更高的效率和更好的性能。

2.模型结构图

在这里插入图片描述

ECA模块的示意图,给定通过GLobal Average Pooling得到的汇集特征,ECA使用卷积核大小为k的1D卷积生成各个通道的权重,其中,k通过输入维度的大小适应性地确定
  首先回顾SENet中的通道注意力模块,体而言,在给定输入特征的情况下,SE块首先对每个通道单独地进行global average pooling,然后使用两个非线性全连接(FC)层和一个Sigmoid函数生成通道权值。两个FC层旨在捕获非线性的跨通道交互,并通过降维来控制模型复杂性。尽管该策略被广泛应用于后续的通道注意模块中,但我们的实证研究表明降维会给通道注意预测带来副作用,而且捕获所有跨通道的依赖关系是低效且不必要的。
  为此,本文提出了一种针对深度CNNs的高效通道注意(Efficient Channel Attention,ECA)模块。该模块避免了降维,有效地捕获了跨通道间的相互作用。如图所示,在空间上降维、通道维度不变的global average pooling后,我们的ECA通过建模每个通道及其 个相邻通道的关系来捕获局部跨通道交互。实践证明,这种方法既能保证效率又能保证效果。注意,我们的ECA可以通过卷积核大小为 的1D卷积实现,其中 表示局部跨通道交互的覆盖范围,即有多少相邻通道参与了一个通道的注意力预测。为了避免通过交叉验证手动调优 ,我们开发了一种自适应的确定 的方法,其中交互的覆盖率(即卷积核大小 )与通道尺寸成正相关。如图1和表3所示,与骨干模型[19]不同,带有我们的ECA模块(称为ECA-Net)的深度CNN引入很少的附加参数和可以忽略的计算,同时带来显著的性能提高。例如,对于具有24.37M参数和3.86 GFLOPs的ResNet-50, ECA-Net50的附加参数和计算量分别为80和4.7e-4GFLOPs;与此同时,ECA-Net50在Top-1 acc. 上优于ResNet-50达2.28%。

3.方法

3.1 回顾SE模块中的注意力

另一个卷积层的输出为 x ∈ R W × H × C x \in {R^{W \times H \times C}} xRW×H×C,其中 W , H 和 C W,H和C W,HC分别表示特征图的宽、高和通道维度(即卷积核中使用的卷积核的数量),因此,SE块输出中各个通道的权重为:
ω = σ ( f { W 1 , W 2 } ( g ( x ) ) ) \omega = \sigma ({f_{\{ {W_1},{W_2}\} }}(g(x))) ω=σ(f{W1,W2}(g(x)))

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

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

相关文章

观测云产品更新 | Pipelines、智能监控、日志数据访问等

观测云更新 Pipelines 1、Pipelines:支持选择中心 Pipeline 执行脚本。 2、付费计划与账单:新增中心 Pipeline 计费项,统计所有命中中心 Pipeline 处理的原始日志的数据大小。 监控 1、通知对象管理:新增权限控制。配置操作权…

智慧商场导航:基于3D可视化与iBeacon技术的商场导航营销方案

在数字化时代,商场导航系统正经历着一场技术革新。维小帮凭借其先进的定位技术和地图引擎技术,为商场提供了一套全方位的智慧导航解决方案,旨在提升顾客体验,增强商场品牌形象,并推动经济效益的增长。 实现原理 1、3…

【目标检测】DN-DETR

一、引言 论文: DN-DETR: Accelerate DETR Training by Introducing Query DeNoising 作者: IDEA 代码: DN-DETR 注意: 该算法是在DAB-DETR基础上的改进,在学习该算法前,建议掌握DETR、DAB-DETR等相关知识…

缺少msvcp140一键修复方法,快速解决msvcp140.dll丢失问题

日常中电脑已经成为我们生活和工作中不可或缺的工具。然而,在使用电脑的过程中,我们常常会遇到一些问题,其中之一就是电脑运行软件时提示找不到msvcp140.dll。这个问题会导致软件无法启动运行,但只要我们了解其原因并采取相应的解…

antd DatePicker日期选择框限制最多选择一年

实现效果 实现逻辑 import React, { useState } from react;const ParentComponent () > {const [dates, setDates] useState(null);const disabledDate (current) > {if (!dates) {return false;}const tooLate dates[0] && current.diff(dates[0], days) &…

【使用sudo apt-get出现报错】——无法获得锁 /var/lib/dpkg/lock-open(11:资 源暂时不可用) ,是否有其他进程正占用它?

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言一、ubuntu中进程正在被占用1. 问题描述2. 原因分析3. 解决 总结 前言 一、ubuntu中进程正在被占用 1. 问题描述 在Ubuntu中,使用终端时输入带有…

【C++】宏定义

严格来说,这个题目起名为C是不合适的,因为宏定义是C语言的遗留特性。CleanCode并不推荐C中使用宏定义。我当时还在公司做过宏定义为什么应该被取代的报告。但是适当使用宏定义对代码是有好处的。坏处也有一些。 无参宏定义 最常见的一种宏定义&#xf…

怎么监控公司文件?高效省力的7个办法,企业都在用

公司文件监控方法主要包括以下几个方面,以确保数据安全和防止文件泄密: 使用专业监控软件:如安企神等专业的企业级监控软件,可以详细记录员工的电脑操作,包括文件访问、修改、删除、复制等行为,以及外设使用…

CLAY或许是今年最值得期待的3D生成模型,号称质量最好+布线最好+支持的输入模态最多+支持材质生成。

CLAY是一种大规模可控生成模型,用于创建高质量的3D资产,它结合了多分辨率变分自编码器和简化的潜在扩散变压器,通过多种输入形式生成详细的3D几何结构和物理渲染材质。 CLAY或许是今年最值得期待的3D生成模型,号称质量最好+布线最好+支持的输入模态最多+支持材质生成。 相…

1、音视频解封装流程---解复用

对于一个视频文件(mp4格式/flv格式),audio_pkt或者video_pkt是其最基本的数据单元,即视频文件是由独立的视频编码包或者音频编码包组成的。 解复用就是从视频文件中把视频包/音频包单独读取出来保存成独立文件,那么如何得知packet是视频包还是…

【高考】人生规划指南

作为一个正处在这个选择的十字路口的高考考生,我认为在选择专业和学校时,要根据自己的具体情况和个人目标来权衡。首先,我认为专业是首要考虑因素。因为专业是直接决定未来职业发展方向的,如果不喜欢或者不适合的专业选择&#xf…

Elasticsearch开启认证|为ES设置账号密码|ES账号密码设置|ES单机开启认证|ES集群开启认证

文章目录 前言单节点模式开启认证生成节点证书修改ES配置文件为内置账号添加密码Kibana修改配置验证 ES集群开启认证验证 前言 ES安装完成并运行,默认情况下是允许任何用户访问的,这样并不安全,可以为ES开启认证,设置账号密码。 …

51单片机学习——LED功能一系列实现

目录 一、开发前准备 二、点亮LED 三、LED闪烁 四、LED流水灯 五、LED流水灯plus 一、开发前准备 开发工具软件 烧录软件 其次还需要一块51单片机学习开发板及原理图 keil创造project文件及开启生成.hex文件 二、点亮LED 看二位进制对照原理图&#xff1b; #include <…

面试突击:HashMap 源码详解

本文已收录于&#xff1a;https://github.com/danmuking/all-in-one&#xff08;持续更新&#xff09; 数据结构 JDK1.8 之前 JDK1.8 之前 HashMap 采用 数组和链表 结合的数据结构。如下图&#xff1a; HashMap 将 key 的 hashCode 经过扰动函数处理过后得到 hash 值&#…

Echarts地图实现:杭州市困难人数分布【动画滚动播放】

Echarts地图实现&#xff1a;杭州市困难人数分布 实现功能 杭州市地区以及散点图分布结合的形式数据展示动画轮播可进去杭州市下级地区可返回杭州市地图展示 效果预览 实现思路 使用ECharts的地图和散点图功能结合实现地区分布通过动画轮播展示数据变化实现下级地区数据的展…

VTK学习日志:基于VTK9.3.0+Visual Studio c++实现DICOM影像MPR多平面重建+V R体绘制4个视图展示功能的实现(二)

前段时间对VTK9.3.0进行了编译&#xff0c;开发了MPRVR实现的demo,显示效果不是很理想&#xff0c;正好趁着周末有时间&#xff0c;再度对之前的程序进行优化和完善&#xff0c;先展示下效果&#xff1a; VTK实现MPRVR四视图 再次讲解下基于VTK的MPRVR实现的简单项目创建过程&a…

HTTPS是什么?原理是什么?用公钥加密为什么不能用公钥解密?

HTTPS&#xff08;HyperText Transfer Protocol Secure&#xff09;是HTTP的安全版本&#xff0c;它通过在HTTP协议之上加入SSL/TLS协议来实现数据加密传输&#xff0c;确保数据在客户端和服务器之间的传输过程中不会被窃取或篡改。 HTTPS 的工作原理 客户端发起HTTPS请求&…

第三天:LINK3D核心原理讲解【第1部分】

第三天:LINK3D核心原理讲解 LINK3D学习笔记 目标 了解LINK3D velodyne64线激光雷达LINK3D质心点提取效果: 分布在车道与墙体的交界处。 课程内容 LINK3D论文精讲LINK3D聚合关键点提取代码讲解LINK3D描述子匹配代码讲解除了ALOAM的线特征、面特征,还有其他点云特征吗,是…

【项目】论坛系统项目自动化测试

论坛系统项目自动化测试 前述一、脑图二、代码编写1.公共类InitAndEnd1.登录页面测试ForumLoginTest正常登录&#xff1a;异常登录&#xff1a; 3.注册页面测试ForumRegisterTest注册成功&#xff1a;注册失败&#xff1a; 4论坛列表页面测试ForumListTest登录状态下&#xff1…