机器视觉 注意机制 SENet CBAM

YOLOv8添加注意力机制小总结 注意力机制(Attention Mechanism)源于对人类视觉的研究。在认知科学中,由于信息处理的瓶颈,人类会选择性地关注所有信息的一部分,同时忽略其他可见的信息。上述机制通常被称为注意力机制。人类视网膜不同的部位具有不同程度的信息处理能力,即敏锐度(Acuity),只有视网膜中央凹部位具有最强的敏锐度。简而言之,注意力机制源于自然界人类视觉的研究。人类的视觉会天然地进行一个抉择,就是选择性地关注所有信息的一个部分,同事就会忽略其他可见的信息。就属于是合理的利用有限的信息处理资源。 阅读详情

前言:
接着上篇介绍经典卷积神经网络模型的博文,这两天又发现一类仿生特性的视觉注意机制模型在近两年中逐渐被提出。其中比较有代表性的模型有在2017年ImageNet中获得分类组关键的SENet,以及2018年结合了空间和通道双注意机制的CBAM模型。
毕竟灵感来自人眼的感知,所以在正式介绍模型前增加了一段人眼视觉感知的背景内容。

人眼视觉感知中的注意力特性

中央凹(foveal)

感觉光暗的杆状细胞和感觉色彩的锥状细胞在视网膜表面并不是平均分布的,在感知中起重要作用的锥细胞大部分集中在视网膜中的一小片称为黄点的地方。因此我们在观看景物和阅读时,注意力只是集中在视野范围一半不到的区域。
黄斑中央凹陷称中央凹,是视网膜中视觉(辨色力、分辨力)最敏锐的区域。此处视网膜最薄,只有色素上皮细胞和视锥细胞两层细胞,双极细胞和节细胞均斜向周围排列。此处视锥细胞与双极细胞均一对一联系,故视觉最为敏锐而精确,称中心视觉。
在这里插入图片描述
参考:https://baike.baidu.com/item/%E4%B8%AD%E5%A4%AE%E5%87%B9/1365085?fr=aladdin
https://baike.baidu.com/item/%E8%A7%86%E8%A7%89%E6%84%9F%E7%9F%A5/1473317?fr=aladdin

人眼视域(Field of View)

顾名思义就是视力可见区域,需要拆成横向和纵向两种来看。人有两只眼睛,两眼视物(Binocular Vision)系统的优点之一是视域更宽,人类横向视域最大接近190度。但空间感知、颜色识别最好的区域只有50到60度。
在这里插入图片描述
纵向视域如上图所示最大接近120度,颜色识别界限在55度左右。站立情况下视线会低于水平10度;坐着时低于水平15度。
在这里插入图片描述
参考:https://www.jianshu.com/p/5312677111e3

当我们要看清一件对象时,我们会转动眼球,直至影像聚焦在视野的中央凹上。离开中央凹越远,感光细胞越少,影像越不清晰。如影像聚焦在黄斑以外的地方,我们可看见一件对象的存在,但未必知道这件对象是甚么。

在这里插入图片描述
在这里插入图片描述

计算机视觉感知中的注意特性

SENet:Squeeze-and-Excitation Networks

背景

卷积神经网络由一系列卷积层、非线性层和下采样层构成,这样它们能够从全局感受野上去捕获图像的特征来进行图像的描述。而卷积核作为卷积神经网络的核心,通常被看做是在局部感受野上,将空间上(spatial)的信息和特征维度上(channel-wise)的信息进行聚合的信息聚合体。已经有很多工作在空间维度上来提升网络的性能, 如 Inception 结构中嵌入了多尺度信息,聚合多种不同感受野上的特征来获得性能增益;在 Inside-Outside 网络中考虑了空间中的上下文信息;还有将 Attention 机制引入到空间维度上。
网络是否可以从其他层面来考虑去提升性能,比如考虑特征通道之间的关系?我们的工作就是基于这一点并提出了 Squeeze-and-Excitation Networks(简称 SENet)。在我们提出的结构中,Squeeze 和 Excitation 是两个非常关键的操作,所以我们以此来命名。我们的动机是希望显式地建模特征通道之间的相互依赖关系。另外,我们并不打算引入一个新的空间维度来进行特征通道间的融合,而是采用了一种全新的「特征重标定」策略。具体来说,就是通过学习的方式来自动获取到每个特征通道的重要程度,然后依照这个重要程度去提升有用的特征并抑制对当前任务用处不大的特征。

