即插即用系列|Make FCN Great Again: 全局感受野助力全卷积神经网络涅槃重生!

简介: 即插即用系列|Make FCN Great Again: 全局感受野助力全卷积神经网络涅槃重生!

90a4b990418e660a31c3dca7e2f17b94.png

Title: FCN+ : Global Receptive Convolution Makes FCN Great Again

Paper: https://arxiv.org/pdf/2303.04589v1.pdf

导读

全卷积神经网络Fully Convolutional Neural Network,FCN)是在 2014 年被提出的,应用在语义分割领域的开创性工作。其基本思想是将全连接层转换为卷积层,从而使得网络可以接受任意尺寸的输入,并输出相应尺寸的像素级别的预测结果。

然而,由于其有限的感受野,FCN无法有效地捕获全局上下文信息,这对于语义分割十分重要。因此,近几年许多工作都是通过设计多种不同滤波尺寸,实现获取更大感受野。但是,这种策略通常会引入更多参数并增加计算成本。

本文针对此这两个难点:(1) 全局感受野,(2) 额外的计算开销进行了一系列的思考,并设计出了一种新颖的卷积,名为全局感受野卷积(Global Receptive Convolution, GRC)。此外,通过将 GRC 助力 FCN,获得了改进版本的 FCN,本文命令其为 FCN+。GRC 不仅能为 FCN 提供全局感受野,而且不会引入额外参数。FCN+ 可以在 PASCAL VOC 2012CityscapesADE20K上实现与最先进方法相当的性能,这有力验证了其语义分割任务的有效性和通用性。

创作背景

图1. 全局感受野卷积与其他卷积的对比

语义分割Semantic segmentation)是计算机视觉中的基础但又十分具有挑战性的任务,其目的是为每个像素分配一个类别标签。这种任务在场景理解、自动驾驶和医学图像诊断等领域都有广泛的应用。然而,该任务的主要挑战在于目标与场景具有非常大的尺度差异,以及不同的目标之间的视觉外观非常相似,这会导致在同一目标上产生不一致的分割结果或者边界分割不准确。

FCN 是语义分割任务的经典工作,通过利用 CNN 提取目标和场景的特征,并从分层层次结构中汇总不同空间分辨率的特征图作为多尺度表示。得益于这一特性,FCN 在一定程度上能够应对目标的尺度变化。然而,由于它的感受野有限,FCN 很难捕获丰富的全局上下文信息。

为了解决这些问题,研究人员提出了许多方法,包括多尺度特征表示全局上下文信息编码。然而,这些方法仍然存在一些局限性,如池化层可能会丢失更细致的空间信息,导致某些像素的表示不准确;大的扩张率可能会导致网格状伪影;注意力机制中的矩阵乘法会显著增加计算复杂度等,而且如图1(a, b)所示,所有这些方法都假定过滤器的不同通道共享完全相同的网格采样位置,这种局限性可能会妨碍它们集成全局上下文信息的效能和效率。

多尺度特征表示

U-Net、U-Net++

将从编码器中提取的多个低层特征图与解码器中的高层特征融合。

PSP-Net

采用金字塔池化模块,利用不同的池化网格聚合多尺度特征图。

Deeplab 系列

采用多个卷积滤波器,每个滤波器具有不同的膨胀率,用于多尺度表示。

全局上下文信息

Pyramid scene parsing network

通过全局平均池化获取全局上下文,但无法有效地将全局上下文信息整合到每个像素的表示中。

Non-local、DA-Net

利用自注意力机制建模像素间长距离依赖关系。

与上述的提到的方法不同,本文提出了一种全新的采样策略 GRC,其核心思想是通过不同通道的卷积核在不同网格采样位置捕捉全局上下文信息。进一步地,将 GRC 应用于 FCN 特征提取器,把标准卷积替换为 GRC,从而得到了一种新的网络架构 FCN+。本文提出的 FCN+ 是一种简单且有效的方法,其不仅可以解决上述提到的挑战,同时还避免了繁琐的解码器和更多的 ParamsFLOPs

方法

全局感受野卷积

图2. kernel为3x3的全局感受野卷积

通过将卷积滤波器的不同通道在整个输入特征映射上有不同的网格采样位置,GRC 实现了无需引入额外参数,为卷积滤波器提供了全局感受野

具体地,将卷积滤波器的通道分为两组,对于每一组,假设原始位置信息和全局上下文信息同等重要。在第一组通道中,采用标准卷积的方法捕捉原始位置信息;在第二组通道中,精心设计网格采样位置,以获得全局感受野。最终,将这两部分信息相加以集成全局上下文信息。

GRC 的关键在于使卷积滤波器的不同通道在整个输入特征图中具有不同的网格采样位置。为了实现这一点,作者将第二组通道分为  个子组,每个子组有  个通道。在空间维度上,将特征映射划分为  个 patch,每个 patch 包含  个像素。下面是偏移量的定义公式:

其中和是 patch 的索引。通过这种方式,可以控制偏移量并获得不同的网格采样位置。

下面的公式定义了所有可能的偏移量坐标组合,覆盖了整个输入特征映射,提供了GRC的全局感受野:

最后,根据通道索引,选择不同的偏移坐标来实现不同通道的不同网格采样位置。这种方法可以应用于各种卷积神经网络的架构中,通过增强卷积滤波器的感受野来提高网络性能。

优化 GRC 效率

