YOLO26改进 - 采样 | 小目标分割救星:HWD 降采样少丢细节提精度

前言

本文介绍了基于Haar小波的下采样(HWD)模块与YOLO26的结合,以解决语义分割任务中池化特征导致重要空间信息丧失的问题。HWD模块由无损特征编码模块和特征表示学习模块组成,通过Haar小波变换降低特征图空间分辨率并保留信息。我们将HWD代码集成进YOLO26, 实验显示,结合HWD的YOLO26在不同模态图像数据集上或能提高分割性能,减少信息不确定性。

文章目录: YOLO26改进大全:卷积层、轻量化、注意力机制、损失函数、Backbone、SPPF、Neck、检测头全方位优化汇总

专栏链接: YOLO26改进专栏

文章目录

  • 前言
  • 介绍
    • 摘要
  • 文章链接
  • 基本原理
    • Haar小波
    • Haar小波降采样(HWD)
  • 核心代码
  • YOLO26引入代码
  • 注册
    • 步骤1:
    • 步骤2
  • 配置yolo26-HWD.yaml
  • 实验
    • 脚本
    • 结果

介绍

摘要

下采样操作,如最大池化或步幅卷积,被广泛应用于卷积神经网络(CNN)中,用于聚合局部特征、扩大感受野和最小化计算开销。然而,对于语义分割任务,在局部邻域内进行池化特征可能会导致重要空间信息的丧失,而这些信息对于逐像素的预测是有帮助的。为了解决这个问题,我们引入了一种简单但有效的池化操作,称为基于Haar小波的下采样(HWD)模块。该模块可以轻松集成到CNN中,以提高语义分割模型的性能。HWD的核心思想是应用Haar小波变换来降低特征图的空间分辨率,同时尽可能保留信息。此外,为了研究HWD的优点,我们提出了一种新颖的度量标准,称为特征熵指数(FEI),用于衡量CNN下采样后的信息不确定程度。具体而言,FEI可以用来指示下采样方法在语义分割中保留关键信息的能力。我们的综合实验表明,提出的HWD模块可以(1)在不同模态图像数据集和各种CNN架构上有效提高分割性能,且(2)相比传统下采样方法,能有效减少信息不确定性。我们的实现可在https://github.com/apple1986/HWD获取。

文章链接

论文地址:论文地址

代码地址:代码地址

基本原理

Haar小波

