语义分割系列之FCN、DeeplabV1、V2、V3、V3Plus论文学习

FCN Fully Convolutional Networks

论文:Fully Convolutional Networks for Semantic Segmentation
地址:https://openaccess.thecvf.com/content_cvpr_2015/papers/Long_Fully_Convolutional_Networks_2015_CVPR_paper.pdf
特点:用全卷积替代了全连接、反转卷积的操作来恢复信息、高低通道特征融合

0.网络结构

FCN网络结构主要分为两个部分:全卷积部分和反卷积部分
在这里插入图片描述

1.全连接

全连接层转化为卷积层
在这里插入图片描述

2.Deconvlution上采样

反卷积(Deconvolution),也叫做转置卷积(Transposed Convolution)
作用:反卷积的主要作用是将低维特征图还原为高维特征图,从而实现特征图的上采样或升维。
在这里插入图片描述
另一种反卷积的方法:内部填充
在这里插入图片描述

3.Skips高低特征融合

如果只利用反卷积对最后一层的特征图进行上采样得到原图大小的分割,由于最后一层的特征图太小,会损失很多细节。因而提出增加Skips(跳层连接结构)将最后一层的预测(有更富的全局信息)和更浅层(有更多的局部细节)的预测结合起来。
在这里插入图片描述

Deeplab系列

这一系列的核心思想就是找到合适的手段代替pooling带来的位置和细节损失,或者补偿损失
参考:https://blog.csdn.net/fanxuelian/article/details/85145558
在这里插入图片描述

DeeplabV1

原文:Semantic image segmentation with deep convolutional nets and fully connected CRFs
论文下载地址:https://arxiv.org/abs/1412.7062
参考源码:https://github.com/TheLegendAli/DeepLab-Context
Backbone:VGG16
trick:Atrous convolution空洞卷积、CRF条件随机场、ASPP空洞空间金字塔池化

0.网络结构

输入Input -> CNN提取特征 -> 粗糙的分割图(1/8原图大小) -> 双线性插值回原图大小 -> CRF后处理 -> 最终输出Output
在这里插入图片描述

1.空洞卷积

使用背景:语义分割是一个end-to-end的问题,需要对每个像素进行精确的分类,对像素的位置很敏感,是个精细活儿。
池化层的第一个作用,缩小特征层的尺寸,减少计算量。池化层还有另一个重要作用,快速扩大感受野。但pooling是一个不断丢失位置信息的过程,而语义分割又需要这些信息,矛盾就产生了,于是引入了空洞卷积。

实现方法:空洞卷积通过在卷积核的元素之间插入空洞或空白像素(pixel=0)来实现感受野的扩张。
作用:通过使用空洞卷积,可以在不增加参数数量的情况下增加感受野,从而提高模型对于大范围上下文信息的理解能力。
膨胀率:空洞卷积的一个重要参数是膨胀率(dilation rate),它决定了空洞的大小。通常,膨胀率为1表示普通的卷积操作,膨胀率大于1表示扩大感受野。

在这里插入图片描述

2.CRF条件随机场

参考:https://zhuanlan.zhihu.com/p/601952029

2.1随机场

随机场是由若干个位置组成的整体,当给每一个位置中按照某种分布随机赋予一个值之后,其全体就叫做随机场。简单理解,随机场就是一种分布关系,其分布关系只于位置有关。

2.2马尔可夫随机场

马尔科夫随机场是随机场的特例,它假设随机场中某一个位置的赋值仅仅与和它相邻的位置的赋值有关,和与其不相邻的位置的赋值无关。马尔可夫随机场中元素的分布关系不仅和自身位置有关,还和相邻元素属性有关。

2.3条件随机场

CRF是马尔科夫随机场的特例,在极端的约束下,马尔可夫随机场中每个点的值Y可以由该元素的位置关系X推出,并且分布关系可以由P(X|Y)表示,此时就获得了CRF,并且条件概率分布P(Y|X)是条件随机场的表达式。

2.4 DEEPLAB中的CRF

CRFs有两种形式,一种是成对的CRFs(pairwise CRFs),另一种是全连接的CRFs(fully connected CRFs),成对的CRFs只考虑相邻像素之间的关系,而全连接的CRFs考虑所有像素之间的关系。
输入图像经过多层卷积下采样后会导致分辨率大幅下降,这使得像素的位置信息丢失,导致还原图像尺寸的过程pixel的定位有偏失,体现为pixel-wise的最终预测结果不准确,这最主要表现在物体的边缘位置. 而CRF利用不同位置的像素类别信息关系,通过建立概率图的方式,有效缓解了边缘定位不准确的问题.

