当前位置: 首页 > news >正文

YOLO26改进 - 卷积Conv SPD-Conv空间深度转换卷积优化空间信息编码,攻克小目标检测难题

前言

本文介绍了一种名为SPD-Conv的新型CNN构建块及其在YOLO26中的结合。传统CNN在处理低分辨率图像或小物体时,因使用步长卷积和池化层导致细粒度信息丢失、性能下降。SPD-Conv由空间到深度(SPD)层和非步长卷积(Conv)层组成,完全消除卷积步长和池化层,避免信息损失。SPD层重排特征图元素将空间信息转换到深度维度,非步长卷积层进一步处理特征图。我们将SPD-Conv集成进YOLO26,实验证明其在低分辨率图像和小物体检测任务上显著优于现有模型。

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

专栏链接: YOLO26改进专栏

@

目录
  • 前言
  • 介绍
    • 摘要
    • 创新点
  • 文章链接
  • 基本原理
  • 核心代码
  • 实验
    • 脚本
    • 结果

介绍

image-20240205170045894

摘要

卷积神经网络(CNNs)在许多计算机视觉任务中取得了巨大成功,例如图像分类和目标检测。然而,当面对图像分辨率低或对象较小的更加困难的任务时,它们的性能迅速下降。在本文中,我们指出这一问题根源于现有CNN架构中一个有缺陷但常见的设计,即使用了步长卷积和/或池化层,这导致了细粒度信息的丢失和较不有效的特征表示的学习。为此,我们提出了一种新的CNN构建块,名为SPD-Conv,用以替代每个步长卷积层和每个池化层(从而完全消除它们)。SPD-Conv由一个空间到深度(SPD)层和一个非步长卷积(Conv)层组成,并且可以应用于大多数(如果不是全部的话)CNN架构中。我们在两个最具代表性的计算机视觉任务下解释这一新设计:目标检测和图像分类。然后,我们通过将SPD-Conv应用于YOLOv5和ResNet来创建新的CNN架构,并通过实验证明我们的方法特别是在图像分辨率低和小对象的困难任务上显著优于最先进的深度学习模型。我们已经在开放源代码。

创新点

SPD-Conv的创新点在于其独特的设计理念和结构,它旨在解决当处理低分辨率图像或小物体时,传统卷积神经网络(CNN)性能下降的问题。以下是SPD-Conv的主要创新点:

  1. 完全消除卷积步长和池化层:传统CNN中,卷积步长和池化层被广泛用于减小特征图的空间尺寸,以减少计算量和增加感受野。然而,这种设计会导致细粒度信息的损失,特别是在处理低分辨率图像和小物体时。SPD-Conv通过完全摒弃这些操作,避免了信息损失,有助于保持更多的细节和特征信息。

  2. 空间到深度(SPD)层:SPD-Conv包含一个SPD层,该层通过重排特征图的元素,将空间信息转换到深度(通道)维度,从而实现下采样而不损失信息。这种方法保留了通道维度中的所有信息,避免了传统下采样方法中的信息丢失。

  3. 非步长卷积层:在SPD层之后,SPD-Conv使用非步长(即步长为1)的卷积层进一步处理特征图。这种设计允许网络在不丢失空间信息的前提下,通过可学习的参数精细调整特征表示,有助于提高模型对小物体和低分辨率图像的处理能力。

  4. 通用性和统一性:SPD-Conv不仅可以替代CNN中的卷积步长和池化层,还能广泛应用于各种CNN架构中,提供一种统一的改进策略。这增加了SPD-Conv的适用范围和灵活性,使其能够在不同的深度学习任务和模型中发挥作用。

  5. 性能提升:通过在目标检测和图像分类任务中的应用和验证,SPD-Conv展现了其在处理低分辨率图像和小物体时相比传统CNN模型的显著性能提升。这证明了其设计理念在实际应用中的有效性和优势。

文章链接

论文地址:论文地址

代码地址:代码地址

基本原理

SPD-Con是一种创新的模块,旨在现有卷积神经网络(CNN)架构中替代传统的步进卷积及池化层。该结构包括一个空间到深度(SPD)层及一个非步进卷积(Conv)层。

空间到深度(SPD)层的功能在于,将输入特征图中的空间维度降维至通道维度,同时确保通道信息的完整性。具体通过将输入特征图的每一像素或特征映射至独立通道来实现,此过程中空间维度缩减,而通道维度相应扩增。

非步进卷积(Conv)层执行标准的卷积操作,紧随SPD层之后进行。不同于步进卷积,非步进卷积不在特征图上进行滑动,而是对每个像素或特征映射执行卷积操作。这有助于缓解SPD层可能导致的过度下采样问题,保留更丰富的细节信息。

SPD-Conv通过串联SPD层与Conv层的方式进行组合。具体而言,输入特征图首先经SPD层转换,其输出随后通过Conv层进行卷积处理。该组合策略在不丧失信息的前提下,有效减少空间维度尺寸,保持通道信息,从而提升CNN在低分辨率图像及小型物体检测上的性能。

通常,对于任意给定的原始特征映射(X),子映射(f_{x,y})由特征图(X(i, j))中,(i + x)和(j + y)可被比例因子整除的所有特征映射组成。因而,每个子图实现了对(X)的比例因子下采样。例如,当比例因子为2时,可以得到四个子映射(f_{0,0}, f_{1,0}, f_{0,1}, f_{1,1}),它们的尺寸为((S/2, S/2, C_1)),对(X)实现2倍下采样。

