背景: 
CNN的一个特性是不变性,这个特性使得它在high-level的计算机视觉任务比如classification中,取得很好的效果。但是在semantic segmentation任务中,这个特性反而是个障碍。毕竟语义分割是像素级别的分类,高度抽象的空间特征对如此low-level并不适用,比如图像分割细节、边缘。 
所以,要用CNN来做分割,就需要考虑两个问题,一个是feature map的尺寸,以及空间不变性。
解决方案: 
对于第一个问题,FCN通过反卷积层将feature map还原到原图尺寸。 
可是feature map为什么会变小呢?因为stride的存在。于是DeepLab就考虑,我直接把stride改成1,feature map不就变大了吗。将stride改小,确实能得到更加dense的feature map,可是却也带来了另外一个问题即receptive field(RF)的改变问题。receptive field是直接和stride挂钩的,即
RFi+1 = RFi + (kernel-1)*stride (i越小越bottom) 
按照公式,stride变小,要想保持receptive field不变,那么,就应该增大kernel size。于是就有了接下来的hole算法。 
一开始,pooling layer stride = 2,convolution layer kernel size = 2,convolution layer第一个点的receptive field是{1,2,3,4},size为4 
为了得到更加dense的feature map,将pooling layer stride改为1,如果这个时候保持convolution layer的kernel size不变的话,可以看到,虽然是更dense了,可是不再存在RF = {1,2,3,4}的点了。
当采用hole算法,在kernel里面增加“hole”,kernel size变大,相当于卷积的时候跨过stride减小额外带来的像素,RF就保持不变了,当然如果调整hole的size还能得到比原来更大的RF。
这个扩大后的卷积核直观上可以以通过对原卷积核填充0得到,不过在具体实现上填0会带来额外的计算量,所以实际上是通过im2col调整像素的位置实现的,这里不展开,有兴趣的可以看看caffe源码(hole算法已经集成在caffe里了,在caffe里叫dilation) 于是,通过hole算法,我们就得到了一个8s的feature map,比起FCN的32s已经dense很多了。 
对于第二个问题,图像输入CNN是一个被逐步抽象的过程,原来的位置信息会随着深度而减少甚至消失。Conditional Random Field (CRF,条件随机场)在传统图像处理上的应用有一个是做平滑。CRF简单来说,能做到的就是在决定一个位置的像素值时(在这个paper里是label),会考虑周围邻居的像素值(label),这样能抹除一些噪音。但是通过CNN得到的feature map在一定程度上已经足够平滑了,所以short range的CRF没什么意义。于是作者采用了fully connected CRF,这样考虑的就是全局的信息了。
另外,CRF是后处理,是不参与训练的,在测试的时候对feature map做完CRF后,再双线性插值resize到原图尺寸,因为feature map是8s的,所以直接放大到原图是可以接受的。
DeepLab V2:DeepLab: Semantic Image Segmentation with Deep Convolutional Nets, Atrous Convolution, and Fully Connected CRFs
       v1之后,Liang-Chieh Chen很快又推出了DeepLab的v2版本。
       Multi-scale对performance提升很大,而我们知道,receptive field,视野域(或者感受野),是指feature map上一个点能看到的原图的区域,那么如果有多个receptive field,是不是相当于一种Multi-scale?出于这个思路,v2版本在v1的基础上增加了一个多视野域。具体看图可以很直观的理解。
    rate也就是hole size
    这个结构作者称之为ASPP(atrous spatial pyramid pooling),基于洞的空间金字塔
    此外,DeepLab v2有两个基础网络结构,一个是基于vgg16,另外一个是基于resnet101的。
参考网址:https://blog.csdn.net/c_row/article/details/52161394

