【语义分割】DeepLab系列
目录
- DeepLab V1
- 概述
- 细节
- 网络结构
- 空洞卷积
- 全连接CRF
- 多尺度预测
- DeepLab V2
- 概述
- 细节
- ASPP
DeepLab V1
概述
我们之前有提到FCN将分类网络的全连接操作转换成卷积操作,得到了端到端的分割网络,然后思考如何提高这个网络的效果。文中出现了两种思路,一种是将最后输出的特征图的尺寸变大,那么上采样之后的结果会好一点;另一种就是使用skip-connection操作,慢慢上采样,并且做特征补充。
DeepLab v1是在第一种思路的基础上做的进一步思考,通过修改骨干网络(减少池化次数和添加空洞卷积),在保证感受野的同时,增大输出特征图的尺寸,并且使用全连接的CRF对最后的输出进行微调,得到更好的效果。
细节
网络结构
骨干网络是VGG,但是做了一些修改,包括:
1、将全连接层转换为卷积层(FCN的思想),
2、最后两个池化层的步长变为1(池化前后尺寸不变,因此最后的输出尺寸是原图的1/8,而不是1/32了),
3、第5个stage的卷积层和fc1的卷积层,变为空洞卷积(至于参数的设置,是为了保证与VGG网络的感受野相同。)
注
:第二个修改是为了使最后的输出尺寸变大一点,而第三个修改则是解决第二个修改导致无法使用预训练模型的问题。它使得修改过后网络感受野与原网络相同,就可以使用预训练参数了,只需要把额外添加的参数置为0就可以了。
图片来自:链接
空洞卷积
是什么
:就是在标准卷积中注入空洞,从而增大感受野。现在基本的深度学习框架都是支持这种类型的卷积的,相对于标准卷积多了一个空洞率的参数,表示间隔的数量。空洞卷积的实际卷积核大小为
K=K+(k−1)(a−1)K = K + (k-1)(a-1)K=K+(k−1)(a−1),
其中KKK是卷积核的大小,aaa是空洞率。例如,一个空洞率为2
的3*3
卷积,相当于一个5*5
卷积。而标准卷积相当于是空洞卷积中a
取为1的特例。
有什么用
:
1、扩大感受野。可以用空洞卷积代替下采样操作(步长为2的卷积或者池化),并且可以不降低分辨率或者说少降低分辨率,另一方面,空洞卷积相对于标准卷积而言,没有引入额外的参数。
2、获取多尺度上下文信息。不同的空洞率,带来不同的感受野,也就有不同的上下文信息,这些信息无论是串联还是并联,都是很优秀的。
缺陷
:可能带来网格效应。如果单纯的串联的话,图像中并不是所有的像素点都被用于计算,丧失了一些局部信息,并且得到的信息是离散的,不是连续的;另一方面,对于小物体的分割其实没有带来很大的收益,反而会有弊处。
因此
,作者只是在网络的最后两个stage,取消下采样操作,之后采用空洞卷积弥补丢失的感受野。
全连接CRF
CRF(概率图模型,线性条件随机场)在传统图像处理上的应用是平滑处理。CRF在决定一个位置的像素值时,会考虑周围像素点的值。但是通过CNN得到的概率图在一定程度上已经足够平滑,所以短程的CRF没有太大的意义。于是考虑使用全连接的CRF,这样就会综合考虑全局信息,恢复详细的局部结构,如精确图形的轮廓。CRF几乎可以用于所有的分割任务中图像精度的提高。
CRF是一个后处理阶段,相当于是对于分割图的一个优化过程。
多尺度预测
以往的研究显示,多尺度预测能得到更好的效果,本文也做了尝试。
注
:多尺度预测其实和skip-connetion操作类似
具体方式就是,在输入图片和前4个 maxpooliing后添加 MLP层(多层感知机,第一层是 3x3x33x128卷积,第二层是 1x1x11x128 卷积),得到预测结果,然后将这个结果和最后一层的输出concat起来,得到最终的结果。这个操作也是有提升的,但是没有全连接CRF带来的提升更多。
DeepLab V2
概述
v2在v1的基础上加入了ASPP,并把主干网络从VGG-16换成了ResNet-101,同时增加了一些训练中的tirck。
细节
ASPP
本文提出了空洞空间卷积池化金字塔Atrous spatial pyramid pooling (ASPP
),通过并行的采用多个不同采样率的空洞卷积层来检测,以多个比例捕捉对象以及图像上下文。
首先空洞卷积相当于是一个更大卷积核的卷积,那么设定好padding之后,不管是多少空洞率,都能得到相同尺寸的的特征图,最后将这些特征图做融合就好了
【语义分割】DeepLab系列相关推荐
- 语义分割DeepLab v2--DeepLab: Semantic Image Segmentation with Deep Convolutional Nets, Atrous Convolut
DeepLab: Semantic Image Segmentation with Deep Convolutional Nets, Atrous Convolution, and Fully Con ...
- 【语义分割 - DeepLab学习笔记】之DeepLab初体验
目录 前言 一.DeepLab简述 二.DeepLab怎么使用 1.配置 2.代码解析 前言 最近在接触一个项目,要用到语义分割,如果大家有什么问题,都可以跟我沟通交流.除了通过博客交流外,欢迎你加入 ...
- 语义分割损失函数系列(1):交叉熵损失函数
最近一直在做一些语义分割相关的项目,找损失函数的时候发现网上这些大佬的写得各有千秋,也没说怎么用,在此记录一下自己在训练过程中使用损失函数的一些心得.本人是使用的Pytorch框架,故这一系列都会基于 ...
- 语义分割网络系列1——FCN
参考明课程,特此感谢: 论文下载地址:https://blog.csdn.net/mieleizhi0522/article/details/81914000 FCN 1FCN网络结构 1.1 结构详 ...
- 语义分割损失函数系列(2):IoU损失
交叉熵损失函数好用是好用,但当数据存在严重的不平衡问题的时候,会导致结果特别糟糕,特别是在医学图像分割问题中,一般目标区域都比较小,背景区域比较大,此时用交叉熵损失函数的话得到的结果就不太好. IOU ...
- 深度学习 Deeplab语义分割
语义分割Deeplab系列算法 背景 Deeplab Family DeeplabV1 DeeplabV2 DeeplabV3 概述 DeeplabV3+ Deeplabv3+实现 参考 背景 语义分 ...
- 【语义分割】论文代码资料汇总
语义分割的资料总结 1.Github一份丰富的论文清单 from hangdong1587,这份清单中包含了一下几个部分: 语义分割基础论文 基于多边形的分割 基于U-net的分割 前景分割 语义分割 ...
- 论文翻译 | Mask-SLAM:基于语义分割掩模的鲁棒特征单目SLAM
点击上方"3D视觉工坊",选择"星标" 干货第一时间送达 1 摘要 本文提出了一种将单目视觉SLAM与基于深度学习的语义分割相结合的新方法.为了稳定运行,vSL ...
- 语义分割经典论文总结
语义分割论文系列总结 1.0经典论文总结 1.1 FCN 1.2 Parse-Net 1.3 U-Net 1.4 Deeplab系列(v1,v2,v3,v3+) 1.5 Non-local 在语义分割 ...
- 英语 语义分割_Padlex数据处理-语义分割-分段变换,PaddleX,segtransforms
Compose 类将图像预处理/增强操作进行组合. 0. Compose类 paddlex.seg.transforms.Compose(transforms) 根据数据预处理/数据增强列表对输入数据 ...
最新文章
- Firefox 插件:鲜味 del.icio.us,和朋友分享你的收藏
- OpenCV反向项目功能用法的实例(附完整代码)
- PHP生成静态网页的方法
- 每晚有1700万人逛淘宝但什么都不买,马云:我们仍可以靠他们赚钱
- 真正的研发之路(1)
- matlab偏微分方程工具箱求解
- [译] 学习 Spring Security(四):使用邮箱激活新账户
- 自己经常测试,不要等别人发现系统死了
- 第五章 调优案列分析与实战(待续)
- 艾永亮:这家酒店如何让你毫不犹豫点上五星好评?
- SONY索尼摄像机Z280断电KLV.RSV.MXF视频打不开数据恢复成功
- 商业数据分析师的发展前景
- 个人简历英语及计算机能力怎么写,简历个人能力怎么写(简历中个人能力的填写技巧)...
- 【保姆级教程】VMware+CentOS 7 配置静态IP(小名已排雷,放心跟着教程走)
- 小程序中自定义图片预览功能
- requirement
- rabbitMq 删除所有队列 ,还原设置
- JavaWeb自学笔记02
- 7-21 统计大写辅音字母 (15 分)
- C++中前置++,后置++,+,左移运算重载符详细介绍