FastFCN:在语义分割主干中对扩展卷积的再思考

摘要

在语义分割的模型中经常使用空洞卷积来提取高分辨率的特征图,但是空洞卷积会导致计算的的复杂度和内存的消耗。为了解决这一问题,本文提出了联合金字塔上采样模型(JPU)将提取高分辨率特征图问题转化成了联合上采样问题

1.Introduction

原始的fcn是卷积神经网络变化得到的,继承于图像分类问题。传统的FCN将输入图像降采样使用过stride conv 和空间池化得到的,最终得到低分辨率的特征图,虽然最后的特征图包含丰富的语义信息,但是却丢失了精细的结构信息。
为了获得最终高分辨率的特征图,使用原始FCN作为encoder来获得语义信息,在decoder中通过结合encoder中的multi-level的特征图来逐渐回复空间信息(segnet,unet,refinenet…)
在deeplab中移除了最后两次下采样,引入了空洞卷积,来保持感受野不变,
(本文所说的空洞卷积1.去除下采样操作,2.用空洞卷积代替常规卷积)
为了空洞卷积带来的问题,提出了JPU,介绍了时间和内存的消耗,但性能并没有损失,将此归功于JPU能够跨多级特征映射利用多尺度上下文。
1.证明JPU可以替换空洞卷积,但不会造成性能的损失。
2.在不同的分割基准中测试JPU

2.Related Work

semantic segmentation

语义分割主要分为两类 dilatedfcn 和 encoderdecoder
dilatedfcn
为了在高分辨率的最终feature map上捕获多尺度上下文信息,PSPNet在多个尺度上执行池化操作,而DeepLabV3采用不同速率的并行atrous convolutions,encnet利用上下文编码模块来获取全局上下文信息
与之不同的是,我们的方法提出了一个联合上采样模块JPU来代替DilatedFCNs骨干中的空洞卷积。可以减少计算的复杂和内存消耗
encoderdecoder
unet:跳跃链接
renfinet:提出了multipath refinement network,利用了下采样过程中所有可用的信息
deeplabv3+:结合了dilatedfcn和encoderdecoder的优点
在这里插入图片描述

Upsample

提出了一个以高分辨率地形图为指导的低分辨率地形图的上采样模块,该模块与联合上采样和数据依赖上采样密切相关
joint upsample
联合上采样的目的是利用引导图像作为先验,将结构细节从引导图像转移到目标图像。本文提出的jpu是用来处理具有大量通道数的特征图的
Data-Dependent Upsampling
也与本文提出的jpu有关,它利用了分割标签空间的冗余,能够从CNNs的低分辨率输出中恢复像素级预测

3.Method

在这一节主要介绍了流行的语义分割框架,dilatedfcn,在此基础上提出了jpu对网络进行改进 最后讨论jpu的细节

dilatedfcn

The Framework of Our Method

为了获得高分辨率的特征图,在dilatedfcn中移除了下采样操作,带来了计算的复杂,在本文中,目的是获得与dilatedfcn相同的特征图但没有上面的缺点,同时性能没有下降
我们的主干网络仍然用的原始的fcn,第五个卷积快输出的特征图是输入图像的1/32,为了获得与dilatedfcn相同的特征图,我们把倒数三个的特征图输入到jpu模块,然后通过一个多尺度上下文模型(psp或者aspp)或者全局上下文模型来做最后的预测。在这里插入图片描述

Joint Pyramid Upsampling

3.3.1background
联合上采样的目的是通过从制导图像中转移细节和结构来生成高分辨率的目标图像,对低分辨率图像x1进行f()变换就能得到低分辨率目标图像。例yl=f(xl)。知道xl,yl我们就可知道变换与f()相似的f^(),并且f ^()的计算复杂程度远远小于f(),比如f()是一个多层感知机那么f ^()就被简化成了一个线性变换。高分辨率的目标图像yh通过f ^()和高分辨率引导图像xh可以获得,即yh=f ^(xh),因此我们知道x1,y1,xh,联合上采样就被定义为
在这里插入图片描述
dilated conv
如下图所示,空洞卷积可以等价位(1)将输入按相同所以分为两个部分(2)对这两部分进行相同的卷积操作(3)将他们合并起来得到输出
在这里插入图片描述
stride conv
等价于(1)对输入做常规的卷积(2)按奇数进行索引
在这里插入图片描述
3.3.2Reformulating into Joint Upsampling
dilatedfcn与本文提出的方法的主要不同是在最后两个卷积层,以第四个卷积层为例,dilatedfcn先通过一个常规卷积,然后是一系列空洞率为2的空洞卷积,本文方法是先经过一个步长为2的卷积,然后是一系列常规卷积,如下图所示:在这里插入图片描述在这里插入图片描述
其中Cr,Cs,Cd分别代表常规卷积,跨步卷积,空洞卷积。S,M,R分别代表切分,合并,移除操作,其中相邻的S,M可以抵消。
从上式可以看出,yd和ys分别由ym和ym0做为输入通过Crn得到,其中后者是前者降采样得到的,因此如果知道ys和x通过下式yd就可以近似得到:
与之前提出的联合上采样的定义类似,之所以比较两者的不同是因为二者展示的是一个优化问题,然后作者用一个cnn模型来近似优化这个过程,也就是JPU
3.3.3 Solving with CNNs
首先,要通过x得到ym
然后,搜集ym0和ys的特征,来得到h^
最后,通过一个卷积快得到最终中的预测
JPU模块如下图所示;在这里插入图片描述
具体的说,输入的特征图先经过一个常规卷积,作用:(1)通过x得到ym(2)对ym进行降维,所有的输入都被映射到相同的空间,这是为了更好的融合,减少计算的复杂。然后,产生的特征图上采样并且链接起来,得到yc。四个不同空洞率的可分离卷积平行的从ym中提取特征

4.Experiment

以resnet 50为基础框架在pascal dataset的性能表现
可视化比较
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值