YoloV8改进策略:下采样改进|HWD改进下采样

摘要

本文使用HWD改进下采样,在YoloV8的测试中实现涨点。

论文解读

在卷积神经网络(CNNs)中,极大池化或跨行卷积等下采样操作被广泛用于聚合局部特征、扩大感受野和最小化计算开销。然而,对于语义分割任务,在局部邻域上汇集特征可能会导致重要空间信息的丢失,这对于逐像素预测至关重要。为了解决这个问题,作者引入了一个简单而有效的下采样操作,称为基于Haar小波的下采样(HWD)模块。该模块可以很容易地集成到CNN中,以增强语义分割模型的性能。HWD的核心思想是利用Haar小波变换降低特征图的空间分辨率,同时尽可能多地保留信息。所提出的HWD模块能够(1)有效地提高不同CNN架构下不同模态图像数据集的分割性能;(2)与传统下采样方法相比,可以有效降低信息的不确定性。
亮点:

• 为卷积神经网络(CNNs)提出了一种新颖的基于小波的下采样模块(HWD)。首次尝试探索在深度卷积神经网络(DCNNs)的下采样阶段禁止(或阻碍)信息丢失的可行性,以改善语义分割任务的性能。

• 探索了卷积神经网络中信息不确定性的度量方法,并提出了一种新的指标,即特征熵指数(FEI),用于评估下采样特征图与预测结果之间的信息不确定性或特征重要性。

• 提出的HWD模块可以直接替换跨行卷积或池化层,而不会显著增加计算开销,并且可以轻松地集成到当前的分割架构中。与七种最先进的分割方法相比,综合实验证明了HWD模块的有效性。

在这里插入图片描述

过大量的实验证明,本研究提出的下采样新方法可以轻松的整合到目前主流的深度学习语义分割模型中,在多个公开及私有数据集中都获得分割性能的显著提升,且整体计算效率没有显著区别。此外,对采样后的特征图质量进行独立评估表明,相对于传统的下采样操作,本研究提出的无损下采样技术在分割模型中保留了目标物体的更多的上下文信息,从而间接证明了下采样操作中最大限度保留特征信息对于深度学习语义分割任务的重要性。

在这里插入图片描述

YoloV8官方结果

