【YOLOv8改进- 多模块融合改进】GhostConv + ContextAggregation 幽灵卷积与上下文聚合模块融合改进,助力小目标高效涨点

简介: 【YOLOv8改进- 多模块融合改进】GhostConv + ContextAggregation 幽灵卷积与上下文聚合模块融合改进,助力小目标高效涨点

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

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

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

ContextAggregation介绍

image-20240724150933240

摘要

卷积神经网络(CNNs)在计算机视觉中无处不在,具有众多高效的变体。最近,最初在自然语言处理(NLP)中引入的Transformers越来越多地被应用于计算机视觉领域。尽管早期采用者继续使用CNN骨干网络,但最新的网络是端到端的、无CNN的Transformer解决方案。一个最近令人惊讶的发现表明,基于简单多层感知机(MLP)的解决方案,即使没有传统的卷积或Transformer组件,也能生成有效的视觉表示。虽然CNNs、Transformers和MLP-Mixers可以被认为是完全不同的架构,但我们提供了一个统一的视角,表明它们实际上是神经网络堆栈中聚合空间上下文的一种更普遍的方法的特例。我们提出了CONTAINER(CONText AggregatIon NEtwoRk),这是一个多头上下文聚合的通用构建模块,能够像Transformers一样利用长程交互,同时仍然利用局部卷积操作的归纳偏差,从而实现更快的收敛速度,这通常在CNNs中可见。我们的CONTAINER架构在ImageNet上使用22M参数实现了82.7%的Top-1准确率,相比DeiT-Small提高了2.8个百分点,并且只需200个epoch就能收敛到79.9%的Top-1准确率。与基于Transformer的方法相比,后者在依赖更大输入图像分辨率的下游任务中不具备良好的扩展性,我们的高效网络CONTAINER-LIGHT可以应用于DETR、RetinaNet和Mask-RCNN等目标检测和实例分割网络,获得令人印象深刻的检测mAP分别为38.9、43.8、45.1,和掩码mAP为41.3,相比使用可比计算和参数规模的ResNet-50骨干分别提高了6.6、7.3、6.9和6.6个点。与DeiT在DINO框架上的自监督学习相比,我们的方法也取得了可喜的结果。代码已在GitHub发布。

ContextAggregation文章链接

论文地址:论文地址

代码地址:代码地址

基本原

关键组成部分和机制

  1. 输入表示

    • 输入图像表示为 $X \in \mathbb{R}^{C \times H \times W}$,其中 $C$ 是通道数, $H \times W$ 是空间维度。该图像被展平为一系列标记 ${X_i \in \mathbb{R}^C | i = 1, \ldots, N}$,其中 $N = H \times W$。
  2. 亲和矩阵

    • 定义亲和矩阵 $A \in \mathbb{R}^{N \times N}$ 以表示上下文聚合的邻域。该矩阵决定了信息在特征空间中的传播方式。聚合函数可以表示为:
      $$ Y = (A V) W_1 + X, $$

      其中 $V \in \mathbb{R}^{N \times C}$ 是通过线性投影 $V = X W_2$ 从 $X$ 获得的变换版本。 $W_1$ 和 $W_2$ 是可学习参数。

  3. 多头聚合

    • 为了增加建模能力,使用多个亲和矩阵,创建几条上下文信息的路径。多头版本的聚合函数为:
      $$ Y = \text{Concat}(A_1 V_1, \ldots, A_M V_M) W_2 + X, $$

      其中每个 $A_m$ (对 $m = 1, \ldots, M$)是表示特征空间内不同关系的亲和矩阵,增强了相比单头版本的表示能力。

  4. 不同架构中的上下文聚合

    • Transformers:利用基于投影的query-key对之间相似性动态生成的亲和矩阵。自注意机制可以表示为:
      $$ A_{sa}^m = \text{Softmax}\left(\frac{Q_m K_m^T}{\sqrt{C/M}}\right), $$
      其中 $Q_m$ 和 $K_m$ 是query和key投影。这种方法捕捉实例级信息,但计算密集。
    • 深度卷积:并行融合空间和通道信息,使用从卷积核导出的静态和稀疏亲和矩阵。这种方法高效且适合捕捉局部上下文。

      • MLP-Mixer:使用转置MLP操作进行上下文聚合,具有密集亲和矩阵:
        $$ A_{mlp} = (W_{MLP})^T, $$
        其中 $W_{MLP}$ 是可学习参数。
  5. 统一框架:CONTAINER

    • CONTAINER(上下文聚合网络)模块通过可学习参数结合静态和动态亲和矩阵,提供灵活而强大的上下文聚合方法。一般形式为:
      $$ Y = (\alpha A(X) + \beta A)V W_2 + X, $$
      其中 $A(X)$ 是动态亲和矩阵, $A$ 是静态亲和矩阵。 $\alpha$ 和 $\beta$ 是可学习参数。

