【YOLO v5 v7 v8 v9小目标改进】DWRSeg:优化的多尺度处理,传统的深度学习模型可能在不同尺度的特征提取上存在冗余

news2024/11/18 4:39:05

DWRSeg:优化的多尺度处理,传统的深度学习模型可能在不同尺度的特征提取上存在冗余

    • 提出背景
      • 问题:实时语义分割需要快速且准确地处理图像数据,提取出有意义的特征来识别不同的对象。
    • 小目标涨点
      • YOLO v5 魔改
      • YOLO v7 魔改
      • YOLO v8 魔改
      • YOLO v9 魔改

 


提出背景

论文:https://arxiv.org/pdf/2212.01173v3.pdf

现有的语义分割方法,如ESPNet (V2)、DABNet 和 CGNet,设计了基于多速率深度空间扩张卷积的模块来捕获单一输入特征图的多尺度上下文信息,以提高实时语义分割的特征提取效率。

然而,这些设计存在根本性的缺陷,导致深度扩张卷积中的大量权重很少被学习,特别是对于那些具有较大扩张率的权重,从而使得多尺度上下文信息无法有效地被提取。

比如一把特制的钥匙(深度扩张卷积),可以打开一系列不同大小和形状的锁(需要提取的特征信息)。

这把钥匙设计得非常独特,它的齿部可以伸缩(“扩张率”),理论上可以适应不同的锁孔。

但问题在于,这把钥匙尽管能够调整,却往往难以精确匹配所有类型的锁,尤其是那些特殊形状或大小的锁。

结果就是,虽然理论上这把钥匙能开很多锁,实际上它只能有效打开少数几种,而且很难对某些锁进行精确匹配。

这里的“锁”比喻了需要识别和分割的复杂特征,而“钥匙的齿部伸缩”则类似于深度学习中的深度扩张卷积操作,旨在捕捉不同尺度的特征。

但现有方法的问题在于,尽管这种设计允许模型理论上能处理多尺度的特征,实际上却很难精确地适应那些特别复杂或者大小极端的特征——就像那些特殊的锁无法被钥匙准确打开一样。

为了解决这个问题,本文提出了一种新的方法,可以想象为先用一组不同的小钥匙(区域残差化)去粗略匹配不同类型的锁,这样可以确定哪些锁是容易打开的,哪些是难以打开的。

接着,对于那些难以打开的锁,再使用一把能够精确调整的特制钥匙(语义残差化)去细致地适应和打开。

这种方法更有效,因为它不是盲目地尝试用一把万能钥匙去打开所有锁,而是先根据锁的类型和大小选择合适的钥匙,然后再进行精细的调整,这样就大大提高了打开锁的效率和成功率。

问题:多速率深度空间扩张卷积在同一特征图上同时应用多个接收场可能导致某些接收场失效。

  • 解法:区域残差化(粗调)+ 语义残差化(精调)
    • 之所以使用这个解法,是因为直接在每个特征图上应用具有多个接收场的深度扩张卷积可能导致一些接收场无效,因为不是每个特征图都需要所有接收场。

在这里插入图片描述
上图是,传统多尺度上下文信息提取结构与提出的新结构之间的对比。

它说明了传统方法是如何通过不同扩张率的扩张卷积处理输入特征,然后结合它们的。

而新方法则包括两个独特的阶段:区域残差化和语义残差化,随后进行融合以产生最终的残差。

与传统的多尺度上下文信息提取结构相比,提出的新结构通过将信息提取流程分解为区域残差化和语义残差化两个独立阶段,从而实现了对输入特征的更有效处理。

这种方法的主要优势在于它能够更加精确和有效地利用深度扩张卷积,因为它避免了不必要的计算和冗余的接收场大小,确保了更加高效的特征提取。

 

从粗加工(DWR模块)到细加工(SIR模块),最后通过简化的组装过程(编解码器设计)完成,DWRSeg网络(本文提出的方法)能够高效且准确地完成实时语义分割任务。

在这里插入图片描述

DWR模块利用多尺度扩张卷积来捕获不同尺度的上下文信息。

SIR模块是早期阶段的简化版本,适用于较小的接收场。

这两种模块都旨在高效提取特征,然后传递给解码器。

在这里插入图片描述

上图展示了整个网络结构的概览,包括编码器中的初始块(stem block)、SIR模块和DWR模块,以及将不同阶段的信息整合成最终预测结果的解码器。

这为图像数据如何从输入到输出通过网络流动提供了直观的视图。

起始模块作为网络的入口,处理初始图像数据;分割头(Segmentation head)用于解码器中产生最终的分割图像。

