这是专栏《分割模型解读》的第3篇文章。在这里,我们将共同探索解决分割问题的主流网络结构和设计思想。

前两篇文章介绍了编解码分割结构,今天具体聊聊解码器中涉及到的空间分辨率恢复问题。

作者 | 孙叔桥

编辑 | 言有三

1 绪论

通过前两篇文章,我们了解到分割任务是一个像素级别的任务,因此需要在输入的空间尺寸下对每个像素都有分割的结果。换句话说,如果输入的空间尺寸是HxW,那么输出也需要是HxW的。

然而,为了提高网络性能,许多结构采用了池化或striding操作来增加感受野,同时提升远程信息的获取能力。但是这样的结构也带来了空间分辨率的下降。

比如之前提到的编解码结构中的编码器。

在空洞卷积提出以前,大部分的空间尺寸恢复工作都是由上采样或反卷积实现的。前者通常是通过线性或双线性变换进行插值,虽然计算量小,但是效果有时不能满足要求;后者则是通过卷积实现,虽然精度高,但是参数计算量增加了。

(复制方法上采样示意图)

(反卷积方法上采样示意图)

基于此,DeepLab就提出了“空洞卷积”(atrous convolution)的概念。

2 空洞卷积

一句话概括空洞卷积:调整感受野(多尺度信息)的同时控制分辨率的神器。

(1) 控制感受野

下图是空洞卷积结构的示意图,从左到右比率(rate)分别为1、6和24,比率可以粗暴理解为卷积核内相邻两个权重之间的距离。从图中可以看出,当比率为1的时候,空洞卷积退化为常见的卷积。

很明显,应用空洞卷积后,卷积核中心像素的感受野(也就是一个卷积核能看见的区域)增大了,但是在步长为1的情况下,特征图的空间分辨率却可以保持不变。

(2) 控制分辨率

除了维持空间分辨率,空洞卷积也可以像标准卷积一样通过设置输出步长(output_stride)实现输出特征图分辨率的控制。

3 网络结构

(1) 网络结构介绍

在目标检测、图像分割等计算机视觉任务中,图片中可能出现如下图情况中的不同大小的目标。为了应对一个目标在不同尺度下的识别或分割造成的困难,研究者们想出了许多方法获取同一位置上不同尺度的上下文信息,从而保证算法对于尺度变化具有一定鲁棒性。

在图像分割领域中,主要存在下面四种网络结构能够实现多尺度上下文的获取。从左到右分别是金字塔结构、编解码结构、空洞卷积结构和空间金字塔池化结构。

前两种结构是通过输出步长的设置,逐步缩小输出特征图的分辨率,从而使得每层特征上所对应的感受野的尺寸变化;第三种结构是通过直接改变每个卷积核的可见区域实现感受野变化;最后一个结构是通过对特征层进行不同尺度的池化,实现感受野的遍历。

(2) 空洞卷积结构1

下图(b)是基于上面第三种结构的空洞卷积分割网络结构图,(a)是对应的第三种结构的网络结构图。

可以看到从block4到block7,通过应用不同比率的空洞卷积,该网络结构实现了在维持空间分辨率的前提下的感受野(尺度)变化。

(3) 空洞卷积结构2

下图是基于最后一种结构的空洞卷积网络结构,也称为ASPP(Atrous Spatial Pyramid Pooling),也是前两个DeepLab版本中所使用的网络结构。

这种结构将上个结构的串联空洞卷积变成了并联的空洞卷积运算,基于同一级特征结构提取不同尺度下的卷积结果。

4 实验及分析

(1) 卷积核的有效权重

通过前面的了解,我们可以发现一个问题。那就是,当空洞卷积的区域与特征图实际空间尺寸相近的时候,实际有效的卷积核权重是非常有限的。

比如,对一个65x65的特征图应用不同比率的3x3滤波器,我们可以得到下图的结果。

可见,在极端条件下,当空洞卷积的比率接近特征图空间尺寸时,一个3x3的卷积核就退化成了1x1的卷积核。

为了克服这个问题,DeepLabv3中采用的做法是对最后一层特征图应用全局池化(global pooling),再将其送入一个1x1的卷积层中,最后,通过双线性上采样实现希望的空间分辨率。

(2) 实验总结

DeepLabv3给出了诸多条件下的剥离实验,首先给出整体结论:

输出步长为8时效果比更大的步长要好;

基于ResNet-101的结构比基于ResNet-50的要好;

用变化的比率比1:1:1的比率要好;

加上多尺度输入和左右翻折数据效果更好;

用MS COCO下预训练的模型效果更好。

具体结果看下面表格:

表格均来源于DeepLabv3论文:

《Rethinking Atrous Convolution for Semantic Image Segmentation》

5 更多结果

6 总结

经过DeepLab和空洞卷积的学习,我们一起从之前的编解码结构共同迈入了第二大分割问题的处理方法:上下文信息整合。从这篇文章开始,我们将一起探索多种不同的上下文信息整合方法。

下篇文章将介绍空洞卷积的实时网络结构。下回见!

本专栏文章:

第一期:【图像分割模型】从FCN说起

第二期:【图像分割模型】编解码结构SegNet

第三期:【图像分割模型】感受野与分辨率的控制术—空洞卷积

如果想加入我们,后台留言吧

转载文章请后台联系

侵权必究