具体效果如下图所示.

在这里插入图片描述
在这里插入图片描述
根据公式来看,就是一个全连接的滤波器

DeeplabV2

原文:DeepLab: Semantic Image Segmentation with Deep Convolutional Nets, Atrous Convolution, and Fully Connected CRFs
Backbone:ResNet-101 with atrous convolution
特点:ASPP

0.网络结构

在这里插入图片描述

1.ASPP空洞空间金字塔池化

就是在backbone输出的Feature Map上并联四个分支,每个分支的第一层都是使用的膨胀卷积,但不同的分支使用的膨胀系数不同,由于每个分支的感受野不同,从而具有解决目标多尺度的问题
在这里插入图片描述
然后将得到的结果 concat 到一起,扩大通道数;最后通过 1 × 1的卷积将通道数降低到预期的数值。相当于以多个比例捕捉图像的上下文。
在这里插入图片描述

DeeplabV3

原文:Rethinking Atrous Convolution for Semantic Image Segmentation
Backbone:ResNet-101
特点:在ASPP中使用BN层、cascaded 级联

1.batch normalization

对于ASPP,空洞卷积之后使用batch normalization

DeepLab V3+

原文:Encoder-Decoder with Atrous Separable Convolution for Semantic Image Segmentation
Backbone:Xception
特点:Encoder-decoder structure

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/376688.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

由繁化简 Q-Automation助力自动化测试管理

Q-Automation是基于ATX的自动化测试管理软件,用于测试电子控制单元(ECU)。该软件支持诊断协议层测试和诊断功能测试,且只需填写Excel表格,即可实现半自动化测试需求,从而缩短用户的测试周期。此外&#xff…

【教学类-47-01】UIBOT+IDM下载儿童古诗+修改文件名

背景需求: 去年12月,我去了其他幼儿园参观,这是一个传统文化德育教育特色的学校,在“古典集市”展示活动中,小班中班大班孩子共同现场念诵《元日》《静夜思》包含了演唱版本和儿歌念诵版本。 我马上也要当班主任了&a…

国产航顺HK32F030M: 超声波测距模块串口通信数据接收与处理

