Advertisement

DeepLabv3:Rethinking Atrous Convolution for Semantic Image Segmentation论文解读

阅读量:

Introduction

这篇文章属于DeepLab系列文章的第三篇,并可视为DeepLabv3.0版本。主要探讨了该系列在持续改进方面的进展,在介绍本文之前,请先简要回顾一下该系列论文的核心内容。

Dilated Convolution

Dilated Convolution,也可以叫做空洞卷积,最早在文章

Multi-Scale Context Aggregation by Dilated Convolutions

在分割领域中被应用。众所周知,在分割领域中被应用的卷积神经网络(CNN)具有一定的平移不变性这一特性对分类任务大有裨益然而对分割这种需要精确找到每个像素标签的密集分类任务却并非如此相反这种特性反而会导致难以获得精确的分割结果因为特征图中的某个激活点所代表的特征可能分布在激活点左侧也可能分布在右侧如果我们深入思考这一特性为何会出现则是由于池化操作的存在由于池化的存在某个局部区域的最大激活点会在池化后的多个位置同时出现这在Bengio等人所著的《深度学习》一书中对此有详细阐述为了解决这一问题我们可以采取以下措施要么取消池化操作要么将卷积层的步幅设为1这样便能够减少平移敏感性带来的负面影响然而这样做会带来两个新的问题即模型的整体表现可能会有所下降以及计算效率可能会受到影响因此我们需要在保证模型性能的前提下探索其他解决方案

  1. 感受野(Receptive Field)过小

  2. 计算量巨大

对于CNN网络来说,在各层中都可以通过以下公式RF_i = RF_{i-1} + (Kernelsize - 1) \times Stride来计算其感受野。类似于VGG网络的结构,在不减少stride数量的前提下试图扩大感受野的话,则必须增大kernel覆盖区域,并必然会带来参数量与计算量的增加。另一方面,在不减少stride数量的前提下试图扩大感受野的话,则必须增大kernel覆盖区域,并必然会导致参数量与计算量的增加。

空洞卷积

如上所示1, 借助空洞卷积技术使卷积核得到扩张, 从而使其感受野得以大幅提高速度(其中合适的rate呈指数级增长)。即使不使用stride层也能整合全局特征。

CRF(Conditional Random Field)

作为一种基于概率分布的概率图模型,
条件随机场曾被用于对图像添加噪声后的处理。
然而,
传统的FCN(卷积神经网络)所生成的特征图通常具有较低分辨率,
为此,
DeepLab方法采用了条件随机场作为后期处理手段,
将这些分割结果在条件随机场框架内通过能量函数优化进行迭代更新,
最终实现了更为精确的结果。

CRF

ASPP(Atrous Spatial Pyramid Pooling)

金字塔池化(Spatial Pyramid Pooling)是一种早先就被广泛采用的技术,在图像处理领域具有重要地位。其核心思想是将输入图像划分为不同尺度的区域并提取特征进行融合处理,在这一过程中能够有效提取多层次特征信息以提升模型性能。该技术最初由Kaiming He及其团队提出的SPPNet模型所应用,并在深度学习领域取得了显著成果。特别是在目标检测任务中得到了广泛应用,并突破了传统方法对固定尺寸输入的限制能力。随后这种方法被成功迁移至图像分割任务中,并在此基础上发展出融合多尺度特征的新方法以进一步提升分割精度和效果。而ASPP顾名思义即通过不同尺度的空洞卷积操作实现特征提取并融合结果从而实现更加高效的网络架构设计

ASPP

在网络中完整的框架如下:

ASPP2

DeepLab v3

Atrous Concolution

本文首先介绍了空洞卷积的概念及其应用。常规情况下,在CNN模型中提取出的空间分辨率通常是输入图像大小(假设输入图像尺寸为H×W,则其对应的特征图空间维度通常缩放到H/32×W/32)的比例约为1/32倍。若希望提升输出分辨率到当前分辨率的一半(即达到1/16倍),则可在CNN模型的最后一层采用步长为1的空间操作替代原本步长为2的操作(即 stride=1),随后将所有后续的空间操作替换为空洞率设置为2的操作(即 rate=2)。值得注意的是,在分割任务中提到过 stride 参数对于捕捉图像中的大范围特征至关重要。然而研究者发现,在不断缩减特征图的空间尺寸时(即持续降低特征图的比例因子),反而会导致模型在捕捉边缘等细节信息方面的能力显著下降。

table

上述实验的网络结构是这样的:

这里写图片描述

主体结构以ResNet为基础,在block5至block7阶段采用了相同的架构设计。为此种特征提取方式提供了一种有效的解决方案,在这一研究中作者设置了不同层级的分支(即所谓的多级卷积组),其中MultiGrid=(r_1,r_2,r_3)分别对应于各个分支的基础扩展倍数(单位速率)。这种扩展倍数的设定依据的是网络的整体输出分辨率(output stride)进行调节。举例而言,在输出分辨率设定为16的情况下,默认的多级卷积组参数设置为(1,2,4)。这样一来,在本研究中各个分支的实际扩展倍数分别为32/16×(1,2,4)= (2,4,8)

ASPP

与DeepLabv2相比,在采用ASPP这一技术上存在显著差异。

aspp

为了使模型能够有效提取全局信息而不依赖于较大的rate参数设置, 作者在ASPP模块中增加了全局平均池化(Global Average Pooling)这一组件. 这种设计使得空洞卷积操作专注于大尺寸空间特征的融合, 而全局信息则由GAP组件单独捕获并输出. GAP模块位于网络的最后一层, 生成的全局特征经过1×1的空间卷积处理后, 输出一个256通道的空间特征图. 接着, 该特征图通过双线性插值放大至与其它高层次特征图具有相同的空间尺寸, 最后再与这些高层次特征进行拼接整合

net

在对比实验中发现,在引入Image Pooling前后分别达到76.58\%77.21\%的mIoU指标。值得注意的是,在ASPP模块中将Image Pooling替换成率为24的空洞卷积后,在性能上出现了明显下降(约降低了约0.12个百分点),最终仅达到76.46\%的水平。这一结果充分证明了GAP在全局信息整合方面的优势及其在较大规模空洞卷积应用时的局限性。


  1. 图片来源:Understanding Convolution for Semantic Segmentation ↩

全部评论 (0)

还没有任何评论哟~