YOLOv8l summary (fused): 268 layers, 43631280 parameters, 0 gradients, 165.0 GFLOPsClass     Images  Instances      Box(P          R      mAP50  mAP50-95): 100%|██████████| 29/29 [all        230       1412      0.922      0.957      0.986      0.737c17        230        131      0.973      0.992      0.995      0.825c5        230         68      0.945          1      0.995      0.836helicopter        230         43       0.96      0.907      0.951      0.607c130        230         85      0.984          1      0.995      0.655f16        230         57      0.955      0.965      0.985      0.669b2        230          2      0.704          1      0.995      0.722other        230         86      0.903      0.942      0.963      0.534b52        230         70       0.96      0.971      0.978      0.831kc10        230         62      0.999      0.984       0.99      0.847command        230         40       0.97          1      0.995      0.811f15        230        123      0.891          1      0.992      0.701kc135        230         91      0.971      0.989      0.986      0.712a10        230         27          1      0.555      0.899      0.456b1        230         20      0.972          1      0.995      0.793aew        230         25      0.945          1       0.99      0.784f22        230         17      0.913          1      0.995      0.725p3        230        105       0.99          1      0.995      0.801p8        230          1      0.637          1      0.995      0.597f35        230         32      0.939      0.938      0.978      0.574f18        230        125      0.985      0.992      0.987      0.817v22        230         41      0.983          1      0.995       0.69su-27        230         31      0.925          1      0.995      0.859il-38        230         27      0.972          1      0.995      0.811tu-134        230          1      0.663          1      0.995      0.895su-33        230          2          1      0.611      0.995      0.796an-70        230          2      0.766          1      0.995       0.73tu-22        230         98      0.984          1      0.995      0.831
Speed: 0.2ms preprocess, 3.8ms inference, 0.0ms loss, 0.8ms postprocess per image

改进方法

安装pytorch_wavelets,执行命令:

pip install pytorch_wavelets -i https://pypi.tuna.tsinghua.edu.cn/simple

安装

pip install pywavelets -i https://pypi.tuna.tsinghua.edu.cn/simple    

修改lowlevel.py
在这里插入图片描述

测试结果

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

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

相关文章

谷粒商城——分布式基础(全栈开发篇第一部分)

文章目录 一、服务治理网路数据支撑日志处理ELK应用监控集成工具开发工具 二、环境创建1、虚拟机创建2、虚拟机安装docker等1. 安装docker1. 配置阿里docker3.docker安装mysql错误 4、docker安装redis 3、软件1.Maven 阿里云镜像1.8jdk2、idea lombokmybatisX ,3、 …

熔断降级的方案实现

熔断降级的方案实现 Spring Cloud Netflix Hystrix 提供线程隔离、服务降级、请求缓存、请求合并等功能可与Spring Cloud其他组件无缝集成官方已宣布停止维护,推荐使用Resilience4j代替 Spring Cloud Resilience4j 轻量级服务熔断库 提供类似于Hystrix的功能 具有更…

C++手写链表、反转链表、删除链表节点、遍历、为链表增加迭代器

本篇博客介绍如何使用C实现链表,首先编写一个简单的链表,然后增加模板,再增加迭代器。 简单链表的实现 链表的结构如下: 首先需要定义链表的节点: struct ListNode {int data;ListNode* pNext;ListNode(int value …

【C++算法模板】图论-拓扑排序,超详细注释带例题

文章目录 0)概述1)Kahn算法1:数据结构2:建图3:Kanh算法 2)DFS染色1:数据结构2:建图3:DFS 3)算法对比【例题】洛谷 B3644 推荐视频链接:D01 拓扑排…

4核8g服务器能支持多少人访问?价格感人,不知道性能如何

腾讯云轻量4核8G12M服务器配置446元一年,646元12个月,腾讯云轻量应用服务器具有100%CPU性能,系统盘为180GB SSD盘,12M带宽下载速度1536KB/秒,月流量2000GB,折合每天66.6GB流量,超出月流量包的流…

Linux下Arthas(阿尔萨斯)的简单使用-接口调用慢排查

使用环境 k8s容器内运行了一个springboot服务,服务的启动方法是main()方法 下载并启动 arthas curl -O https://arthas.aliyun.com/arthas-boot.jar java -jar arthas-boot.jar选择应用 java 进程 就一个进程org.apache.catalina.startup.Bootstrap,输…

支小蜜AI校园防欺凌系统可以使用在宿舍吗?

随着人工智能技术的快速发展,AI校园防欺凌系统已成为维护校园安全的重要手段。然而,关于这一系统是否适用于宿舍环境,仍存在一些争议和讨论。本文将探讨AI校园防欺凌系统在宿舍中的适用性,分析其潜在的优势与挑战,并提…

Vue.js 应用实现监控可观测性最佳实践

前言 Vue 是一款用于构建用户界面的 JavaScript 框架。它基于标准 HTML、CSS 和 JavaScript 构建,并提供了一套声明式的、组件化的编程模型,帮助你高效地开发用户界面。无论是简单还是复杂的界面,Vue 都可以胜任。 TinyPro 是一套使用 Vue …

提升用户体验,Xinstall智能判定拉起技术来袭

在移动互联网时代,App推广已经成为各大企业的必争之地。然而,随着市场竞争的加剧,如何提升App的转化效率和用户体验成为了推广者们亟待解决的问题。这时,Xinstall的智能判定拉起技术应运而生,为推广者们带来了新的解决…

安卓百度地图API显示隐藏Marker

