论文源址:https://arxiv.org/abs/1511.07122

tensorflow Github:https://github.com/ndrplz/dilation-tensorflow

摘要

该文提出了空洞卷积模型,在不降低分辨率的基础上聚合图像中不同尺寸的上下文信息,同时,空洞卷积扩大感受野的范围。

介绍

语义分割具有一定的挑战性,因为要进行像素级的分类,同时,要考虑不同尺寸大小的上下文信息的推理。通过卷积外加反向传播的学习算法,使分类的准确率得到大幅度的提升。由原始的分类到像素级的分类,本文提出了两个问题:(1)重新构建的网络的哪一部分是有必要的,同时,哪个操作在进行密集分类时会降低分割结果的准确率。(2)设计一个专门用于进行密集分类的模型结构会提高分割的效果吗?

分类网络通过连续的卷积池化操作来融合不同尺寸的上下文信息,此过程中,分辨率在不断的减少,知道得到一个最总的预测分类结果。与之相反,分割任务要求在完整的分辨率上进行多尺寸的预测。针对此问题有两种解决方式:(1)通过反卷积操作恢复丢失的分辨率信息。这就引出一个疑问,中间下采样的操作是否是真的有必要的。(2)提供多尺寸的输入图片,并将这些图片的预测结果进行组合。同样,这里存在一个问题,对不同尺寸输入的图片,是否需要对他们的结果单独进行分析。

该文提出的空洞卷积模型,并未减少分辨率同时,不需要对不同尺寸输入图片对输出结果的影响进行分析。该结构主要用于分割任务,同时,值得注意的是空洞卷积的网络中并未有池化或者下采样的操作过程。通过空洞卷积即可获得较大的感受野。

空洞卷积 

      

该文重点介绍空洞卷积的影响,而不是空洞卷积的构建,利用空洞卷积进行多尺寸的信息融合。空洞卷积核感受野的大小成指数增长,如下图。

卷积核大小kxk,dilation factor:n-推出感受野大小为:(k+1)x n - 1

多尺寸语义信息融合

语义模型通过融合多尺寸的上下文信息,来提高密集预测结构的效果。有C通道的输入feature maps输入模型后,输出C通道的feature maps。

该文提出的一种基础模型,包含7层网络,其中使用了不同dilation factor的3x3的卷积。dilations为【1,1,2,4,8,16】,每层上都有卷积操作,前两层,每层卷积后都接着一个像素级的截断处理,max(,0)。最后一层为1x1xc的卷积,并产生输出,,结构如下表,输入为64x64的图片。

该文该开始用标准的初始化流程训练网络,结果并不理想。   卷积网络一般使用随机采样分布进行初始化操作。但这种方式对空洞卷积效果甚微,该文转而用如下Identity初始化方式。

这种初始化方式,会让前一层的信息直接流入下一层中,直觉上感到不利于反向传播信息的传递,但实验证明,这种担心是多余的。对于不同深度的初始化按如下方式进行。

前端

该网络的输入为三通道的彩色图像,输出为21通道的特征图,基于VGG16进行改进,将其中最后两层池化层与全连接层。对于移除的池化层后接的卷积层的dilation factor扩大2倍。因此,最后一层的卷积层的的dilated factor扩大为4。通过空洞卷积,可以利用原始分类网络的参数初始化,同时产生更高分辨率的输出。该模型,在Pascal VOC2012数据集上进行训练,基于SGD优化方法,mini-batch 大小为14,学习率为1e-3,动量大小为0.9,迭代60000次。

实验

reference

Badrinarayanan, Vijay, Handa, Ankur, and Cipolla, Roberto. SegNet: A deep convolutional encoder-decoder architecture for robust semantic pixel-wise labelling. arXiv:1505.07293, 2015.

Brostow,GabrielJ.,Fauqueur,Julien,andCipolla,Roberto. Semanticobjectclassesinvideo: Ahigh-definition ground truth database. Pattern Recognition Letters, 30(2), 2009.

Chen, Liang-Chieh, Papandreou, George, Kokkinos, Iasonas, Murphy, Kevin, and Yuille, Alan L. Semantic image segmentation with deep convolutional nets and fully connected CRFs. In ICLR, 2015a.

