Learning Deconvolution Network for Semantic Segmentation

Learning Deconvolution Network for Semantic Segmentation
摘要

1. 提出新的语义分割算法:深度反卷积网络;
2. 在VGG-16卷积层上学习网络;
3. 反卷积组成:deconvolution and unpooling layers,识别逐像素的类别标签和预测的分割mask;
4. 将object proposal(edge box)送入训练后的网络,然后整幅图像是这些proposal的分割结果的组合,这样就可以解决物体太大或者太小所带来的分割问题;
5. 这种算法缓和了基于全卷积网络的现存的方法,通过整合 deep deconvolution network and proposal-wise prediction
6. 我们的算法能识别精细的结构和handles 

引言
CNN被广泛的应用在各种视觉识别问题,例如图像分类,物体检测,语义分割,视觉追踪,动作识别。现在开始应用在结构预测问题,例如语义分割,人体姿态估计等等。
开始基于CNN解决语义分割逐像素分类的问题,将现存的用于分类的CNN结构转换成FCN。通过分类图像中的局部区域,获得粗糙的label map,然后执行反卷积,(双线性插值),for pixel-level labeling。CRF进行后处理。FCN的最大优势:输入整张图像,获得较快,准确的推理。
FCN缺点:

*   第一,感受野为固定大小;物体大于或小于感受野会被 fragmented or mislabeled,大物体,分割不连续;小物体被忽视,分类为背景。下图所示,虽然FCN【19】加入skip architecturer,但是不是根本的解决方案,根本问题--详细的边界和语义;
![这里写图片描述](https://img-blog.csdn.net/20170321220407519?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvd2dmNTg0NTIwMTMxNA==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)

这里写图片描述

*   第二,输入反卷积层的label map太粗糙,反卷积过程太简单,使得物体的细节信息丢失或被平滑;由于缺少深度的反卷积网络,很难精确重建物体边界这种高度非线性结构。但是CRF解决这个问题;                                                  为了克服这个问题,我们用了一个完全不同的策略进行语义分割,主要贡献如下:
*     首次提出用深度反卷积-----反卷积,unpooling,ReLU层  
*     训练好network,应用在单个object proposal,to 获得instance-wise segmentions,再将这些单个的分割结果combined for最终的语义分割;解决了原始的FCN存在的物体尺度问题,能够识别细小的结构;
*    获得最好的结果 

2.相关工作
【27】提出反卷积网络,并提出unpooling operation 通过存储池化位置来解决最大池化带来的挑战;

3.系统结构
这里写图片描述

3.1
训练网络包含:卷积网络,反卷积网络
卷积网络:将输入图像转换成多维度特征表示;
反卷积:产生物体分割的shape generator;
网络输出:概率图,和输入图像大小相同,每个像素属于预定义类别的概率;
卷积层: VGG-16(去除分类层),13个卷几层,Relu, pooling , 在end出增加2个fc to impose 特定类别的映射。
反卷积:是卷积层的镜像,unpooling,反卷积,Relu
这里写图片描述

3.2 反卷积网络
3.2.1 Unpooling
在卷积网络中,池化作用:通过在一个感受野提取代表性的激活值,来过滤激活噪音;
池化优点:在上层保留鲁棒的激活值,有利于分类;
pooling缺点:缺少空间信息,不利于精确定位;
解决办法:反卷积层加入unpooling layers—-与pooling操作相反,重建原始大小;
Unpooling:首先subpooling的时候记住max pooling layer选择的最大值的location,然后在Unpooling层还原回原location,其它像素应该是用0代替,得到sparse的map:

3.2.2反卷积
通过类似于卷积的操作,使unpooing稀疏的输出变得密集with 多个可学习的滤波器;

*   卷积和反卷积区别:卷积:输入多个---输出一个

                   反卷积:输入1个---输出多个; 输出:扩大,密集的activation map。

* crop扩大的activation map的边界===unpooling layers的输出大小
*   层级的反卷积作用:扑捉不同level的形状信息。
* lower layer:扑捉物体总体的形状; 

  higher layers:编码了特定类别的细节信息;  

* 反卷积作用:可以利用形状信息。

3.2.3反卷积网络的分析
这里写图片描述
这里写图片描述
unpooling 和反卷积层的roles:
unpoling:扑捉example-specific 结构,
反卷积:扑捉class-specific shape.激活值和目标类别相近的,得到增强。噪音激活值得到抑制。
这里写图片描述
3.3系统综述

* 我们的算法,提出语义分割as instance-wise 分割问题。即sub-image,可能包含物体的子图像,称为instance。            

      输入:instance     
      输出:产生pixel-wise prediction 

* instance-wise 分割  VS  image-level prediction 有优势:

     instance-wise :能处理不同尺度大小的物体:识别细节信息;减少搜索空间,减少训练的复杂度减少存储需       求;
      image-level prediction:固定大小感受野,不能解决上述问题;

4.训练
特点:deep,包含大量参数,训练数据集也很少
4.1Batch Normalization
众所周知,由于internal-covariate-shift 问题,优化一个深度神经网络很难;由于每层参数随训练迭代更新,输入分布也在变化。由于分布变化,通过层间的传播分布变化变大。
减少internal-covariate-shift 问题措施:
执行batch normalization—-把每层的输入分布规范为标准的高斯分布; a batch normalization layer被添加到每个卷积和反卷积层的输出;有利于局部优化;
4.2 两阶段训练

*  先用easy examples train
* 再用更具挑战性的examples fine-tune 

构造第一阶段的训练样本:用ground-truth标注crop object instances ,使得物体位于裁剪的bbox的中心。通过减少物体位置和大小的变化,可以减少语义分割搜索空间,减少训练样本的数量;
第二阶段构造挑战性样本:

5.infernce
步骤:

*       提取候选区域
*       每个候选区域投入网络训练语义分割maps;
*       整合所有候选区域的 分割map,产生整个图像的分割;
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值