方法 BaiduMap.Marker.setVisible(boolean) 实现 List<Marker> list_marker new ArrayList<>(); boolean isShowMarker true;Override public boolean onCreateOptionsMenu(Menu menu) {String[] sm { "显隐信息", "显隐照片", "截…

OJ_最大序列和

题干 C实现 #include <stdio.h> #include <algorithm> using namespace std;long long s[1000001]; long long dp[1000002];//dp[i]是前i个元素中必须包含右边缘的最大子序和int main() {int n;scanf("%d",&n);for(int i 0; i< n;i){scanf(&quo…

【Vue3】Vue3中路由规则的 props 配置

&#x1f497;&#x1f497;&#x1f497;欢迎来到我的博客&#xff0c;你将找到有关如何使用技术解决问题的文章&#xff0c;也会找到某个技术的学习路线。无论你是何种职业&#xff0c;我都希望我的博客对你有所帮助。最后不要忘记订阅我的博客以获取最新文章&#xff0c;也欢…

云计算 3月14号 (TCP三次握手和四次挥手)

1.TCP三次握手和四次挥手 1.TCP的传输过程&#xff1a; Seq 序列号 保障传输过程可靠。 ACK &#xff08;确认消息&#xff09; SYN &#xff08;在建立TCP连接的时候使用&#xff09; FIN &#xff08;在关闭TCP连接的时候使用&#xff09; 3.TCP建立连接的过程&…

让Python自动测试更得心应手——认识一下神奇的pytest测试框架

前言 Python在测试圈的应用非常广泛&#xff0c;特别是在自动化测试以及测试开发的领域&#xff0c;其中在自动化测试中我们常用的测试框架是uniitest和pytest&#xff0c;本文将带领大家搭建以及熟悉pytest的使用。 既然有unittest那么为什么还要用pytest呢&#xff1f; 这…

单目测距+姿态识别+yolov8界面+车辆行人跟踪计数

yolov5单目测距速度测量目标跟踪&#xff08;算法介绍和代码&#xff09; 1.单目测距实现方法 在目标检测的基础上&#xff0c;我们可以通过计算物体在图像中的像素大小来估计其距离。具体方法是&#xff0c;首先确定某个物体的实际尺寸&#xff0c;然后根据该物体在图像中的像…

Vue3--数据和方法

data 组件的 data 选项是一个函数。Vue 在创建新组件实例的过程中会自动调用此函数。   data选项通常返回一个对象&#xff0c;然后 Vue 会通过响应性系统将其包裹起来&#xff0c;并以 $data 的形式存储在组件实例中。 <!DOCTYPE html> <html lang"en"&g…

8分SCI | 揭示随机森林的解释奥秘:探讨LIME技术如何提高模型的可解释性与可信度!

一、引言 Local Interpretable Model-agnostic Explanations (LIME) 技术作为一种局部可解释性方法&#xff0c;能够解释机器学习模型的预测结果&#xff0c;并提供针对单个样本的解释。通过生成局部线性模型来近似原始模型的预测&#xff0c;LIME技术可以帮助用户理解模型在特…

js中的原型(原型对象,对象原型,原型继承,原型链)

js中的原型 一.原型二.constructor 属性三.对象原型四.原型继承五.原型链 一.原型 构造函数通过原型分配的函数是所有实例化对象所共享的。 JavaScript 规定&#xff0c;每一个构造函数都有一个 prototype 属性&#xff0c;指向另一个对象&#xff0c;所以我们也称为原型对象 …

Linux编译器gcc/g++的功能与使用

一、程序的生成 首先&#xff0c;我们知道程序的编译分为四步&#xff1a; 1、预处理 2、编译 3、汇编 4、链接 1.1预处理 预处理功能主要包括头文件展开、宏定义、文件包含、条件编译、去注释等。 所谓的头文件展开就是在预处理时候&#xff0c;将头文件内容拷贝至源文…