[SS]语义分割_膨胀卷积

news2024/9/21 20:34:30

膨胀卷积 

目录

一、概念

1、定义

2、知识点

二、详细介绍 

1、引入 

2、膨胀系数设定


一、概念

1、定义

        膨胀卷积(Dilated Convolution),也称为空洞卷积(Atrous Convolution),是一种在卷积神经网络中常用的操作。它通过在卷积核的周围插入一定数量的零值来改变卷积核的感受野大小。

        传统的卷积操作是在输入特征图上滑动卷积核,每次将卷积核中的权重与输入特征图的对应位置进行相乘并求和,从而得到输出特征图中的一个像素值。膨胀卷积则是在滑动卷积核时,通过在卷积核的元素之间插入一定数量的零值来扩大感受野,使得每个卷积核的有效感受野增大。

        膨胀卷积的主要优点是能够在不增加网络参数和计算量的情况下,增加网络的感受野。这对于处理具有大尺度空间信息的任务非常有用,比如目标检测和语义分割等任务。膨胀卷积可以通过增加膨胀系数来控制感受野的大小,较小的膨胀系数对应较小的感受野,较大的膨胀系数对应较大的感受野。

        膨胀卷积在深度学习中的应用很广泛。比如,在语义分割任务中,可以使用膨胀卷积来扩大网络对于像素间上下文的感受能力;在图像增强任务中,可以使用膨胀卷积来增强图像的局部信息。总之,膨胀卷积是一种非常有用的操作,能够有效改善网络的感受野,提升网络性能。

2、知识点

        膨胀卷积与普通卷积同样使用[3x3]的卷积核,但是在膨胀卷积的卷积核中存在一定间隙,这个间隙在膨胀卷积中通常被称为膨胀因子 r。当r=1时,卷积核中元素处于相邻状态,即等同于普通卷积核。

膨胀卷积的优点:

  • 增大感受野
  • 通过增加padding来保持原输入特征图的高和宽

二、详细介绍 

1、引入 

        使用膨胀卷积,在语义分割任务中,通常会使用分类网络作为语义分割网络的backbone,通过backbone之后会将原输入图片进行下采样,再通过一系列的上采样操作还原回原来大小。在分类网络中,通常会将原图像高宽下采样32倍,由于后期需要上采样还原到图像原尺寸,如果将特征图大小下采样倍率过大,对后期还原回原图大小很有影响。如VGG网络通过MaxPool层进行池化操作,通过MaxPool操作会降低特征图的高宽,其次会丢失细节信息以及小目标且无法通过上采样进行还原,会导致语义分割效果不理想。

        若直接将MaxPool层舍去,会引入新问题,会导致得到特征图所对应原图的感受野变小。对应MaxPool层之后的卷积层原本是在之前对应的感受野之上做进一步操作,舍去MaxPool层会对之后的卷积层感受野造成影响。

        使用膨胀卷积模块,既能增大感受野,并且可以保证输入输出特征图的高和宽不发生变化。但是在语义分割任务中也不可简单堆叠膨胀卷积模块。

        膨胀卷积使用中会带来一个gridding effect问题。 

对于膨胀卷积的使用有两种:

1)使用相同膨胀系数的情况下

        对于每层使用的膨胀卷积都使用相同膨胀系数r=2,右图是每一层的一个像素利用到Layer1上的对应像素。连续堆叠三个膨胀卷积层,可以发现Layer4上的一个像素利用到Layer1上的对应像素如右图的热图分布,并不是连续利用,每个非0元素之间都有一定间隔,并没有利用到范围内的所有像素值,造成细节信息丢失。即gridding effect现象。

2)使用不同膨胀系数的情况下

        将膨胀系数分别设置成r=1,2,3。当r=1时膨胀卷积等同与普通卷积。则如图可以看出,Layer4上的一个像素利用到了Layer1上的13x13大小的像素,并且像素之间是相邻的,没有间隙和信息丢失。

3)使用膨胀系数r=1的情况

        使用r=1膨胀卷积时即等同于使用普通卷积的情况,由图可以看出Layer4上的一个像素利用到了Layer1上像素仅占7x7大小的区域,感受野受限。

        则在参数数量相同的情况下,在使用膨胀卷积之后感受野增大效果明显。 

2、膨胀系数设定

        当连续使用膨胀卷积时,膨胀系数的设定为r=1,2,3的情况下比设定为三个膨胀卷积的r=2的情况要好得多。

        假设连续堆叠N个膨胀卷积,卷积核大小都为[K×K],每一个膨胀卷积对应的膨胀系数为[r_{1},...,r_{i},...,r_{n}],则混合膨胀卷积HDC(Hybrid Dilated Convolution)的目标是通过一系列膨胀卷积之后,能够完全覆盖底层特征层上的一个方形区域,且之间无空隙。

