什么是膨胀卷积/空洞卷积

什么是膨胀卷积/空洞卷积

膨胀卷积(Dilated Convolution/Atrous Convolution)(下面都使用膨胀卷积 这个名词)

先来一张图,让大家对于膨胀卷积有个直观的理解,上图左边就是普通卷积,右边是膨胀卷积  

为什么要使用上面这种膨胀卷积

主要是膨胀卷积的两种作用

  • 增大感受野 相较于左边这张图,右边这张图每一个元素的感受野明显是大一点的

  • 保持原输入特征图的W、H 右边这张图没有设置padding,一般是要设置padding的,可以保持输入输出大小不变,比如上图输入的特征图是3×3,通过膨胀卷积之后输出的特征图也是3×3

在我们使用诸如FCN等网络模型进行语义分割的时候,往往都是使用CNN网络作为主干,进行特征提取的,但是CNN网络进行特征提取的时候下采样倍数太大,对于后面还原回原图影响很大

在CNN网络中一般进行下采样的时候都使用maxpooling网络。但是maxpooling 降低高宽,会丢失细节信息和小的目标,那我们是否可以修改CNN网络结构,直接将maxpooling层给去掉呢。

答案是不能够去掉,因为maxpooling具有增大输出层感受野的作用,而且maxpooling之后的一系列操作都是在之前对应的感受野之上进行进一步操作的

不能够去掉maxpooling层,但是我们可以使用膨胀卷积进行替换,因为它既可以增大感受野,又可以让输入输出特征矩阵的高宽不会发生改变

gridding effect问题

但是膨胀卷积层也不能够随意设置进行叠加,因为这会导致一个gridding effect的问题

下面介绍gridding effect问题

通过上图可以看到很明显b这种的这种膨胀卷积方式像素利用率明显高于a的方式

再使用图示让大家更加直观的感受一下:

下面3张图是连续使用3个r=2的膨胀卷积操作后layer3对于layer1上像素利用率的示意图(像素点上数字代表像素点被使用的次数)

 

 

 

再下面三张图是将r1设置为1,r2,r3仍然为2的时候进行连续膨胀卷积的效果  

 

 

可以看到第二种膨胀卷积方式明显对于layer1上像素的利用率要比第一种膨胀卷积的方式要高

但是如果我们将r1、r2、r3都设置为1,也就是全部使用普通卷积的时候:

 

 

 

可以看到全部使用普通卷积的时候,感受野要比使用膨胀卷积小得多

那么我们在要进行连续设置膨胀卷积的时候,该如何设置膨胀卷积系数呢?这就是下面要将HDC设计准则

(我对于gridding effect的理解就是膨胀卷积系数设置的不好会导致底层像素利用率低,丢失严重的问题)

HDC设计准则

通过上面对比可以知道不能够连续使用膨胀系数的设置对于膨胀卷积像素利用率的影响是很大的,那么我们应该如何设置膨胀系数呢

在”Understanding Convolution for Semantic Segmentation“ 这篇论文中作者提出了当我们要连续使用膨胀卷积的时候,我们应该使用HDC的设计准则去设计膨胀卷积的膨胀系

上图论文内容是作者建议膨胀系数r都是从1开始的,这是因为如果我们希望高层能够用到底层所有的像素,就必须底层的膨胀卷积的系数为1,即Ri为1

下面看一下论文中给的第二个建议:建议将膨胀系数设计成锯齿结构

第三个建议:公约数不能够大于1(公约数大于1就会存在gridded effect问题)

比如[2,4,8]:

 

只要记住作者的三个建议,在我们自己设计需要使用膨胀卷积的网络模型的时候按照建议来规划即可

到这里,膨胀卷积的相关内容就介绍完毕了,如果对于大家有帮助,麻烦大家给我点个关注,感谢感谢 

 

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

外包干了14天,技术退步明显。。。

