首页 > 其他分享 >【深度学习|特征增强融合模块】ABCNet中的AEM模块相对于BiSeNet 中的ARM 模块是如何优化的?

【深度学习|特征增强融合模块】ABCNet中的AEM模块相对于BiSeNet 中的ARM 模块是如何优化的?

时间:2024-11-30 20:31:56浏览次数:10  
标签:name BiSeNet 特征 2024 模块 AEM ARM

【深度学习|特征增强融合模块】ABCNet中的AEM模块相对于BiSeNet 中的ARM 模块是如何优化的?

【深度学习|特征增强融合模块】ABCNet中的AEM模块相对于BiSeNet 中的ARM 模块是如何优化的?


文章目录


在这里插入图片描述

ARM 模块 (Attention Refinement Module)

作用:

  • ARM 模块的核心作用是对输入特征进行通道级的全局信息建模,突出关键特征并抑制冗余信息,从而增强对目标区域的关注。

结构分析:

  • 全局平均池化 (GlobalAveragePooling2D):将输入特征 x 通过全局平均池化压缩到一个单一通道的特征向量,捕获全局上下文信息。

  • 卷积 (Conv2D):使用一个通道数与输入相同的 1×1 卷积对池化后的特征向量进行通道间变换,同时进行非线性激活(ReLU)。

  • 归一化 (BatchNormalization):稳定特征分布并加速训练。

  • 激活函数 (sigmoid):将特征归一化为 [0,1] 的范围,用作通道注意力权重。

  • 元素乘 (multiply):对输入特征图 x 和注意力权重进行逐元素相乘,增强关键通道的信息。

输出:

  • 输出的特征图与输入的大小一致,但通道间的权重被重新分配,突出重要特征。

代码示例:

def AttentionRefinementModule(x, channel, name):

    ARM = GlobalAveragePooling2D(data_format='channels_last', name=name+'_globalpooling')(x)
    ARM = Reshape(target_shape=(1,1,channel), name=name+'_reshape')(ARM)
    ARM = Conv2D(channel, 1, strides=1, padding='same', activation='relu', name=name+'_conv')(ARM)
    ARM = BatchNormalization(name=name+'_bn')(ARM)
    ARM = Activation('sigmoid', name=name+'_sigmoid')(ARM)
    ARM = multiply([x,ARM], name=name+'_multiply')

    return ARM

在这里插入图片描述

AEM 模块 (Attention Enhancement Module)

改进之处:

AEM 模块是对 ARM 模块的改进版本,融合了更强大的卷积操作和增强的注意力机制,进一步提升了特征建模能力和注意力的细粒度分配能力。

结构分析:

  • 卷积 (ConvBNReLU):使用卷积(通常为 3×3 卷积)对输入特征图进行空间和通道的初步融合。包含批归一化和 ReLU激活,确保训练稳定。
  • 注意力机制 (Attention):应用了一个单独定义的注意力模块,增强特征对目标的响应能力。
  • 批归一化 (BatchNorm2d):在注意力结果之后进一步归一化特征。
  • 权重初始化 (init_weight):对卷积层的权重进行适当初始化,提高训练效率。

输出:

  • 与 ARM 一样,AEM 的输出特征图与输入大小一致,但其使用了更复杂的结构,特征表达能力更强。

代码示例:

class AttentionEnhancementModule(nn.Module):
    def __init__(self, in_chan, out_chan):
        super(AttentionEnhancementModule, self).__init__()
        self.conv = ConvBNReLU(in_chan, out_chan, ks=3, stride=1, padding=1)
        self.conv_atten = Attention(out_chan)
        self.bn_atten = BatchNorm2d(out_chan)
        self.init_weight()

    def forward(self, x):
        feat = self.conv(x)
        att = self.conv_atten(feat)
        return self.bn_atten(att)

    def init_weight(self):
        for ly in self.children():
            if isinstance(ly, nn.Conv2d):
                nn.init.kaiming_normal_(ly.weight, a=1)
                if not ly.bias is None:
                    nn.init.constant_(ly.bias, 0)

ARM 与 AEM 的联系与区别

联系:

  • 两者均通过注意力机制增强输入特征的表达能力。
  • 输出的特征图与输入的大小一致,都是对通道权重的重新分配。
  • 都能显著提高模型对目标区域的敏感性。

区别:

全局信息建模方式:

  • ARM 依赖全局平均池化进行全局上下文建模。
  • AEM 通过额外的卷积和更复杂的注意力机制进行全局和局部特征增强。

注意力生成方式:

  • ARM 使用了简单的 1×1 卷积和 sigmoid 激活生成注意力权重。
  • AEM 则采用了更高级的注意力模块(如自定义 Attention 模块),对空间和通道更细粒度建模。

特征融合方式:

  • ARM 的注意力权重直接与输入逐元素相乘。
  • AEM 结合了卷积、注意力和批归一化操作,生成更复杂的特征。

计算复杂度:

  • ARM 结构简单,计算量较小。
  • AEM 由于引入了卷积和复杂注意力机制,计算量和模型参数量都更高。

总结

  • ARM 模块适用于轻量级网络,能够快速、有效地捕获全局特征。
  • AEM 模块则通过更强大的卷积和注意力机制,提升了特征建模能力,适用于对特征表达要求更高的场景。

