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

膨胀卷积 

目录

一、概念

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.mzph.cn/news/712705.shtml

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

相关文章

MySQLBackup备份数据库

环境:MySQL 8.0.36 1、安装部署 [rootnode5 ~]# wget -c https://edelivery.oracle.com/osdc/softwareDownload?fileNameV1040085-01.zip [rootnode5 ~]# ll total 22776 -rw-------. 1 root root 1066 Jan 21 14:59 anaconda-ks.cfg -r–r–r–. 1 root root 23…

Cloudera虚拟机配置(虚拟机环境自带Hadoop、Impala等大数据处理应用)

上学期的大数据处理课程,笔者被分配到Impala的汇报主题。然而汇报内容如果单纯只介绍Impala的理论知识,实在是有些太过肤浅,最起码得有一些实际操作来展示一下Impala的功能。但是Impala的配置实在是有些困难与繁琐,于是笔者通过各…

uni-app去除页面头部的标题栏

uniapp项目 每个界面都会有一个标题栏 配置在我们项目根目录的 pages.json中 我们将它全部去掉 上面还是有一条黑的 体验非常差 我们只需要在pages.json中 指定page的 style中加入 "navigationStyle": "custom"对应的page 就没有这个标题栏了

【王道数据结构】【chapter8排序】【P371t6】

试设计一个算法&#xff0c;判断一个数据序列是否构成一个小根堆&#xff08;下面代码中的堆排序的部分仅仅是为了方便设计测试用例&#xff09; #include <iostream> #include<time.h> #include<stdlib.h>int * buildarray(int size) {int* tmp(int *) mall…

蓝桥杯备赛第四篇(高级数据结构)

