我对DeepLab V3的理解(基于V1和V2)

这篇具有很好参考价值的文章主要介绍了我对DeepLab V3的理解(基于V1和V2)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一、概述

1.前言
1.1 DeepLab v1

我对DeepLab V3的理解(基于V1和V2)

创新点:

  1. 空洞卷积(Atrous Conv);
    <解决编码过程中信号不断被下采样,细节丢失的问题>

  2. 全连接条件随机场(Fully-connected Conditional Random Field)。
    <由于conv层提取的特征具有平移不变性,这就限制了定位精度。因此引入全连接CRF来提高模型捕获结构信息的能力,解决精分割问题。>

1.2 DeepLab v2

与v1不同点:

  1. 空洞空间金字塔池化 ASPP(Atrous spatial pyramid pooling )

  2. 将v1使用的backbone VGG16替换成了 Resnet101

我对DeepLab V3的理解(基于V1和V2)

ASPP可用于解决不同检测目标大小差异的问题:通过在给定的特征层上使用不同dilation的空洞卷积,可以有效的进行重采样。构建不同感受野的卷积核,用来获取多尺度物体信息。

1.3 DeepLab v3

创新点:

改进了v2的ASPP模块:

  1. 加入了BN层;

  2. 将v2中的ASPP中尺寸3×3,dilation=24的空洞卷积替换成一个普通的1×1卷积,以保留滤波器中间部分的有效权重;(随着空洞率的增大,滤波器中有效权重的个数在减少)

  3. 增加了全局平均池化以便更好的捕捉全局信息。

我对DeepLab V3的理解(基于V1和V2)

二、整体结构

1.前置知识
1.1 Astrous conv空洞卷积
  • Atrous Convolution 从字面上就很好理解,是在标准的 convolution map 里注入空洞,以此来增加
    reception field。

  • 相比原来的正常convolution,dilated convolution 多了一个 hyper-parameter 称之为
    dilation rate 指的是kernel的间隔数量(e.g. 正常的 convolution 是 dilatation rate
    1)。

用这个动图可以很好理解

1.2 ASPP空洞空间金字塔池化

如上所述

2.Deeplab v3提出的的结构

Deeplab v3是为了解决捕获multi-scale context的问题

我对DeepLab V3的理解(基于V1和V2)

论文中Fig2画了几种常见的捕获multi-scale context的方法:

(a)图像金字塔。输入图像进行尺度变换得到不同分辨率input,然后将所有尺度的图像放入CNN中得到不同尺度的分割结果,最后将不同分辨率的分割结果融合得到原始分辨率的分割结果,类似的方法为DeepMedic;

(b)编码-解码。FCN和UNet等结构;

(c)本文提出的串联结构。

(d)本文提出的Deeplab v3结构。最后两个结构右边其实还需要8×/16×的upsample,在deeplab v3+中有所体现。当然论文的Sec 4.1也有提到,下采样GT容易在反向传播中丢失细节,因此上采样feature map效果更好。

DeepLab V3有cascade和parallel两种的形式:

1.1 "串联"结构

DeepLab V3将空洞卷积应用在级联模块。具体来说,我们取ResNet中最后一个block,在下图中为block4,并在其后面增加级联模块。
我对DeepLab V3的理解(基于V1和V2)

1.2 ASPP的改进

因为在cascade模型中,网络做的太深效果反而出现下降,所以就引用了ASPP。
我对DeepLab V3的理解(基于V1和V2)

改进的ASPP包括:

  1. 一个1 × 1 1×11×1卷积和三个3 × 3 3×33×3的采样率为rates={6,12,18}的空洞卷积,滤波器数量为256,包含BN层。针对output_stride=16的情况。如上图(a)部分Atrous Spatial Pyramid Pooling

  2. 图像级特征,即将特征做全局平均池化,经过卷积,再融合。如下图(b)部分Image Pooling. 改进后的ASPP模块如上图所示。

后续的实验证明:

两种方法的结构合并并不会带来提升,相比较来说,ASPP的纵式结构要好一点。所以deeplab v3一般也是指ASPP的结构。

三、总结

  1. DeepLabV1为了避免池化引起的信息丢失问题,提出了空洞卷积的方式,这样可以在增大感受野的同时不增加参数数量,同时保证信息不丢失。为了进一步优化分割精度,还使用了CRF(条件随机场)。

  2. DeepLab V2在之前的基础上,增加了多尺度并行,解决了对不同大小物体的同时分割问题。

  3. DeepLab V3将空洞卷积应用在了级联模块,并且改进了ASPP模块。

Reference:
1.deeplab系列总结(deeplab v1& v2 & v3 & v3+)
2.deeplab v3论文翻译
3.DeepLabv3论文解析
4.深度学习|语义分割:DeepLab系列文章来源地址https://www.toymoban.com/news/detail-502303.html