交通运输、机电主题会议

第六届国际科技创新学术交流大会(IAECST 2024) 暨第四届物流系统与交通运输国际学术会议(LSTT 2024)

  • 12月6-8日,广州

第四届机电一体化与智能控制国际学术会议(MIC 2024)

  • 12月27-29日,南昌

2024年智能船舶与机电系统国际学术会议(ICISES 2024)

  • 12月27-29日,广州

测绘遥感、地质主题会议

第三届地理信息与遥感技术国际学术会议(GIRST 2024)

  • 11月29日-12月1日,意大利罗马

2024年遥感技术与图像处理国际学术会议(RSTIP 2024)

  • 11月29-12月1日,大理

数学、力学、物理主题会议

第五届应用力学与机械工程国际学术会议(ICAMME 2024)

  • 12月20-22日,长沙

欢迎宝子们点赞、关注、收藏!欢迎宝子们批评指正!
祝所有的硕博生都能遇到好的导师!好的审稿人!好的同门!顺利毕业!

标签:name,BiSeNet,特征,2024,模块,AEM,ARM
From: https://blog.csdn.net/gaoxiaoxiao1209/article/details/144067350

相关文章

  • QT核心模块源码解析:组件与样式
    QT核心模块源码解析:组件与样式使用AI技术辅助生成QT界面美化视频课程QT性能优化视频课程QT原理与源码分析视频课程QTQMLC++扩展开发视频课程免费QT视频课程您可以看免费1000+个QT技术视频免费QT视频课程QT统计图和QT数据可视化视频免费看免费QT视频课程QT性能......
  • WiFi+4G摄像头拍照图传模块(夜视2K高清1080P)-产品功能介绍
    <p><iframename="ifd"src="https://mnifdv.cn/resource/cnblogs/product/audioCamera.html"frameborder="0"scrolling="auto"width="100%"height="1500"></iframe></p> 说明研发此......
  • 管理模块源码
    原文地址:https://bbs.huaweicloud.com/blogs/441056本文翻译自:https://go.dev/doc/modules/managing-source当你在开发一个用于发布给其他人使用的模块时,可以通过遵循该主题中描述的仓库约定来确保您的模块更易于其他开发人员使用。该模块描述了在管理模块仓库时可能采取的操......
  • GY302光照传感器模块详解
    一、引言在当今科技飞速发展的时代,传感器技术在各个领域都发挥着至关重要的作用。光照传感器作为一种能够感知环境光照强度的设备,广泛应用于农业、工业、智能家居等领域。GY302光照传感器模块以其高精度、稳定性和易用性,成为众多应用场景中的理想选择。本文将对GY302光照传感......
  • M31系列LoRa分布式IO模块功能简介
    M31系列LoRa分布式IO模块简介M31系列LoRa分布式IO主机模块是一款强大的无线远程控制与采集设备,该设备采用LoRa无线技术(内置了无线模块),可通过串口或远程LoRa组网设备发送ModbusRTU指令进行控制,可搭配E90-DTU(400SL30)型号无线数传电台,实现无线远程采集控制开关量模拟量......
  • 【每天一篇深度学习论文】(IEEE 2024)即插即用特征增强模块FEM
    目录论文介绍题目:论文地址:创新点方法整体结构即插即用模块作用消融实验结果即插即用模块代码论文介绍题目:FFCA-YOLOforSmallObjectDetectioninRemoteSensingImages论文地址:https://ieeexplore.ieee.org/document/10423050创新点FFCA-YOLO模型的设计:该......
  • 介绍一下IndexedDB以及封装IndexedDB的模块代码
    IndexedDB简介IndexedDB是一种浏览器内置的低层次的API,用于在客户端存储大量结构化数据。它是一个浏览器端的数据库,允许你存储各种类型的对象,包括文件、二进制数据等,并通过键值对的方式进行快速查询。与WebStorage(如localStorage和sessionStorage)不同,IndexedDB可以存储......
  • 芯洲科技DCDC、LDO、IGBT、MOSFET、功率接口、PMIC、电压模块
    芯洲科技电源管理芯片主要有:降压DCDC转换器、升压DCDC转换器升降压DCDC转换器高压LDO、低压LDO、高性能LDOIGBT/MOSFET栅级驱动器、PWMDCDC控制器、无刷马达驱动器理想二极管控制器、智能高边开关、电子熔断器系统集成:(无线充电发射端PMIC、车载摄像头PMIC、毫米波雷达......
  • 数学模块,turtle模块,time模块
    python模块数学模块turtle模块time模块1.time模块2.格式化数学模块常用数学函数math.sqrt(x):返回x的平方根。如果x是负数,将引发ValueError。math.pow(x,y):返回x的y次幂。等同于x**y,但接受浮点数作为指数。math.exp(x):返回e(自然对数的底数,约等......
  • 介绍一下IndexedDB以及封装IndexedDB的模块代码
    1.IndexedDB简介IndexedDB是一种在浏览器中存储结构化数据的方式,类似于关系数据库,但它具有更高的存储容量和灵活性。相比于localStorage,IndexedDB适合存储大量数据,能够处理更复杂的数据结构,并且支持异步操作。它是浏览器端持久化存储的一种常用方式。IndexedDB的特点:异步:I......