【YOLOv8改进】HWD: Haar小波降采样,用于语义分割的降采样模块,减少特征图的空间分辨率

简介: YOLOv8专栏探讨了卷积网络的改进,特别是提出了一种名为HWD的基于Haar小波的下采样模块,用于语义分割,旨在保留更多空间信息。HWD结合了无损编码和特征表示学习,提高了模型性能并减少了信息不确定性。新度量标准FEI量化了下采样的信息保留能力。论文和代码可在提供的链接中找到。核心代码展示了如何在PyTorch中实现HWD模块。

专栏目录: YOLOv8有效改进系列及项目实战目录 包含卷积,主干 注意力,检测头等创新机制 以及 各种目标检测分割项目实战案例

专栏链接: YOLOv8基础解析+创新改进+实战案例

介绍

image-20240716230330732

摘要

下采样操作,如最大池化或步幅卷积,被广泛应用于卷积神经网络(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) = \begin{cases} 1 & \text{if } 0 \leq x < 1 \\ 0 & \text{otherwise} \end{cases} $$

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

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

Haar小波降采样(HWD)

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

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

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

核心代码

import torch
import torch.nn as nn
from pytorch_wavelets import DWTForward

class Down_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_ch
            nn.BatchNorm2d(out_ch),  # 批归一化层
            nn.ReLU(inplace=True),  # ReLU激活函数
        )

    def forward(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)

        return x  # 返回处理后的输出

task与yaml配置

详见: https://blog.csdn.net/shangyanaf/article/details/140479585

相关文章
|
算法 计算机视觉
YOLOv8改进 | 损失函数篇 | 最新ShapeIoU、InnerShapeIoU损失助力细节涨点
YOLOv8改进 | 损失函数篇 | 最新ShapeIoU、InnerShapeIoU损失助力细节涨点
883 2
|
机器学习/深度学习 编解码 数据可视化
【即插即用】涨点神器AFF:注意力特征融合(已经开源,附论文和源码链接)
【即插即用】涨点神器AFF:注意力特征融合(已经开源,附论文和源码链接)
8313 1
|
11月前
|
机器学习/深度学习 编解码 知识图谱
YOLOv11改进策略【卷积层】| HWD,引入`Haar小波变换`到下采样模块中,减少信息丢失
YOLOv11改进策略【卷积层】| HWD,引入`Haar小波变换`到下采样模块中,减少信息丢失
610 0
YOLOv11改进策略【卷积层】| HWD,引入`Haar小波变换`到下采样模块中,减少信息丢失
|
机器学习/深度学习 编解码 IDE
用于低分辨率图像和小物体的新 CNN 模块SPD-Conv
用于低分辨率图像和小物体的新 CNN 模块SPD-Conv
用于低分辨率图像和小物体的新 CNN 模块SPD-Conv
|
11月前
|
机器学习/深度学习 编解码 知识图谱
RT-DETR改进策略【卷积层】| HWD,引入`Haar小波变换`到下采样模块中,减少信息丢失
RT-DETR改进策略【卷积层】| HWD,引入`Haar小波变换`到下采样模块中,减少信息丢失
466 11
RT-DETR改进策略【卷积层】| HWD,引入`Haar小波变换`到下采样模块中,减少信息丢失
|
11月前
|
机器学习/深度学习 计算机视觉
YOLOv11改进策略【Head】| AFPN渐进式自适应特征金字塔,增加针对小目标的检测头(附模块详解和完整配置步骤)
YOLOv11改进策略【Head】| AFPN渐进式自适应特征金字塔,增加针对小目标的检测头(附模块详解和完整配置步骤)
1416 12
YOLOv11改进策略【Head】| AFPN渐进式自适应特征金字塔,增加针对小目标的检测头(附模块详解和完整配置步骤)
|
12月前
|
机器学习/深度学习 算法 计算机视觉
YOLOv11改进策略【SPPF】| SimSPPF,简化设计,提高计算效率
YOLOv11改进策略【SPPF】| SimSPPF,简化设计,提高计算效率
2236 8
YOLOv11改进策略【SPPF】| SimSPPF,简化设计,提高计算效率
|
11月前
|
机器学习/深度学习 编解码 计算机视觉
YOLOv11改进策略【卷积层】| ECCV-2024 小波卷积WTConv 增大感受野,降低参数量计算量,独家创新助力涨点
YOLOv11改进策略【卷积层】| ECCV-2024 小波卷积WTConv 增大感受野,降低参数量计算量,独家创新助力涨点
1056 0
YOLOv11改进策略【卷积层】| ECCV-2024 小波卷积WTConv 增大感受野,降低参数量计算量,独家创新助力涨点
|
机器学习/深度学习 编解码 Java
YOLO11创新改进系列:卷积,主干 注意力,C3k2融合,检测头等创新机制(已更新100+)
《YOLO11目标检测创新改进与实战案例》专栏已更新100+篇文章,涵盖注意力机制、卷积优化、检测头创新、损失与IOU优化、轻量级网络设计等多方面内容。每周更新3-10篇,提供详细代码和实战案例,帮助您掌握最新研究和实用技巧。[专栏链接](https://blog.csdn.net/shangyanaf/category_12810477.html)
YOLO11创新改进系列:卷积,主干 注意力,C3k2融合,检测头等创新机制(已更新100+)