【YOLOv8改进- Backbone主干】YOLOv8更换主干网络之ConvNexts,纯卷积神经网络,更快更准,,降低参数量!

简介: YOLOv8专栏探讨了针对目标检测的ConvNet创新,提出ConvNeXt模型,它挑战Transformer在视觉任务中的主导地位。ConvNeXt通过增大卷积核、使用GeLU激活、切换到LayerNorm和改进下采样层,提升了纯ConvNet性能,达到与Transformer相当的准确率和效率。论文和代码已公开。

YOLOv8目标检测创新改进与实战案例专栏

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

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

介绍

image-20240715230851343

摘要

视觉识别的“咆哮20年代”开始于视觉Transformer(ViTs)的引入,ViTs迅速取代了卷积神经网络(ConvNets)成为最先进的图像分类模型。然而,普通的ViT在应用于诸如目标检测和语义分割等一般计算机视觉任务时面临困难。分层Transformer(例如Swin Transformer)重新引入了几种ConvNet先验知识,使得Transformer在实际应用中成为通用的视觉骨干,并在各种视觉任务中表现出色。然而,这种混合方法的有效性很大程度上仍归因于Transformer的内在优势,而不是卷积的固有归纳偏差。在这项工作中,我们重新审视了设计空间,并测试了纯ConvNet的极限。我们逐步将标准的ResNet“现代化”,朝着视觉Transformer的设计方向发展,并在此过程中发现了几个关键组件,这些组件对性能差异有贡献。经过这一探索,我们推出了一系列纯ConvNet模型,命名为ConvNeXt。这些模型完全由标准的ConvNet模块构建,与Transformer在准确性和可扩展性方面竞争,达到了87.8%的ImageNet top-1准确率,并在COCO检测和ADE20K分割中超过了Swin Transformer,同时保持了标准ConvNets的简单性和效率。

文章链接

论文地址:论文地址

代码地址:代码地址

基本原理

Transformer在视觉领域大放异彩?以后卷积怎么办呢?facebook 的研究人员就探究了这样一个问题。首先,SwinTransformer采用分层和窗口的设计,取得了非常好的性能。这说明卷积这种窗口的设计也是有用的,因此,研究人员通过对比卷积和Transformer的体系结构,设计了ConvNext。

(1)提升感受野,使用更大的卷积核(33-->77),但是更大的卷积核带来了更多的运算量,这就需要使用1*1的卷积调整通道和分组卷积了。

(2)将ReLU替换为GeLU,并设计了一个类似于Transformer的FFN层的结构,即在两层1*1的卷积中间使用激活函数

(3)归一化由BN变为LN,并类似于Transformer,使用更少的归一化层。

(4)降采样层:类似于Swin Transformer,使用2*2的卷积,stride为2,并使用LN稳定训练。

image-20240715230809328

核心代码


class ConvNeXt_Stem(nn.Module):
    def __init__(self, c1, c2, k=1, s=1, p=None, g=1, d=1, act=True):
        super().__init__()
        self.conv = nn.Conv2d(c1, c2, k, s, groups=g, dilation=d)
        self.ln = LayerNorm(c2, eps=1e-6, data_format="channels_first")

    def forward(self, x):
        return self.ln(self.conv(x))


class ConvNeXt_Downsample(nn.Module):
    def __init__(self, c1, c2, k=1, s=1, p=None, g=1, d=1, act=True):
        super().__init__()
        self.conv = nn.Conv2d(c1, c2, k, s, groups=g, dilation=d)
        self.ln = LayerNorm(c1, eps=1e-6, data_format="channels_first")

    def forward(self, x):
        return self.conv(self.ln(x))

task与yaml配置

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