先说一下自己的情况,本科生,2019年我通过校招踏入了成都一家软件公司,开始了我的职业生涯。那时的我,满怀热血和憧憬,期待着在这个行业中闯出一片天地。然而,随着时间的推移,我发现自己逐渐陷入…

京东按图搜索京东商品(拍立淘) API 返回值说明

京东按图搜索商品(拍立淘)的API返回值包含了关于通过图片搜索到的京东商品的相关信息。由于我无法提供最新的京东API返回值的确切结构,以下是基于常见API设计原则的一个大致的返回值示例和说明: 调用链接获取详情 item_search_i…

MC10T1S-10BASE-T1S车载以太网转换器

10BASE-T1S车载以太网转换器 为10BASE-T1S车载以太网转换器,支持Multidrop bus line和Point-to-Point。采用的DB9接口类型,支持PLCA。10BASE-T1S是IEEE 802.3cg标准制定的IEEE汽车以太网的最新标准之一,采用UTP这样的一对无屏蔽的双芯电缆进行…

matlab simulink 电力系统同步发电机励磁系统的建模与仿真

1、内容简介 略 77-可以交流、咨询、答疑 电力系统同步发电机励磁系统的建模与仿真 建立MATLAB的同步发电机励磁调节系统仿真模型,最后建立了以PID和PSS为励磁控制方式的同步发电机励磁调节系统数学模型,在Simulink环境下进行了仿真,收到…

C++除了Qt还有什么GUI库?

