A Simple Pooling-Based Design for Real-Time Salient Object Detection

一种基于简单池化的实时显着目标检测——PoolNet(解读)(原论文)


摘要

通过研究如何扩展卷积神经网络中池化部分来解决显着目标检测问题。

网络基于U形结构,贡献有:

  • 首先在自下而上的路径上构建全局引导模块(GGM),旨在为不同特征层提供潜在显着对象的位置信息。
  • 设计了一个特征聚合模块(FAM),使粗级语义信息与自上而下的路径中的精细级别特征完美融合。

通过在自上而下路径中的融合操作之后添加FAM,来自GGM的粗略特征可以与各种尺度的特征无缝地合并。这两个基于池化的模块允许逐步细化高级语义特征,从而产生细节丰富的显着性映射。


模型

A Simple Pooling-Based Design for Real-Time Salient Object Detection_第1张图片

模型包括基于特征金字塔网络(FPN)的两个主要模块:

  1. 全局引导模块(GGM):金字塔池模块(PPM)的修改版本和一系列全局引导流程(GGF)组成。GGM是一个单独的模块。更具体地说,PPM被放置在主干的顶部以捕获全局指导信息(显着对象所在的位置)。通过引入GGF,PPM收集的高级语义信息可以传递到所有金字塔等级的特征图,从而弥补了U型网络的缺点,即自上而下的信号逐渐被稀释的缺点
  2. 特征聚合模块(FAM):针对的是GGF粗糙特征图与金字塔不同尺度特征图的融合问题。该模块首先将融合特征映射转换为多个特征空间,以捕获不同尺度的局部上下文信息,然后组合信息以更好地权衡融合输入特征映射的组成

模型网络构架

主干网络

基于特征金字塔网络(FPN)的一种经典的U形架构,以自下而上和自上而下的方式设计,图1左上角所示。引入了一个建立在自下而上路径顶部的全局指导模块(GGM)。通过将GGM提取的高级信息聚合到每个要素级别的要素图中,目标是明确注意显着对象所在的不同要素级别的图层。在GGM的指导信息与不同级别的特征合并之后,进一步引入特征聚合模块(FAM),以确保可以无缝合并不同规模的特征映射。

全局引导模块(GGM)

FPN提供了一种经典架构,用于组合分类主干的多级功能。然而,由于自上而下的路径建立在自下而上的主干上,这种类型的U形结构的问题之一是当高级特征传输到较低层时,它们将逐渐被稀释。CNN的经验感受域远小于理论上的感知域,特别是对于更深的层,因此整个网络的感受域不足以捕获输入图像的全局信息。 对此的直接影响是,只能发现部分显着物体。关于自上而下路径中精细级别特征映射缺乏高级语义信息,引入一个全局指导模块,其中包含金字塔池化模块(PPM)的修改版本和一系列全局引导流(GGF)明确地使每个级别的特征图知道显着对象的位置。

PPM由四个子分支组成,用于捕获输入图像的上下文信息。第一个子分支和最后一个子分支分别是恒等映射层和全局平均池化层。对于两个中间分支,采用自适应平均池化层,以确保它们的输出特征图为3×3和5×5

GGM独立于U形结构。通过引入一系列全局引导流,可以轻松地将高级语义信息传递到各个级别的特征映射。通过这种方式,明确增加了自顶向下路径各部分的全局引导信息权重,以确保在构建FPN时不会稀释位置信息。

A Simple Pooling-Based Design for Real-Time Salient Object Detection_第2张图片

为了更好地证明GGM的有效性,进行了一些视觉比较。如图2所示,展示了由vgnet版本的fpns2生成的一些显著性图。可以很容易地发现,只有FPN主干网,很难为一些复杂的场景找到突出的对象。也有一些结果只检测到突出物体的一部分。然而,当GGM被合并时,得到的显著性地图的质量大大提高。如图2f所示,可以精确地发现突出物体,这说明了GGM的重要性。

功能聚合模块(FAM)

A Simple Pooling-Based Design for Real-Time Salient Object Detection_第3张图片

每个模块包含四个子分支,如图所示。在正向过程中,首先将输入特征映射转换为不同的比例空间,将其输入到具有不同下采样率的平均池化层中。然后将来自不同子分支的上采样特征图合并在一起,然后是3×3卷积层。

它有助于我们的模型减少上采样的混叠效果,特别是当上采样率较大时。此外,它还允许每个空间位置在不同的尺度空间中查看上下文,进一步扩大整个网络的接收域

A Simple Pooling-Based Design for Real-Time Salient Object Detection_第4张图片

为了验证FAM的有效性,在图4中可视化了FAM附近的特征图。通过比较左边部分(W/FAMS)和右边部分(W/O FAMS),FAMS之后的特征映射(A列)比没有FAMS的特征映射(C列)能更好地捕获突出的对象。除了可视化中间特征图外,还展示了一些由不同设置的模型生成的显著性图,如图2所示。通过比较F列(W/O FAMS)和G列(W/FAMS)的结果,可以很容易地发现,多次引入FAM可以使我们的网络更好地锐化突出对象的细节。通过观察图2的第二行,这种现象尤其明显。


边缘检测联合训练

首先,试图通过添加一个额外的预测分支来解决这个问题,该分支建立在图1的架构之上,以估计突出对象的边界。详细结构见图1的顶部。在FAMS之后,在自顶向下的路径中添加了三个剩余块,用于信息转换。这些剩余块从细到粗的通道数为128、256、512。每个剩余块之后是一个16通道3×3卷积层用于特征压缩,再加上一个1通道1×1卷积层用于边缘预测。将这三个16通道3×3卷积层连接起来,并将它们馈送给三个连续的3×3卷积层(48个通道),以将捕获的边缘信息传输到突出目标检测分支以进行细节增强。

A Simple Pooling-Based Design for Real-Time Salient Object Detection_第5张图片

在训练阶段,使用突出物体的边界作为联合训练的基本真理。然而,这个过程并没有带来任何性能提升,而且一些结果仍然缺少对象边界的细节信息。例如,如图5的C列所示,对于前景和背景对比度较低的场景,生成的显著性图和边界图仍然不明确。其原因可能是由突出物体生成的地面真值边缘图仍然缺乏突出物体的大部分详细信息。它们只是告诉我们突出物体的最外边界在哪里,特别是在突出物体之间有重叠的情况下。


实验结果

A Simple Pooling-Based Design for Real-Time Salient Object Detection_第6张图片

A Simple Pooling-Based Design for Real-Time Salient Object Detection_第7张图片


源代码

PyTorch代码:https://github.com/backseason/PoolNet

你可能感兴趣的:(论文)