Haar小波是一种最简单的正交小波,其基本函数由两个函数构成:尺度函数 ϕ和小波函数 ψ。具体定义如下:

  1. 尺度函数ϕ0(x):
    ϕ 0 ( x ) = { 1 if 0 ≤ x < 1 0 otherwise ϕ0(x) = \begin{cases} 1 & \text{if } 0 \leq x < 1 \\ 0 & \text{otherwise} \end{cases}ϕ0(x)={10if0x<1otherwise

  2. 一维Haar变换的尺度函数ϕ1(x)和小波函数ψ1(x):
    ϕ 1 ( x ) = 1 2 ( ϕ 0 ( 2 x ) + ϕ 0 ( 2 x − 1 ) ) ϕ1(x) = \frac{1}{\sqrt{2}}(ϕ0(2x) + ϕ0(2x - 1))ϕ1(x)=21(ϕ0(2x)+ϕ0(2x1))
    ψ 1 ( x ) = 1 2 ( ϕ 0 ( 2 x ) − ϕ 0 ( 2 x − 1 ) ) ψ1(x) = \frac{1}{\sqrt{2}}(ϕ0(2x) - ϕ0(2x - 1))ψ1(x)=21(ϕ0(2x)ϕ0(2x1))

通过这些函数,Haar变换可以将信号分解成低频(尺度函数)和高频(小波函数)成分。对于二维信号,如灰度图像,Haar小波变换会产生四个分量:低频分量(A),以及水平(H)、垂直(V)和对角线(D)方向的高频分量 。

Haar小波降采样(HWD)

Haar小波降采样(HWD)是一种用于语义分割的降采样模块,旨在通过Haar小波变换减少特征图的空间分辨率,同时尽量保留信息。HWD模块主要由两个部分组成:

  1. 无损特征编码模块:利用Haar小波变换来降低特征图的空间分辨率,同时保持所有信息。Haar小波变换是一种紧凑、二进制、正交的小波变换,广泛应用于图像编码、边缘提取和二进制逻辑设计 。

  2. 特征表示学习模块:由标准的1×1卷积层、批归一化层和ReLU激活函数组成,用于提取辨别性特征。此模块调整特征图的通道数,以适应后续层,并过滤冗余信息 。

核心代码

importtorchimporttorch.nnasnnfrompytorch_waveletsimportDWTForwardclassDown_wt(nn.Module):def__init__(self,in_ch,out_ch):super(Down_wt,self).__init__()# 定义离散小波变换 (DWT) 前向操作self.wt=DWTForward(J=1,mode='zero',wave='haar')# 定义卷积、批归一化和ReLU的组合self.conv_bn_relu=nn.Sequential(nn.Conv2d(in_ch*4,out_ch,kernel_size=1,stride=1),# 1x1卷积层,输入通道数为in_ch*4,输出通道数为out_chnn.BatchNorm2d(out_ch),# 批归一化层nn.ReLU(inplace=True),# ReLU激活函数)defforward(self,x):# 对输入进行小波变换yL,yH=self.wt(x)# yL是低频分量,yH是高频分量y_HL=yH[0][:,:,0,::]# 获取高频分量中的水平细节分量y_LH=yH[0][:,:,1,::]# 获取高频分量中的垂直细节分量y_HH=yH[0][:,:,2,::]# 获取高频分量中的对角细节分量# 将低频分量和所有高频分量在通道维度上拼接x=torch.cat([yL,y_HL,y_LH,y_HH],dim=1)# 通过卷积、批归一化和ReLU组合x=self.conv_bn_relu(x)returnx# 返回处理后的输出

YOLO26引入代码

在根目录下的ultralytics/nn/目录,新建一个sample目录,然后新建一个以HWD为文件名的py文件, 把代码拷贝进去。

需要安装pytorch_wavelets

进入:ultralytics/nn/otherModules目录下载pytorch_wavelets

git clone https://github.com/fbcotter/pytorch_wavelets 如果很慢可以使用下面的镜像命令: git clone https://gitclone.com/github.com/fbcotter/pytorch_wavelets

安装

cd pytorch_wavelets pip install .
importtorchimporttorch.nnasnnfrompytorch_waveletsimportDWTForwardclassDown_wt(nn.Module):def__init__(self,in_ch,out_ch):super(Down_wt,self).__init__()self.wt=DWTForward(J=1,mode="zero",wave="haar")self.conv_bn_relu=nn.Sequential(nn.Conv2d(in_ch*4,out_ch,kernel_size=1,stride=1),nn.BatchNorm2d(out_ch),nn.ReLU(inplace=True),)defforward(self,x):yL,yH=self.wt(x)y_HL=yH[0][:,:,0,::]y_LH=yH[0][:,:,1,::]y_HH=yH[0][:,:,2,::]x=torch.cat([yL,y_HL,y_LH,y_HH],dim=1)x=self.conv_bn_relu(x)returnx

注册

ultralytics/nn/tasks.py中进行如下操作:

步骤1:

fromultralytics.nn.sample.HWDimportDown_wt

步骤2

修改def parse_model(d, ch, verbose=True):

Down_wt

配置yolo26-HWD.yaml

ultralytics/cfg/models/26/yolo26-HWD.yaml

# Ultralytics 🚀 AGPL-3.0 License - https://ultralytics.com/license# Ultralytics YOLO26 object detection model with P3/8 - P5/32 outputs# Model docs: https://docs.ultralytics.com/models/yolo26# Task docs: https://docs.ultralytics.com/tasks/detect# Parametersnc:80# number of classesend2end:True# whether to use end-to-end modereg_max:1# DFL binsscales:# model compound scaling constants, i.e. 'model=yolo26n.yaml' will call yolo26.yaml with scale 'n'# [depth, width, max_channels]n:[0.50,0.25,1024]# summary: 260 layers, 2,572,280 parameters, 2,572,280 gradients, 6.1 GFLOPss:[0.50,0.50,1024]# summary: 260 layers, 10,009,784 parameters, 10,009,784 gradients, 22.8 GFLOPsm:[0.50,1.00,512]# summary: 280 layers, 21,896,248 parameters, 21,896,248 gradients, 75.4 GFLOPsl:[1.00,1.00,512]# summary: 392 layers, 26,299,704 parameters, 26,299,704 gradients, 93.8 GFLOPsx:[1.00,1.50,512]# summary: 392 layers, 58,993,368 parameters, 58,993,368 gradients, 209.5 GFLOPs# YOLO26n backbonebackbone:# [from, repeats, module, args]-[-1,1,Conv,[64,3,2]]# 0-P1/2-[-1,1,Conv,[128,3,2]]# 1-P2/4-[-1,2,C3k2,[256,False,0.25]]-[-1,1,Conv,[256,3,2]]# 3-P3/8-[-1,2,C3k2,[512,False,0.25]]-[-1,1,Conv,[512,3,2]]# 5-P4/16-[-1,2,C3k2,[512,True]]-[-1,1,Conv,[1024,3,2]]# 7-P5/32-[-1,2,C3k2,[1024,True]]-[-1,1,SPPF,[1024,5,3,True]]# 9-[-1,2,C2PSA,[1024]]# 10# YOLO26n headhead:-[-1,1,nn.Upsample,[None,2,"nearest"]]-[[-1,6],1,Concat,[1]]# cat backbone P4-[-1,2,C3k2,[512,True]]# 13-[-1,1,nn.Upsample,[None,2,"nearest"]]-[[-1,4],1,Concat,[1]]# cat backbone P3-[-1,2,C3k2,[256,True]]# 16 (P3/8-small)-[-1,1,Down_wt,[256]]-[[-1,13],1,Concat,[1]]# cat head P4-[-1,2,C3k2,[512,True]]# 19 (P4/16-medium)-[-1,1,Down_wt,[512]]-[[-1,10],1,Concat,[1]]# cat head P5-[-1,1,C3k2,[1024,True,0.5,True]]# 22 (P5/32-large)-[[16,19,22],1,Detect,[nc]]# Detect(P3, P4, P5)

实验

脚本

importwarnings warnings.filterwarnings('ignore')fromultralyticsimportYOLOif__name__=='__main__':# 修改为自己的配置文件地址model=YOLO('./ultralytics/cfg/models/26/yolo26-HWD.yaml')# 修改为自己的数据集地址model.train(data='./ultralytics/cfg/datasets/coco8.yaml',cache=False,imgsz=640,epochs=10,single_cls=False,# 是否是单类别检测batch=8,close_mosaic=10,workers=0,optimizer='MuSGD',# optimizer='SGD',amp=False,project='runs/train',name='yolo26-HWD',)

结果

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

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

相关文章

【统一功能处理】从入门到源码:拦截器学习指南(含适配器模式深度解读) - 教程

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

洛谷 P1918:保龄球 ← STL map

​【题目来源】https://www.luogu.com.cn/problem/P1918【题目描述】DL 算缘分算得很烦闷,所以常常到体育馆去打保龄球解闷。因为他保龄球已经打了几十年了,所以技术上不成问题,于是他就想玩点新花招。DL 的视力真的…

详细介绍:C++蓝桥杯之结构体10.15

详细介绍:C++蓝桥杯之结构体10.15pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco&…

抖店商品图如何保存到手机上的方法

抖音小店图片提取保存下载的方法如下&#xff1a; 方案一&#xff1a;借助傻瓜式工具【电商素材提取器】 打开抖音商城&#xff1a; 首先&#xff0c;打开抖音APP并进入“商城”页面。 找到所需商品并点击详情&#xff1a; 在商城中&#xff0c;浏览或搜索找到你希望提取图片…

云端推理中的模型量化技术:减小体积提升速度

云端推理中的模型量化技术&#xff1a;减小体积提升速度 关键词&#xff1a;模型量化、云端推理、浮点精度、整数运算、计算效率、模型体积、量化误差 摘要&#xff1a;在云端推理场景中&#xff0c;深度学习模型的“大体积”和“慢速度”常成为性能瓶颈。本文将用“快递打包”…

C++实现ATM状态机

C实现ATM状态机 以下是一个使用 C 实现的 ATM 状态机示例程序&#xff0c;采用面向对象的方式实现。程序模拟了一个简单的 ATM 系统&#xff0c;包含以下功能&#xff1a; 用户登录查询余额存款取款退出完整代码 #include <iostream> #include <string> #include &…

导师严选2026 AI论文工具TOP10:自考论文写作全攻略

导师严选2026 AI论文工具TOP10&#xff1a;自考论文写作全攻略 2026年自考论文写作工具测评&#xff1a;为何需要一份精准榜单&#xff1f; 随着AI技术的不断进步&#xff0c;越来越多的自考学生开始依赖智能工具提升论文写作效率。然而&#xff0c;面对市场上琳琅满目的AI论文…

Java毕设项目推荐-基于SpringBoot的社区公益服务管理平台 基于springboot的社区志愿者服务系统【附源码+文档,调试定制服务】

博主介绍&#xff1a;✌️码农一枚 &#xff0c;专注于大学生项目实战开发、讲解和毕业&#x1f6a2;文撰写修改等。全栈领域优质创作者&#xff0c;博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围&#xff1a;&am…

【计算机毕业设计案例】基于springboot的居民志愿服务智慧系统社区志愿者服务系统(程序+文档+讲解+定制)

博主介绍&#xff1a;✌️码农一枚 &#xff0c;专注于大学生项目实战开发、讲解和毕业&#x1f6a2;文撰写修改等。全栈领域优质创作者&#xff0c;博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围&#xff1a;&am…

学长亲荐8个AI论文平台,助你搞定本科毕业论文!

学长亲荐8个AI论文平台&#xff0c;助你搞定本科毕业论文&#xff01; 论文写作的“秘密武器”&#xff1a;AI 工具如何成为你的得力助手 在本科毕业论文的撰写过程中&#xff0c;很多同学都会面临选题难、思路乱、资料少、语言表达不顺等多重挑战。而随着 AI 技术的不断成熟…

论文《关于预防人工智能反叛的初步探讨》修订版

本文已发表于《机器人技术与应用》2017年第4期&#xff0c;这是修订版 (期刊已声明&#xff1a;文章著作权归作者所有)。 这很可能是第一篇正式发表的、从行业技术架构演进的角度讨论人工智能反叛的论文&#xff0c;其中假定人工智能技术的发展将超越现有的深度网络架构。 对…

SMU 2026 ptlks的周报Week 1

好久没写过周报了。 三场个人赛,一场组队赛,然后写了些杂题,cf又上了个紫名。 SMU Winter 2026 Personal Round 2题解 SMU Winter 2026 Personal Round 3题解 SMU Winter 2026 Personal Round 4题解 The 45th ICPC …

2025年少儿编程推荐:五家优选品牌深度全面对比解析

阅读摘要 文档类型:榜单评测与选型 评测维度:课程内容技术平台教学服务学习效果性价比Top Pick: 猿编程|访问 https://www.ybccode.com/ 深入了解 | 拨打 400-007-0680 获取专业咨询 其它上榜: 小鹿编程、西瓜创客…

用 CrossOver 体验“魔法世界”:在 Mac 电脑畅玩《霍格沃茨之遗》保姆级教程

用 CrossOver 体验“魔法世界”:在 Mac 电脑畅玩《霍格沃茨之遗》保姆级教程如果你主要用Mac工作,不想为了玩游戏而安装双系统;如果你希望保持Mac的使用习惯,不愿在系统间来回切换;如果你对画质要求不是极端苛刻,…

2025年少儿编程哪家靠谱?主流上榜五家品牌全面深度解析

阅读摘要 文档类型:榜单评测与选型 评测维度:课程体系师资力量品牌资质教学效果用户口碑Top Pick: 猿编程|访问 https://www.ybccode.com/ 深入了解 | 拨打 400-007-0680 获取专业咨询其它上榜: 西瓜创客、高途编程…

GLM-ASR-Nano-2512:中文方言识别与低音量语音处理的最佳开源方案

GLM-ASR-Nano-2512是智谱Z.AI开源的1.5B参数语音识别模型&#xff0c;专注于中文方言识别和低音量语音处理&#xff0c;性能超越Whisper。支持粤语等多种方言&#xff0c;能识别低音量语音&#xff0c;错误率仅4.10%。适合企业会议转写、客服中心等场景&#xff0c;支持本地部署…

2026年AI智能体替代员工:从理论到实践,小白也能上手的数字员工教程

作者分享2025年已用AI替代80%工作&#xff0c;目标2026年实现完全自动化。文章介绍数字员工可完成视频制作、客服、提升好评率等任务&#xff0c;展示实际应用案例。强调真正的数字员工能提高生产力&#xff0c;而非仅作为娱乐工具&#xff0c;推荐"Agentsyun小程序"…

从入门到精通:RAG系统中检索与生成之间的增强层,收藏级技术指南

文章强调了检索增强生成&#xff08;RAG&#xff09;系统中检索和生成之间的处理环节对系统性能的关键影响。指出大语言模型对上下文位置敏感&#xff08;首因和近因效应&#xff09;&#xff0c;需要通过重排序、去重、矛盾处理等优化检索结果。合理管理token预算&#xff0c;…

【超详细】大模型学习路线图,从入门到应用(建议收藏)

本文为非从业者提供了一条大模型学习的快速入门路径&#xff0c;强调入门难度不高且投入不大。文章从神经网络基础开始&#xff0c;逐步介绍CNN、RNN、Transformer结构&#xff0c;再到大模型原理、训练优化、部署应用等&#xff0c;最后涵盖GPU算力知识。作者建议采用工程师式…

如何系统化的学习金融,投资,理财?

系统化学习金融、投资、理财&#xff0c;需要遵循 “搭建知识框架→夯实理论基础→实践验证迭代→优化思维体系” 的逻辑路径&#xff0c;三者环环相扣&#xff0c;缺一不可。以下是分阶段的详细学习方案&#xff0c;兼顾理论深度与实操性&#xff1a;一、 第一阶段&#xff1a…