参考代码 /************************************************************************************************** * file usart_async_tx_no_int_rx_rxneint.c * brief 异步串口通信例程, 通过查询TXE标志发送数据,通过RXNE中断接收数据,当中断接收到数据后会将 * …

《合成孔径雷达成像算法与实现》Figure6.8

clc clear close all参数设置 距离向参数设置 R_eta_c 20e3; % 景中心斜距 Tr 2.5e-6; % 发射脉冲时宽 Kr 20e12; % 距离向调频率 alpha_os_r 1.2; % 距离过采样率 Nrg 320; % 距离线采样数 距离向…

【C++二维前缀和】黑格覆盖

题目描述 在一张由 M * N 个小正方形格子组成的矩形纸张上,有 k 个格子被涂成了黑色。给你一张由 m * n 个同样小正方形组成的矩形卡片,请问该卡片最多能一次性覆盖多少个黑格子? 输入 输入共 k1 行: 第 1 行为 5 个整数 M、N、…

政安晨:演绎在KerasCV中使用Stable Diffusion进行高性能图像生成

小伙伴们好,咱们今天演绎一个使用KerasCV的StableDiffusion模型生成新的图像的示例。 考虑计算机性能的因素,这次咱们在Colab上进行,Colab您可以理解为在线版的Jupyter Notebook,还不熟悉Jupyter的的小伙伴可以去看一下我以前的文…

web前后端小坑记录

游戏服务器过年这段时间忙完了,好久没看web了,重温一下。发现竟然没有文章记录这些修BUG的过程,记录一下。 目录 如何处理F5刷新? 如何处理F5刷新? 后端应该发现路由不存在,直接返回打包好的index.html就…

软件22-上午题-树与二叉树1

一、树 树形结构,非线性结构。 树是n个节点的有限集合。 树的定义是递归的。 1-1、树的基本概念 1、结点的度:一个结点的子树个数。 2、树的度:树中最大的结点的度数。 3、叶子结点:度为0的结点。 4、分支结点:度…

this指针详细总结 | static关键字 | 静态成员

文章目录 1.this指针引入2.this指针的特性3.静态成员3.1.C语言中static的基本用法3.2.C中的static关键字 1.this指针引入 class student { public:student(const string& name){ _name name; }void print(){// _name<>this->_name<>(*this)._name// 说一下…

多路服务器技术如何处理大量并发请求?

在当今的互联网时代&#xff0c;随着用户数量的爆炸性增长和业务规模的扩大&#xff0c;多路服务器技术已成为处理大量并发请求的关键手段。多路服务器技术是一种并行处理技术&#xff0c;它可以通过多个服务器同时处理来自不同用户的请求&#xff0c;从而显著提高系统的整体性…

零基础学Python(7)— 基本输入与输出

前言&#xff1a;Hello大家好&#xff0c;我是小哥谈。从第一个Python程序开始&#xff0c;我们一直在使用print()函数向屏幕上输出一些字符&#xff0c;这就是Python的基本输出函数。除了print()函数&#xff0c;Python还提供了一个用于进行标准输入的input()函数&#xff0c;…

成员对象与封闭类

1. 成员对象与封闭类 类里有其他对象则该对象叫成员对象&#xff1b;有成员对象的类叫 封闭类&#xff1b;上例中&#xff0c;如果CCar类不定义构造函数&#xff0c;则会使用默认的无参构造函数&#xff0c;那么下面的语句会编译出错: 因为编译器不明白CCar类中的tyre成员对象…

node.js后端+小程序前端+mongoDB(增删改查)

前言 今天我对比了以下node.js的express与python的fastAPI&#xff0c;我决定我还是出一期关于node.jsmangoDB小程序的小案例吧。 不是python的fastAPI不好用&#xff0c;因为fastAPI是python较新的技术&#xff0c;我不敢果断发出教学文章&#xff08;这件事情还是留着给pyt…

《幻兽帕鲁》攻略:0基础入门及游戏基础操作 幻兽帕鲁基础设施 幻兽帕鲁基础攻击力 Mac苹果电脑玩幻兽帕鲁 幻兽帕鲁加班加点

今天就跟大家聊聊《幻兽帕鲁》攻略&#xff1a;0基础入门及游戏基础操作。 如果想在苹果电脑玩《幻兽帕鲁》记得安装CrossOver哦。 以下纯干货&#xff1a; CrossOver正版安装包&#xff08;免费试用&#xff09;&#xff1a;https://souurl.cn/Y1gDao 一、基础操作 二、界面…

生成式学习,特别是生成对抗网络(GANs),存在哪些优点和缺点,在使用时需要注意哪些注意事项?

生成对抗网络&#xff08;GANs&#xff09; 1. 生成对抗网络&#xff08;GANs&#xff09;的优点&#xff1a;2. 生成对抗网络&#xff08;GANs&#xff09;的缺点&#xff1a;3. 使用生成对抗网络&#xff08;GANs&#xff09;需要注意的问题 1. 生成对抗网络&#xff08;GANs…

RabbitMQ的延迟队列实现[死信队列](笔记二)

上一篇已经讲述了实现死信队列的rabbitMQ服务配置&#xff0c;可以点击: RabbitMQ的延迟队列实现(笔记一) 目录 搭建一个新的springboot项目模仿订单延迟支付过期操作启动项目进行测试 搭建一个新的springboot项目 1.相关核心依赖如下 <dependency><groupId>org.…

设计模式理解:单例模式+工厂模式+建设者模式+原型模式

迪米特法则&#xff1a;Law of Demeter, LoD, 最少知识原则LKP 如果两个软件实体无须直接通信&#xff0c;那么就不应当发生直接的相互调用&#xff0c;可以通过第三方转发该调用。其目的是降低类之间的耦合度&#xff0c;提高模块的相对独立性。 所以&#xff0c;在运用迪米特…

【机器学习】机器学习流程之收集数据

&#x1f388;个人主页&#xff1a;甜美的江 &#x1f389;欢迎 &#x1f44d;点赞✍评论⭐收藏 &#x1f917;收录专栏&#xff1a;机器学习 &#x1f91d;希望本文对您有所裨益&#xff0c;如有不足之处&#xff0c;欢迎在评论区提出指正&#xff0c;让我们共同学习、交流进步…

有趣的CSS - 旋转的太极图

目录 整体效果核心代码html 代码css 部分代码 完整代码如下html 页面css 样式页面渲染效果 整体效果 使用 :before 、:after 伪元素以及 animation 属性画一个顺时针旋转的太极图。 核心代码部分&#xff0c;简要说明了写法思路&#xff1b;完整代码在最后&#xff0c;可直接复…

PKI - 03 密钥管理(如何进行安全的公钥交换)

文章目录 Pre密钥管理面临的挑战安全密钥管理的几种方式手动密钥交换与确认受信任的介绍 Pre PKI - 02 对称与非对称密钥算法 密钥管理面临的挑战 密钥管理面临的挑战主要包括以下几点&#xff1a; 安全的公钥交换&#xff1a;在使用基于非对称密钥算法的服务之前&#xff0c…