C除了Qt还有什么GUI库? 先,不要折腾,不要想着用 C 来做 App 类的 GUI 开发。 所以你问用 c gui 库,本来确实有很多,但是经过几十年的沉淀,最后只留下一个 qt quick 和其他特殊需求的库(包括 qt…

【Flutter 面试题】Flutter如何进行本地存储和缓存数据?

【Flutter 面试题】Flutter如何进行本地存储和缓存数据? 文章目录 写在前面口述回答补充说明实际案例完整代码示例运行结果详细说明 写在前面 🙋 关于我 ,小雨青年 👉 CSDN博客专家,GitChat专栏作者,阿里云…

【火猫TV】LPL春季赛前瞻:Tabe迎战LNG OMG关键一战!

北京时间3月20日,LPL春季赛今天继续进行,今天将会迎来春季赛常规赛第八周第三个比赛日,今天的两场比赛是LNG战队对阵AL战队以及OMG战队对阵BLG战队,今天的两场比赛对于LNG、AL以及OMG战队都是比较重要的,目前三支战队都…

第十二届蓝桥杯省赛CC++ 研究生组-货物摆放

还是整数分解问题,注意n本身也是约数 #include <iostream> int main(){printf("2430");return 0; }#include <iostream> #include<cmath> #include<algorithm> using namespace std; typedef long long ll; const ll n 2021041820210418LL…

QGIS开发笔记(一):QGIS介绍、软件下载和加载shp地图数据Demo

若该文为原创文章&#xff0c;转载请注明原文出处 本文章博客地址&#xff1a;https://hpzwl.blog.csdn.net/article/details/136888334 红胖子网络科技博文大全&#xff1a;开发技术集合&#xff08;包含Qt实用技术、树莓派、三维、OpenCV、OpenGL、ffmpeg、OSG、单片机、软硬…

实现安卓连接阿里云物联网平台(2)

完整工程链接 链接&#xff1a;https://pan.baidu.com/s/1ykcJHPBSKBXVMaMWKoVRvA?pwd8888 提取码&#xff1a;8888 &#xff08;1&#xff09;创建一个新工程 &#xff08;2&#xff09;添加mqtt包的依赖 implementation org.eclipse.paho:org.eclipse.paho.client.mqttv…

MINT: Detecting Fraudulent Behaviors from Time-series Relational Data论文阅读笔记

2. 问题定义 时间序列关系数据&#xff08;Time Series Relation Data&#xff09; 这个数据是存放在关系型数据库中&#xff0c;每一条记录都是泰永时间搓的行为。 更具体地&#xff0c;每条记录表示为 x ( v , t , x 1 , x 2 , … , x m − 2 ) x (v,t,x_1,x_2,\dots,x…

【Unity】UI九宫格

什么是九宫格&#xff1f; 顾名思义&#xff0c;九宫格就是指UI切成9个格子&#xff0c;9个格子可以任意拉伸。 1、3、7、9不拉伸。 2、8水平拉伸。 4、6垂直拉伸。 5既可以水平也可以垂直拉伸。 怎么切九宫格&#xff1f; 选中图片&#xff0c;改成Sprite模式&#xff0c;点…

[flask] flask的基本介绍、flask快速搭建项目并运行

笔记 Flask Flask 本身相当于一个内核&#xff0c;其他几乎所有的功能都要用到扩展&#xff08;邮件扩展Flask-Mail&#xff0c;用户认证Flask-Login&#xff0c;数据库Flask-SQLAlchemy&#xff09;&#xff0c;都需要用第三方的扩展来实现。比如可以用 Flask 扩展加入ORM、…

婴儿奶瓶哪个品牌最好?五大热门品牌深度测评推荐

最近很多新手爸妈都在后台私信咨询如何选购婴儿奶瓶&#xff0c;以及要怎么选才能够避雷避坑。为了解答大家的问题&#xff0c;我特地为大家对现在的各种主流款奶瓶进行全面测评。 对于婴儿奶瓶&#xff0c;可能有些新手爸妈觉得随便买买就好&#xff0c;但实际上挑选婴儿奶瓶…

day12-SpringBootWeb 登录认证

一、登录功能 Slf4j RestController public class LoginController {Autowiredprivate EmpService empService;PostMapping("/login")public Result login(RequestBody Emp emp){log.info("员工登录: {}", emp);Emp e empService.login(emp);//登录失败, …

负阻尼振荡器仿真模拟

负阻振荡器&#xff08;Negative resistance oscillator&#xff09;是利用负阻器件抵消回路中的正阻损耗&#xff0c;产生自激振荡的振荡器。由于负阻器件与回路仅有两端连接&#xff0c;故负阻振荡器又称为“二端振荡器”。 阻尼是指阻碍物体的相对运动、并把运动能量转化为…

NVIDIA 推出地球-2云平台,使用AI超级计算机的模拟技术,预测整个地球的气候变化

每周跟踪AI热点新闻动向和震撼发展 想要探索生成式人工智能的前沿进展吗&#xff1f;订阅我们的简报&#xff0c;深入解析最新的技术突破、实际应用案例和未来的趋势。与全球数同行一同&#xff0c;从行业内部的深度分析和实用指南中受益。不要错过这个机会&#xff0c;成为AI领…

new mars3d.layer.GeoJsonLayer({的pupup配置参考

new mars3d.layer.GeoJsonLayer({的pupup配置可选项以及相关效果参考&#xff1a; 说明&#xff1a;popup按属性字段配置&#xff0c;可以是字符串模板或数组 1.popup仅配置{type}{name}等属性的的时候&#xff0c;指显示json文件内数据的type与name&#xff0c;效果如下 相关…

MyBatis核心配置文件:解锁数据之美的密码

MyBatis&#xff0c;这位编程的诗人&#xff0c;通过其独特的核心配置文件&#xff0c;为我们描绘出一幅数据之美的画卷。本篇博客将带你深入探讨MyBatis核心配置文件的奥秘&#xff0c;让你能够更好地理解和运用这个优雅的数据持久化框架。 最近想搞私域&#xff0c;欢迎各位…

【MySQL】8. 基本查询(update/delete/聚合/分组)

表的删改 3. Update 语法&#xff1a; UPDATE table_name SET column expr [, column expr ...] [WHERE ...] [ORDER BY ...] [LIMIT ...]对查询到的结果进行列值更新 案例&#xff1a; 3.1 将孙悟空同学的数学成绩变更为 80 分 -- 更新值为具体值 -- 查看原数据 SELECT…