网络框架

在这里插入图片描述
上图是我们提出的 SE 模块的示意图。给定一个输入 x,其特征通道数为 c_1,通过一系列卷积等一般变换后得到一个特征通道数为 c_2 的特征。与传统的 CNN 不一样的是,接下来我们通过三个操作来重标定前面得到的特征。

首先是 Squeeze 操作,我们顺着空间维度来进行特征压缩,将每个二维的特征通道变成一个实数,这个实数某种程度上具有全局的感受野,并且输出的维度和输入的特征通道数相匹配。它表征着在特征通道上响应的全局分布,而且使得靠近输入的层也可以获得全局的感受野,这一点在很多任务中都是非常有用的。

其次是 Excitation 操作,它是一个类似于循环神经网络中门的机制。通过参数 w 来为每个特征通道生成权重,其中参数 w 被学习用来显式地建模特征通道间的相关性。

最后是一个 Reweight 的操作,我们将 Excitation 的输出的权重看做是进过特征选择后的每个特征通道的重要性,然后通过乘法逐通道加权到先前的特征上,完成在通道维度上的对原始特征的重标定。

Tensorflow 2.0代码实现:
Squeeze 操作: 全局池化将每个Channel 上的二维维度压缩成一个单一值
Excitation 操作:两个全连接层和一个sigmoid
Reweight 的操作:维度增加与每个对应特征图相乘

def SE_moudle(input_xs,reduction_ratio = 16.):
    shape = input_xs.get_shape().as_list()
    se_module = tf.reduce_mean(input_xs,[1,2])
    se_module = tf.keras.layers.Dense(shape[-1]/reduction_ratio,activation=tf.nn.relu)(se_module)
    se_module = tf.keras.layers.Dense(shape[-1], activation=tf.nn.relu)(se_module)
    se_module = tf.nn.sigmoid(se_module)
    se_module = tf.reshape(se_module,[-1,1,1,shape[-1]])
    out_ys = tf.multiply(input_xs,se_module)
return out_ys
嵌入ResNet

在这里插入图片描述
由于存在sigmoid层,attention加在scale后面,避免梯度消散的情况

