YOLOv8v10改进 | 细节涨点篇 | SCI一区2023 | YOLOv10引入HWD小波下采样模块,而不会显著增加计算开销(在小目标分割任务上效果显著)

YOLOv8v10专栏限时订阅链接:YOLOv8v10创新改进高效涨点+永久更新中(至少500+改进)+高效跑实验发论文

目录

一、HWD模块介绍

 HWD 模块作用:

HWD小波下采样模块简单介绍:

  HWD 模块结构图:

 二、核心代码

三、手把手教你添加 HWD模块和修改task.py文件

1.首先在yolov10/ultralytics/nn/newsAddmodules创建一个.py文件

 2.在yolov10/ultralytics/nn/newsAddmodules/__init__.py中引用

 3.修改task.py文件 :

 四、创建涨点配置文件

参考版本1:yolov10n_HWD.yaml   

正常运行!

五、本文总结


一、HWD模块介绍

摘要:卷积神经网络中普遍使用最大池化或跨步卷积等下采样操作(CNN)聚合局部特征,扩大感受野,并最小化计算开销。然而,对于语义分割任务,在局部邻域上池化特征可能会导致重要空间信息的丢失,这有利于逐像素预测。为了解决这个问题,我们引入了一种简单而有效的池化操作,称为基于 Haar 小波的下采样(HWD)模块。该模块可以轻松集成到 CNN 中,以增强语义分割模型的性能。HW

### YOLOv8 下采样模块实现与作用 #### 功能概述 YOLOv8 中的下采样模块旨在通过特定的方式减少输入图像的空间维度,从而加速处理过程并保持重要特征。这种技术不仅提高了效率还增强了模型的表现力。 #### Haar小波下采样引入及其优势 为了克服传统最大池化或步幅卷积可能带来的空间信息损失问题,在YOLOv8中采用了基于Haar小波变换的新型下采样方案——HWD(Haar Wavelet Downsampling)。这种方法能够在降低特征图分辨率的同时最大限度地保存原始数据中的有用细节[^4]。 #### HWD的工作原理 - **核心思想**: 应用离散Haar小波变换来压缩特征映射尺寸; - **特**: - 更好地保护边缘和其他显著结构特性; - 减少因过度简化而导致的信息丢失风险; - 提升下游任务如物体检测、实例分割等的效果。 ```python import torch.nn as nn class HWDDownsample(nn.Module): """Haar wavelet downsampling layer.""" def __init__(self, channels_in, scale_factor=2): super(HWDDownsample, self).__init__() # Initialize filters according to haar matrix pattern. h = [[1/np.sqrt(2), 1/np.sqrt(2)], [-1/np.sqrt(2), 1/np.sqrt(2)]] w = np.array(h).reshape((2, 2)) weight = torch.from_numpy(w[np.newaxis, np.newaxis]).float() self.register_buffer('weight', weight.repeat(channels_in, 1, 1, 1)) self.scale_factor = scale_factor def forward(self, x): b, c, h, w = x.size() # Apply convolution with fixed weights corresponding to the haar transform. out = F.conv2d(x, self.weight, stride=self.scale_factor) return out ``` 此代码片段展示了如何定义个简单的PyTorch层来进行Haar小波下采样操作。它接受任意数量通道作为输入,并利用预设权重矩阵执行转换以达到降维目的。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值