1.树状数组 public static int getSum(int i) {int sum 0;for (int j i; j > 1; j - lowbit(j)) {sum tree[j];}return sum;}public static void update(int i, int update) {for (int j i; j < n; j lowbit(j)) {tree[j] update;}}public static int lowbit(int n…

00x集体——cad 中DB(database)对象—— vba实现

Database 对象 外部参照块的内容。 VBA 类名 AcadDatabase 创建方法 不可使用 访问途径 Block.XRefDatabase 该对象提供对外部参照块的访问。只有IsXRef属性为TRUE的块才适用。 方法 CopyObjects 属性 Application Blocks Dictionaries DimStyles Ele…

Mybatis 主从表有名字相同,只能查询出一条数据

Mybatis 主从表有名字相同&#xff0c;只能查询出一条数据 重新命名后&#xff0c;可以正常查询

力扣SQL50 使用唯一标识码替换员工ID 查询

Problem: 1378. 使用唯一标识码替换员工ID 思路 left join&#xff1a;左连接 Code select eu.unique_id,e.name from Employees e left join EmployeeUNI eu # left join 左连接 on e.id eu.id;

勒索病毒防范建议——企业缓解措施

勒索病毒防范建议——企业缓解措施 为公司的作业系统和应用程序保持为更新版本。 应用最新的安全补丁&#xff0c;确保关键软件是最新的&#xff0c;移动设备亦一样。可以的话&#xff0c;启用自动更新选项。 定時更新将确保设备更安全&#xff0c;性能亦更好。评估是否需要安…

零基础小白到底适不适合学鸿蒙,请看完这篇再决定吧~

随着华为鸿蒙系统的问世&#xff0c;不少技术小白在是否学习鸿蒙的问题上犹豫不决。鸿蒙作为华为自主研发的操作系统&#xff0c;拥有许多独特的技术优势和市场前景。但对于小白来说&#xff0c;是否值得投入时间和精力去学习鸿蒙开发呢&#xff1f; 1.鸿蒙系统开发&#xff1…

【总结】对大量函数进行trace调用流程+国际AIS3题

现在混淆的主要目的之一就有让逆向分析人员不清楚函数的调用流程&#xff0c;给你一堆函数&#xff0c;加了高强度的OLLVM&#xff0c;更不能看了。那么Trace跟踪技术就显得很重要的&#xff0c;如果清楚了函数调用流程&#xff0c;那么逐个分析&#xff0c;距离成功不就很快了…

前段时间公司招人,面了一个要20K的,一问自动化只会点皮毛···

前段时间公司要招2个自动化测试&#xff0c;同事面了几十个候选人&#xff0c;发现了一个很奇怪的现象&#xff0c;面试的时候&#xff0c;如果问的是框架api、脚本编写这些问题&#xff0c;基本上个个都能对答如流&#xff0c;等问到实际项目的时候&#xff0c;类似“怎么从0开…

Spring - InitializingBean、@PostConstruct、@Bean(initMethod = “init“)和构造方法执行优先级比较

执行顺序优先级 构造方法 > postConstruct > afterPropertiesSet > init方法 代码案例 Component public class InitializingBeanTest implements InitializingBean {public InitializingBeanTest(){System.out.println("构造方法");}Overridepublic void…

《滴滴》24校招Java后端

1.问项目 2.Java的基本数据类型&#xff1f; 3.浮点型从二进制的视角是怎么存储的&#xff1f;&#xff08;IEEE 754&#xff09;小数位如何计算出来的&#xff1f; 4.浮点型的正4.5和负4.5转为int会怎么样&#xff1f; 5.Int型999除float的100再乘100结果&#xff1f; 6.Strin…

实现窗帘系统监控功能-代码实现

自定义监控指标是实现窗帘系统监控功能的关键一步。这通常涉及到你想要跟踪和衡量的系统特定方面的数据。以下是一些步骤和考虑因素&#xff0c;可以帮助你自定义监控指标&#xff1a; 1.明确监控目标&#xff1a; 确定你想要监控的窗帘系统的具体方面。这可能包括窗帘的开关状…

基于yolov8的半自动标注

一、前言介绍 在深度学习领域中&#xff0c;标注是一项非常重要的工作&#xff0c;因为许多深度学习模型都依赖于有标注的数据进行训练。然而&#xff0c;标注数据是一个费时费力的工作&#xff0c;因此人们希望有一种方式来对标注过程进行自动化。这就是“半自动标注”的来源…

Linux入门攻坚——16、Linux系统启动流程

CentOS5、6的启动流程 Linux&#xff1a;kernel rootfs&#xff0c;Linux系统就是内核加上根文件系统。 内核之上是库&#xff1a; 库&#xff1a;函数集合&#xff0c;function&#xff0c;函数具有调用接口&#xff0c;库函数不能单独执行&#xff0c;必须被其他程序调用…

【前端素材】推荐优质在线电影院商城电商网页Hyper平台模板(附源码)

一、需求分析 1、系统定义 在线电影商城是指一个通过互联网提供电影服务的平台&#xff0c;用户可以在该平台上浏览电影资源、租借或购买电影&#xff0c;以及观看在线影片。 2、功能需求 在线电影商城是指一个通过互联网提供电影服务的平台&#xff0c;用户可以在该平台上…

四川尚熠电子商务有限公司电商服务领域的佼佼者

在数字化浪潮席卷全球的今天&#xff0c;电子商务已成为推动企业转型升级、拓展市场渠道的重要力量。四川尚熠电子商务有限公司&#xff0c;作为一家专注于抖音电商服务的公司&#xff0c;凭借其独特的服务模式和创新的营销策略&#xff0c;在激烈的市场竞争中脱颖而出&#xf…

Linux 系统安装/卸载 Nginx教程

优质博文&#xff1a;IT-BLOG-CN 一、安装Nginx 【1】首先通过Nginx官网确定需要安装的版本&#xff0c;如果Linux联网则直接在Linux服务上使用wget命令将Nginx安装包下载到/usr/local/目录下&#xff1a; [rootxxx local]# wget -c http://nginx.org/download/nginx-1.22.1.…