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

本文介绍了一个基于风格的特征重新校准模块(SRM),该模块通过提取和重新校准风格信息来增强CNN的表征能力。SRM包含风格池和风格集成两部分,前者用于提取风格特征,后者用于生成风格权重并重新校准特征映射。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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

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)
Style pooling是SRM中的一个操作符,它通过从每个通道中提取风格特征来总结跨空间维度的特征响应。具体而言,它使用样式池操作符从每个通道中提取风格特征,并通过样式集成操作符操作利用样式特性生成特定示例的样式权重。样式权重最终重新校准特征映射,以强调或抑制它们的信息。\[1\]在SRM代码中,样式池操作符使用全局平均池化和全局标准池化来计算每个通道的均值和标准差,然后将它们合并为一个张量。接下来,样式集成操作符使用一个全连接层将样式特征映射到一个权重张量,并通过归一化操作将其限制在0到1之间。最后,通过将样式权重张量与输入特征映射进行元素级乘法,实现对特征映射的重新校准。\[2\] #### 引用[.reference_title] - *1* *2* [SRM : A Style-based Recalibration Module for Convolutional Neural Networks论文笔记](https://blog.csdn.net/weixin_43898383/article/details/127753241)[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^v91^control,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [forkjoinpool源码分析](https://blog.csdn.net/Xiaowu_First/article/details/122407019)[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^v91^control,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值