论文阅读笔记二十一:MULTI-SCALE CONTEXT AGGREGATION BY DILATED CONVOLUTIONS(ICRL2016)的更多相关文章

  1. 论文阅读笔记五十一:CenterNet: Keypoint Triplets for Object Detection(CVPR2019)

    论文链接:https://arxiv.org/abs/1904.08189 github:https://github.com/Duankaiwen/CenterNet 摘要 目标检测中,基于关键点的 ...

  2. 论文阅读笔记四十一:Very Deep Convolutional Networks For Large-Scale Image Recongnition(VGG ICLR2015)

    论文原址:https://arxiv.org/abs/1409.1556 代码原址:https://github.com/machrisaa/tensorflow-vgg 摘要 本文主要分析卷积网络的 ...

  3. 论文阅读笔记三十一:YOLO 9000: Better,Faster,Stronger(CVPR2016)

    论文源址:https://arxiv.org/abs/1612.08242 代码:https://github.com/longcw/yolo2-pytorch 摘要 本文提出YOLO9000可以检测 ...

  4. 论文阅读笔记二十七:Faster R-CNN: Towards Real-Time Object Detection with Region Proposal Networks(CVPR 2016)

    论文源址:https://arxiv.org/abs/1506.01497 tensorflow代码:https://github.com/endernewton/tf-faster-rcnn 室友对 ...

  5. 论文阅读笔记二十五:Spatial Pyramid Pooling in Deep Convolutional Networks for Visual Recognition(SPPNet CVPR2014)

    论文源址:https://arxiv.org/abs/1406.4729 tensorflow相关代码:https://github.com/peace195/sppnet 摘要 深度卷积网络需要输入 ...

  6. 论文阅读笔记二十四:Rich feature hierarchies for accurate object detection and semantic segmentation Tech report(R-CNN CVPR2014)

    论文源址:http://www.cs.berkeley.edu/~rbg/#girshick2014rcnn 摘要 在PASCAL VOC数据集上,最好的方法的思路是将低级信息与较高层次的上下文信息进 ...

  7. 论文阅读笔记二十九:SSD: Single Shot MultiBox Detector(ECCV2016)

    论文源址:https://arxiv.org/abs/1512.02325 tensorflow代码:https://github.com/balancap/SSD-Tensorflow 摘要 SSD ...

  8. 论文阅读笔记二十八:You Only Look Once: Unified,Real-Time Object Detection(YOLO v1 CVPR2015)

    论文源址:https://arxiv.org/abs/1506.02640 tensorflow代码:https://github.com/nilboy/tensorflow-yolo 摘要 该文提出 ...

  9. 论文阅读笔记二十六:Fast R-CNN (ICCV2015)

    论文源址:https://arxiv.org/abs/1504.08083 参考博客:https://blog.csdn.net/shenxiaolu1984/article/details/5103 ...

随机推荐

  1. 最短路径&次短路径算法

    容易理解:https://blog.csdn.net/m0_37345402/article/details/76695930 https://blog.csdn.net/qq_36386435/ar ...

  2. SpringCloud Zuul(路由网关)

    ⒈Zuul是什么? Zuul包含了两个最主要的功能,对请求的路由和过滤.其中路由功能负责将外部请求转发到具体的微服务实例上,是实现外部访问统一入口的基础.过滤器功能则负责对请求的处理过程进行干预,是实 ...

  3. Python3 GIL(Global Interpreter Lock)与多线程

    GIL(Global Interpreter Lock)与多线程 GIL介绍 GIL与Lock GIL与多线程 多线程性能测试 在Cpython解释器中,同一个进程下开启的多线程,同一时刻只能有一个线 ...

  4. 高并发的socket的高性能设计【转】

    转自:https://blog.csdn.net/quincyfang/article/details/44654351 高性能数据传输系统的框架设计 1 引言 随着互联网和物联网的高速发展,使用网络 ...

  5. with语法

    上下文管理协议 要使用 with 语句,首先要明白上下文管理器这一概念.有了上下文管理器,with 语句才能工作. 下面是一组与上下文管理器和with 语句有关的概念. 上下文管理协议(Context ...

  6. servlet生成图片验证码

    package cn.itcast.servlet.session.demo3; import java.awt.Color; import java.awt.Font; import java.aw ...

  7. Elasticsearch索引别名、Filtered索引别名、Template

    在使用elasticsearch的时候,经常会遇到需要淘汰掉历史数据的场景. 为了方便数据淘汰,并使得数据管理更加灵活,我们经常会以时间为粒度建立索引,例如: 每个月建立一个索引:monthly-20 ...

  8. Go斐波拉契数列(Fibonacci)(多种写法)

    1 前言 斐波拉契数列有递归写法和尾递归和迭代写法. 2 代码 //recursion func fib(n int) int{ if n < 2{ return n }else{ return ...

  9. iOS weak 内存释放问题

    我们都知道weak 关键字可以解决内存不释放问题,但是使用上有些讲究. 看代码: import UIKit var str = "Hello, playground" class ...

  10. python元组,集合类型,及字典补充

    一.元组 元组与列表基本相同,不同之处在于元组只能存不能取,当多个值没有改的需求时,用元组更合适 元组的基本操作 1.创建元组: t = (1, 2, 3, 4, 2,4,) t = (1,) #单个 ...