原论文名称:Semantic Image Segmentation with Deep Convolutional Nets and Fully Connected CRFs
论文下载地址:https://arxiv.org/abs/1412.7062
参考源码:https://github.com/TheLegendAli/DeepLab-Context

讲解视频: https://www.bilibili.com/video/BV1SU4y1N7Ao


文章目录

  • 语义分割任务中存在的问题
  • DeepLabV1的优势
  • 网络搭建细节
    • LargeFOV
    • MSc(Multi-Scale)

这篇文章最早发表于2014年,是Google和UCLA等共同的杰作,也是一篇很经典的论文,DeepLab系列的第一篇论文。因为已经过了很久了,所以本博文只做部分简单的记录。


语义分割任务中存在的问题

在论文的引言部分(INTRODUCTION)首先抛出了两个问题(针对语义分割任务): 信号下采样导致分辨率降低空间“不敏感” 问题。

There are two technical hurdles in the application of DCNNs to image labeling tasks: signal downsampling, and spatial ‘insensitivity’ (invariance).

对于第一个问题信号下采样,作者说主要是采用Maxpooling导致的,为了解决这个问题作者引入了'atrous'(with holes) algorithm(空洞卷积 / 膨胀卷积 / 扩张卷积),如果不了解的可以参考我在bilibili上录的讲解视频。

对于第二个问题空间“不敏感”,作者说分类器自身的问题(分类器本来就具备一定空间不变性),我个人认为其实还是Maxpooling导致的。为了解决这个问题作者采用了fully-connected CRF(Conditional Random Field)方法,这个方法只在DeepLabV1-V2中使用到了,从V3之后就不去使用了,而且这个方法挺耗时的。


DeepLabV1的优势

相比之前的一些网络,本文提出的网络具有以下优势:

  • 速度更快,论文中说是因为采用了膨胀卷积的原因,但fully-connected CRF很耗时
  • 准确率更高,相比之前最好的网络提升了7.2个点
  • 模型很简单,主要由DCNN和CRF联级构成

网络搭建细节

LargeFOV

首先网络的backbone是当时比较火的VGG-16,并且和FCN网络一样将全连接层的权重转成了卷积层的权重,构成全卷积网络。然后关于膨胀卷积的使用,论文中是这么说的:

We skip subsampling after the last two max-pooling layers in the network of Simonyan & Zisserman (2014) and modify the convolutional filters in the layers that follow them by introducing zeros to increase their length (2×in the last three convolutional layers and 4× in the first fully connected layer).

感觉文中的skip subsampling说的有点模糊(可能是自己英语水平太菜)什么叫做跳过下采样。既然看不懂论文的表述,就去看看代码。根据代码我绘制了如下所示的网络结构(DeepLab-LargeFOV)。

通过分析发现虽然backbone是VGG-16但所使用Maxpool略有不同,VGG论文中是kernel=2,stride=2,但在DeepLabV1中是kernel=3,stride=2,padding=1。接着就是最后两个Maxpool层的stride全部设置成1了(这样下采样的倍率就从32变成了8)。最后三个3x3的卷积层采用了膨胀卷积,膨胀系数r=2。然后关于将全连接层卷积化过程中,对于第一个全连接层(FC1)在FCN网络中是直接转换成卷积核大小7x7,卷积核个数为4096的卷积层,但在DeepLabV1中作者说是对参数进行了下采样最终得到的是卷积核大小3x3,卷积核个数为1024的卷积层(这样不仅可以减少参数还可以减少计算量,详情可以看下论文中的Table2),对于第二个全连接层(FC2)卷积核个数也由4096采样成1024。

After converting the network to a fully convolutional one, the first fully connected layer has 4,096 filters of large 7 × 7 spatial size and becomes the computational bottleneck in our dense score map computation. We have addressed this practical problem by spatially subsampling (by simple decimation) the first FC layer to 4×4 (or 3×3) spatial size.

将FC1卷积化后,还设置了膨胀系数,论文3.1中说的是r=4但在Experimental EvaluationLarge of View章节里设置的是r=12对应LargeFOV。对于FC2卷积化后就是卷积核1x1,卷积核个数为1024的卷积层。接着再通过一个卷积核1x1,卷积核个数为num_classes(包含背景)的卷积层。最后通过8倍上采样还原回原图大小。

下表是关于是否使用LargeFOV(Field of View)的对比。

  • 第一行DeepLab-CRF-7x7就是直接将FC1按照FCN论文中的方法转换成7x7大小的卷积层,并且膨胀因子r=4(receptive field=224)。
  • 第二行DeepLab-CRF是将7x7下采样到4x4大小的卷积层,同样膨胀因子r=4(receptive field=128),可以看到参数减半,训练速度翻倍,但mean IOU下降了约4个点。
  • 第三行DeepLab-CRF-4x4,是在DeepLab-CRF的基础上把膨胀因子r改成了8(receptive field=224),mean IOU又提升了回去了。
  • 第四行DeepLab-CRF-LargeFOV,是将7x7下采样到3x3大小的卷积层,膨胀因子r=12(receptive field=224),相比DeepLab-CRF-7x7,参数减少了6倍,训练速度提升了3倍多,mean IOU不变。

MSc(Multi-Scale)

其实在论文的4.3中还提到了Multi-Scale Prediction,即融合多个特征层的输出。关于MSc(Multi-Scale)的结构论文中是这么说的:

Specifically, we attach to the input image and the output of each of the first four max pooling layers a
two-layer MLP (first layer: 128 3x3 convolutional filters, second layer: 128 1x1 convolutional filters) whose feature map is concatenated to the main network’s last layer feature map. The aggregate feature map fed into the softmax layer is thus enhanced by 5 * 128 = 640 channels.