感谢各位看官的耐心阅读,不足之处希望多多指教。后续内容将会不定期奉上,欢迎大家关注有三公众号 有三AI

【图像分割模型】感受野与分辨率的控制术—空洞卷积相关推荐

  1. 【分割模型解读】感受野与分辨率的控制术—空洞卷积

    这是专栏<分割模型解读>的第3篇文章.在这里,我们将共同探索解决分割问题的主流网络结构和设计思想. 前两篇文章介绍了编解码分割结构,今天具体聊聊解码器中涉及到的空间分辨率恢复问题. 作者 ...

  2. 【图像分割模型】多感受野的金字塔结构—PSPNet

    这是专栏<图像分割模型>的第6篇文章.在这里,我们将共同探索解决分割问题的主流网络结构和设计思想. 在分割问题中,上下文信息与多尺度融合对于提高分割精度是十分有效的,今天我们就来谈谈用于实 ...

  3. 【图像分割模型】全景分割是什么?

    这是专栏<图像分割模型>的第12篇文章.在这里,我们将共同探索解决分割问题的主流网络结构和设计思想. 本文是专栏的最后一篇文章,见识过了分割任务中的大量模型,也了解了语义分割与实例分割,这 ...

  4. 【图像分割模型】实例分割模型—DeepMask

    这是专栏<图像分割模型>的第11篇文章.在这里,我们将共同探索解决分割问题的主流网络结构和设计思想. 本文介绍了用于实例分割任务的模型结构--DeepMask. 作者 | 孙叔桥 编辑 | ...

  5. 【图像分割模型】BRNN下的RGB-D分割—LSTM-CF

    这是专栏<图像分割模型>的第10篇文章.在这里,我们将共同探索解决分割问题的主流网络结构和设计思想. 深度信息的引入往往会给分割带来更好的结果.之前提到的ENet除了直接变成ReSeg分割 ...

  6. 【图像分割模型】用BRNN做分割—ReSeg

    这是专栏<图像分割模型>的第9篇文章.在这里,我们将共同探索解决分割问题的主流网络结构和设计思想. 尽管许多人都知道RNN在处理上下文上多优于CNN,但如何将RNN用于分割任务还是值得讨论 ...

  7. 【图像分割模型】多分辨率特征融合—RefineNet

    这是专栏<图像分割模型>的第8篇文章.在这里,我们将共同探索解决分割问题的主流网络结构和设计思想. RefineNet,教你在实现特征融合与残差恒等映射的同时,怎么找回降下来的空间分辨率. ...

  8. 【图像分割模型】全局特征与局部特征的交响曲—ParseNet

    这是专栏<图像分割模型>的第7篇文章.在这里,我们将共同探索解决分割问题的主流网络结构和设计思想. 尽管多尺度融合.空洞卷积都可以增加网络的感受野,但理论感受野与实际感受野仍然存在差异.那 ...

  9. 【图像分割模型】以RNN形式做CRF后处理—CRFasRNN

    这是专栏<图像分割模型>的第5篇文章.在这里,我们将共同探索解决分割问题的主流网络结构和设计思想. 条件随机场有点复杂,那能不能用神经网络的方式搞定CRF后处理呢?今天我们一起看一看穿上R ...

最新文章

  1. Can‘t get attribute ‘SiLU‘ on <module ‘torch.nn.modules.activation
  2. win10支持linux内核,Win10将允许您加载自定义Linux内核
  3. 如何帮用户管好云账本?阿里云数据库助力收钱吧 | 甲子光年
  4. 使用Docker搭建私有云笔记
  5. mysql longblob_Mysql LONGBLOB 类型存储二进制数据 (修改+调试+整理)
  6. zhongdexing-pro
  7. native下拉图片放大 react_RN下拉图片放大 - Chason-洪的个人空间 - OSCHINA - 中文开源技术交流社区...
  8. Vue 基础的开发环境
  9. 新买的Olmpus 7070,5.1照得几张照片
  10. python 代码片段23
  11. C#中将字符串中某字符不区分大小写并按全字匹配替换为空
  12. 基于java企业人事管理系统mysql
  13. SpringBoot:yml文件详解
  14. java实现旅行商问题_Java中旅行商问题的强力算法
  15. Android 使用Loader轻松实现仿微信图片加载
  16. unhandled system error, NCCL version 2.7.8
  17. Värde任命新合伙人和高级董事总经理
  18. MATLAB图像处理-图像增强之彩色图像直方图均衡化(RGB通道和HSV通道两种)
  19. php计算两个坐标(经度,纬度)之间距离
  20. 博图SCL编程——常规模拟量输入/输出的处理

热门文章

  1. shiro整合ehcache
  2. Dubbo错误排查:com.alibaba.dubbo.rpc.RpcException: Invoke remote method timeout
  3. SpringMVC框架中ModelAndView、Model、ModelMap的区别与使用
  4. html fond 怎么居中,BeautifulSoup标签定位方法总结
  5. Apollo分布式配置中心在本地的安装教程
  6. 顺序栈实现括号匹配的检验(C语言实现)【栈】
  7. php mysql 正则表达式_MYSQL使用正则表达式过滤数据_MySQL
  8. 倒序查询_mysql大表分页查询翻页优化方案
  9. 根据服务器ip地址查看虚拟目录,IIS虚拟目录实现与文件服务器网络驱动器映射共享...
  10. for循环优化_前端js if判断以及for循环该如何写的更好,优化upup