引入GhosConv代码

YOLOv8内置GhosConv,具体代码可见:ultralytics/ultralytics/nn/modules/conv.py

配置yolov8_GhostConvContextAggregation.yaml

ultralytics/ultralytics/cfg/models/v8/yolov8_GhostConvContextAggregation.yaml

# Ultralytics YOLO 🚀, AGPL-3.0 license
# YOLOv8 object detection model with P3-P5 outputs. For Usage examples see https://docs.ultralytics.com/tasks/detect

# Parameters
nc: 80  # number of classes
scales: # model compound scaling constants, i.e. 'model=yolov8n.yaml' will call yolov8.yaml with scale 'n'
  s: [0.33, 0.50, 1024]  # YOLOv8s summary: 225 layers, 11166560 parameters, 11166544 gradients,  28.8 GFLOPs

# YOLOv8.0s backbone
backbone:
  # [from, repeats, module, args]
  - [-1, 1, Conv, [64, 3, 2]]  # 0-P1/2
  - [-1, 1, GhostConv, [128, 3, 2]]  # 1-P2/4
  - [-1, 3, C2f, [128, True]]
  - [-1, 1, GhostConv, [256, 3, 2]]  # 3-P3/8
  - [-1, 6, C2f, [256, True]]
  - [-1, 1, GhostConv, [512, 3, 2]]  # 5-P4/16
  - [-1, 6, C2f, [512, True]]
  - [-1, 1, GhostConv, [1024, 3, 2]]  # 7-P5/32
  - [-1, 3, C2f, [1024, True]]
  - [-1, 1, SPPF, [1024, 5]]  # 9

# YOLOv8.0s head
head:
  - [-1, 1, nn.Upsample, [None, 2, 'nearest']]
  - [[-1, 6], 1, Concat, [1]]  # cat backbone P4
  - [-1, 3, C2f, [512]]  # 12

  - [-1, 1, nn.Upsample, [None, 2, 'nearest']]
  - [[-1, 4], 1, Concat, [1]]  # cat backbone P3
  - [-1, 3, C2f, [256]]  # 15 (P3/8-small)

  - [-1, 1, Conv, [256, 3, 2]]
  - [[-1, 12], 1, Concat, [1]]  # cat head P4
  - [-1, 3, C2f, [512]]  # 19 (P4/16-medium)

  - [-1, 1, Conv, [512, 3, 2]]
  - [[-1, 9], 1, Concat, [1]]  # cat head P5
  - [-1, 3, C2f, [1024]]  # 23 (P5/32-large)

  - [[15, 18, 21], 1, Detect, [nc]]  # Detect(P3, P4, P5)

task与yaml配置

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