Deeplab V1、v2要点相关推荐

  1. CNN:RCNN、SPPNet、Fast RCNN、Faster RCNN、YOLO V1 V2 V3、SSD、FCN、SegNet、U-Net、DeepLab V1 V2 V3、Mask RCNN

    日萌社 人工智能AI:Keras PyTorch MXNet TensorFlow PaddlePaddle 深度学习实战(不定时更新) CNN: 目标检测: RCNN SPPNet Fast RCN ...

  2. 准确度判断 语义分割_【语义分割】DeepLab v1/v2

    [语义分割][TPAMI2017]DeepLab: Semantic Image Segmentation with Deep Convolutional Nets, Atrous Convoluti ...

  3. DeepLab系列(v1,v2,v3,v3+)总结

    U-net: A Deep Convolutional Encoder-Decoder Architecture for Image Segmentation 语义分割面临的挑战 1. DeepLab ...

  4. 一文理解DeepLab V1到DeepLab V3+(超系统、超详细)

    文章目录 预备知识 空洞卷积 1.DeepLab V1 1.1 基于VGG模型 1.2 总体架构 1.2.1 Fully Connected CRF(条件随机场) 1.3 DeepLab V1模型实验 ...

  5. 【DeepLab v1 2016】SEMANTIC IMAGE SEGMENTATION WITH DEEP CON- VOLUTIONAL NETS AND FULLY CONNECTED CRFS

    [DeepLab v1]SEMANTIC IMAGE SEGMENTATION WITH DEEP CON- VOLUTIONAL NETS AND FULLY CONNECTED CRFS 用深度卷 ...

  6. 目标分割(四)DeepLab v1讲解

    目标分割DeepLab v1 ABSTRACT 1. INTRODUCTION 2. RELATED WORK 3. CONVOLUTIONAL NEURAL NETWORKS FOR DENSE I ...

  7. IGMP V1 V2 V3 定义和区别

    先来认识一下IGMP这个协议吧,它的全称是Internet Group Management Protocol,它和unicast和multicast的区别是它是发往一组计算机(属于它这个组播组的所有 ...

  8. PyTorch 实现经典模型7:YOLO (v1, v2, v3, v4)

    YOLO (v1, v2, v3, v4) 网络结构 YOLO v3 网络结构 代码 Ref <机器爱学习>YOLO v1深入理解 <机器爱学习>YOLOv2 / YOLO90 ...

  9. Android Studio 打包 V1 V2 签名

    前言 以前AS打包都是填完key信息就ok了,AS后面更新之后,打包的签名版本多了V1,V2选择,该如何选择呢? v1与v2的区别 Android 7.0中引入了APK Signature Schem ...

最新文章

  1. 【热门收藏】iOS开发人员必看的精品资料(100个)——下载目录
  2. 滇西应用技术大学计算机专业录取分数线,滇西应用技术大学录取分数线2021是多少分(附历年录取分数线)...
  3. java设计优化--观察者模式
  4. JavaScript 原型中的哲学思想
  5. 用Windows Server实现软件定义存储之存储空间直连
  6. android aop静态方法,spring aop 不能对静态方法进行增强解决
  7. java子类和父类有相同成员_Java -- 父类和子类拥有同名的成员变量的情况
  8. MacBook创建docker私有仓库docker server gave HTTP response to HTTPS client 问题处理办法
  9. 龙卷风路径_龙卷风突袭洛阳镇天井村 50多亩桃园遭了殃
  10. Excel被锁定,如何解锁
  11. python可以制作游戏脚本吗_python制作填词游戏步骤详解
  12. 织梦dedeCMS留言薄
  13. Android开发自定义短视频系统源码全局悬浮按钮
  14. R+ECharts2Shiny实现web动态交互式可视化数据(中)
  15. 大家都怎么评价自己的研究生导师?
  16. ISP pipeline之lens shading correction
  17. Microsoft SQL Server 2008R2和2019
  18. 三菱服务器有电源不显示,三菱plc模块网络连接状态的功能说明
  19. vis network(visjs)安装简单使用
  20. linux下的云盘软件下载,360安全云盘linux版下载

热门文章

  1. 数据仓库之电商数仓-- 3.4、电商数据仓库系统(ADS层)
  2. Django(三)模板
  3. BitAdminCore框架更新日志20180529
  4. 那些相似的CRM之间究竟有无区别
  5. 4-30 HTML 细节摘录
  6. [詹兴致矩阵论习题参考解答]习题3.7
  7. Ural_1030. Titanic
  8. 信息学奥赛一本通 1175:除以13 | OpenJudge NOI 1.13 27:除以13
  9. The Cow Lexicon(POJ-3267)
  10. 素数个数(信息学奥赛一本通-T1151)