【论文笔记】:Pyramid Feature Attention Network for Saliency detection

&Title

在这里插入图片描述

&Summary

在显著性检测算法中,如何提取到更有效的特征是该任务的难点之一

为了解决该问题,我们通过金字塔特征注意网络来注意高语义特征和低维空间结构特征
首先,使用上下文感知金字塔特征提取(Context-aware PyramidFeatureExtraction,CPFE)模块对高级多尺度信息捕捉丰富的语义信息。

其次,在CPFE模块后加入通道注意模块( channel-wise attention,CA)以及低级特征中提取的空间注意模块( spatial attention,SA),然后将CA和SA融合。

最后,我们提出边缘保护损失,使网络学习到更多的边界定位的细节信息。

根据不同级别特征的特征,我们对高级特征采用通道注意,对于低级特征采用空间注意,以选择有效特征。另外,我们不对高级功能使用空间关注,因为高级功能包含高度的抽象语义,因此无需过滤空间信息。同时,我们不对低级功能使用通道注意,因为低级功能的不同通道之间几乎没有语义上的区别。

contributions:

  1. 我们提出了一种用于图像显着性检测的金字塔特征注意(PFA)网络。 对于高级功能,我们采用了上下文感知金字塔特征提取模块和通道级注意模块来捕获丰富的上下文信息。 对于低级特征,我们采用空间关注模块过滤掉一些背景细节。
  2. 我们设计了一种新颖的边缘保留损失,以指导网络学习边界定位方面的更多详细信息。
  3. 所提出的模型在一些具有挑战性的数据集上达到了最新水平。 实验证明了该方法的有效性和优越性。

&Research Objective

提取到更有效的特征。

&Problem Statement

如今算法多通过融合多尺度特征来提取更有效的特征,但并不是所有的特征都是有效的,而且有些可能导致相反的效果。

  • 最有效的显著性目标检测算法都是基于FCN网络,由多个卷积层和池化层堆叠来逐渐增加感受野大小以及获得更高级的语义信息。但池化层减小了特征映射的大小并恶化了显著对象的边界。
  • 一些研究者通过手动提取特征将显著性目标的边界特征进行保存。但这种方法难以有效地融合单独提取的互补特征,并且很耗时。
  • 研究者们又通过融合多尺度特征来进行显著性目标检测。深层的特征通常包含全局上下文感知信息,这些信息适合于正确定位显著区域。 浅层的特征包含空间结构细节,适合于定位边界。这些方法的缺点是,融合不同尺度的特征但是并未考虑到每一层不同的贡献

&Method(s)

提出了一种新的显着性检测方法,该方法包含一个上下文感知金字塔特征提取模块和一个通道感知模块:以捕获上下文感知多尺度多接收场高级特征;空间注意力:用于低级特征图的模块以精炼显着的对象细节;有效的边缘保留损失,以指导网络学习边界定位中的更多详细信息。 总体架构如下图所示:
在这里插入图片描述

ef VGG16(img_input, dropout=False, with_CPFE=False, with_CA=False, with_SA=False, droup_rate=0.3):
    # Block 1  Conv 1-2
    x = Conv2D(64, (3, 3), activation='relu', padding='same', name='block1_conv1')(img_input)
    x = Conv2D(64, (3, 3), activation='relu', padding='same', name='block1_conv2')(x)
    C1 = x
    x = MaxPooling2D((2, 2), strides=(2, 2), name='block1_pool')(x)
    if dropout:
        x = Dropout(droup_rate)(x)
        
    # Block 2  Conv 2-2
    x = Conv2D(128, (3, 3), activation='relu', padding='same', name='block2_conv1')(x)
    x = Conv2D(128, (3, 3), activation='relu', padding='same', name='block2_conv2')(x)
    C2 = x
    x = MaxPooling2D((2, 2), strides=(2, 2), name='block2_pool')(x)
    if dropout:
        x = Dropout(droup_rate)(x)
        
    # Block 3  Conv 3-3
    x = Conv2D(256, (3, 3), activation='relu', padding='same', name='block3_conv1')(x)
    x = Conv2D(256, (3, 3), activation
  • 0
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值