Semantic Segmentation---SegNet:A Deep Convolutional Encoder-Decoder Architecture...(论文解读一)

简介:

在解读论文之前先了解语义分割是干什么的,可以直接访问链接即可:语义分割前世今生

SegNet 论文解读

SegNet:A Deep Convolutional Encoder-Decoder Architecture for Image Segmentation

收录:PAMI2017(IEEE Transactions on Pattern Analysis and Machine Intelligence)

效果图

在这里插入图片描述

摘自Fate-fjh Blog:

在这里插入图片描述

 

1 Abstract 

论文提出了一个全新的全卷积的Semantic Segmentation模型:SegNet

模型主要由:编码网络(encoder network),解码网络(decoder network)和逐像素分类器(pixel-wise classification layer)组成。

创新:SegNet的新颖之处在于decoder阶段的上采样方式,具体来说,decoder时上采样使用了encoder阶段下采样的最大池化的索引(indices)。考虑到上采样是稀疏的,再配合滤波器产生最后的分割图。SegNetinference期间占用的存储量和计算时间相比于其他模型(FCN[1],DeepLab[2],etc)效果都比较好。

动机:在场景理解的推动下,网络在储存器和计算时间上是有效的,同时训练参数的数量上也明显减小,并且可以使用SGD[3]进行端到端的训练。

 

2 Introduction

Semantic Segmentation常用于道路场景分割,大多数像素属于大类,需要平滑的分割,模型要能够依据形状提取物体,这需要保留好的边界信息,从计算的角度来考虑,需要有效的存储量和计算时间。

而现有的Semantic Segmentation的问题在于:最大池化和下采样会降低feature map的分辨率(即降低feature map分辨率会损失边界信息)SegNet针对这一问题设计了将低分辨率feature map映射到高分辨率的方法(利用池化索引),从而产生精确边界的分割结果。

SegNet的encoder部分使用的是VGG16[4]的前13(即使用预训练的VGG16做特征提取层),核心在于decoder部分,decoder对应encoder的每一层,decoder的上采样使用的时encoder下采样的索引,这样做有以下几个优点:

1.改善边界描述

2.减少end2end的训练参数

3.这样的形式可用于多种encoder-decoder架构

本文的主要贡献在于:

1.对比分析SegNetdecoderFCN

2.在CamVidSUN RGB-D上评估了模型

 

3.Related work

传统的Semantic Segmentation方法:用随机森林(RF)[5],Boosting等做类别的中心预测,用SfM提取特征,配合CRF提高预测精度。但是这些方法效果都不好,总结原因是这些方法都需要提高分类特征。

而近期深度卷积网络在分类问题上表现出色,考虑将深度网络应用到Semantic Segmentation上,例如:FCN,效果比传统方法好很多。有工作将RNN[6]、条件随机场(CRF)引入配合decoder做预测,有助于提高边界描绘能力,并且指出了,CRF-RNN这一套可以附加到包括SegNet在内的任何深度分割模型。

现有的多尺度的深度神经网络架构的应用,常见两种形式:

1.将输入放缩为多个尺度得到相应的feature map

2.将一张图送到模型,得到不同层的feature map

###这些方法的共同想法都是使用多尺度信息将高层的feature map包含的语义信息与底层的feature map包含的精度信息融合到一起。但是,这样方法参数多,比较难训练。###

 

4.Architecture

SegNet的网络结构如下图,总体由以下部分组成:

编码网络(encoder network):13个卷积层组成(使用的时预训练的VGG16的前13),该部分提取输入特征,用于目标分类,这就是使用预训练的VGG原理所在,至于丢弃FC层是为了保持更高的分辨率,同时也减少了参数。

解码网络(decoder network):每个encoder会对应一个decoder,故decoder具有13层,将低分辨率的feature map映射回和输入一样大小分类器(mask).

像素分类层(pixelwise classification layer)decoder的输出会送到分类层,最终为每个像素独立的产生类别概率

 