1)Maximum Distance between two Nonzero Values最大非零元素之间距离

        若在底层特征图上完全覆盖一个方形区域且无空隙,则此时非零元素之间的距离为1,当在底层特征图上覆盖区域有空隙时,则此时非零元素之间的距离为2,代表覆盖的方形区域之间是有空隙和间隔的。

M_{n}=r_{n} (n指代最后一个元素r_{n},n不代表一个顺序的泛指)

        对于第i层所对应的非零元素之间最大距离。设计目标是让M_{2}\leq K。比如说,当卷积核大小K=3时,r=[1,2,5],则此时M_{2}=max[1,-1,2]=2,则满足设计目标;又当r=[1,2,9]时,此时M_{2}=max[5,-5,2]=5,不满足设计要求。且r_{1}=1.

2)将膨胀系数设置为锯齿结构

        例如[1,2,3,1,2,3]重复所给定的一组系数。

3)公约数不能大于一

        例如若是[2,4,8]的情况下,公约数为2,则仍然会存在gridding effect问题。 

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

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

相关文章

Vue3 条件渲染 v-show

v-show 指令&#xff1a;用于控制元素的显示或隐藏。 执行条件&#xff1a;当条件为 false 时&#xff0c;会添加一个 display:none 属性将元素隐藏。 应用场景&#xff1a;适用于显示隐藏切换频率较高的场景。 <div v-show"数据">内容</div> 基础用法…

YOLOv9独家原创改进|加入空间和通道重建卷积SCConv模块!

专栏介绍&#xff1a;YOLOv9改进系列 | 包含深度学习最新创新&#xff0c;主力高效涨点&#xff01;&#xff01;&#xff01; 一、本文介绍 本文将一步步演示如何在YOLOv9中添加 / 替换新模块&#xff0c;寻找模型上的创新&#xff01; 适用检测目标&#xff1a; YOLOv9模块…

matlab阶段学习小节1

数组排序 fliplr()实现数组倒序&#xff0c;但不对大小进行排序&#xff0c;只是元素位置掉头。 要想实现大小倒序排列&#xff0c;可以先sort()实现正序排列&#xff0c;再用fliplr倒一下 %数组运算 %矩阵 %xAb的解xb/A;(矩阵) %右除运算A/B&#xff0c;左矩阵为被除数&a…

【嵌入式学习】QT-Day4-Qt基础

简单实现闹钟播报&#xff0c;设置时间&#xff0c;当系统时间与设置时间相同时播报语音5次&#xff0c;然后停止。如果设置时间小于当前系统时间&#xff0c;则弹出消息提示框&#xff0c;并清空输入框。 #include "my_clock.h" #include "ui_my_clock.h&quo…

PHPStudy安装

一、简介 PhpStudy是一款集成了Apache、PHP、MySQL等服务的Web开发环境软件&#xff0c;主要用于本地调试和开发PHP程序。它为用户提供了一个可以简单快捷地搭建PHP运行环境的平台&#xff0c;使得开发者无需手动配置繁琐的服务器环境便可开始开发工作。 1.1 功能 境搭建&am…

音视频开发项目:H.265播放器:视频解码篇

视频演示 如下将演示新版播放器播放 1分钟1080p/25fps/H.265 MP4视频&#xff0c;具体视频参数如下&#xff1a; 粉丝福利&#xff0c; 免费领取C音视频学习资料包学习路线大纲、技术视频/代码&#xff0c;内容包括&#xff08;音视频开发&#xff0c;面试题&#xff0c;FFmpe…

SpringBoot整合rabbitmq-扇形交换机队列(三)

说明&#xff1a;本文章主要是Fanout 扇形交换机的使用&#xff0c;它路由键的概念&#xff0c;绑定了页无用&#xff0c;这个交换机在接收到消息后&#xff0c;会直接转发到绑定到它上面的所有队列。 大白话&#xff1a;广播模式&#xff0c;交换机会把消息发给绑定它的所有队…

编译链接实战(25)ThreadSanitizer检测线程安全

ThreadSanitizer&#xff08;又称为TSan&#xff09;是一个用于C/C的数据竞争检测器。在并发系统中&#xff0c;数据竞争是最常见且最难调试的错误类型之一。当两个线程并发访问同一个变量&#xff0c;并且至少有一个访问是写操作时&#xff0c;就会发生数据竞争。C11标准正式将…

STM32 | J-link安装过程

