YOLOv5改进 | 卷积篇 | SPD-Conv空间深度转换卷积(高效空间编码技术)

简介: YOLOv5改进 | 卷积篇 | SPD-Conv空间深度转换卷积(高效空间编码技术)

一、本文介绍

本文给大家带来的改进内容是SPD-Conv(空间深度转换卷积)技术。SPD-Conv是一种创新的空间编码技术,它通过更有效地处理图像数据来改善深度学习模型的表现。SPD-Conv的基本概念:它是一种将图像空间信息转换为深度信息的技术,从而使得卷积神经网络(CNN)能更加有效地学习图像特征。这种方法通过减少信息损失和提高特征提取的准确性,优化了模型对小物体和低分辨率图像的处理能力。我在YOLOv5中利用SPD-Conv被用于替换传统的步长卷积和池化层,在不牺牲精确度的情况下减少计算复杂度(精度甚至略有提升)。本文后面会有SPD-Conv的代码和使用方法,手把手教你添加到自己的网络结构中。(值得一提的是该卷积模块可以做到轻量化模型的作用GFLOPs由8.9降低到8.2,参数量也有一定降低)

image.png

推荐指数:⭐⭐⭐⭐⭐

专栏回顾:YOLOv5改进专栏——持续复现各种顶会内容——内含100+创新

二、SPD-Conv构建块原理

image.png

2.1 SPD-Conv的基本原理

SPD-Conv(空间到深度卷积)的基本原理是用于改进传统卷积神经网络(CNN)中对小物体和低分辨率图像处理的性能。它主要通过以下几个关键步骤实现:

1. 替换步长卷积和池化层:SPD-Conv设计用来替代传统CNN架构中的步长卷积层和池化层。步长卷积和池化层在处理低分辨率图像或小物体时会导致细粒度信息的丢失。

2. 空间到深度(SPD)层:SPD层的作用是降采样特征图的通道维度,同时保留信息。这种方式可以避免传统方法中的信息丢失。

3. 非步长卷积层:在SPD层之后,SPD-Conv使用一个非步长(即步长为1)的卷积层。这有助于在降低通道数量的同时利用可学习的参数对特征进行处理。

image.png

以下是我对这个图的理解:

1. 特征图 (a):传统的特征图,具有通道数

image.png

,高度和宽度。 2. 空间到深度变换 (b):通过空间到深度操作,将像素的空间块重新排列到深度/通道维度,增加通道数到 4

image.png

,同时将空间维度缩小2倍。 3. 通道合并 (c):不同的通道组在通道维度上进行合并。 4. 加法操作 (d):合并的特征图可能会与其他处理过的特征图(图中未详细展示)进行加法操作。 5. 非步长卷积 (e):对结果特征图应用步长为1的卷积,减少通道维度至

image.png

,同时保持空间分辨率,其仍是原始大小的1/2。

2.1.1替换步长卷积和池化层

论文中提出的SPD-Conv构建块是为了替代传统CNN中的步长卷积和池化层。步长卷积和池化层在处理低分辨率图像和小物体时会导致信息的丢失。SPD-Conv使用空间到深度(SPD)层,该层将特征图的空间维度转换成深度维度,通过增加通道数来保留更多信息。随后是非步长卷积层,它保持了空间维度,减少了通道数。这种替代方法避免了信息的丢失,并允许网络捕获更精细的特征,从而提高了在复杂任务上的性能。

image.png

上图是SPD-Conv论文中的一个图表,展示了如何在YOLOv5的结构中实施SPD-Conv(在YOLOv8中同样适用)。图中标红的部分代表了SPD-Conv替换传统卷积操作的地方。YOLOv5的架构被分为三个主要部分:

1. 主干网络(Backbone):这是特征提取的核心部分,每个SPD和Conv层的组合都替换了原始YOLOv5中的步长卷积层。 2. 颈部(Neck):这部分用于进一步处理特征图,以获得不同尺度的特征,从而提高检测不同大小物体的能力。它也包含SPD和Conv层的组合,以优化特征提取。 3. 头部(Head):这是决策部分,用于物体检测任务,包括定位和分类。头部保持了YOLO原始架构的设计。