Encoder network: Encoder network分为5block,每个blockConv+BN + MaxPooling组成,MaxPooling实现下采样操作,核长为2,步长为2.

因为使用的pre-trainVGG16模型的前13层,模型的参数会减少很多(FC层没了,参数少了很多)。当然这和原始的VGG16是有区别的,如上图。卷积层使用的是`Conv + Batch Norm + ReLU`结构。

 

Decoder network:模型在encoder network时使用Pooling时会记录Pooling Indices(pooling前后的对应位置),在decoder network会用前面记录的位置还原,这也是论文的创新之处。 decoder network同样也为5block,每个blockUpsampling + Conv + BN组成,需要注意的decoder阶段是没有加非线性激活的(即没有ReLU)。

分类层:decoder输出上加一个卷积层,卷积核个数为分类的通道数,即每个通道代表一类分割结果

 

decoder变体SegNet-Basic:

SegNet的较小版本,4encoder4decoder,

1.encoder阶段是LRN + (Conv+BN +ReLU + MaxPool)x4 论文给出的时卷积不使用bias

2.decoder阶段是(UpPool+Conv+ BN)x4 + Conv(分割层)

卷积核大小一直使用的时7×7 7×77×7,最高层的feature map接收野是原图的106×106 106×106106×106大小。

对于池化层和卷积层公式为:

其中Srf 是从高层feature向底层feature迭代计算,Stride 为步长,Ksize为卷积核大小.

 

5.Experiment

对比SegNetFCN实现decoder:

SegNet在UpPool时使用的是index信息,直接将数据放回对应位置,后面再接Conv训练学习。这个上采样不需要训练学习(只是占用了一些存储空间)FCN采用transposed convolutions策略,即将feature 反卷积后得到upsampling,这一过程需要学习,同时将encoder阶段对应的feature做通道降维,使得通道维度和upsampling相同,这样就能做像素相加得到最终的decoder输出.

对不同类型decoder的做了如下实验:

实验设置如下表:

结果如下:

分类与回归的评价指标

分析实验结果,上述实验结果:

1.当encoder的所有feature都保存下来,即FCN-Basic-NoDimReduction,效果最佳。这主要体现在BF(语义轮廓描绘度量)值上.

2.当inference的存储受限时,可适当的减少feature通道,配合decoder可得到折中的效果

3.上采样学习是比单纯的双线性插值效果要好,这强调了学习decoder的必要性。

4.相比于FCNSegNet有更少的内存利用率和更高效的计算。

与其他深层网络相比:

SUN RGB-D上与其他深层网络相比:

 

6.Conclution

模型主要在于decoder阶段的upsampling使用的时encoder阶段的pooling信息,这有效的提高了内存利用率,同时提高了模型分割率。但是吧,SegNetinference相比FCN没有显著提升,这样end-to-end的模型能力还有待提升。

 

参考文献:

[1]J. Long, E. Shelhamer, and T. Darrell, “Fully convolutional networks for semantic segmentation,” in CVPR, pp. 3431–3440, 2015.

[2] C. Liang-Chieh, G. Papandreou, I. Kokkinos, K. Murphy, and A. Yuille,“Semantic image segmentation with deep convolutional nets and fully connected crfs,” in ICLR, 2015.

[3] L. Bottou, “Large-scale machine learning with stochastic gradient descent,” in Proceedings of COMPSTAT’2010, pp. 177–186, Springer,2010.

[4] K. Simonyan and A. Zisserman, “Very deep convolutional networks for large-scale image recognition,” arXiv preprint arXiv:1409.1556, 2014.

[5] C. Zhang, L. Wang, and R. Yang, “Semantic segmentation of urban scenes using dense depth maps,” in ECCV, pp. 708–721, Springer, 2010.

[6] S. Zheng, S. Jayasumana, B. Romera-Paredes, V. Vineet, Z. Su, D. Du,C. Huang, and P. H. Torr, “Conditional random fields as recurrent neural networks,” in Proceedings of the IEEE International Conference onComputer Vision, pp. 1529–1537, 2015.

 

 

 

 

 

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值