问题:实时语义分割需要快速且准确地处理图像数据,提取出有意义的特征来识别不同的对象。

解法:DWRSeg网络采用编解码器结构,利用了DWR模块和SIR模块来提高特征提取的效率和精度。

  • 子特征1:区域残差化

    • 作用:为了在不同区域的特征提取中实现专门化处理,它通过3x3卷积和批归一化(BN)生成更加集中的特征表达。
    • 原因:某些特征区域的复杂性要求使用更专注的处理方法,从而使得特征表达更加简明和直接,减少了后续处理的复杂度。
  • 子特征2:语义残差化

    • 作用:在区域残差化的基础上,通过不同扩张率的深度分离卷积进行语义上的细节捕捉,提取更加丰富的上下文信息。
    • 原因:图像中的不同对象需要不同尺度的上下文理解,通过调整扩张率,能够更精确地捕获对应的特征信息。
  • 子特征3:DWR模块的创新设计

    • 作用:DWR模块融合了多个不同扩张率的卷积过程,允许在高级网络阶段处理更广泛的上下文信息。
    • 原因:在网络的高阶段,需要更全面的视野来理解图像,以获得足够的上下文信息进行精确的分割。
  • 子特征4:SIR模块的简化设计

    • 作用:SIR模块针对较小的接收场景进行了优化,适用于对细节敏感的低阶段特征提取。
    • 原因:在网络的初级阶段,细节特征更为重要,通过SIR模块可以在不牺牲性能的前提下,加速对这些细节的处理。
  • 子特征5:编解码器的高效结构

    • 作用:使用类似全卷积网络(FCN)的简化解码器结构,有效地将不同阶段的特征图进行融合,形成最终的预测。
    • 原因:为了将从不同模块提取的特征有效地结合起来,形成最终的高质量输出,需要一个高效的信息合并和上采样机制。

 


小目标涨点

更新中…

YOLO v5 魔改

YOLO v7 魔改

YOLO v8 魔改

YOLO v9 魔改

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

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

相关文章

开发知识点-Python-爬虫

爬虫 scrapybeautifulsoupfind_all find祖先/父节点兄弟节点nextpreviousCSS选择器属性值 attrsselect 后 class 正则使用字符串来描述、匹配一系列符合某个规则的字符串组成元字符使用grep匹配正则组与捕获断言与标记条件匹配正则表达式的标志 特定中文 匹配 scrapy scrapy内…

ArcGIS学习(十三)多源数据下的城市街道功能评估

ArcGIS学习(十三)多源数据下的城市街道功能评估 本任务带来的内容是多元数据下的城市街道功能评估。本任务包括两个关卡: 城市街道空间中观解读 城市街道功能详细评价 首先,我们来看看本任务的分析思路。 1.城市街道空间中观解读 下面我们正式进入第一关的内容一- 城市…

[Flutter get_cli] 配置 sub_folder:false报错

flutter get_cli 配置 get_cli:sub_folder:false报错如下 Because getx_cli_learn01 depends on get_cli from unknown source "sub_folder", version solving failed. 原因是在 pubspec.yaml文件中, get_cli:sub_folder:false要和 dependencies: xxx dev_depe…

每日学习总结20240301

20240301 1. strchr VS strrchr strchr和strrchr是C语言标准库中的字符串处理函数,用于在字符串中查找特定字符的位置。 1.1 strchr函数 strchr函数用于在字符串中查找第一次出现指定字符的位置,并返回该位置的指针。函数原型如下: char…

Cannot install Microsoft Office 64-bit after removing Office 32-bit 卸载微软之前版本

问题描述 win10系统安装了一个Viso2019,无法安装Excel 64位版本。弹窗报错 解决办法1 SaRACmd https://winitpro.ru/index.php/2017/12/11/office-all-versions-removal-scripts/用于完全删除任何版本的 MS Office 的脚本 使用 Microsoft SaRa 实用程序自动卸载…

基于yolov5的烟花检测系统,可进行图像目标检测,也可进行视屏和摄像检测(pytorch框架)【python源码+UI界面+功能源码详解】

功能演示: 基于yolov5的烟花检测系统,系统既能够实现图像检测,也可以进行视屏和摄像实时检测_哔哩哔哩_bilibili (一)简介 基于yolov5的烟花检测系统是在pytorch框架下实现的,这是一个完整的项目&#x…

服务器后端是学习java还是php

没有绝对的"最好"语言,每种后端语言都有其适用的场景和特点。以下是几种常用的后端语言: 1. Java:Java是一种通用且强大的语言,广泛用于企业级应用和大型系统。它有很好的性能和可靠性,并且具有优秀的生态系…

