spatial attention

channel attention是对通道加权,spatial attention是对spatial加权

Parameter-Free Spatial Attention Network for Person Re-Identification

在这里插入图片描述
feature map 对通道求和获得H*W矩阵,然后reshape, softmax, reshape获得注意力矩阵。

CBAM: Convolutional Block Attention Module

既有channel attention又有spatial attention

在这里插入图片描述
channel attention
在这里插入图片描述
spatial attention
在这里插入图片描述

class SpatialAttentionModule(nn.Module):
    def __init__(self):
        super(SpatialAttentionModule, self).__init__()
        self.conv2d = nn.Conv2d(in_channels=2, out_channels=1, kernel_size=7, stride=1, padding=3)
        self.sigmoid = nn.Sigmoid()

    def forward(self, x):
        avgout = torch.mean(x, dim=1, keepdim=True)
        maxout, _ = torch.max(x, dim=1, keepdim=True)
        out = torch.cat([avgout, maxout], dim=1)
        out = self.sigmoid(self.conv2d(out))
        return out
Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