IFCN:Improving Fully Convolution Network for Semantic Segmentation

0 摘要

我们在FCN的基础上添加了context network(能够显著的扩大特征图的感受野)以及增加了密集跳连接(dense skip connections)。

1 Introduction

预先训练的CNN是用低分辨率图像(例如224 × 224像素)训练的,而输入分割图像通常是高分辨率的(例如512 × 512像素),因为FCN是利用VGG预训练的,它是224 × 224的。因此FCN的网络所感到的上下文性能有了限制,有一些人对于下采样过程进行了调整(比如变成stride=1)的,但是对于小的物体分割不是很好,以及不同图像中物体尺度不同的时候分割效果不好。我们提出的模型将在第二节讨论,主要解决上述问题。

1.1 IFCN vs FCN

最重要的改动是在预先训练的CNN和上采样层之间建立一个context network。这对于上述输入512 * 512这类的高分辨率图像至关重要,context network是一个有多个卷积+BN+ReLU+skip组成的(context network代替了原来FCN的从下采样到上采样中间的卷积网络),具体见第三节。

1.2 IFCN-xs vs FCN-xs

我们在IFCN中也添加了skip,FCN是从Pool 4开始往后面的decoder进行skip的,我们是从Pool 3,含有更多的底层信息。具体见第三节。

在各个数据集上面得到了很好的效果。

2 FCN及其发展回顾

FCN、DeepLab、FC-CRF、CRF-RNN还有一些其他的网络或者关键技术,这些是与我们的IFCN正交的,即可以将他们添加进网络,进一步提高IFCN网络的表现能力。

我们的工作是引入了新的计算层来进行上下文的建模,然后引入到FCN,实现一个端到端的网络。有人利用深度解析网络(DPN),采用局部卷积层来近似成对项的平均场算法,进行分割;也有人在图像区域之间插入卷积层,来模拟相互的语义;还有利用RNN网络将local的语义信息进行传播的;也有人利用空洞卷积来扩展感受野;与他们类似,IFCN也实现了上下文语义的聚合。

我们的网络优势在于context net有很多的skip连接,可以有更大的感受野,以及能够丰富上下文预测。同时不像RNN那些需要按步骤处理。

另一个流行的架构修改是结合多尺度预测。最近的PixelNet结合的是hypercolumn feature approach(超立方体特征方法),这些方法要么运算时间长、要么占用空间大,所以我们的这种密集跳连接的方法,是更有效的。

3 IFCN

3.1 Context Networks

FCN网络的感受野如下:
在这里插入图片描述
可以看出它只有404 * 404,如果图像大一点,他就没有办法很好的联合上下文语义信息进行预测。以前有文献表明,特征映射的上下文语义信息在分割性能中起着关键作用。基于这样的原则,我们在预先训练好的CNN上附加了一个上下文网络,其主要目标是有效地扩大特征图的感受野。

我们采用基本的conv模块(Conv + BN + ReLU)来构建我们的上下文网络。这种架构选择背后的理由是:1)Conv可以整合周围一些语义信息;2) 许多文献广泛而成功地设计并使用了Conv来进行上下文语义信息的聚合;3) 与递归神经网络相比,Conv更有效地聚集上下文。(这一段感觉是硬凑的)

起初我们的网络是运行不了的,没有分割结果,分析原因得到两个结论,1)网络太深,导致梯度消失;2) 由上下文网络生成的最终特征图预期具有宽(全局)范围的上下文视图,这使得特征对局部预测的区分性更小。所以我们在context net中,引入了shortcut branches,以解决上述问题(这里有点残差网络的思想)。结构图如下,最后是通过sum的形式进行的。

下面是context Net的结构图:
在这里插入图片描述

3.2 Dense skip connections

IFCN-8s的结构图如下:dense指的是这个图中的黑+绿的线条
在这里插入图片描述
下图是FCN的,放在这里方便对比:
在这里插入图片描述
这个图中的绿线的意思是把每次经过处理的都给skip到了最后的输出这里,也就是卷积后的也进行跳连接,dense指的就是这里。具体见4.3。

如上图所示,考虑到对象的比例在图像和场景之间变化很大,我们无法利用一些固定比例上下文网络来处理如此显著的比例变化,因此借鉴于FCN的网络结构,与FCN-xs相比,IFCN-xs需要更多的skip连接。这些密集的跳跃连接使得IFCN-xs能够利用非常丰富的尺度上下文来进行预测,这对于解决对象的尺度变化是至关重要的。

另外,对于类别不平衡,我们采用了加权求损失的方式。

4 Architecture Evaluation on ADE20K

数据集介绍就不说了,只需要知道里面有一些类别很少。

我们的context Net 中间的隐层conv采用的是512通道的(固定),参数的而初始化采用的是均值为0,方差为0.01的高斯随机初始化,上采样使用反卷积,使用有0.9冲量的SGD,batch_size = 10。学习率0.001,并且不断下降。将图像用0填充到512 * 512(为了批处理),然后通过随机水平翻转进行数据增强。