GRC 包含  个滤波器,需要对所有滤波器进行移位,但移位操作对于并行计算来说既占用内存又低效。因此,该方法假设移位的偏移量对于这些滤波器是相同的,即它们是通道相关但滤波器无关的。

具体地,对于每个子组要进行的移位,该方法将保持中央采样位置与标准卷积相同,但根据偏移量移动这些子组的特征图。该方法首先将原始特征图的一半通道进行移位,然后对移位后的特征图应用标准卷积。由于移位操作更少且可进行并行计算,因此特征图移位的效率更高。

FCN+

图3. FCN+ 框架图

通过将 GRC 应用于 FCN,文本提出了 FCN+。 FCN+ 与 FCN 拥有相同的架构,都利用深度卷积神经网络提取对象和场景特征,并通过聚合来自分层级别的不同空间分辨率的特征图以获得多尺度表示。FCN+ 的主干特征提取器包括四个阶段,每个阶段包含几个残差块。如图3所示,通过将 GRC 应用于最后一个阶段(第5阶段),用 GRC 替换残差块中的第二个卷积,创建了一个称为 GRC 块的新块。在实验部分,本文对 GRC 块进行了详细的性能评估。

实验

  • 表1:GRC 及其变体在 ResNet 的第五个 stage 的性能表现最好。
  • 表2:GRC 性能比可变形卷积高 1.5%。

  • 表3:GRC 在残差块中的 Conv2 位置表现最好,这可能跟卷积核大小相关。
  • 表4:GRC 的分组数量为16的性能最好,但与分组数量为4差异不大。

  • 表5:与 SOTA 分割模型相比,FCN+ 在 VOC 与 ADE20K 数据集上均获得最优精度,在 Cityspaces 数据集上仅比 DeepLab V3+ 精度低0.4%。

总结

由于常规卷积核的网格采样位置受限于固定的局部空间坐标因此使用一个大小固定的卷积核不能捕捉全局感受野。为解决这个问题,本文基于卷积的网格采样位置应该依赖于空间坐标和不同通道这一思路,提出了一种全新的全局感受野卷积GRC),以提供全局感受野的卷积。此外,GRC 可以将全局上下文集成到每个像素的原始位置信息中,以获得更好的密集预测结果。作者将 GRC 应用于 FCN,提出了 FCN+。实验结果表明,FCN+ 在一些流行的语义分割数据集上(如 PASCAL VOC 2012CityscapesADE20K优于现有的先进方法

写在最后

如果您也对人工智能和计算机视觉全栈领域感兴趣,强烈推荐您关注有料、有趣、有爱的公众号『CVHub』,每日为大家带来精品原创、多领域、有深度的前沿科技论文解读及工业成熟解决方案!欢迎扫码与我交流,一起探讨更多有趣的话题!

目录
相关文章
|
3天前
|
机器学习/深度学习 算法 PyTorch
卷积神经网络的结构组成与解释(详细介绍)
卷积神经网络的结构组成与解释(详细介绍)
20 0
|
3天前
|
机器学习/深度学习 算法 数据挖掘
深度学习500问——Chapter05: 卷积神经网络(CNN)(4)
深度学习500问——Chapter05: 卷积神经网络(CNN)(4)
8 1
|
3天前
|
机器学习/深度学习 自然语言处理 计算机视觉
深度学习500问——Chapter05: 卷积神经网络(CNN)(3)
深度学习500问——Chapter05: 卷积神经网络(CNN)(3)
10 1
|
3天前
|
机器学习/深度学习 存储 算法
卷积神经网络(CNN)的数学原理解析
卷积神经网络(CNN)的数学原理解析
33 1
卷积神经网络(CNN)的数学原理解析
|
3天前
|
机器学习/深度学习 自然语言处理 计算机视觉
深度学习500问——Chapter05: 卷积神经网络(CNN)(2)
深度学习500问——Chapter05: 卷积神经网络(CNN)(2)
11 2
|
3天前
|
机器学习/深度学习 算法 PyTorch
卷积神经网络(CNN)——基础知识整理
卷积神经网络(CNN)——基础知识整理
27 2
|
3天前
|
机器学习/深度学习 存储 自然语言处理
深度学习500问——Chapter05: 卷积神经网络(CNN)(1)
深度学习500问——Chapter05: 卷积神经网络(CNN)(1)
15 1
|
3天前
|
机器学习/深度学习 PyTorch 算法框架/工具
使用Python实现卷积神经网络(CNN)
使用Python实现卷积神经网络(CNN)的博客教程
34 1
|
3天前
|
机器学习/深度学习 并行计算 测试技术
BiTCN:基于卷积网络的多元时间序列预测
该文探讨了时间序列预测中模型架构的选择,指出尽管MLP和Transformer模型常见,但CNN在预测领域的应用较少。BiTCN是一种利用两个时间卷积网络来编码历史和未来协变量的模型,提出于《Parameter-efficient deep probabilistic forecasting》(2023年3月)。它包含多个由扩张卷积、GELU激活函数、dropout和全连接层组成的临时块,有效地处理序列数据。实验表明,BiTCN在具有外生特征的预测任务中表现优于N-HiTS和PatchTST。BiTCN的效率和性能展示了CNN在时间序列预测中的潜力。
26 1
|
3天前
|
机器学习/深度学习 人工智能 算法
【AI 初识】什么是卷积神经网络 (CNN)?
【5月更文挑战第2天】【AI 初识】什么是卷积神经网络 (CNN)?

热门文章

最新文章