语义分割学习笔记(四)膨胀卷积
推荐课程:
1.膨胀卷积_哔哩哔哩_bilibili(膨胀卷积原理讲的很清楚)
2.膨胀卷积(Dilated convolution)详解_哔哩哔哩_bilibili(gradding effect问题和解决方法讲的很清楚)
感谢博主霹雳吧啦Wz / 太阳花的小绿豆和Enzo_Mi提供视频讲解和源码支持,真乃神人也!
目录
1.为什么使用膨胀卷积?
2. 膨胀卷积是什么?
3.膨胀卷积的参数设置
4.膨胀卷积的缺点:网格效应gradding effect
膨胀卷积(Dilated convolution),也叫空洞卷积(Atrous convolution)。
作用:1. 增大感受野 2. 保持原输入特征图W、H。
1.为什么使用膨胀卷积?
使用最大池化(max_pooling)会降低输入特征图的高度和宽度,其次通过最大池化会丢失一些特征图的细节信息以及丢失一些比较小的目标,这些丢失的目标无法通过上采样还原,那么会导致语义分割效果不理想。
(感受野是指卷积神经网络中每个输出特征图的每个像素点对应输入图像的区域大小。)
但是如果去除池化层,会导致感受野变小。而使用膨胀卷积既可以增大感受野又可以保持原图像长和宽大小不变。但是膨胀卷积并不是万能的,它存在gradding effect的问题。
2. 膨胀卷积是什么?
(k为卷积核大小,r为膨胀率dilation rate,p为填充,s为步长。膨胀率是卷积核的每个像素点在输入图像上的间隔大小。普通卷积的膨胀率为1,图中膨胀卷积的膨胀率为2。)
由上图可见,使用膨胀卷积输出特征图的每个像素点对应输入图像的区域更大,意味着感受野也更大。如上图,普通卷积输出特征图的每个像素点对应输入图像的区域为3x3,膨胀卷积对应区域为5x5。
3.膨胀卷积的参数设置
in_channels (int) – 输入通道数
out_channels (int) – 输出通道数
kernel_size (int or tuple) – 卷积核大小
stride (int or tuple, optional) – 步幅。 默认为 1
padding (int or tuple, optional) –
填充
。 默认为 0output_padding (int or tuple, optional) – 额外的填充在输出。 默认为 0
groups (int, optional) – 是否使用组卷积。 默认为 1
bias (bool, optional) – 是否在输出上添加偏执. 默认为
True
dilation (int or tuple, optional) – 是否使用膨胀卷积、空洞卷积。 默认为 1
如上图所示,膨胀卷积希望输出特征值与原图大小一致,不能再令padding=1。
4.膨胀卷积的缺点:网格效应gradding effect
由于膨胀卷积是一种稀疏的采样方式,当多个膨胀卷积叠加时,有些像素根本没有被利用到,会损失信息的连续性与相关性,进而影响分割、检测等要求较高的任务。
如图所示,经过了四次的膨胀卷积,每次的膨胀卷积膨胀率设为2,在layer4中保留的layer1(原图像)的像素值中间会产生许多缝隙(数字的大小是利用的次数),进而会造成信息的连续性的损失。
解决方法:关于设计解决空洞卷积中‘gridding effect‘问题的几个原则(简单易懂)_小林学编程的博客-CSDN博客让读者在运用空洞卷积时,不再出现‘gridding effect’的问题!!!https://blog.csdn.net/weixin_57643648/article/details/122790230?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522168394435516800213042207%2522%252C%2522scm%2522%253A%252220140713.130102334..%2522%257D&request_id=168394435516800213042207&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~all~baidu_landing_v2~default-1-122790230-null-null.142%5Ev87%5Einsert_down1,239%5Ev2%5Einsert_chatgpt&utm_term=gradding%20effect&spm=1018.2226.3001.4187
语义分割学习笔记(四)膨胀卷积相关推荐
- 使用Pytorch搭建U-Net网络并基于DRIVE数据集训练(语义分割)学习笔记
使用Pytorch搭建U-Net网络并基于DRIVE数据集训练(语义分割)学习笔记 https://www.bilibili.com/video/BV1rq4y1w7xM?spm_id_from=33 ...
- 深度学习-【语义分割】学习笔记4 膨胀卷积(Dilated convolution)
文章目录 膨胀卷积 为什么需要膨胀卷积 gridding effect 连续使用三次膨胀卷积--1 连续使用三次膨胀卷积--2 连续使用三次膨胀卷积--3 Understanding Convolut ...
- 联合目标检测和语义分割——学习笔记
联合目标检测和语义分割 目标检测 目标检测是一种与计算机视觉和图像处理相关的计算机技术,用于检测数字图像和视频中特定类别的语义对象(例如人,建筑物或汽车)的实例.然而现实中物体的尺寸.姿态.位置都有很 ...
- 霹雳吧啦Wz语义分割学习笔记P6
P6.DeepLabV1网络简介 1.前言 semantic image segmentation with deep convolutional nets and fully connected C ...
- 霹雳吧啦Wz语义分割学习笔记P3
P3.FCN网络结构详解 1.前言 Fully Convolutional Networks for Semantic Segmentation 2015CVPR https://arxiv.org/ ...
- 霹雳吧啦Wz语义分割学习笔记P2
P2.转置卷积Transposed Convolution 1.作用:上采样 转置卷积不是卷积的逆运算 转置卷积也是卷积 2.转置卷积运算步骤 在输入特征图元素间填充s-1行.列0 在输入特征图四周填 ...
- 霹雳吧啦Wz语义分割学习笔记P8
P8.DeepLabV3网络简介 1.前言 Rethinking Astrous Convolution for Semantic Image Segmentation 2017CVPR https: ...
- 霹雳吧啦Wz语义分割学习笔记P5
P5.Pytorch官方实现的FCN网络结构 backbone:VGG16 -> ResNet50:使用了膨胀卷积
- 语义分割学习笔记(一)
文章目录 一.区别 二.代码演示原图像与mask融合 三.数据处理 一.区别 语义分割:每个像素都打上标签(这个像素是人,树,背景等)语义分割只区分类别,不区分类别中的具体单元 实例分割:不光要区分类 ...
最新文章
- flex和bison实例分析
- 高通驱动9008安装_赛多利斯Sartorius-ambr? 250 高通量灌注培养系统
- multi-CPU, multi-core and hyper-thread--转
- mysql的存储过程基本使用
- Python学习之路:多态实例
- BZOJ 4259: 残缺的字符串 [FFT]
- 教育部正式宣布:9年义务教育大变动!与孩子息息相关
- MPLS/×××江湖恩仇录笔记
- 运维小白的成长日记第四天-基础网络构建OSI七层模型-物理层基础知识
- ACL 2021 | 丁香园知识增强预训练模型
- 美国散户从90%降到6%,他们是如何被“消灭”的?
- ubuntu 12.04 安装intel i5-6500 的集成网卡驱动【自身经历,验证OK】
- c# md5加密算法实例
- 域名抢注流程是什么?
- android listview阻尼效果,自定义阻尼效果listview
- 在linux中访问权限是755,在Linux系统中,一个文件的访问权限是755,其含义是什么?...
- IDEA download sources 报Cannot reconnect错误解决方法
- 对Redis中主从复制、哨兵模式和集群进行部署
- js实现点击上一题和下一题出现对应的题目,
- 7-24 到底是不是太胖了 (10分)
热门文章
- PowerPoint中提示某些文件可能携带有病毒,损害您的计算机
- NTP(Network Time Protocol)协议详解
- C# DevExpress安装破译
- 怎么迁移操作系统到其它硬盘
- 天津市地图 天津电子地图下载
- 一阶差分与二阶差分及还原
- 2010十大最热门IT职位
- 一举三得:建设太阳能电场同时解决雾霾和荒漠
- 【Android UI】Canvas 画布 ③ ( Canvas 图层栈 | Canvas#saveLayer() 新建图层 | Canvas 状态栈保存信息标志位 )
- Bootstrap图标库下载到本地后的引用