vm虚拟机的下载与安装(更新时间24/2/28)

首先进入vm官网点击跳转 进入products 进入Workstation Pro 点击DOWNLOAD TRIAL 点击DOWNLOAD NOW 到这里只需要等待下载完成就行了 安装就是正常软件程序的安装方法,除了自定义一下安装位置,其他的直接确定 许可证密钥 在网络上有很多随便一搜…

python数据类型及转换

一、数据类型 数据类型分为数值型、布尔型、字符串型等 1.1数值类型 数值类型可以分为整数类型、浮点数类型、复数类型 1.1.1整数类型 (1)概念:整数类型指数值是没有小数部分的,包含正整数、负整数和0 (2)进制种类:十进制--->234、5…

关于Java并发多线程的一点思考

写在开头 在过去的2023年双11活动中,天猫的累计访问人次达到了8亿,京东超60个品牌销售破10亿,直播观看人数3.0亿人次,订单支付频率1分钟之内可达百万级峰值,这样的瞬间高并发活动,给服务端带来的冲击可想而…

如何利用会话式AI提升你的工作效率?

会话式AI如何改变我们的生活和工作 在当今时代,内容策略的重要性日渐凸显,良好的内容策略能够与流量及转化率紧密相连,成为企业在内容策略领域不容忽视的营销工具之一。 然而,目前内容同质化现象严重,企业若想在内容营…

爬虫入门到精通_实战篇11(使用代理处理反爬抓取微信文章)_PyQuery使用

1 目标 搜狗-微信这个网址来爬取微信的文章: ps:登录后才能查看第10页之后的内容: 量翻页触发了网站的反爬虫措施,导致ip被封,需要进行解锁。 然而从doc中可以看到,请求失败的那页(状态码应…

vs2022 qt 关于lnk2001和2019同时报错的问题

需要像qt中添加模块,这里,缺少qtopenglwidgets模块

向上生长笔记

第一章 成为一个很厉害的人(持续输入,反复练习) 为什么要学习及如何学习 1、自毁趋势(熵增),故需要能量输入(负熵流) //引申:水往低处流是趋势,学习是逆趋势。 2、持续输入能量(物质和信息),…

C++ 根据公式计算椭圆任意点到中心的距离

#include <iostream> using namespace std;double fact(int x) //定义阶乘函数。注意是double类型 {double y x; //注意是double类型for (int i x-1; i > 0; i--)y * i;return y; };double My_sin(int x) //定义sin函数。注意是double类型 {double y 0; //注意是do…

SPI总线知识总结

1 SPI的时钟极性CPOL和时钟相位CPHA的设置 1.1 SPI数据传输位数 SPI传输数据过程中总是先发送或接收高字节数据&#xff0c;每个时钟周期接收器或发送器左移一位数据。对于小于16位的数据&#xff0c;在发送前必须左对齐&#xff0c;如果接收的数据小于16位&#xff0c;则采用软…

wordpress模板官网

移民wordpress主题 移民代办wordpress主题&#xff0c;适合做海外移民咨询的代理公司搭建wordpress企业官方网站使用。 https://www.jianzhanpress.com/?p5130 夏令营wordpress主题 绿色夏令营wordpress主题&#xff0c;适合做夏令营或户外拓展的公司搭建wordpress官方网站…

Go 与 Rust:导航编程语言景观

在当今构建软件时&#xff0c;开发者在编程语言上有着丰富的选择。两种脱颖而出的语言是 Go 和 Rust - 都很强大但却截然不同。本文将从各种因素比较这两种语言&#xff0c;以帮助您确定哪种更适合您的需求。 我们将权衡它们在并发、安全性、速度、互操作性等方面的方法。我们将…

【Redis】Redis入门

文章目录 一、Redis简介二、Redis的特性三、Redis的使用场景四、Redis可以做什么五、Redis不可以做什么六、CentOS7安装Redis5七、Redis通用命令 一、Redis简介 Redis 是⼀种基于 键值对&#xff08;key-value&#xff09; 的NoSQL数据库&#xff0c;与很多键值对数据库不同的…

Win UI3开发笔记(四)设置主题续2

本机深色主题下设置的背景颜色可以作用于整个对话框&#xff0c;本机浅色模式下设置的背景颜色只作用与下边的部分。 如果本机选深色&#xff0c;程序选浅色&#xff0c;设置为light只对上部分管用&#xff0c;下部分不管用。如图&#xff0c;左边那个hello按钮要看不见了。。…