J-Link是一种由SEGGER公司开发的调试器和仿真器,用于嵌入式系统开发。它可以帮助开发人员在开发过程中进行调试和仿真,提供了快速、稳定的连接,并支持多种不同类型的微处理器和微控制器。 要获取J-Link软件,请访问SEGGER公司的官方网站(www.segger.com)并进入他们的下载…

LLC谐振变换器变频移相混合控制MATLAB仿真

微❤关注“电气仔推送”获得资料&#xff08;专享优惠&#xff09; 基本控制原理 为了实现变换器较小的电压增益&#xff0c;同时又有较 高的效率&#xff0c;文中在变频控制的基础上加入移相控制&#xff0c; 在这种控制策略下&#xff0c;变换器通过调节一次侧开关管 的开关…

现代信号处理学习笔记(二)参数估计理论

参数估计理论为我们提供了一套系统性的工具和方法&#xff0c;使我们能够从样本数据中推断总体参数&#xff0c;并评估估计的准确性和可靠性。这些概念在统计学和数据分析中起着关键的作用。 目录 前言 一、估计子的性能 1、无偏估计与渐近无偏估计 2、估计子的有效性 两个…

【C++】用命名空间避免命名冲突

&#x1f338;博主主页&#xff1a;釉色清风&#x1f338;文章专栏&#xff1a;C&#x1f338;今日语录&#xff1a;如果神明还不帮你&#xff0c;说明他相信你。 &#x1fab7;文章简介&#xff1a;这篇文章是结合谭浩强老师的书以及自己的理解&#xff0c;同时加入了一些例子…

【前端素材】推荐优质后台管理系统网页Stisla平台模板(附源码)

一、需求分析 1、系统定义 后台管理系统是一种用于管理和控制网站、应用程序或系统的管理界面。它通常被设计用来让网站或应用程序的管理员或运营人员管理内容、用户、数据以及其他相关功能。后台管理系统是一种用于管理网站、应用程序或系统的工具&#xff0c;通常由管理员使…

matlab实现层次聚类与k-均值聚类算法

1. 原理 1.层次聚类&#xff1a;通过计算两类数据点间的相似性&#xff0c;对所有数据点中最为相似的两个数据点进行组合&#xff0c;并反复迭代这一过程并生成聚类树 2.k-means聚类&#xff1a;在数据集中根据一定策略选择K个点作为每个簇的初始中心&#xff0c;然后将数据划…

【InternLM 实战营笔记】基于 InternLM 和 LangChain 搭建你的知识库

准备环境 bash /root/share/install_conda_env_internlm_base.sh InternLM升级PIP # 升级pip python -m pip install --upgrade pippip install modelscope1.9.5 pip install transformers4.35.2 pip install streamlit1.24.0 pip install sentencepiece0.1.99 pip install a…

银行卡二三四要素验证API接口:实现高准确性与高稳定性的验证服务

在进行互联网金融、电商等业务时&#xff0c;我们常常需要验证用户的银行卡信息&#xff0c;以确保交易安全和顺利进行。而银行卡二三四要素验证API接口&#xff0c;就成为了一种高效、准确的解决方案。本文将以挖数据平台为例&#xff0c;介绍该接口的使用方法和优势。 接口简…

【自动驾驶技术系列丛书学习】1.《自动驾驶技术概论》学习笔记

《自动驾驶技术概论》学习笔记 致谢&#xff1a;作者&#xff1a;王建、徐国艳、陈竞凯、冯宗宝 本书主要介绍汽车构造和无人驾驶汽车的基本概念&#xff0c;从基础开始&#xff0c;由浅入深地了解无人驾驶的历史由来、国内外自动驾驶产业现状及技术发展、自动驾驶汽车的技术架…

jupyter调用envs环境——jupyter内核配置虚拟环境

1.jupyter无法使用envs环境 pycharm的终端打开jupyter notebook&#xff1a; 在kernel下找不到上面的Pytorch_GPU环境&#xff1a; 2.解决方法 在对应的envs环境中安装ipykernel&#xff1a; 将该环境写入jupyter&#xff1a; python -m ipykernel install --user --name Py…

lv20 QT进程线程编程

知识点&#xff1a;启动进程 &#xff0c;线程 &#xff0c;线程同步互斥 1 启动进程 应用场景&#xff1a;通常在qt中打开另一个程序 process模板 QString program “/bin/ls"; QStringList arguments; arguments << "-l" << “-a";QPro…

LeetCode 热题100 刷题笔记

一&#xff1a;哈希表 一般哈希表都是用来快速判断一个元素是否出现集合里。 直白来讲其实数组就是一张哈希表&#xff0c;哈希表中关键码就是数组的索引下标&#xff0c;然后通过下标直接访问数组中的元素。 1.两数之和 题目链接&#xff1a;. - 力扣&#xff08;LeetCode…