随后,这些子特征映射沿通道维度进行连接,形成一个新的特征映射(X'),其空间维度按比例因子减少,而通道维度按比例因子2增加。

SPD借鉴了一种原始图像转换技术,用于在CNN内部及其整体中对特征映射进行下采样,如此操作。

考虑任意尺寸为(S \times S \times C_1)的中间特征映射(X),其子特征映射序列按上述方式进行切割。

image-20240206084855967

image-20240206085214247

核心代码

class space_to_depth(nn.Module):"""space_to_depth类继承自nn.Module,用于实现空间到深度的转换,这种转换通过重排输入张量的元素来降低其空间维度,同时增加深度维度,常用于深度学习中对图像进行下采样。参数:dimension: 用于指定转换的维度,默认为1。此参数设置转换操作的深度维度增加的倍数。"""def __init__(self, dimension=1):"""初始化space_to_depth模块。参数:dimension: 转换的维度,决定了深度增加的倍数,默认值为1。"""super().__init__()  # 调用父类的构造函数来进行初始化self.d = dimension  # 保存维度参数def forward(self, x):"""前向传播函数,实现输入x的空间到深度的转换。通过将输入张量x的空间维度重新排列到深度维度来实现转换,具体操作是将x的高和宽每隔一个像素取一个,形成四个部分,然后将这四个部分在深度(通道)维度上进行拼接。参数:x: 输入张量,需要进行空间到深度转换的数据。返回:转换后的张量,其空间维度减小,深度维度增加。"""# 对输入x进行空间到深度的转换操作,并在指定维度上进行拼接return torch.cat([x[..., ::2, ::2], x[..., 1::2, ::2], x[..., ::2, 1::2], x[..., 1::2, 1::2]], 1)

实验

脚本

import warnings
warnings.filterwarnings('ignore')
from ultralytics import YOLOif __name__ == '__main__':
#     修改为自己的配置文件地址model = YOLO('./ultralytics/cfg/models/26/yolo26-SPDConv.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-SPDConv',)

结果

image-20260125171152552

http://www.jsqmd.com/news/347275/

相关文章:

  • 实现ai循环中插入用户对话的方法
  • 【DVMCNN诊断网络】基于离散韦格纳分布DWVD结合MCNN多尺度卷积神经网络的故障诊断研究附matlab代码
  • YOLO26改进 - 卷积Conv 加权卷积wConv2D:无损替换标准卷积,增强空间建模与特征提取质量 arXiv 2025
  • YOLO26涨点改进 | 独家创新、Neck特征融合改进篇 | ICLR 2025 | 引入FMoM频率调制融合模块,实现空间与频率的协同特征增强,助力多模态融合、小目标检测、遥感目标检测有效涨点
  • 【AAAI 2026即插即用】Mamba模块篇 | MUB曼巴上采样模块,特别适用于图像恢复、图像超分辨率、图像恢复、暗光增强、遥感任务、目标检测、图像分割 和 医学影像分析等CV任务通用,涨点起飞
  • YOLO26改进 - 卷积Conv 注入多阶门控聚合机制:Multi-Order Gated Aggregation 突破表示瓶颈,增强复杂场景目标感知能力
  • 沙丘猫算法+哈里斯鹰+鲸鱼+黏菌算法+蝴蝶算法优化ELMAN神经网络回归预测附Matlab代码
  • 开题报告vb酒店客房部
  • 【无人机三维路径规划】基于启发式算法的无人机三维路径规划动态避障算法附Matlab代码
  • 拼多多商家端 anti-content 分析
  • 开题报告【因泰魔锋商城的设计与实现】
  • 【DVRN故障诊断】基于离散韦格纳分布DWVD结合卷积神经网络(CNN)和残差网络(ResNet)的故障诊断研究附Matlab代码
  • 一文讲透 LLM、RAG、MCP 与 AI Agent:AI 系统的四个核心层级
  • YOLO26改进 - 卷积Conv DualConv( Dual Convolutional):用于轻量级深度神经网络的双卷积核
  • 从零构建 MCP Server:协议原理 + 完整实战
  • MySQL数据库讲解,如何使用聚合函数方法?
  • YOLO26改进 - C3k2 C3k2 融合 LSConv (Large-Small Conv)融合大核感知与小核聚合,提升小目标特征判别力
  • YOLO26改进 - 卷积Conv GCNet之金箍棒块GCBlock : 重参数化捕获全局依赖 CVPR 2025
  • 从蜜蜂导航到无人机自主飞行:基于ZYNQ的仿生偏振导航系统全解析
  • MySQL 逻辑备份 vs 物理备份:区别与生产级实战指南
  • target_include_directories对比 PUBLIC / PRIVATE
  • YOLO26改进 - 卷积Conv LAE 轻量级自适应提取卷积,从多尺度特征图中获得更多的上下文信息和高分辨率细节
  • CMake制作动态库与静态库对比
  • YOLO26改进 - 卷积Conv MKDC 多核深度卷积块:多分支架构协同捕获局部细节与全局语义,提升特征判别力 ICCV 2025
  • YOLO26改进 - 卷积Conv 增强感受野与多尺度特征捕获:引入RFB感受野块(Receptive Field Block)多分支卷积结构
  • SW草图绘制之倒角和圆角
  • YOLO26改进 - SPPF模块 替代SPPF, Mona多认知视觉适配器(CVPR 2025):打破全参数微调的性能枷锁:即插即用的提点神器
  • YOLO26改进 - SPPF模块 SPPELAN 空间金字塔池化与增强局部注意力:替代SPPF增强多尺度上下文捕获,提升检测精度
  • YOLO26改进 - 卷积Conv 融合多阶门控聚合网络MogaNet与 CA block,提升复杂场景与小目标检测鲁棒性
  • YOLO26改进 - 卷积Conv 即插即用轻量化突破:OREPA在线卷积重参数化,通过动态结构演化实现高效特征提取与自适应优化