即插即用系列|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』,每日为大家带来精品原创、多领域、有深度的前沿科技论文解读及工业成熟解决方案!欢迎扫码与我交流,一起探讨更多有趣的话题!

目录
相关文章
|
26天前
|
机器学习/深度学习 计算机视觉 Python
【YOLOv11改进 - 注意力机制】SimAM:轻量级注意力机制,解锁卷积神经网络新潜力
【YOLOv11改进 - 注意力机制】SimAM:轻量级注意力机制,解锁卷积神经网络新潜力本文提出了一种简单且高效的卷积神经网络(ConvNets)注意力模块——SimAM。与现有模块不同,SimAM通过优化能量函数推断特征图的3D注意力权重,无需添加额外参数。SimAM基于空间抑制理论设计,通过简单的解决方案实现高效计算,提升卷积神经网络的表征能力。代码已在Pytorch-SimAM开源。
【YOLOv11改进 - 注意力机制】SimAM:轻量级注意力机制,解锁卷积神经网络新潜力
|
20天前
|
机器学习/深度学习 人工智能 自然语言处理
深度学习中的卷积神经网络:从理论到实践
【10月更文挑战第35天】在人工智能的浪潮中,深度学习技术以其强大的数据处理能力成为科技界的宠儿。其中,卷积神经网络(CNN)作为深度学习的一个重要分支,在图像识别和视频分析等领域展现出了惊人的潜力。本文将深入浅出地介绍CNN的工作原理,并结合实际代码示例,带领读者从零开始构建一个简单的CNN模型,探索其在图像分类任务中的应用。通过本文,读者不仅能够理解CNN背后的数学原理,还能学会如何利用现代深度学习框架实现自己的CNN模型。
|
19天前
|
机器学习/深度学习 人工智能 算法框架/工具
深度学习中的卷积神经网络(CNN)及其在图像识别中的应用
【10月更文挑战第36天】探索卷积神经网络(CNN)的神秘面纱,揭示其在图像识别领域的威力。本文将带你了解CNN的核心概念,并通过实际代码示例,展示如何构建和训练一个简单的CNN模型。无论你是深度学习的初学者还是希望深化理解,这篇文章都将为你提供有价值的见解。
|
1月前
|
机器学习/深度学习 监控 自动驾驶
卷积神经网络有什么应用场景
【10月更文挑战第23天】卷积神经网络有什么应用场景
61 2
|
1月前
|
机器学习/深度学习 自然语言处理 算法
什么是卷积神经网络
【10月更文挑战第23天】什么是卷积神经网络
37 1
|
1月前
|
机器学习/深度学习 人工智能 算法
【车辆车型识别】Python+卷积神经网络算法+深度学习+人工智能+TensorFlow+算法模型
车辆车型识别,使用Python作为主要编程语言,通过收集多种车辆车型图像数据集,然后基于TensorFlow搭建卷积网络算法模型,并对数据集进行训练,最后得到一个识别精度较高的模型文件。再基于Django搭建web网页端操作界面,实现用户上传一张车辆图片识别其类型。
74 0
【车辆车型识别】Python+卷积神经网络算法+深度学习+人工智能+TensorFlow+算法模型
|
20天前
|
机器学习/深度学习 人工智能 自动驾驶
深入解析深度学习中的卷积神经网络(CNN)
深入解析深度学习中的卷积神经网络(CNN)
35 0
|
23天前
|
机器学习/深度学习 人工智能 TensorFlow
深度学习中的卷积神经网络(CNN)及其在图像识别中的应用
【10月更文挑战第32天】本文将介绍深度学习中的一个重要分支——卷积神经网络(CNN),以及其在图像识别领域的应用。我们将通过一个简单的代码示例,展示如何使用Python和TensorFlow库构建一个基本的CNN模型,并对其进行训练和测试。
|
29天前
|
机器学习/深度学习 自然语言处理 TensorFlow
深度学习中的卷积神经网络(CNN)及其应用
【10月更文挑战第26天】在这篇文章中,我们将深入探讨卷积神经网络(CNN)的基本原理、结构和应用。CNN是深度学习领域的一个重要分支,广泛应用于图像识别、语音处理等领域。我们将通过代码示例和实际应用案例,帮助读者更好地理解CNN的概念和应用。
|
1月前
|
机器学习/深度学习 算法 计算机视觉
深度学习与生活:如何利用卷积神经网络识别日常物品
【10月更文挑战第24天】在这篇文章中,我们将探索深度学习如何从理论走向实践,特别是卷积神经网络(CNN)在图像识别中的应用。通过一个简单的示例,我们将了解如何使用CNN来识别日常生活中的物体,如水果和家具。这不仅是对深度学习概念的一次直观体验,也是对技术如何融入日常生活的一次深刻反思。文章将引导读者思考技术背后的哲理,以及它如何影响我们的生活和思维方式。