首页/新闻资讯/正文详情

yolo核心组件4:CA 注意力机制 (Coordinate Attention)

发布时间:2026/11/13 8:13:00 来源:云帆数科 栏目:资讯中心
yolo核心组件4:CA 注意力机制 (Coordinate Attention)
CA 注意力机制 (Coordinate Attention)[!abstract] 论文信息论文标题: Coordinate Attention for Efficient Mobile Network Design作者: Qibin Hou, Daquan Zhou, Jiashi Feng发表: CVPR 2021论文地址: https://arxiv.org/abs/2103.02907核心贡献: 提出坐标注意力机制将位置信息嵌入通道注意力中使移动端网络能够关注大区域且保留精确的位置信息一、核心思想CA (Coordinate Attention) 的核心思想是将位置信息编码到通道注意力中。与 SE 只考虑通道关系、CBAM 使用局部卷积捕获空间信息不同CA 通过两个方向水平和垂直的全局池化分别沿宽度和高度方向聚合特征从而保留了精确的位置信息。CA 的关键特点位置感知不同于全局池化丢失位置信息CA 在水平和垂直方向分别编码保留了空间位置长程依赖通过沿一个方向的全局池化可以捕获该方向的长程依赖关系双分支结构水平和垂直两个方向并行处理生成两个注意力图移动端友好设计轻量适合部署在移动端设备上二、模块结构2.1 整体流程输入特征图 X [C×H×W] │ ┌─────┴─────┐ │ │ 水平方向 垂直方向 全局池化 全局池化 (H方向) (W方向) │ │ [C×H×1] [C×1×W] │ │ Concat (维度变换) │ [C×(HW)×1] │ Conv1×1 BN h_swish │ ┌─────┴─────┐ │ │ 水平注意力 垂直注意力 │ │ Sigmoid Sigmoid │ │ Xh × X Xw × X │ │ 输出特征图2.2 Coordinate Attention 详细结构输入 X [C×H×W] │ ┌───┴───┐ │ │ │ Coordinate │ Information │ Embedding (CIE) │ │ │ ┌───┴───┐ │ │ │ │ AvgPool AvgPool │ 沿W方向 沿H方向 │ │ │ │ [C×H×1] [C×1×W] │ │ │ │ └───┬───┘ │ │ │ Concat Transform │ Conv1×1 BN h_swish │ │ │ Split │ ┌───┴───┐ │ │ │ │ Conv1×1 Conv1×1 │ Sigmoid Sigmoid │ │ │ │ └───┬───┘ │ │ └───┬───┘ │ 输出 X [C×H×W]三、数学公式3.1 坐标信息嵌入 (Coordinate Information Embedding)水平方向沿宽度 W 聚合zch(h)1W∑0≤iWxc(h,i)z_c^h(h) \frac{1}{W} \sum_{0 \leq i W} x_c(h, i)zch​(h)W1​0≤iW∑​xc​(h,i)输出zh∈RC×H×1z^h \in \mathbb{R}^{C \times H \times 1}zh∈RC×H×1每个通道保留了高度方向的位置信息。垂直方向沿高度 H 聚合zcw(w)1H∑0≤jHxc(j,w)z_c^w(w) \frac{1}{H} \sum_{0 \leq j H} x_c(j, w)zcw​(w)H1​0≤jH∑​xc​(j,w)输出zw∈RC×1×Wz^w \in \mathbb{R}^{C \times 1 \times W}zw∈RC×1×W每个通道保留了宽度方向的位置信息。3.2 坐标注意力生成将两个方向的特征拼接后通过共享变换fδ(BN(Conv1×1([zh;zw])))f \delta\Big(BN\big(Conv_{1\times 1}([z^h; z^w])\big)\Big)fδ(BN(Conv1×1​([zh;zw])))其中[⋅;⋅][\cdot;\cdot][⋅;⋅]表示空间维度的拼接f∈RC/r×(HW)f \in \mathbb{R}^{C/r \times (HW)}f∈RC/r×(HW)δ\deltaδ为 h-swish 激活函数rrr为缩减率默认16然后将fff沿空间维度分割fh∈RC/r×H,fw∈RC/r×Wf^h \in \mathbb{R}^{C/r \times H}, \quad f^w \in \mathbb{R}^{C/r \times W}fh∈RC/r×H,fw∈RC/r×W3.3 注意力权重生成ghσ(Conv1×1(fh))∈RC×H×1g^h \sigma\Big(Conv_{1\times 1}(f^h)\Big) \in \mathbb{R}^{C \times H \times 1}ghσ(Conv1×1​(fh))∈RC×H×1gwσ(Conv1×1(fw))∈RC×1×Wg^w \sigma\Big(Conv_{1\times 1}(f^w)\Big) \in \mathbb{R}^{C \times 1 \times W}gwσ(Conv1×1​(fw))∈RC×1×W3.4 最终输出yc(i,j)xc(i,j)×gch(i)×gcw(j)y_c(i, j) x_c(i, j) \times g_c^h(i) \times g_c^w(j)yc​(i,j)xc​(i,j)×gch​(i)×gcw​(j)四、代码实现importtorchimporttorch.nnasnnclassh_sigmoid(nn.Module):Hard Sigmoid 激活函数def__init__(self,inplaceTrue):super().__init__()self.relunn.ReLU6(inplaceinplace)defforward(self,x):returnself.relu(x3)/6classh_swish(nn.Module):Hard Swish 激活函数def__init__(self,inplaceTrue):super().__init__()self.hsigmoidh_sigmoid(inplaceinplace)defforward(self,x):returnx*self.hsigmoid(x)classCoordAtt(nn.Module):Coordinate Attention 模块def__init__(self,channels,reduction32):super().__init__()mid_channelsmax(8,channels//reduction)# 共享变换层self.pool_hnn.AdaptiveAvgPool2d((None,1))# 沿W方向池化self.pool_wnn.AdaptiveAvgPool2d((1,None))# 沿H方向池化self.conv1nn.Conv2d(channels,mid_channels,kernel_size1,stride1,padding0,biasFalse)self.bn1nn.BatchNorm2d(mid_channels)self.acth_swish()# 分支卷积self.conv_hnn.Conv2d(mid_channels,channels,kernel_size1,stride1,padding0,biasFalse)self.conv_wnn.Conv2d(mid_channels,channels,kernel_size1,stride1,padding0,biasFalse)defforward(self,x):b,c,h,wx.size()# 沿两个方向进行全局池化x_hself.pool_h(x)# [B, C, H, 1]x_wself.pool_w(x).permute(0,1,3,2)# [B, C, W, 1]# 拼接并变换ytorch.cat([x_h,x_w],dim2)# [B, C, HW, 1]yself.conv1(y)yself.bn1(y)yself.act(y)# 分割x_h,x_wtorch.split(y,[h,w],dim2)x_wx_w.permute(0,1,3,2)# [B, C/r, 1, W]# 生成注意力权重att_hself.conv_h(x_h).sigmoid()# [B, C, H, 1]att_wself.conv_w(x_w).sigmoid()# [B, C, 1, W]# 应用注意力returnx*att_h*att_w4.2 YOLO 集成版本classC2f_CA(nn.Module):在C2f模块后添加CA注意力def__init__(self,c1,c2,n1,shortcutFalse,e0.5):super().__init__()self.c2fC2f(c1,c2,n,shortcut,e)self.caCoordAtt(c2)defforward(self,x):xself.c2f(x)xself.ca(x)returnx五、在YOLO中的应用5.1 适用场景CA 注意力在以下场景中特别有效场景原因小目标检测位置信息对小目标定位至关重要密集目标场景精确的空间注意力帮助区分相邻目标自动驾驶车辆、行人等目标需要精确定位遥感图像目标位置信息对检测很重要5.2 YOLO 配置示例# 在YOLOv8的Backbone中添加CAbackbone:-[-1,1,Conv,[64,3,2]]-[-1,1,Conv,[128,3,2]]-[-1,3,C2f,[128,True]]-[-1,1,Conv,[256,3,2]]-[-1,6,C2f,[256,True]]-[-1,1,CoordAtt,[256]]# 在P3后添加CA-[-1,1,Conv,[512,3,2]]-[-1,6,C2f,[512,True]]-[-1,1,Conv,[1024,3,2]]-[-1,3,C2f,[1024,True]]-[-1,1,CoordAtt,[1024]]# 在P5后添加CA5.3 注意力机制对比注意力位置信息参数量适用场景SE无全局池化中等通用分类CBAM局部7×7卷积中等通用检测ECA无全局池化极低轻量化模型CA精确行列编码低位置敏感任务六、优缺点优点精确的位置编码通过水平和垂直方向的独立池化保留了精确的空间位置信息长程依赖沿某一方向的全局聚合可以捕获该方向的长程依赖关系轻量化设计参数量远少于 CBAM 和 SE适合移动端部署双方向互补水平和垂直方向的注意力互补增强了空间感知能力即插即用可灵活嵌入各种网络架构缺点二维设计限制CA 的设计基于二维特征图扩展到三维场景需要额外设计计算开销相比 ECA 稍高但在可接受范围内池化压缩沿某方向的全局池化仍会损失该方向上的局部细节对通道数敏感缩减率的选择会影响性能需要适当调参参考Hou, Q., Zhou, D., Feng, J. (2021). Coordinate Attention for Efficient Mobile Network Design.CVPR 2021.https://arxiv.org/abs/2103.02907https://github.com/houqb/CoordAttention

