YOLOv8模型改进系列
文章平均质量分 90
🚀🚀全网最详细的YOLO入门实践+改进YOLOv8 进阶教程,主打实战,本专栏所有模块都是即插即用,十分方便,预计的改进有上百种。
一勺汤
这个作者很懒,什么都没留下…
展开
-
YOLOv8模型改进 第十九讲 添加倒置残差移动块iRMB(Inverted Residual Mobile Block,) 去除图像噪声
模块结构该模块由三个主要的卷积层和一个注意力机制(Attention Mechanism)组成。模块的输入是一个特征图(Feature Map),输出也是一个特征图。卷积层第一层:1x1 卷积(1x1 Conv)这是模块的第一层,对输入的特征图进行 1x1 卷积操作。该层的输出分为三路,分别用于后续的操作。第二层:3x3 深度可分离卷积(3x3 DW - Conv)这是模块的第二层,对第一层 1x1 卷积的输出进行 3x3 深度可分离卷积操作。原创 2024-11-08 15:42:36 · 832 阅读 · 0 评论 -
YOLOv8模型改进 第十八讲 添加CMUNeXt Block 提升小目标检测
1. 深度卷积:采用大核的深度卷积(depthwise convolution)操作,组数等于通道数,用于提取每个通道的全局信息,之后有一个残差连接(residual connection)。2. 逐点卷积(第一次):接着是一个逐点卷积(pointwise convolution),核大小为 1×1。3. 逐点卷积(第二次)并倒置瓶颈设计:再经过一个逐点卷积,并且这两个逐点卷积之间有倒置瓶颈设计,即两个逐点卷积层之间的隐藏维度设置为比输入维度宽四倍,用于混合空间和通道信息。原创 2024-11-06 09:17:29 · 1166 阅读 · 0 评论 -
YOLOv8模型改进 第十七讲 通道压缩的自注意力机制CRA
CRA 模块以多頭自注意力为基础架构进行构建。多頭自注意力机制允许模型从不同的表示子空间中学习到更丰富的特征信息,这为有效地捕捉全局上下文提供了基础。1. 首先,对输入特征进行线性变换从而得到查询和键,同时对键和值进行平均池化操作。其中,查询是通过输入特征与特定的权重矩阵相乘得到,键是通过对输入特征先进行平均池化操作,然后再与权重矩阵相乘得到。原创 2024-11-04 12:01:40 · 971 阅读 · 0 评论 -
YOLOv8模型改进 第十六讲 添加频率谱动态聚合模块FSDA 去除图像噪声
频谱信息聚合:首先,以特征图的幅度谱和相位谱作为输入。对其进行逐点卷积操作,然后经过激活函数处理,实现频谱信息的初步聚合。计算通道权重:接着,以聚合后的频谱信息为输入。先进行全局平均池化,再经过多次卷积和激活函数操作,最后通过特定激活函数得到通道权重映射。应用通道权重:之后,将通道权重映射与之前聚合的频谱信息进行点乘,再通过卷积操作,然后利用残差连接进行滤波,从而得到滤波后的频谱信息,包括幅度谱和相位谱。映射回空间域。原创 2024-10-30 09:43:46 · 967 阅读 · 0 评论 -
YOLOv8模型改进 第十五讲 添加多尺度注意力聚合(MSAA)模块 提升多尺度目标检测
对来自backbone的特征进行细化处理。通过空间和通道两个路径的操作,增强了空间和通道方面的特征信息,使得输出的特征图在空间和通道维度上都更加优质。1. 在空间细化路径中,通过对不同核大小的卷积进行求和以及一系列的空间特征聚合操作,实现了多尺度空间信息的融合。2. 在通道聚合路径中,通过全局平均池化、卷积和激活等操作生成通道注意力图,并与空间细化后的图相结合,实现了通道维度上的多尺度信息融合。原创 2024-10-29 09:17:27 · 1219 阅读 · 0 评论 -
YOLOv8模型改进 第十四讲 添加傅里叶变换+Transformer模块FSAS
1. 卷积操作:通过1X1逐点卷积和3X3深度卷积对输入特征进行初步处理,以获取用于后续计算的特征q k v。2. 傅里叶变换:利用快速傅里叶变换(FFT)及其逆变换(IFFT)将特征从空间域转换到频域,并在频域中进行相关性计算。3. 归一化操作:使用层归一化(Layer Norm)对计算得到的相关性结果进行归一化处理,以便更好地估计聚合特征。最后通过一个的卷积操作将原始输入特征和估计的聚合特征相结合,生成最终的输出特征。原创 2024-10-24 10:44:49 · 1111 阅读 · 10 评论 -
YOLOv8模型改进 第十三讲 添加卷积和注意力融合模块(CAFM) 提升小目标和遮挡检测
CAFM 旨在融合卷积神经网络(CNNs)和 Transformer 的优势,通过结合局部特征捕捉能力(卷积操作)和全局特征提取能力(注意力机制),对图像的全局和局部特征进行有效建模,以提升检测效果。1.1 局部分支1. 通道调整:首先使用卷积调整通道维度。卷积可以在不改变特征图的宽和高的情况下,对通道数进行灵活调整,这有助于后续操作更好地处理特征信息。2.通道混洗操作:接着进行通道混洗操作。原创 2024-10-22 19:26:42 · 1518 阅读 · 0 评论 -
YOLOv8模型改进 第十二讲 添加Haar小波下采样Down_wt卷积
下图展示了Down_wt卷积的结构。通过Haar小波变换,该卷积模块实现了高效的特征提取和降采样。Down_wt 模块的设计Down_wt模块的核心功能是执行小波变换,并将变换后的结果与卷积层结合。小波变换:使用DWTForward类进行小波变换,提取低频和高频成分。特征拼接:将低频成分和三个高频成分(水平、垂直和对角)拼接在一起,形成新的输入。卷积层:通过1x1卷积、批量归一化和ReLU激活函数处理拼接后的特征。原创 2024-10-22 19:26:04 · 1137 阅读 · 4 评论 -
YOLOv8模型改进 第十一讲 添加自适应阈值焦点损失(ATFL)函数解决类别不平衡
自适应阈值焦点损失(Adaptive Threshold Focal Loss,ATFL)是一种用于目标检测和分割任务的损失函数,旨在解决类别不平衡问题并提高模型对难以分类样本的关注。ATFL 的设计灵感源自焦点损失(Focal Loss),后者通过降低易分类样本的损失权重来集中模型的注意力于难以分类的样本上。自适应性:ATFL 根据每个样本的特征和模型的输出自适应地调整损失权重。它能够动态地根据预测结果和真实标签之间的差异,调整阈值,使得模型在训练时更加关注难以分类的样本。焦点机制。原创 2024-10-22 19:25:32 · 1226 阅读 · 11 评论 -
YOLOv8模型改进 第十讲 添加全维度动态卷积(Omni-dimensional Dynamic Convolution,ODConv)
全维度动态卷积(ODConv),一种通过在卷积核的不同维度上引入注意力机制来增强特征表示的方法。动态卷积的概念:传统的卷积神经网络(CNN)使用静态的卷积核,而动态卷积通过使用多个卷积核的线性组合,并根据输入数据的不同加权,来提高模型的准确性。ODConv的设计:ODConv在卷积核的四个维度(空间尺寸、输入通道、输出通道和卷积核数量)上引入多维度注意力机制。这些注意力机制可以动态调整卷积核的权重,从而提高特征提取能力。性能提升。原创 2024-10-17 12:22:51 · 1381 阅读 · 1 评论 -
YOLOv8模型改进 第九讲 添加EMAttention注意力机制
EMA模块首先将输入通道分组(如“g”表示通道组数),然后通过两个并行分支处理特征。一个分支对特征进行水平和垂直方向的一维全局池化操作(X Avg Pool和Y Avg Pool),另一个分支通过3x3卷积提取特征。随后,这些特征通过sigmoid函数进行归一化处理,并通过跨维度交互模块进行整合。最后,经过sigmoid调制,输出特征映射会增强或削弱原始输入特征,提升模型的检测能力。原创 2024-10-17 10:46:42 · 1205 阅读 · 0 评论 -
YOLOv8模型改进 第八讲 添加上下文引导模块 ContextGuided
CGNet(Context Guided Network)是一种专为语义分割设计的轻量级神经网络。它通过有效的特征提取和上下文信息融合,旨在提升图像分割任务的准确性和效率。以下是 CGNet 的详细介绍,包括其设计理念、结构组成和应用场景。原创 2024-10-14 09:29:09 · 1220 阅读 · 0 评论 -
YOLOv8模型改进 第七讲 一种新颖的注意力机制 Outlook Attention
Outlook Attention 是一种新型的注意力机制,旨在增强模型在处理特征图时的上下文理解能力。它通过结合局部卷积操作与全局注意力计算,使得模型能够同时关注特征图中的细节和整体信息。这种设计特别适用于图像处理和计算机视觉任务,如目标检测、图像分类和图像分割等。原创 2024-10-14 09:28:17 · 1075 阅读 · 9 评论 -
YOLOv8模型改进 第六讲 添加多尺度卷积注意力模块(MSCAM)
在计算机视觉领域,目标检测的准确性和效率是研究的热点之一。YOLOv8 作为最新一代的实时目标检测模型,已经在多个基准数据集上展示了其优越的性能。然而,随着数据集和应用场景的复杂性增加,如何进一步提升模型的检测精度和鲁棒性仍然是一个重要课题。本博客将探讨将多尺度卷积注意力模块(MSCAM)整合到 YOLOv8 模型中的方法,以实现性能的进一步提升。原创 2024-10-10 14:44:40 · 1654 阅读 · 0 评论 -
YOLOv8模型改进 第五讲 添加StarNet星形卷积StarsBlock
本文将探讨如何将StarNet集成到YOLOv8中,以提高模型的特征表示能力和检测性能。它更像是核函数(特别是多项式核函数),在不同的通道上进行成对乘法,从而实现特征的非线性组合。星形操作能够在紧凑的特征空间内工作,同时受益于隐含的高维特征表示。这正是星形操作引人注目的地方,它能够在不增加计算成本的情况下,提供丰富的特征表示能力。首先,在我上传的代码中yolov8_improve中找到starnet.py代码部分,它包含两个部分一个是starnet.py的核心代码,一个是yolov8模型的配置文件。原创 2024-10-10 10:36:43 · 1075 阅读 · 0 评论 -
YOLOv8模型改进 第四讲 添加多阶门控聚合模块Multi-Order Gated Aggregation和通道聚合模块CA block
这个是YOLOv8模型的该机,本次讲的模块是MogaNet中的多阶门控聚合模块Multi-Order Gated Aggregation和通道聚合模块CA block原创 2024-10-08 10:36:59 · 1354 阅读 · 0 评论 -
YOLOv8模型改进 第三讲 添加多核感知网络PKINet
遥感图像(RSIs)中的目标检测面临着一系列日益严峻的挑战,主要包括目标尺度的显著变化和背景的多样性。以往的方法通常通过增大骨干网络的空间感受野来应对这些问题,具体方法包括使用大卷积核或膨胀卷积。然而,使用大卷积核时,通常会引入大量的背景噪声,而膨胀卷积则可能导致特征表示过于稀疏。为了解决这些问题,本文提出了一种多核感知网络(PKINet)。PKINet,并有效捕捉局部背景信息。同时,文中并行引入了,以捕捉长距离的上下文信息。原创 2024-10-04 10:13:50 · 1420 阅读 · 0 评论 -
YOLOv8模型改进 第二讲 添加非局部注意力机制NonLocalBlockND
非局部注意力机制是一种有效捕捉输入特征图中所有位置之间关系的方法。它特别适合处理需要全局上下文信息的任务,与传统卷积神经网络(CNN)相比,非局部块不再局限于局部邻域的特征。首先,在我上传的代码中yolov8_improve中找到Non_Local.py代码部分,它包含两个部分一个是Non_Local注意力机制的核心代码,一个是yolov8模型的配置文件。1. 首先我们在modules文件夹下面创建Non_Local.py文件,然后将Non_Local注意力机制的核心代码放入其中。原创 2024-10-02 10:40:37 · 1011 阅读 · 0 评论 -
YOLOv8模型改进 第一讲 添加小目标检测头分支
首先,我们简单回顾一下YOLOv8的模型架构。YOLOv8继承了YOLO系列的特点,具有高效的特征提取能力和多尺度特征融合。通常情况下,YOLOv8会在不同尺度上进行检测,通常会有三个检测头,用于处理大、中、小不同尺度的目标。但对于非常小的目标,这三个尺度可能仍然不足以有效捕捉,因此我们考虑增加一个更精细的检测头,专门处理这些小目标。首先,在我上传的代码中yolo_improve中找到yolov8_smallhead.yaml文件部分,它是一个yolov8模型的配置文件,根据他搭建小目标检测头。原创 2024-09-30 10:20:44 · 2548 阅读 · 0 评论