三个性能指标用于评估我们的IFCN,整体像素精度(Pixel Acc。)、平均准确度(Mean Acc。)和Mean IOU。

先说明几个网络的称呼:

  • IFCN-8s:指的是上图中给的结构;
  • IFCN-8s-A:指的是在FCN-8s基础上,添加了context Net模块;
  • IFCN-8s-B:指的是将A的context Net模块的shortcut去掉后的网络;

4.1 Architecture discussion of context network

我们评估了context network的几个关键原则(即本文中的密集分支卷积网络)。为此,我们引入了网络体系结构IFCN-8s-A,它与FCN-8s具有相似的结构,只是在IFCN-8s-A中使用了上下文网络。因此,它们的性能差距清楚地表明了引入的上下文网络如何影响分段我们评估了context network的几个关键点(即本文中的dense branch卷积网络)。行为。 结果如图:
在这里插入图片描述
可以看出,我们的结构在任何的卷积核大小的情况下,都会比FCN-8s效果好。

同时自身对比的结果可以从两个方面来解读。首先,较浅的网络具有较少的跳过连接,并且它生成较少的特征地图。因此,一些信息量大的规模背景预测并没有融合到最终决策中。同时,大conv块(在浅层网络中)指的是高度上下文语义聚合时,它涉及更多的参数。这些因素预计会增加上下文网络训练的难度。

4.2 Does performance improvement simply originate from engaging more parameters?

FCN-8s的参数比我们的网络多得多,但是性能不得劲,因此我们认为网络架构在提升性能方面比参数的大小更重要。为了验证这个想法,我们采取了两个试验,选取上面所提性能最好的配置,然后改变变量进行试验,结果如下图所示:
在这里插入图片描述

  • Tied Parameters:这个的对勾表示控制参数数量(我猜是共用参数);
  • Wide:表示将context network的隐层深度从512扩展到了1024;
  • 1、2行比较结果表明,相同参数量,网络越深越好;
  • 3、4行比较结果表明,深度相同参数量的大幅度提升,并不能显著改变网络性能。
  • 总结:我们的网络模型(context net)是提升性能的关键因素,参数量的大小作用微乎其微;

4.3 IFCN-xs: Is dense skip connection necessary ?

  • IFCN-8s-A vs IFCN-8s-B:将A的shortcut branch(就是context模块的shortcut)去掉构成B,其性能远远不如A,所以shortcut branch是必要的;
  • IFCN-8s vs IFCN-8s-A:前者是完成的,如上面的那个结构图,后面是FCN-8s+context Net构成的,结论为密集的连接(那些绿线)能够提升性能;
  • IFCN-xs:以 VGG-16为例,特征映射pool4、conv5 1、conv5 2、conv5 3具有相同的分辨率,因此从它们发出的跳过连接被视为在同一块中。通过逐步添加这些跳过连接,我们能够产生许多IFCN-xs,其架构如上面有绿线的结构图所示。在所有的架构中,IFCN-8s表现最好。
  • 虽然IFCN-4比IFCN-8需要更多的跳跃连接,但是它获得的分割结果较差。我们认为,由增加的跳跃连接(在IFCN-4中,即pool2、conv3 1、conv3 2、con3 3)所附的特征地图包含了太有限的背景(小于40 × 40像素,见表1,就是VGG 16 结构图),因此基于它们的预测预计会有噪声。根据经验,在IFCN体系结构中包含这些跳跃连接是不明智的。
  • 所以不是越多越好,过多的话,当噪声的信息,超过蕴含的背景信息,就会出现性能下降的现象。

4.4 Can the proposed architecture work for deeper pre-trained network?

提出的这个context Net可以用于其他的深度网络模型的框架,得到的结果都很好,IFCN-8s和VGG16、ResNet-101的结合,效果都比FCN-8s好。
在这里插入图片描述

5 其他的一些分割结果

这里只列举一个:
在这里插入图片描述
从左到右分别是:原图、FCN-8s、IFCN-8s(VGG16)、ground truth;

可以看到FCN-8s对于放大的物体如1和4不能做出很好的分割,但是IFCN可以。

6 总结

在本文中,我们讨论了FCN的局限性。为了解决这些架构缺陷,我们提出了我们的改进FCN (IFCN),这是一个强大的语义分割网络架构,聚合了有效的上下文信息以及利用丰富的不同尺度的上下文进行预测。

具体来说,一个context Net被附加在预训练网络的后面,增加了它的感受野。此外,增加了密集的shortcut连接,使IFCN能够融合非常丰富的上下文的语义信息进行预测。

从试验结果来看,IFCN在标准语义分割数据集上的表现一直明显优于FCN,这些数据集包括ADE20K、Pascal Context、Pascal VOC2012和SUN-RGBD。此外,IFCN在所有这些数据集上都达到了新的水平。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值