直连线表示直接的前向连接,虚线代表跳跃连接,用于整合不同层次的特征。

2.1.2 空间到深度(SPD)层

空间到深度(SPD)层是SPD-Conv中的一个关键组件,其作用是将输入特征图的空间块(像素块)重新排列进入深度(通道)维度,以此来增加通道数,同时减少空间分辨率,但不丢失信息。通过这种方式,这一转换允许CNN捕捉和保留在处理小物体和低分辨率图像时经常丢失的精细信息。SPD层后面紧跟的是非步长卷积层,它进一步处理重新排列后的特征图,确保有效特征的提取和使用。通过这种方法,SPD-Conv能够在特征提取阶段保留更丰富的信息,从而提高模型对于小物体和低分辨率图像的识别性能。

2.1.3 非步长卷积层

在SPD-Conv的背景下,非步长卷积层采用的是步长为1的卷积操作,意味着在卷积过程中,滤波器(或称为卷积核)会在输入特征图上逐像素移动,没有跳过任何像素。这样可以确保在特征图的每个位置都能应用卷积核,最大程度地保留信息,并生成丰富的特征表示。非步长卷积层是紧随空间到深度(SPD)层的一个重要组成部分。在SPD层将输入特征图的空间信息重新映射到深度(通道)维度后,非步长卷积层(即步长为1的卷积层)被用来处理这些重新排列的特征图。由于步长为1,这个卷积层不会导致任何进一步的空间分辨率降低,这允许网络在不损失细节的情况下减少特征图的通道数。这种方法有助于改善特征的表征,特别是在处理小物体或低分辨率图像时,这些场景在传统CNN结构中往往会丢失重要信息。

2.2 检测效果

image.png

上图比较了标准YOLOv5m模型和集成了SPD-Conv的改进版本YOLOv5-SPD-m的性能。紫色框表示标准YOLOv5m的预测,绿色框显示了YOLOv5-SPD-m的预测。蓝色框代表地面真相(ground truth)。红色箭头突出了两个模型预测之间的差异。

从图像中我们可以看出,YOLOv5-SPD-m(绿色框)的预测与地面真相更为接近,与YOLOv5m(紫色框)的预测相比,这表明将SPD-Conv整合进YOLOv5能增强模型准确检测物体的能力,这对于需要精确定位和识别的应用来说至关重要,例如自动驾驶或监控。