即,除了使用之前主分支上输出外,还融合了来自原图尺度以及前四个Maxpool层的输出,更详细的结构参考下图。论文中说使用MSc大概能提升1.5个点,使用fully-connected CRF大概能提升4个点。但在源码中作者建议使用的是不带MSc的版本,以及看github上的一些开源实现都没有使用MSc。我个人猜测是因为这里的MSc不仅费时而且很吃显存。根据参考如下代码绘制了DeepLab-MSc-LargeFOV结构。

https://www.cs.jhu.edu/~alanlab/ccvl/DeepLab-MSc-LargeFOV/train.prototxt

下表是在PASCAL VOC2012 test数据集上的一个消融实验:

关于fully-connected CRF,说实话不太懂,这里就不讲了。

DeepLabV1网络简析相关推荐

  1. SegNet网络简析及caffe工程应用

    最近在工作的业务中需要应用到图像分割,在这里总结一下在应用中遇到的一些问题. 一.SegNet简介 自2015年FCN的提出后,使用卷积层替代全连接层成为了解决像素级分类种where和what的一种有 ...

  2. DeepLabV3网络简析

    论文名称:Rethinking Atrous Convolution for Semantic Image Segmentation 论文下载地址:https://arxiv.org/abs/1706 ...

  3. DeepLabV2网络简析

    论文名称:Semantic Image Segmentation with Deep Convolutional Nets, Atrous Convolution, and Fully Connect ...

  4. Retrofit网络请求框架使用简析——Android网络请求框架(四)

    题记:-- 很累,累到想要放弃,但是放弃之后将会是一无所有,又不能放弃, 唯有坚持,唯有给自忆打气,才能更勇敢的走下去,因为无路可退,只能前行, 时光一去不复返,每一天都不可追回,所以要更珍惜每一存光 ...

  5. SIGMOD 2021 论文简析:当公交网络连接满足通勤需求时的公共交通规划 Public Transport Planning

    SIGMOD-2021 论文简析:当公交网络连接满足通勤需求时的公共交通规划 - Public Transport Planning: When Transit Network Connectivit ...

  6. 《Android 网络开发与应用实战详解》——2.1节简析Android安装文件

    本节书摘来自异步社区<Android 网络开发与应用实战详解>一书中的第2章,第2.1节简析Android安装文件,作者 王东华,更多章节内容可以访问云栖社区"异步社区" ...

  7. 网络协议:简析三次握手协议

    一,简析三次握手协议 首先来看我们生活中很常见的一件事: 在我们网购的时候,常常会跟客服这样聊天:我们向客服询问某件事,客服回答,然后我们断网了...过了一会儿,我们再登陆就收到了客服的回答. 这个交 ...

  8. 基于libmad库的MP3解码简析

    基于libmad库的MP3解码简析  MAD (libmad)是一个开源的高精度 MPEG 音频解码库,支持 MPEG-1(Layer I, Layer II 和 LayerIII(也就是 MP3). ...

  9. 简析 .NET Core 构成体系

    简析 .NET Core 构成体系 Roslyn 编译器 RyuJIT 编译器 CoreCLR & CoreRT CoreFX(.NET Core Libraries) .NET Core 代 ...

最新文章

  1. DeepMind提出基于视觉的强化学习模型,十八般兵器对机器人不在话下
  2. IDEA——找不到或无法加载主类的一种暴力解决方法
  3. mysql server 组件cve_Oracle MySQL Server 'Server'子组件远程安全漏洞(CVE-2012-0574)
  4. POJ 3517 And Then There Was One( 约瑟夫环模板 )
  5. mysql dataset_数据库 dataset database
  6. flink sql planner到底是干嘛用的
  7. SQL注入漏洞全接触--高级篇
  8. Perforce使用指南_forP4V
  9. C++工程师面试题大全
  10. 微信团队回应“部分用户朋友圈无法刷新”;罗永浩:准备做综艺节目;Apache Spark 3.0 发布| 极客头条...
  11. Linux,vi编辑器使用手册
  12. EFK+sentinl报警机制
  13. 【语音识别】基于matlab MFCC+SVM特定人性别识别【含Matlab源码 533期】
  14. Lingo 软件的使用 数学建模 司守奎
  15. 计算机无法关闭密码保护,Windows 10不会关闭密码保护共享
  16. 苹果手机用H5 audio标签无法自动播放音乐解决方法/html网页自动播放音乐
  17. 虚拟机vmware12pro中安装win7系统时,点击一键安装win7到c盘就会出现dos工具箱
  18. java apache 日志_了解Apache的访问日志
  19. 查询MySQL数据库中所有表的结构
  20. 最浅显易懂的Javascript 中的slice和splice

热门文章

  1. python面试常见知识点收集,长期更新
  2. 计算机二级office实战素材,计算机二级office PPT素材3
  3. 运算放大器节点电压方程_高速放大器设计三大常见问题,TI 帮您攻克!
  4. mysql 执行delete的时候没走索引
  5. 台式计算机操作系统,电脑型号 X64 兼容 台式电脑 操作系统 Windows 7 旗舰版 精简版 64位 SP1 ( DirectX 11 )...
  6. ThinkPad Z13 评测
  7. 嵌入式linux操作系统有哪些,主流嵌入式操作系统有哪些?
  8. 电感和磁珠的6大区别
  9. Qt之多媒体 Phonon播放器(一)
  10. 《星际穿越》:一手烧脑一手催泪