相关推荐

C++实现Eclat算法:垂直数据格式与深度优先搜索挖掘频繁项集
C++实现Eclat算法:垂直数据格式与深度优先搜索挖掘频繁项集

1. 项目概述:为什么选择Eclat算法?如果你正在处理海量的交易数据,比如电商平台的购物记录、超市的销售流水,或者任何形式的用户行为日志,一个绕不开的核心任务就是从这些看似杂乱的数据中,找到那些经常“结… · 2026/11/13 8:12:56

C++17实现高效字符串Trim函数:从原理到工程实践
C++17实现高效字符串Trim函数:从原理到工程实践

1. 项目概述:为什么我们需要自己实现一个Trim函数?在C的日常开发中,处理字符串是家常便饭。无论是从文件读取配置、解析网络数据,还是清洗用户输入,字符串两端的空白字符(空格、制表符、换行符等&#xff0… · 2026/11/13 8:12:59

2026年横评10款降AI率软件:帮你锁定真正好用靠谱的一款
2026年横评10款降AI率软件:帮你锁定真正好用靠谱的一款

AI写作工具的普及让论文写作和内容创作变得高效便捷,许多学生和职场人都从中受益。然而,随着AI生成内容的广泛应用,各大高校、期刊平台和企业对AIGC的检测标准也在不断提高。不少用户发现,自己精心撰写的论文或稿件,常… · 2026/10/16 6:06:20

在平度办个电工证通过率揭秘:学历不高也能拿证,关键看这几点
在平度办个电工证通过率揭秘:学历不高也能拿证,关键看这几点

在平度办个电工证通过率揭秘:学历不高也能拿证,关键看这几点 学历不高怕报不上名?在平度办个电工证,其实门槛没你想象的那么高。很多人一提到考证就担心自己文化程度不够、年龄偏大、没有相关经验,结果直接放弃。但实际情况是,特种作业操作证的报考条件… · 2026/11/13 8:12:16

低压电工证k4灭火器怎么考?含金量高的培训机构怎么挑?
低压电工证k4灭火器怎么考?含金量高的培训机构怎么挑?

低压电工证k4灭火器怎么考?含金量高的培训机构怎么挑? 你是不是正为考低压电工证k4灭火器发愁?不知道去哪报名怕被中介坑,怕花冤枉钱考了证还不能用,还怕证书含金量不够,将来找工作吃亏?这些顾虑都很正常,也是大多数新手遇到的难题。… · 2026/11/13 8:12:16

何时开始考电工证别拖了,上岗必备一步到位
何时开始考电工证别拖了,上岗必备一步到位

何时开始考电工证别拖了,上岗必备一步到位 怕考不过白交培训费?别等机会过了才后悔。电工证不是随便考的,它直接决定你能不能顺利上岗,更关系到你能不能在工作中安全作业、避免事故。很多转岗从业者尤其是许昌的朋友,因为不了解考试时间、报考流程和复习… · 2026/11/13 8:12:16

惠东那里可以考电工证保姆级教程:怕考不过白交培训费?看完这篇稳过
惠东那里可以考电工证保姆级教程:怕考不过白交培训费?看完这篇稳过

惠东那里可以考电工证保姆级教程:怕考不过白交培训费?看完这篇稳过 怕考不过白交培训费?别慌!这篇【惠东那里可以考电工证】保姆级教程,从报名、备考到考试、复审,手把手带你走过每个环节,帮你避开90%的坑,稳稳拿到电工证。… · 2026/11/13 8:12:16

大同市高压电工证报考全流程详解:含金量怎么体现?证书过期了不知道怎么复审延期
大同市高压电工证报考全流程详解:含金量怎么体现?证书过期了不知道怎么复审延期

大同市高压电工证报考全流程详解:含金量怎么体现?证书过期了不知道怎么复审延期 证书过期了不知道怎么复审延期,这事儿在咱们特种作业圈太常见了。尤其是高压电工证,一旦到期不处理,轻则影响工作,重则直接被暂停上岗资格。你是不是也遇到过这种情况?别… · 2026/11/13 8:12:16

茂名如何考电工证官方回应:证书过期了不知道怎么复审延期?全攻略来了
茂名如何考电工证官方回应:证书过期了不知道怎么复审延期?全攻略来了

茂名如何考电工证官方回应:证书过期了不知道怎么复审延期?全攻略来了 证书过期了不知道怎么复审延期?这可能是很多电工从业者面临的最大难题。尤其是像茂名地区的电工,面对项目需求、企业检查、甚至个人发展,一个 低压电工证 或 高压电工证… · 2026/11/13 8:11:16

电工证丢失还能补吗?千万别踩坑,丢了证等于失业
电工证丢失还能补吗?千万别踩坑,丢了证等于失业

电工证丢失还能补吗?千万别踩坑,丢了证等于失业 你正在找工作,但手里的电工证突然丢了,这下怎么办?别急,先别慌, 电工证丢失还能补吗 ?答案是肯定的,但 千万别踩坑 ,补办流程如果不了解,可能会耽误你上岗、甚至影响到你的收入。… · 2026/11/12 14:09:01

电力电缆作业证直播报名入口与办理流程良心建议
电力电缆作业证直播报名入口与办理流程良心建议

电力电缆作业证直播报名入口与办理流程良心建议 你是不是也担心学历不高报不了名?别急,今天就给你讲讲 电力电缆作业证直播 的报名流程和那些你必须知道的干货, 良心建议 在这里,别错过。 电力电缆作业证直播报名需要什么条件?… · 2026/11/13 5:40:45

英德电工证报考费多少钱,怕考不过白交培训费?看完这篇别再踩坑
英德电工证报考费多少钱,怕考不过白交培训费?看完这篇别再踩坑

英德电工证报考费多少钱,怕考不过白交培训费?看完这篇别再踩坑 怕考不过白交培训费?英德电工证报考费多少钱,你真的了解吗?现在市面上培训机构五花八门,价格参差不齐,很多人一不小心就花了冤枉钱,结果还考不过。别急,今天就来给你说清楚英德电工证的… · 2026/11/12 23:27:43

维修电公用考电工证吗 在哪考最靠谱
维修电公用考电工证吗 在哪考最靠谱

维修电公用考电工证吗 在哪考最靠谱 工地太忙根本没时间复习考试,你是维修电工,天天在项目上跑,连抽个空背个题都难。那问题来了—— 维修电公用考电工证吗 ?答案是: 必须考 。尤其是在当前施工行业,没有电工证,连进场都可能被拦下。而且,… · 2026/11/13 0:00:08

电工证是不是可以登高?含金量和证书范围你必须知道的事
电工证是不是可以登高?含金量和证书范围你必须知道的事

电工证是不是可以登高?含金量和证书范围你必须知道的事 证书过期了不知道怎么复审延期,这事儿很多人遇到过,尤其是像你这样在郑州金水区做劳务班组负责人,手里握着几十个工人的证书,稍微一疏忽,就可能影响工程进度和公司信誉。特别是电工证是不是可以登… · 2026/11/13 0:00:08

鸡西电工证哪家下证快官方报名入口怎么找
鸡西电工证哪家下证快官方报名入口怎么找

鸡西电工证哪家下证快官方报名入口怎么找 你是不是也担心 学历不高怕报不上名 ?别急,今天我就来跟你说说, 鸡西电工证哪家下证快 ,还有 官方报名入口 到底怎么找,别让那些“代办”“代考”耽误了你的机会。… · 2026/11/13 0:00:08

双极步进电机控制实战:DRV8818PWPR与PIC18F86K22驱动调试
双极步进电机控制实战:DRV8818PWPR与PIC18F86K22驱动调试

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/13 6:12:21

STM32F207ZG + DRV8818PWPR 步进电机驱动实战解析
STM32F207ZG + DRV8818PWPR 步进电机驱动实战解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/13 6:11:51

DRV8818PWPR+dsPIC30F4013工业级双极步进电机控制方案
DRV8818PWPR+dsPIC30F4013工业级双极步进电机控制方案

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/12 21:15:21

了解更多?预约专属演示

我们的顾问将为您一对一讲解产品与方案

企业微信二维码