SRM : A Style-based Recalibration Module for Convolutional Neural Networks论文笔记

整体结构图:
在这里插入图片描述

Style Pooling风格池部分:
在这里插入图片描述

Style Integration风格集成部分
在这里插入图片描述

1.提出了一个基于风格的重新校准模块(SRM),他通过利用中间特征映射的风格来自适应地重新校准。

2.SRM首先通过样式池从特征图的每个通道中提取样式信息,然后通过独立于通道的样式集成估计每个通道的重校正权重。
style pooling简单来说就是通过一个降维操作,可以有效的提取样式信息

3.SRM将个体风格地相对重要性融入到特征图中,可以有效地增强CNN的表征能力。
个人认为这个所谓的SRM与注意力机制很相似

4.SRM动态地估计单个风格的相对重要性,然后根据风格的重要性重新调整特征映射的权重,这允许网络专注于有意义的风格,而忽略不必要的风格。
重要性机制,其实也就是注意力机制

5.SRM主要由两个主要部分组成:样式池(风格池style pooling)和样式集成
风格池操作符通过总结跨空间维度的特征相应从每个通道中提取风格特征。
样式集成运算符,通过操作利用样式特性生成特定示例的样式权重。样式权重最终重新校准特征映射,以强调或抑制它们的信息。

6.SRM还提供了一种直观的解释通道再校准的效果:它通过调整特征响应的全局统计数据来控制风格的贡献,同时保持它们的空间配置。

主要创新:提出了一个基于风格的特征重新校准模块,通过将风格融入到特征映射中来增强CNN的表征能力。

风格:自适应实例归一化进一步表明,传输通道均值和标准差可以有效地改变图像风格。可以与生成对抗网络GANs相结合,通过调整中间层的样式来改进生成器

注意力和特征重新校准:SE提出了一种信道级再校准算子,它包含了信道之间的相互作用。它首先使用全局平均池聚合空间信息,并使用完全连接的子网络捕获通道依赖关系。

CBAM表明,通过利用最大池化并结合空间注意力模块,可以改进SE块。我们在没有渠道关系或空间注意的帮助下,根据利用风格信息重新制定了渠道明智的重新校准。

提出了一种样式汇集方法,它优于我们设置中的标准全局平均或最大汇集方法,以及一种与通道无关的样式集成方法,它比完全连接的同类方法更轻量级

模式化校准模块:我们采用每个特征图的通道统计量均值和标准差作为风格特征(即d = 2),d是风格特征的数量

SRM代码:
class SRMLayer(nn.Module):
    def __init__(self, channel, reduction=None):
        # Reduction for compatibility with layer_block interface
        super(SRMLayer, self).__init__()

        # CFC: channel-wise fully connected layer
        self.cfc = nn.Conv1d(channel, channel, kernel_size=2, bias=False,
                             groups=channel)
        self.bn = nn.BatchNorm1d(channel)

    def forward(self, x):
        b, c, _, _ = x.size()

        # Style pooling
        # AvgPool(全局平均池化):
        mean = x.view(b, c, -1).mean(-1).unsqueeze(-1)
        # StdPool(全局标准池化)
        std = x.view(b, c, -1).std(-1).unsqueeze(-1)
        u = torch.cat((mean, std), -1)  # (b, c, 2)

        # Style integration
        # CFC(全连接层)
        z = self.cfc(u)  # (b, c, 1)
        # BN(归一化)
        z = self.bn(z)
        # Sigmoid
        g = torch.sigmoid(z)


        g = g.view(b, c, 1, 1)
        return x * g.expand_as(x)
  • 4
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
Yolov5 SimAM是Yolov5目标检测算法中的一种注意力机制。SimAM是一种无参注意力机制,与SE(Squeeze-and-Excitation)、CBAM(Convolutional Block Attention Module)、ECA(Efficient Channel Attention)等相比,在推理速度方面表现相当,优于CBAM和SRM(Selective Refinement Module)。SimAM可以通过在Yolov5的配置文件.yaml中进行相应的配置来启用。 注意力机制在计算机视觉领域中被广泛应用,用于提取图像中重要的特征信息。SE、Coordinate Attention、CBAM、ECA、SimAM等都是常见的注意力机制。每种注意力机制都有其独特的原理和应用场景。SE注意力机制主要关注通道间的关系,CBAM注意力机制则结合了通道注意力和空间注意力,ECA注意力机制则通过计算通道之间的自适应加权系数来增强特征表示能力,而SimAM是一种无参注意力机制,不需要额外的参数学习。 总之,Yolov5中的SimAM注意力机制是一种推理速度较快且表现优秀的无参注意力机制,可以通过在配置文件.yaml中进行相应的配置来启用。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *3* [Yolov5添加注意力机制](https://blog.csdn.net/m0_56247038/article/details/124845508)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* [目标检测算法——YOLOv5/YOLOv7改进之结合无参注意力SimAM(涨点神器)](https://blog.csdn.net/m0_53578855/article/details/127419661)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值