相关文章
|
6月前
|
机器学习/深度学习 人工智能 算法
人工智能中数据组合采样、特征层、算法层的讲解(图文详解)
人工智能中数据组合采样、特征层、算法层的讲解(图文详解)
154 0
|
16天前
|
机器学习/深度学习 编解码 Java
YOLO11创新改进系列:卷积,主干 注意力,C3k2融合,检测头等创新机制(已更新100+)
《YOLO11目标检测创新改进与实战案例》专栏已更新100+篇文章,涵盖注意力机制、卷积优化、检测头创新、损失与IOU优化、轻量级网络设计等多方面内容。每周更新3-10篇,提供详细代码和实战案例,帮助您掌握最新研究和实用技巧。[专栏链接](https://blog.csdn.net/shangyanaf/category_12810477.html)
YOLO11创新改进系列:卷积,主干 注意力,C3k2融合,检测头等创新机制(已更新100+)
|
18天前
|
机器学习/深度学习 计算机视觉 网络架构
【YOLO11改进 - C3k2融合】C3k2DWRSeg二次创新C3k2_DWR:扩张式残差分割网络,提高特征提取效率和多尺度信息获取能力,助力小目标检测
【YOLO11改进 - C3k2融合】C3k2DWRSeg二次创新C3k2_DWR:扩张式残差分割网络,提高特征提取效率和多尺度信息获取能力,助力小目DWRSeg是一种高效的实时语义分割网络,通过将多尺度特征提取分为区域残差化和语义残差化两步,提高了特征提取效率。它引入了Dilation-wise Residual (DWR) 和 Simple Inverted Residual (SIR) 模块,优化了不同网络阶段的感受野。在Cityscapes和CamVid数据集上的实验表明,DWRSeg在准确性和推理速度之间取得了最佳平衡,达到了72.7%的mIoU,每秒319.5帧。代码和模型已公开。
【YOLO11改进 - C3k2融合】C3k2DWRSeg二次创新C3k2_DWR:扩张式残差分割网络,提高特征提取效率和多尺度信息获取能力,助力小目标检测
|
2月前
|
知识图谱
KDD 2024:Emory提出最新PolygonGNN框架:可捕捉通用多边形内外的空间关系
【9月更文挑战第16天】近年来,多边形表示学习在形状编码、建筑模式分类和地理问答等应用中至关重要。然而,现有研究多聚焦于单个多边形,忽视了多边形间复杂关系。为解决此问题,Emory大学团队提出了PolygonGNN框架,通过异质可见性图整合内外关系,并引入异质生成树采样提升计算效率。该框架设计了旋转平移不变的几何表示,适用于多种场景。实验结果显示,PolygonGNN在多个任务上表现优异,但在处理大规模场景时仍面临计算复杂度挑战,并未充分考虑拓扑结构和语义信息的影响。
34 2
|
3月前
|
知识图谱 索引
Sora视频重建与创新路线问题之Temporal Transformer中的自注意力模块是如何运行的
Sora视频重建与创新路线问题之Temporal Transformer中的自注意力模块是如何运行的
|
4月前
|
机器学习/深度学习 大数据 计算机视觉
【YOLOv8改进 - 特征融合】 GELAN:YOLOV9 通用高效层聚合网络,高效且涨点
YOLOv8专栏探讨了深度学习中信息瓶颈问题,提出可编程梯度信息(PGI)和广义高效层聚合网络(GELAN),改善轻量级模型的信息利用率。GELAN在MS COCO数据集上表现优越,且PGI适用于不同规模的模型,甚至能超越预训练SOTA。[论文](https://arxiv.org/pdf/2402.13616)和[代码](https://github.com/WongKinYiu/yolov9)已开源。核心组件RepNCSPELAN4整合了RepNCSP块和卷积。更多详情及配置参见相关链接。
|
4月前
|
测试技术 计算机视觉 网络架构
【YOLOv8改进 - 特征融合】CARAFE:轻量级新型上采样算子,助力细节提升
【YOLOv8改进 - 特征融合】CARAFE:轻量级新型上采样算子,助力细节提升
|
6月前
|
机器学习/深度学习
YOLOv8改进 | 细节创新篇 | iAFF迭代注意力特征融合助力多目标细节涨点
YOLOv8改进 | 细节创新篇 | iAFF迭代注意力特征融合助力多目标细节涨点
556 0
|
6月前
|
计算机视觉 网络架构
【YOLOv8改进】MSBlock : 分层特征融合策略 (论文笔记+引入代码)
YOLO-MS是一个创新的实时目标检测器,通过多尺度构建块(MS-Block)和异构Kernel选择(HKS)协议提升多尺度特征表示能力。它在不依赖预训练权重和大型数据集的情况下,在MS COCO上超越了YOLO-v7和RTMDet,例如YOLO-MS XS版本(4.5M参数,8.7G FLOPs)达到了43%+的AP,比RTMDet高2%+。MS-Block利用分层特征融合和不同大小的卷积,而HKS协议根据网络深度调整Kernel大小,优化多尺度语义信息捕获。此外,YOLO-MS的模块化设计允许其作为即插即用的组件集成到其他YOLO模型中,提升它们的检测性能。
|
6月前
|
机器学习/深度学习 算法 PyTorch
【SAHI】即插即用| SAHI操作可有效解决小目标检测过程中的难点!实现涨点
【SAHI】即插即用| SAHI操作可有效解决小目标检测过程中的难点!实现涨点
377 1