def identity_block(input_xs, out_dim, with_shortcut_conv_BN=False):
    
    if with_shortcut_conv_BN:
        pass
    else:
        shortcut = tf.identity(input_xs)
    input_channel = input_xs.get_shape().as_list()[-1]
    if input_channel != out_dim:
        pad_shape = tf.abs(out_dim - input_channel)
        shortcut = tf.pad(shortcut, [[0, 0], [0, 0], [0, 0], [pad_shape // 2, pad_shape // 2]], name="padding")
    conv = tf.keras.layers.Conv2D(filters=out_dim // 4, kernel_size=1, padding="SAME", activation=tf.nn.relu)(input_xs)
    conv = tf.keras.layers.BatchNormalization()(conv)
    conv = tf.keras.layers.Conv2D(filters=out_dim // 4, kernel_size=3, padding="SAME", activation=tf.nn.relu)(conv)
    conv = tf.keras.layers.BatchNormalization()(conv)
    conv = tf.keras.layers.Conv2D(filters=out_dim // 4, kernel_size=1, padding="SAME", activation=tf.nn.relu)(conv)
    conv = tf.keras.layers.BatchNormalization()(conv)
    shape = conv.get_shape().as_list()
    se_module = tf.reduce_mean(conv, [1, 2])
    se_module = tf.keras.layers.Dense(shape[-1] / 16, activation=tf.nn.relu)(se_module)
    se_module = tf.keras.layers.Dense(shape[-1], activation=tf.nn.relu)(se_module)
    se_module = tf.nn.sigmoid(se_module)
    se_module = tf.reshape(se_module, [-1, 1, 1, shape[-1]])
    se_module = tf.multiply(input_xs, se_module)
    output_ys = tf.add(shortcut, se_module)
    output_ys = tf.nn.relu(output_ys)
    return output_ys

参考

论文:Squeeze-and-Excitation Networks.
GitHub: https://github.com/hujie-frank/SENet
推荐blog:https://www.cnblogs.com/bonelee/p/9030092
https://blog.youkuaiyun.com/paper_reader/article/details/81082351

CBAM: Convolutional Block Attention Module

背景

SENet在feature map的通道上进行attention生成,然后与原来的feature map相乘。这篇文章指出,该种attention方法只关注了通道层面上哪些层会具有更强的反馈能力,但是在空间维度上并不能体现出attention的意思。
CBAM作为本文的亮点,将attention同时运用在channel和spatial两个维度上,CBAM与SE Module一样,可以嵌入了目前大部分主流网络中,在不显著增加计算量和参数量的前提下能提升网络模型的特征提取能力。
近几年,随着CNN的兴起,很多结构新颖、有效的网络结构被提出,比如ResNet、ResNext等;最近,大部分论文证明了在网络结构中引入attention机制可以提升网络模型的特征表达能力。attention不止能告诉网络模型该注意什么,同时也能增强特定区域的表征。本文的CBAM在channel和spatial两个维度上引入了attention机制。
两个主要维度的有意义的特征:通道和空间轴。这样每个分支都可以分别在通道和空间轴上学习到"what"和"where"。

1.我们提出了一种简单而有效的注意力模块(CBAM),可以广泛应用于提高CNN的表示能力。

2.我们通过广泛的消融研究验证了我们注意力模块的有效性。

3.我们通过插入轻量级模块,验证多个基准(ImageNet-1K,MS COCO和VOC 2007)的各种网络性能得到了极大提升。

网络框架

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

Channel Attention

构造形式与SENet类似:二维特征压缩一位,到全连接,最后sigmoid。存在maxpool和 AvgPool两个通道
算法公式:

在这里插入图片描述在这里插入图片描述
为了有效地计算通道注意力,我们压缩输入特征图谱的空间维度。为了聚集空间信息首先将feature map在spatial维度上进行压缩,得到一个一维矢量以后再进行操作。对输入feature map进行spatial维度压缩时,a使用的是average pooling(平均池化)和max pooling(最大值池化),通过两个pooling函数以后总共可以得到两个一维矢量,这样做的好处是:average pooling有效地学习目标物体,而最大池化收集了关于独特对象特征的另一个重要线索,以推断出通道方面的注意力。此外,我在网上学习时看到过另一种说法:average pooling对feature map上的每一个像素点都有反馈,而 max pooling在进行梯度反向传播计算只有feature map中响应最大的地方有梯度的反馈,能作为GAP的一个补充。
在得到两个一维矢量后,将其放入一个共享网络中,共享网络是由一个隐藏层和多层感知机(MLP)组成。为了减少参数开销,隐藏的激活大小设置为在这里插入图片描述,其中r是压缩率。在将共享网络应用于矢量之后,我们使用逐元素求和来合并输出特征向量。其中σ表示Sigmoid函数,即再经过激活函数后最后得到的结果在这里插入图片描述

Spatial Attention

首先沿通道轴应用平均池化和最大池化操作(此处注意点:这里的压缩变成了通道层面上的压缩,不再是最开始的feature map,这里面的F=Mc),接着对输入特征分别在通道维度上做了avg和max操作。最后得到了两个二维的feature,将其按通道维度拼接在一起得到一个通道数为2的feature map,之后使用一个包含单个卷积核的隐藏层对其进行卷积操作,要保证最后得到的feature在spatial维度上与输入的feature map一致。
算法公式:
在这里插入图片描述
在这里插入图片描述
其中σ表示sigmoid函数,f7×7表示卷积操作,卷积核大小为7×7

Tensorflow 2.0代码实现:

def cbam_module(input_xs, reduction_ratio=0.5):
    batch_size, hidden_num = input_xs.get_shape().as_list()[0], input_xs.get_shape().as_list()[3]
    # channel attention
    maxpool_channel = tf.reduce_max(tf.reduce_max(input_xs, axis=1, keepdims=True), axis=2, keepdims=True)
    avgpool_channel = tf.reduce_mean(tf.reduce_mean(input_xs, axis=1, keepdims=True), axis=2, keepdims=True)
    maxpool_channel = tf.keras.layers.Flatten()(maxpool_channel)
    avgpool_channel = tf.keras.layers.Flatten()(avgpool_channel)
    mlp_1_max = tf.keras.layers.Dense(units=int(hidden_num * reduction_ratio), activation=tf.nn.relu)(maxpool_channel)
    mlp_2_max = tf.keras.layers.Dense( units=hidden_num)(mlp_1_max)
    mlp_2_max = tf.reshape(mlp_2_max, [-1, 1, 1, hidden_num])
    mlp_1_avg = tf.keras.layers.Dense(units=int(hidden_num * reduction_ratio), activation=tf.nn.relu)(avgpool_channel)
    mlp_2_avg = tf.keras.layers.Dense(units=hidden_num, activation=tf.nn.relu)(mlp_1_avg)
    mlp_2_avg = tf.reshape(mlp_2_avg, [-1, 1, 1, hidden_num])
    channel_attention = tf.nn.sigmoid(mlp_2_max + mlp_2_avg)
    channel_refined_feature = input_xs * channel_attention
    # spatial attention
    maxpool_spatial = tf.reduce_max(channel_refined_feature, axis=3, keepdims=True)
    avgpool_spatial = tf.reduce_mean(channel_refined_feature, axis=3, keepdims=True)
    max_avg_pool_spatial = tf.concat([maxpool_spatial, avgpool_spatial], axis=3)
    conv_layer = tf.keras.layers.Conv2D(filters=1, kernel_size=(3, 3), padding="same",activation=None)(max_avg_pool_spatial)
    spatial_attention = tf.nn.sigmoid(conv_layer)
    refined_feature = channel_refined_feature * spatial_attention
    output_layer = refined_feature + input_xs
return output_layer

并行或顺序方式放置两个模块。我们发现顺序排列比并行排列能得到更好的结果。对于顺序过程的安排,我们的实验结果表明,通道的第一顺序略好于空间第一顺序。

参考

论文: CBAM: Convolutional Block Attention Module
GitHub模型: https://github.com/zhangkaifang/CBAM-TensorFlow2.0
参考博文:https://blog.youkuaiyun.com/qq_14845119/article/details/81393127

由于博主能力有限,内容大多引自网络博客,并未严格考证如有错误之处望予以指出,后续也会逐步修正和补充一些实现后的代码。

SwinTransformer改进(5):与CBAM结合的视觉模型 这个模型的核心思想是将Swin Transformer的强大特征提取能力与CBAM的注意力机制相结合,以提升模型对重要特征的关注度。​​CBAM模块​​:包含通道注意力和空间注意力两个子模块​​Swin Transformer主干网络​​:作为基础特征提取器​​集成结构​​:在Swin Transformer的不同阶段插入CBAM模块使用移动窗口(Moving Window)机制减少计算量层次化设计,特征图逐渐缩小,通道数逐渐增加在不同阶段使用Patch Merging进行下采样。 阅读详情

相关推荐

R语言安装包镜像报错?5分钟教你快速切换国内镜像源(含清华/阿里云配置)

本文详细介绍了R语言安装包镜像报错的解决方案,包括如何快速切换国内镜像源(如清华、阿里云等),解决'无法读写貯藏處索引'等常见问题。通过图形界面和命令行两种方式,帮助用户高效配置镜像源,提升R语言包安装速度与稳定性。

weixin_29053073的博客 419

【Attention(1)】注意力机制(attention mechanism)是解决信息超载问题的主要手段的一种资源分配方案:两种分类:自上而下和自下而上

中文名:注意力机制外文名:Attention Mechanism类 别:聚焦式、基于显著性注意力机制(Attention Mechanism)源于对人类视觉的研究。在认知科学中,由于信息处理的瓶颈,人类会选择性地关注所有信息的一部分,同时忽略其他可见的信息。上述机制通常被称为注意力机制。人类视网膜不同的部位具有不同程度的信息处理能力,即敏锐度(Acuity),只有视网膜中央凹部位具有最强的敏锐度。为了合理利用有限的视觉信息处理资源,人类需要选择视觉区域中的特定部分,然后集中关注它。

AbiUni(YY熊) 2894

【架构设计】DDD 到底解决了什么问题

DDD作为架构设计思想帮助微服务控制规模复杂度,那它是怎么做到的呢?第一章提出了架构的根本目是解决系统复杂度,并简要说明系统复杂度的六个来源及通用解法,为我们设计架构提供了清晰可执行的操作思路。

DreamSun的博客 1161

基于视频的行人再识别(3)----注意力机制(1)

如果觉得本文对您有所帮助的话,可以给我的github点个赞呀~本人有空会更新一些视频行人再识别的相关资料,比如代码注释、论文翻译等等。 github:https://github.com/AsuradaYuci/awesome_video_person_reid 1.引言 注意力机制(Attention Mechanism)源于对人类视觉的研究。在认知科学中,由于信息处理的瓶颈,人类会选择性地关注...

asuradayuci的博客 8202

VTK API 详解(134):vtkOBJWriter - 写入 OBJ 模型

是 VTK 中用于将数据写入 Wavefront OBJ 文件格式的类。OBJ 格式是广泛支持的 3D 网格模型格式,支持顶点、面和基本几何信息的保存,便于模型在多种三维软件间交换。

yumeiguo的博客 140

Debezium报错处理系列之第112篇:Cannot replicate because the master purged required binary logs. Replicate the

Debezium报错处理系列之第112篇:Cannot replicate because the master purged required binary logs.

zhengzaifeidelushang的博客 726

【计算机视觉】小目标检测研究进展:小目标检测研究思路(详细讲解)

【计算机视觉】小目标检测研究进展:小目标检测研究思路(详细讲解)

wzk4869的博客 5523

Cesium 相机操作

Cesium 提供了三种方式对相机的位置进行摆放。

虎康的博客 2590

Deepmind讲座:深度学习中的记忆和注意力 注意力机制发展史与详解

DeepMind x UCL | Deep Learning Lectures | 8/12 | Attention and Memory in Deep Learning(机翻讲稿) 图片外链失效,看图可去https://github.com/trotsky1997/Notes/blob/master/DeepMind%20X%20UCL%E8%AE%B2%E5%BA%A7%E7%B3%BB%E5%88%97/DeepMind%20x%20UCL%20%20Deep%20Learning%20Lectur

Trotsky的博客 2138

深入介绍 SAP OData CSRF Token 的一些技术细节

跨站请求伪造(Cross-Site Request Forgery,简称 CSRF)是一种网络攻击手段,它允许攻击者伪造用户的身份来执行未经授权的操作。为了防止 CSRF 攻击,常用的一种技术手段就是 CSRF Token.CSRF Token 是一种随机生成的防伪 Token,它由服务器颁发给客户端,并需要客户端在提交某些特定类型的请求时,将该 Token 添加到 HTTP 请求的头部字段去。

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 643

apollo自动驾驶进阶学习之:如何实现施工路段限速绕行及其参数调试

首先需要理解Planning模块是基于Scenario、Stage、Task这样的层次来进行的,即场景->步骤->具体的决策方法。Apollo可以应对自动驾驶所面临的不同道路场景,都是通过Scenario统一注册与管理。Scenario通过一个有限状态机来判断选择当前行车场景,每个Scenario下又有多个Stage,指当前场景下需要执行的粗略步骤。.........

qq_41593516的博客 6598

初识attention

近年来,attention机制在机器视觉和机器翻译领域受到了广泛的关注,有很多文章都是融合attention来提高性能。attention受启发于人类的视觉系统,最先应用于序列化的机器翻译(NLP)后又推广到计算机视觉中,本篇文章就来简单学习一下attention机制吧~

gls_nuaa的博客 1153

ISO2626 --- Item Definition相关项定义

本文并不是针对ISO26262的一个项目,而是针对ISO26262的规范,我们在相关项定义阶段,我们需要做什么,我们的文档需要包含哪些内容的一个描述。

wj博客 909

[ 注意力机制 ] 经典网络模型2——CBAM 详解与复现

[ 注意力机制 ] 经典网络模型2——CBAM 详解与复现 1、Convolutional Block Attention Module 2、CBAM 详解 Channel Attention Module Spatial Attention Module 3、CBAM 复现 简称 ``CBAM``,2018年 提出的一种新的 *卷积注意力模块* ; 对前馈卷积神经网络 是一个 简单而有效的 注意力模块 ; 因为它的轻量级和通用性,可以无缝集成到任何CNN网络当中 ;...

A_John 的博客 5万+

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

深度学习理论篇之 ( 十八) -- 注意力机制之SENet

科普知识ILSVRC(ImageNet Large Scale Visual Recognition Challenge)是机器视觉领域最受追捧也是最具权威的学术竞赛之一,代表了图像领域的最高水平。ImageNet数据集是ILSVRC竞赛使用的是数据集,由斯坦福大学李飞飞教授主导,包含了超过1400万张全尺寸的有标记图片。ILSVRC比赛会每年从ImageNet数据集中...

xyl666666的博客 1万+

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

从SENet到CCNet:注意力机制在工业质检中的落地进化史

本文回顾了注意力机制在工业质检领域的落地演进历程,从SENet的通道注意力、CBAM的空间注意力,到为应对计算挑战而优化的CCNet十字交叉注意力。文章重点剖析了如何将这些核心机制,特别是软注意力模型,进行工程化裁剪与优化,以适配边缘计算设备,实现高精度、高效率的实时缺陷检测,并分享了在工业产线中的实际部署经验与性能数据。

spark7igniter的博客 181

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

机器视觉Attention机制的研究

Attention算法调研(四) —— 视觉应用中的Soft Attention 从我的博客文章Attention算法调研(视觉应用概况)开始,我们一起分享一下Attention在机器视觉中的应用情况。在文章Attention算法调研(三)—— 视觉应用中的Hard Attention中,总结了视觉中Hard Attention的应用方法。 看过我前几章Attention介绍的博友可以发现...

qinglv1的博客 1804

毕业设计:深度学习卷积神经网络垃圾分类系统 - 深度学习 神经网络 图像识别 垃圾分类 算法 小程序

毕业设计:深度学习卷积神经网络垃圾分类系统 - 深度学习 神经网络 图像识别 垃圾分类 算法 小程序 所得的垃圾图片数据集中有40个二级类别,图片数量合计 14802张。由图3-1可以看出,各个垃圾类别的图像数据量不均衡,其中图片数据量较少的类别有:类别0(一次性快餐盒)、类别3(牙签)、类别20(快递纸袋);数据量较多的类别是:类别11(菜叶根)、类别21(插头电线)、类别25(毛绒玩具)。

HUXINY的博客 2万+

油菜叶片缺素诊断系统的深度学习与图像处理方法研究【附代码】

特别是对于缺素油菜叶片的识别,该模型达到了99.4%的高准确率,有效区分了不同类型的缺素症状,满足了高精度识别的需求,具有广泛的应用前景,为作物叶片缺素判别提供了坚实的理论和技术基础。实验结果显示,传统的人工测量和拉伸测量方法存在较大误差,分别为9.13%和4.60%,而本研究设计的夹板测量法仅产生1.25%的误差,这表明所设计的装置能够更加准确地反映油菜叶片的真实尺寸和形态,同时确保了油菜在自然状态下的生长环境不受影响,为后续分割模型训练中数据集的收集提供了可靠的技术支持。

坷拉博士 1047

视觉色选机核心技术解析:从光学成像到智能分选

机器视觉作为工业自动化的关键技术,通过光学成像和图像处理实现对物体的智能识别与分类。其核心原理是将光信号转换为数字图像,再通过算法提取颜色、纹理等特征进行决策。在工业生产中,这项技术显著提升了分选效率和精度,特别适用于农产品加工、资源回收等领域。视觉色选机融合了高速相机、LED光源阵列和深度学习算法等先进组件,其中多光谱成像技术和CNN网络的应用成为行业热点。通过优化图像处理流水线和采用FPGA硬件加速,现代色选机已实现毫秒级实时分选,正逐步向云边协同和数字孪生方向演进。

weixin_33912453的博客 463

【目标检测】(9) 改进PANet特征提取金字塔,附Tensorflow完整代码

各位同学好,今天和大家分享一下如何使用 注意力机制 和深度可分离卷积 优化 YOLOV4 的 PANet 特征金字塔。看本篇博客之前,建议大家先看以下几篇: YOLOV4主干网络:https://blog.youkuaiyun.com/dgvv4/article/details/123818580 混合域注意力机制:https://blog.youkuaiyun.com/dgvv4/article/details/123888724 轻量化网络:https://blog.youkuaiyun.com/dgvv4/article/det.

博观而约取,厚积而薄发 5462

SENet(Squeeze Excitation)、CBAM(Convolutional Block Attention Module)和CA(Coordinate Attention)

最基本的卷积操作开始说起。近些年来,卷积神经网络在很多领域上都取得了巨大的突破。而卷积核作为卷积神经网络的核心,通常被看做是在局部感受野上,将空间上(spatial)的信息和特征维度上(channel-wise)的信息进行聚合的信息聚合体。卷积神经网络由一系列卷积层、非线性层和下采样层构成,这样它们能够从全局感受野上去捕获图像的特征来进行图像的描述。 然而去学到一个性能非常强劲的网络是相当困难的,其难点来自于很多方面。最近很多工作被提出来从空间维度层面来提升网络的性能,如 Inception ...

taoqick的专栏 1086

分组卷积、SEnet模块、CBAM模块

分组卷积、SEnet模块、CBAM模块

sinat_42247418的博客 4661

视觉注意力机制——SENet、CBAM、SKNet

注意力机制(Attentional Mechanism) 通常将软注意力机制中的模型结构分为三大注意力域来分析: 空间域 空间域——将图片中的的空间域信息做对应的空间变换,从而能将关键的信息提取出来。对空间进行掩码的生成,进行打分,代表是Spatial Attention Module。 通道域 通道域——类似于给每个通道上的信号都增加一个权重,来代表该通道与关键信息的相关度的话,这个权重越大,则表示相关度越高。对通道生成掩码mask,进行打分,代表是senet, Channel Attention Mo

frighting_ing的博客 1万+

【深度学习】(1) CNN中的注意力机制(SE、ECA、CBAM),附Pytorch完整代码

大家好,今天和各位分享一下如何使用 Pytorch 构建卷积神经网络中的各种注意力机制,如:SENet,ECANet,CBAM。注意力机制的原理 和 TensorFlow2 的实现方式可以看我下面两篇博文:SENet、ECANet:https://blog.youkuaiyun.com/dgvv4/article/details/123572065DANet、CBAM:https://blog.youkuaiyun.com/dgvv4/article/details/123888724SE注意力机制(Squeeze-and-Exc

博观而约取,厚积而薄发 11万+

【有啥问啥】通道与空间的双重增强的CBAM注意力机制是什么?

通道注意力模块(Channel Attention Module)和空间注意力模块(Spatial Attention Module)。这两个模块分别在通道维度和空间维度上对特征进行增强。通道注意力模块:主要关注特征图中哪些通道(即特征的类别)对最终结果更重要,从而对这些通道赋予更高的权重。空间注意力模块:主要关注特征图中哪些空间位置包含更为关键的信息,从而对这些位置赋予更高的权重。通过这两个模块的逐步处理,CBAM能够细化特征的表达,提高模型的预测能力。

Chauvin的博客 6306
上一篇: 深度学习 机器视觉 经典卷积神经网络 Tensorflow2.0 keras.applications
下一篇: python excel xlsx csv txt 文件读写操作
老光头_ME2CS
博客等级 码龄8年 396粉丝 97原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值