到了这里,关于我对DeepLab V3的理解(基于V1和V2)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 深度学习(目标检测):YOLO网络学习笔记(YOLO v1,YOLO v2和 YOLO v3)

    两种进行目标检测任务的深度学习方法 : 分类 :深度学习的目标检测的方法可以分为两类,分别是一阶段方法和二阶段方法。 一阶段方法 :YOLO系列模型都是一阶段方法,这一类方法可以一步到位地使用卷积神经网络进行特征提取并输出标注框。 两阶段方法 :两阶段阶段

    2023年04月11日
    浏览(33)
  • 深度学习网络模型 MobileNet系列MobileNet V1、MobileNet V2、MobileNet V3网络详解以及pytorch代码复现

    DW与PW计算量 普通卷积计算量 计算量对比 因此理论上普通卷积是DW+PW卷积的8到9倍 Residual blok与Inverted residual block对比: Residual blok :先采用1 x 1的卷积核来对特征矩阵进行压缩,减少输入特征矩阵的channel,再通过3 x 3的卷积核进行特征处理,再采用1 x 1的卷积核来扩充channel维

    2024年02月01日
    浏览(33)
  • 深度学习论文精读[13]:Deeplab v3+

    Deeplab v3+是Deeplab系列最后一个网络结构,也是基于空洞卷积和多尺度系列模型的集大成者。相较于Deeplab v3,v3+版本参考了UNet系列网络,对基于空洞卷积的Deeplab网络引入了编解码结构,一定程度上来讲,Deeplab v3+是编解码和多尺度这两大系列网络的一个大融合,在很长一段时

    2024年02月09日
    浏览(27)
  • 我对量子计算的理解

    🎈 作者: Linux猿 🎈 简介: CSDN博客专家🏆,华为云享专家🏆,Linux、C/C++、云计算、物联网、面试、刷题、算法尽管咨询我,关注我,有问题私聊! 🎈 欢迎小伙伴们点赞👍、收藏⭐、留言💬 本文仅是个人笔记,记录对量子计算的理解。 量子位 (Qubit,quantum bit 的缩写

    2024年02月14日
    浏览(31)
  • [Django] 我对dispatch的理解

    views.py 重点 这一段代码中其他的都是固定的,主要看if语句和他的返回值,当action等于send_message时就调用main()函数,当action等于check_message时就调用post()函数,那么如何判断他的action?这就要在urls.py中设置: urls.py (FBV一般用于单个函数及其路由的调用,CBV用于两个及以上的

    2024年02月13日
    浏览(19)
  • 让交互更自然:基于语义理解的创新交互方式

    作者:禅与计算机程序设计艺术 引言 1.1. 背景介绍 随着互联网技术的快速发展和应用范围的不断扩大,用户对于交互的需求也越来越多样化。为了提高用户体验和满足不同场景的需求,许多交互方式不断地涌现出来。然而,很多传统的交互方式在智能设备上运行时,容易出

    2024年02月07日
    浏览(25)
  • 1、前言 2、概述

    了解Git基本概念 能够概述git工作流程 能够使用Git常用命令 熟悉Git代码托管服务 能够使用 Visual Studio/Rider/VSCode 操作git linux 基本命令 编程入门基础 简单的docker 基础(会安装容器即可) 在校大学生 初入社会的开发人员     Git是目前世界上最先进的分布式版本控制系统(没有之

    2024年02月04日
    浏览(37)
  • 记录我对傅里叶变换的理解和学习过程

    本人水平有限,文章仅作为自己的学习记录,且多用不严谨的、通俗易懂的语言去介绍。如有错误,希望大佬们多多批评指正。 系列文章01——记录我对傅里叶级数的理解和学习过程  如上图(左)所示,时域f(t)为一个周期信号,在上一讲中,我们学习了傅里叶级数,可以对它

    2024年02月04日
    浏览(29)
  • IGMPv1,v2,v3详解

    IGMP(Internet Group Management Protocol)作为因特网组管理协议,是TCP/IP协议族中负责IP组播成员管理的协议,它用来在IP主机和与其直接相邻的组播路由器之间建立、维护组播组成员关系。 IGMP协议运行在主机与组播路由器之间。 IGMP协议的作用: 主机侧:通过IGMP协议向路由器通告组

    2024年02月09日
    浏览(33)
  • 字节二面,原来我对自动化测试的理解太浅了

    如果你入职一家新的公司,领导让你开展自动化测试,作为一个新人,你肯定会手忙脚乱,你会如何落地自动化测试呢? 01 什么是自动化 有很多人做了很长时间的自动化但却连自动化的概念都不清楚,这样的人也是很悲哀,做这样的职业,却连最基本的概念都不清楚。我给

    2023年04月11日
    浏览(31)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包