相关文章
|
机器学习/深度学习 编解码 自动驾驶
RT-DETR改进策略【模型轻量化】| 替换骨干网络为MoblieNetV1,用于移动视觉应用的高效卷积神经网络
RT-DETR改进策略【模型轻量化】| 替换骨干网络为MoblieNetV1,用于移动视觉应用的高效卷积神经网络
665 3
RT-DETR改进策略【模型轻量化】| 替换骨干网络为MoblieNetV1,用于移动视觉应用的高效卷积神经网络
|
机器学习/深度学习 编解码 自动驾驶
YOLOv11改进策略【模型轻量化】| 替换骨干网络为MoblieNetV1,用于移动视觉应用的高效卷积神经网络
YOLOv11改进策略【模型轻量化】| 替换骨干网络为MoblieNetV1,用于移动视觉应用的高效卷积神经网络
486 16
YOLOv11改进策略【模型轻量化】| 替换骨干网络为MoblieNetV1,用于移动视觉应用的高效卷积神经网络
|
机器学习/深度学习 存储 大数据
RT-DETR改进策略【Backbone/主干网络】| ICLR-2023 替换骨干网络为:RevCol 一种新型神经网络设计范式
RT-DETR改进策略【Backbone/主干网络】| ICLR-2023 替换骨干网络为:RevCol 一种新型神经网络设计范式
437 11
RT-DETR改进策略【Backbone/主干网络】| ICLR-2023 替换骨干网络为:RevCol 一种新型神经网络设计范式
|
机器学习/深度学习 存储 大数据
YOLOv11改进策略【Backbone/主干网络】| ICLR-2023 替换骨干网络为:RevCol 一种新型神经网络设计范式
YOLOv11改进策略【Backbone/主干网络】| ICLR-2023 替换骨干网络为:RevCol 一种新型神经网络设计范式
501 0
YOLOv11改进策略【Backbone/主干网络】| ICLR-2023 替换骨干网络为:RevCol 一种新型神经网络设计范式
|
机器学习/深度学习 计算机视觉 异构计算
YOLOv8优改系列一:YOLOv8融合BiFPN网络,实现网络快速涨点
本文介绍了将BiFPN网络应用于YOLOv8以增强网络性能的方法。通过双向跨尺度连接和加权特征融合,BiFPN能有效捕获多尺度特征,提高目标检测效果。文章还提供了详细的代码修改步骤,包括修改配置文件、创建模块文件、修改训练代码等,以实现YOLOv8与BiFPN的融合。
3373 0
YOLOv8优改系列一:YOLOv8融合BiFPN网络,实现网络快速涨点
|
算法 计算机视觉 Python
YOLOv8优改系列二:YOLOv8融合ATSS标签分配策略,实现网络快速涨点
本文介绍了如何将ATSS标签分配策略融合到YOLOv8中,以提升目标检测网络的性能。通过修改损失文件、创建ATSS模块文件和调整训练代码,实现了网络的快速涨点。ATSS通过自动选择正负样本,避免了人工设定阈值,提高了模型效率。文章还提供了遇到问题的解决方案,如模块载入和环境配置问题。
955 0
YOLOv8优改系列二:YOLOv8融合ATSS标签分配策略,实现网络快速涨点
|
机器学习/深度学习 计算机视觉 异构计算
YOLOv8优改系列一:YOLOv8融合BiFPN网络,实现网络快速涨点
该专栏专注于YOLOv8的 Neck 部分改进,融合了 BiFPN 网络,大幅提升检测性能。BiFPN 通过高效的双向跨尺度连接和加权特征融合,解决了传统 FPN 的单向信息流限制。文章详细介绍了 BiFPN 的原理及其实现方法,并提供了核心代码修改指导。点击链接订阅专栏,每周定时更新,助您快速提升模型效果。推荐指数:⭐️⭐️⭐️⭐️,涨点指数:⭐️⭐️⭐️⭐️。
1396 0
|
SQL 安全 网络安全
网络安全与信息安全:知识分享####
【10月更文挑战第21天】 随着数字化时代的快速发展,网络安全和信息安全已成为个人和企业不可忽视的关键问题。本文将探讨网络安全漏洞、加密技术以及安全意识的重要性,并提供一些实用的建议,帮助读者提高自身的网络安全防护能力。 ####
432 17
|
SQL 安全 网络安全
网络安全与信息安全:关于网络安全漏洞、加密技术、安全意识等方面的知识分享
随着互联网的普及,网络安全问题日益突出。本文将从网络安全漏洞、加密技术和安全意识三个方面进行探讨,旨在提高读者对网络安全的认识和防范能力。通过分析常见的网络安全漏洞,介绍加密技术的基本原理和应用,以及强调安全意识的重要性,帮助读者更好地保护自己的网络信息安全。
336 10
|
存储 SQL 安全
网络安全与信息安全:关于网络安全漏洞、加密技术、安全意识等方面的知识分享
随着互联网的普及,网络安全问题日益突出。本文将介绍网络安全的重要性,分析常见的网络安全漏洞及其危害,探讨加密技术在保障网络安全中的作用,并强调提高安全意识的必要性。通过本文的学习,读者将了解网络安全的基本概念和应对策略,提升个人和组织的网络安全防护能力。

热门文章

最新文章