目录
相关文章
|
1月前
|
机器学习/深度学习
深度学习笔记(十二):普通卷积、深度可分离卷积、空间可分离卷积代码
本文探讨了深度可分离卷积和空间可分离卷积,通过代码示例展示了它们在降低计算复杂性和提高效率方面的优势。
47 2
深度学习笔记(十二):普通卷积、深度可分离卷积、空间可分离卷积代码
|
6月前
|
机器学习/深度学习 算法 计算机视觉
YOLOv8改进-论文笔记】 AKConv(可改变核卷积):任意数量的参数和任意采样形状的即插即用的卷积
AKConv是一种可改变核卷积,旨在解决传统卷积的局限,包括固定大小的卷积窗口和卷积核尺寸。AKConv提供灵活的卷积核参数和采样形状,适应不同尺度特征。其创新点包括:1)支持任意大小和形状的卷积核;2)使用新算法确定初始采样位置;3)应用动态偏移调整采样位置;4)优化模型参数和计算效率。AKConv已应用于YOLOv8,提高网络性能。相关代码可在<https://github.com/CV-ZhangXin/AKConv>找到。
|
4月前
|
机器学习/深度学习 计算机视觉
【YOLOv10改进-卷积Conv】SCConv :即插即用的空间和通道重建卷积
YOLOv10专栏介绍了将Swin Transformer应用于目标检测的创新。Swin Transformer采用分层窗口结构,解决了视觉任务中的尺度变化问题,提供线性复杂度的效率提升。在图像分类、目标检测和语义分割任务中表现出色,超越先前最佳模型。YOLOv10结合Swin Transformer,利用其局部注意力机制和层次化设计,提升了检测性能。提供的代码片段展示了Swin Transformer模块,包括窗口划分、注意力计算和相对位置偏置。更多信息可在相关博客文章中找到。
|
4月前
|
机器学习/深度学习 编解码 计算机视觉
【YOLOv10改进-卷积Conv】 SPD-Conv空间深度转换卷积,处理低分辨率图像和小对象问题
YOLO目标检测专栏探讨了CNN在低分辨率和小目标检测中的局限性,提出SPD-Conv新架构,替代步长卷积和池化层,通过空间到深度层和非步长卷积保持细粒度信息。创新点包括消除信息损失、通用设计和性能提升。YOLOv5和ResNet应用SPD-Conv后,在困难任务上表现优越。详情见YOLO有效改进系列及项目实战目录。
|
4月前
|
机器学习/深度学习 算法 计算机视觉
【YOLOv10改进 -卷积Conv】 AKConv(可改变核卷积):任意数量的参数和任意采样形状的即插即用的卷积
AKConv是一种可改变核卷积,旨在解决传统卷积的局限,包括固定大小的卷积窗口和卷积核尺寸。AKConv提供灵活的卷积核参数和采样形状,适应不同尺度特征。其创新点包括:1)支持任意大小和形状的卷积核;2)使用新算法确定初始采样位置;3)应用动态偏移调整采样位置;4)优化模型参数和计算效率。AKConv已应用于YOLOv8,提高网络性能。相关代码可在<https://github.com/CV-ZhangXin/AKConv>找到。
|
6月前
|
机器学习/深度学习 算法 计算机视觉
YOLOv8改进 | 融合模块 | 用Resblock+CBAM卷积替换Conv【轻量化网络】
在这个教程中,介绍了如何将YOLOv8的目标检测模型改进,用Resblock+CBAM替换原有的卷积层。Resblock基于ResNet的残差学习思想,减少信息丢失,而CBAM是通道和空间注意力模块,增强网络对特征的感知。教程详细解释了ResNet和CBAM的原理,并提供了代码示例展示如何在YOLOv8中实现这一改进。此外,还给出了新增的yaml配置文件示例以及如何注册模块和执行程序。作者分享了完整的代码,并对比了改进前后的GFLOPs计算量,强调了这种改进在提升性能的同时可能增加计算需求。教程适合深度学习初学者实践和提升YOLO系列模型的性能。
|
6月前
|
机器学习/深度学习 编解码 计算机视觉
【YOLOv8改进】 SPD-Conv空间深度转换卷积,处理低分辨率图像和小对象问题 (论文笔记+引入代码)
YOLO目标检测专栏探讨了CNN在低分辨率和小目标检测中的局限性,提出SPD-Conv新架构,替代步长卷积和池化层,通过空间到深度层和非步长卷积保持细粒度信息。创新点包括消除信息损失、通用设计和性能提升。YOLOv5和ResNet应用SPD-Conv后,在困难任务上表现优越。详情见YOLO有效改进系列及项目实战目录。
|
6月前
|
机器学习/深度学习 计算机视觉
【YOLOv8改进-论文笔记】SCConv :即插即用的空间和通道重建卷积
该文介绍了一种针对卷积神经网络(CNN)的改进方法,名为SCConv,旨在减少计算冗余并提升特征学习效率。SCConv包含空间重构单元(SRU)和通道重构单元(CRU),分别处理空间和通道冗余。SRU利用分离-重构策略抑制空间冗余,而CRU通过分割-变换-融合策略减少通道冗余。SCConv可直接插入现有CNN架构中,实验结果显示,整合SCConv的模型能在降低复杂性和计算成本的同时保持或提高性能。此外,文章还展示了如何在YOLOv8中应用SCConv。
|
6月前
|
机器学习/深度学习 计算机视觉
YOLOv8改进 | 2023 | FocalModulation替换SPPF(精度更高的空间金字塔池化)
YOLOv8改进 | 2023 | FocalModulation替换SPPF(精度更高的空间金字塔池化)
324 2
|
6月前
|
机器学习/深度学习
YOLOv5改进 | Conv篇 | 结合Dual思想利用HetConv创新一种全新轻量化结构CSPHet(参数量下降20W)
YOLOv5改进 | Conv篇 | 结合Dual思想利用HetConv创新一种全新轻量化结构CSPHet(参数量下降20W)
135 3