摘要
本文首先回顾了空洞卷积在语义分割中的应用,这是一种显式调整滤波器感受野和控制网络特征响应分辨率的有效工具。为了解决多尺度分割对象的问题,我们设计了采用级联或并行多个不同膨胀系数的空洞卷积模块,以更好的捕获上下文语义信息。此外,我们扩充了在DeepLab V2中提出的ASPP模块,进一步提升了它的性能。并且我们还分享了一些训练系统方面的经验和一些实施方面的细节。
介绍
作者提到DeepLab系列面临三大挑战:
挑战一:为分类任务设计的DCNN中的多次Max-Pooling和全连接层会导致空间信息的丢失。在DeepLabV1中引入了空洞卷积来增加输出的分辨率,以保留更多的空间信息。
挑战二:图像存在多尺度问题,有大有小。一种常见的处理方法是图像金字塔,即将原图resize到不同尺度,输入到相同的网络,获得不同的feature map,然后做融合,这种方法的确可以提升准确率,然而带来的另外一个问题就是速度太慢。DeepLab v2为了解决这一问题,引入了ASPP(atrous spatial pyramid pooling)模块,即是将feature map通过并联的采用不同膨胀速率的空洞卷积层,并将输出结果融合来得到图像的分割结果。
挑战三:分割结果不够精细的问题。这个和DeepLabV1的处理方式一样,在后处理过程使用全连接CRF精细化分割结果。
在本文中,我们我们重新讨论了在级联模块和空间金字塔池化框架下应用空洞卷积,这能够有效地扩大滤波器的感受野,将多尺度的上下文结合起来。特别地,我们提出的模块由具有不同采样率的空洞卷积和BN层组成,对于训练非常重要。我们实验了级联和并行的方式来部署ASPP模块。还有一个重要的问题是,采用采样率非常大的3 * 3空洞卷积,由于图像边界效应,不能捕捉图像的大范围信息,也即是原文说的会退化成1 * 1卷积,所以论文在这里提出在ASPP模块中加入图像级特征。此外,我们详细介绍了实现的细节,并分享了训练模型的经验,还包括一种简单而有效的引导方法,用于处理稀有和精细标注的对象。
DeepLabv3的贡献
-
回顾了空洞卷积,在级联模块和金字塔池化框架下也能扩大感受野提取多尺度信息。
-
改进了ASPP:由不同的采样率的空洞卷积和BN层组成,以级联或并行的方式布局。
大采样率的3×3 -
空洞卷积由于图像边界效应无法捕获长程信息,将退化为1×1 的卷积,我们建议将图像特征融入ASPP。
-
阐述训练细节和方法。
相关工作
很多工作已经证明了全局特征或上下文的语义信息有助于语义分割。在本文中,一共讨论了四种利用上下文信息进行语义分割的全卷积网络(FCNs),如Figure 2所示:
图像金字塔(Image pyramid): 多个尺度的图片输入到一个相同的网络中。小尺寸的输入有助于理解长距离的语义,大尺寸的输入有助于修正细节。使用拉普拉斯金字塔对输入图像进行变换,将不同尺度的图片输入到DCNN,并将所有比例的特征图合并。有人将多尺度的输入按顺序从粗到细依次应用,也有人将输入直接调整成不同的大小,并融合所有大小的特征。这类模型的主要缺点是由于GPU内存有限,较大较深的CNN不方便使用,因此通常在推理阶段应用。
编码器-解码器(Encoder-Decoder) 该模型由两部分组成:(a)编码器中,
特征映射的空间维度逐渐减少,从而更容易捕获较长范围内的信息;(b)解码器中,目标细节和空间维度逐渐恢复。例如,有人用反卷积来学习对低分辨率特征响应进行上采样。SegNet复用编码器中的池化索引,学习额外的卷积层来平滑特征响应。U-Net将编码器中的特征层通过跳跃连接添加到相应的解码器激活层中。LRR使用了一个拉普拉斯金字塔重建网络。最近,RefineNet等证明了基于编码-解码结构的有效性。这类模型也在目标检测的领域得到了应用。
上下文模块(Context module) 包含了额外的模块,采用级联的方式,用来编码远距离上下文信息。一种有效的方法是合并Dense CRF到DCNN中,共同训练DCNN和CRF。
空间金字塔池化(Spatial pyramid pooling) 空间金字塔池化可以在多个范围内捕捉上下文信息。DeepLabv V2提出了空洞卷积空间金字塔池化(ASPP),使用不同采样率的并行空洞卷积层才捕获多尺度信息。PSPNet在不同网格尺度上执行空间池化,并在多个语义分割数据集上获得出色的性能。还有其他基于LSTM的方法聚合全局信息。
方法
回顾空洞卷积如何提取密集特征、讨论空洞卷积模块以级联(串行)和并行布局。
空洞卷积
见DeepLabv1、v2
级联ResNet
将空洞卷积应用于级联结构,在ResNet最后一个block(block4)后连接许多级联模块。
图(a)中整体信息汇聚到非常小的feature map,实验表明其不利于分割。
ASPP+
在ASPP中加入BN层。
当采样率变大,卷积核的有效权重变小。
在65×65的feature map上以不同采样率采用3×3的卷积核。当采样率接近于feature map尺寸时,3×3退化为1×1
卷积核,只有中心的权重是有效的。
为了解决该问题并在模型中整合全局上下文信息,我们对最后的feature map采用全局池化,并经过256个1×1
的卷积核(BN),然后双线性插值到所需空间维度。
最终ASPP包含:
(a)一个1×1的卷积和三个3×3、rates=(6,12,18)、output_stride=16的空洞卷积**(256+BN)**。
(b)图像级特征。将特征做全局平均池化,后卷积,再上采样。
(a)中不同rates的空洞卷积通过控制不同的padding输出相同的尺寸,(b)中上采样后与(a)尺寸一致。
所有分支的结果被拼接起来并经过1×1的卷积(256+BN),最后经过1×1卷积生成分割结果。
当output_stride=8,采样率加倍。