论文阅读笔记十一:Rethinking Atrous Convolution for Semantic Image Segmentation(DeepLabv3)(CVPR2017)
论文链接:https://blog.csdn.net/qq_34889607/article/details/8053642
摘要
该文重新窥探空洞卷积的神秘,在语义分割领域,空洞卷积是调整卷积核感受野和DCNN feature map分辨率的有力工具。该文应用不同sample rate的空洞卷积以级联或者平行的方式来处理分割任务中的多尺寸问题。另外,增强了ASPP使其在图像级编码global context来生成卷积特征。该文与DeepLabv1,DeepLabv2不同,将作为后处理的CRF移除,但取得的效果更好。
介绍
针对分割目标不同的尺寸,该文主要从四个方面入手。(1)将DCNN应用于ASPP,不同尺寸的图片在对应网络层中特征更加明显。(2)encoder-decoder结构,利用encoder中的多尺度特征,在decoder中恢复为原图尺寸。(3)添加一个模块级联在DCNN的顶部,用于捕捉远距离像素之间的信息(有使用Dense CRF或者级联基层卷积层)。(4)ASPP具有不同的rate和感受野,可以捕获不同尺寸目标物的信息。
该文主要分析空洞卷积的应用方式,级联或者平行。并分析了当应用一个感受野较大的3x3的空洞卷积时,由于图像边界处无法得到远距离的信息,进而退化为1x1的卷积,该文还将图像级的特征与ASPP结合。针对稀少的有标记物体,作者提出了一种简单但有效的引导方法。
相关工作
全局特征和上下文信息对语义分割进行正确的像素级分类十分重要。该文分析了四种类型的全卷积网络,如下图
Image Pyramid: 应用于多尺寸输入,来自小尺寸的特征响应可以编码远距离的上下文信息。较大尺寸的输入图片可以包含更多的物体细节信息。将不同尺寸的图片输入DCNN,并融合所有尺寸的feature maps。这种结构的缺点是对于较深的DCNN由于GPU的限制并不能对输入图片进行很好的scale操作。
Encoder-decoder:主要包含两部分,a)编码层feature map的空间维度降低很多,更长距离的信息在更深的编码层中更容易被捕捉到。b)解码层的物体细节和空间维度逐渐恢复。应用反卷积将低分辨率的feature map进行上采样。SegNet重新利用编码层中max-pooling 的indices和添加的卷积层来细化得到的特征。UNet是将对应层的特征信息进行拼接,并重新构造了网络。
Context module: 此模块包含额外的级联的模型,用于编码长距离下的语义信息。比如DenseCRF接到DCNN的后面,在DCNN最后一层增加几层卷积,使CRF和DCNN可以联合训练。目前,有一种普适性与稀疏性的高卷积,结合高斯条件随机场来进行分割。
Spatial pyramid pooling: 该文将ResNet的最后几个模块进行复制,并将他们级联,并重新考虑ASPP,这里训练要注意训练时要加上batch normalization。
方法
该文主要讨论空洞卷积的两种应用方式-级联或者平行。该文将空洞卷积进行级联,复制了几个ResNet最后的block,使网络加深进而可以获得更长距离的语义信息。但网络层数加深使物体的细节信息就会有损失,所以这里引入了空洞卷积。(output_stride:图像从原始分辨率到最终分辨率降低的倍数。)增加了multi_grid,通过block4到block7之间的不同的sample rate,定义了Multi_Grid={r1,r2,r3},最终,rate的大小值等于Multi_Grid与相应rate值的乘积。
对于ASPP,该文在ASPP中引入了BN层加速训练。但随着sample rate 的增大,filter 的权重有效值越来越小。当rate的大小变为feature map大小时,3x3的filter无法捕捉到全局信息,进而退化为1x1的(相当于1x1的效果),这是因为filter只有中心的权重是有效的。为此,采用图片级的特征,在模型的最后一层增加一层平均池化层,然后将得到的feature map送到,1x1x256的卷积层中,后接BN层,并通过双线性插值上采样到理想分辨率。最终,本文的方法包含一个1x1的卷积和三个3x3的卷积(rates=(6,12,18)),最后所有分支得到的feature map进行拼接,然后送到1x1的卷积(自带BN)中,最后还有一个1x1的卷积来产生最后的logits,结构图如下。
实验
该文在实验中用到了几个策略:(1)学习率的更新策略和deeplabV2相同,poly,(2)进行了裁剪(目的是使空洞卷积的rate尽可能的有效,crop的大小裁剪为513)(3)Batch Normalization(4)Upsampling logits 保证groundtruth的完整性十分重要,将输出上采样8倍与完整的ground Truth进行比较。 (5)数据增强。
参考
[1] M. Abadi, A. Agarwal, et al. Tensorflow: Large-scale machine learning on heterogeneous distributed systems. arXiv:1603.04467, 2016.
[2] A. Adams, J. Baek, and M. A. Davis. Fast high-dimensional filtering using the permutohedral lattice. In Eurographics, 2010.
论文阅读笔记十一:Rethinking Atrous Convolution for Semantic Image Segmentation(DeepLabv3)(CVPR2017)的更多相关文章
- 论文阅读笔记(二十一)【CVPR2017】:Deep Spatial-Temporal Fusion Network for Video-Based Person Re-Identification
Introduction (1)Motivation: 当前CNN无法提取图像序列的关系特征:RNN较为忽视视频序列前期的帧信息,也缺乏对于步态等具体信息的提取:Siamese损失和Triplet损失 ...
- 论文阅读笔记 - YARN : Architecture of Next Generation Apache Hadoop MapReduceFramework
作者:刘旭晖 Raymond 转载请注明出处 Email:colorant at 163.com BLOG:http://blog.csdn.net/colorant/ 更多论文阅读笔记 http:/ ...
- 论文阅读笔记 - Mesos: A Platform for Fine-Grained ResourceSharing in the Data Center
作者:刘旭晖 Raymond 转载请注明出处 Email:colorant at 163.com BLOG:http://blog.csdn.net/colorant/ 更多论文阅读笔记 http:/ ...
- 论文阅读笔记 Word Embeddings A Survey
论文阅读笔记 Word Embeddings A Survey 收获 Word Embedding 的定义 dense, distributed, fixed-length word vectors, ...
- 论文阅读笔记 Improved Word Representation Learning with Sememes
论文阅读笔记 Improved Word Representation Learning with Sememes 一句话概括本文工作 使用词汇资源--知网--来提升词嵌入的表征能力,并提出了三种基于 ...
- [置顶]
人工智能(深度学习)加速芯片论文阅读笔记 (已添加ISSCC17,FPGA17...ISCA17...)
这是一个导读,可以快速找到我记录的关于人工智能(深度学习)加速芯片论文阅读笔记. ISSCC 2017 Session14 Deep Learning Processors: ISSCC 2017关于 ...
- Nature/Science 论文阅读笔记
Nature/Science 论文阅读笔记 Unsupervised word embeddings capture latent knowledge from materials science l ...
- 论文阅读笔记(十八)【ITIP2019】:Dynamic Graph Co-Matching for Unsupervised Video-Based Person Re-Identification
论文阅读笔记(十七)ICCV2017的扩刊(会议论文[传送门]) 改进部分: (1)惩罚函数:原本由两部分组成的惩罚函数,改为只包含 Sequence Cost 函数: (2)对重新权重改进: ① P ...
- [论文阅读笔记] GEMSEC,Graph Embedding with Self Clustering
[论文阅读笔记] GEMSEC: Graph Embedding with Self Clustering 本文结构 解决问题 主要贡献 算法原理 参考文献 (1) 解决问题 已经有一些工作在使用学习 ...
随机推荐
- ht学习流程
http://www.hightopo.com/blog/461.html数百个 HTML5 例子学习 HT 图形组件 掌握 HT 基础: 1.先入门手册 http://www.hightopo.co ...
- 码云IntelliJ IDEA
将项目从码云clone到IntelliJ IDEA https://blog.csdn.net/wust_lh/article/details/68068176 用IDEA上传本地项目到码云/Gith ...
- 在Linux环境下使用Jexus部署ASP.NET Core
关于如何在Linux中添加ASP.NET Core运行时环境请参考我的上一篇文章,本文章将不再做赘述. 本文章运行环境如下: (1) 安装独立版Jexus 本教程安装的是独立版的Jexus,独立版的 ...
- JavaScript-简介、ECMAScript5.0
Javascript简介 web前端有三层: HTML:从语义的角度,描述页面的结构 CSS:从审美的角度,描述样式(美化页面) Javascript:从交互的角度,描述行为(提升用户体验) Java ...
- python3-元类
原文出处:http://www.cnblogs.com/linhaifeng/articles/8029564.html exec的使用 #可以把exec命令的执行当成是一个函数的执行,会将执行期间产 ...
- Shell编程中while与for的区别及用法详解【转】
在shell编程中经常用到循环,常用的循环有for和while循环两种.while循环默认以行读取文件,而for循环以空格读取文件切分文件,本篇就结合现网的一些使用示例说说二者的用法和区别. 一.常用 ...
- ubuntu16.04彻底删除nginx+php
1.1 删除nginx,–purge包括配置文件 sudo apt-get --purge remove nginx 1.2 自动移除全部不使用的软件包 sudo apt-get autoremove ...
- GO 新开发者要注意的陷阱和常见错误
转自:http://colobu.com/2015/09/07/gotchas-and-common-mistakes-in-go-golang/ 初级 开大括号不能放在单独的一行 未使用的变量 未使 ...
- js 数组不重复添加元素
1 前言 由于使用JS的push会导致元素重复,而ES5之前没有set(集合)方法,重复元素还要做去重处理,比较麻烦些,所以直接写一个新push来处理 2 代码 Array.prototype.pus ...
- HomeBrew 安转beta版软件
今天想装测试版的cocoapods,用 brew install cocoapods 后,总是安装稳定版,就是1.1.0,不是最新的beta版,发现用下面这个命令可以装最新beta版 brew ins ...