基于YOLOv8的道路缺陷检测:自研模块 MSAM 注意力 PK CBAM注意力,实现暴力涨点

💡💡💡本文自研创新改进MSAM(CBAM升级版):通道注意力具备多尺度性能,多分支深度卷积更好的提取多尺度特征,最后高效结合空间注意力

1)作为注意力MSAM使用;

推荐指数:五星

MSCA | 亲测在多个数据集能够实现涨点,对标CBAM。

在道路缺陷检测任务中,原始map为0.8,cbam为0.822 ,MSCA 为 0.855

收录 YOLOv8原创自研

https://blog.csdn.net/m0_63774211/category_12511737.html?spm=1001.2014.3001.5482

💡💡💡全网独家首发创新(原创),适合paper !!!

💡💡💡 2024年计算机视觉顶会创新点适用于Yolov5、Yolov7、Yolov8等各个Yolo系列,专栏文章提供每一步步骤和源码,轻松带你上手魔改网络 !!!

💡💡💡重点:通过本专栏的阅读,后续你也可以设计魔改网络,在网络不同位置(Backbone、head、detect、loss等)进行魔改,实现创新!!!

1.计算机视觉中的注意力机制

一般来说,注意力机制通常被分为以下基本四大类:

通道注意力 Channel Attention

空间注意力机制 Spatial Attention

时间注意力机制 Temporal Attention

分支注意力机制 Branch Attention

2.CBAM:通道注意力和空间注意力的集成者

轻量级的卷积注意力模块,它结合了通道和空间的注意力机制模块

论文题目:《CBAM: Convolutional Block Attention Module》
论文地址: https://arxiv.org/pdf/1807.06521.pdf

上图可以看到,CBAM包含CAM(Channel Attention Module)和SAM(Spartial Attention Module)两个子模块,分别进行通道和空间上的Attention。这样不只能够节约参数和计算力,并且保证了其能够做为即插即用的模块集成到现有的网络架构中去。

3.自研MSAM

3.1 自研MSAM注意力介绍

多尺度卷积注意模块具备多尺度性能

原理:CBMA原先的通道注意力替换为多尺度卷积注意,使通道注意力具备多尺度性能

复制代码
# 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'
  # [depth, width, max_channels]
  n: [0.33, 0.25, 1024]  # YOLOv8n summary: 225 layers,  3157200 parameters,  3157184 gradients,   8.9 GFLOPs
  s: [0.33, 0.50, 1024]  # YOLOv8s summary: 225 layers, 11166560 parameters, 11166544 gradients,  28.8 GFLOPs
  m: [0.67, 0.75, 768]   # YOLOv8m summary: 295 layers, 25902640 parameters, 25902624 gradients,  79.3 GFLOPs
  l: [1.00, 1.00, 512]   # YOLOv8l summary: 365 layers, 43691520 parameters, 43691504 gradients, 165.7 GFLOPs
  x: [1.00, 1.25, 512]   # YOLOv8x summary: 365 layers, 68229648 parameters, 68229632 gradients, 258.5 GFLOPs

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

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

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

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

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

  - [[16, 19, 22], 1, Detect, [nc]]  # Detect(P3, P4, P5)

4.数据集验证

数据集介绍道路缺陷检测数据集,数据大小390张,随机划分为训练、测试、验证集。

下图可见,缺陷存在各个尺度的特征,验证多尺度创新点是十分合适的

原始v8n性能

复制代码
YOLOv8 summary (fused): 168 layers, 3005843 parameters, 0 gradients, 8.1 GFLOPs
                 Class     Images  Instances      Box(P          R      mAP50  mAP50-95): 100%|██████████| 5/5 [00:01<00:00,  2.50it/s]
                   all         71         63      0.731      0.732        0.8       0.47

cbam性能

复制代码
YOLOv8_CBAM summary (fused): 176 layers, 3071733 parameters, 0 gradients, 8.1 GFLOPs
                 Class     Images  Instances      Box(P          R      mAP50  mAP50-95): 100%|██████████| 5/5 [00:02<00:00,  2.46it/s]
                   all         71         63      0.834      0.683      0.822      0.442

msam性能

复制代码
YOLOv8_MSAM summary (fused): 181 layers, 3099893 parameters, 0 gradients, 8.2 GFLOPs
                 Class     Images  Instances      Box(P          R      mAP50  mAP50-95): 100%|██████████| 5/5 [00:02<00:00,  2.46it/s]
                   all         71         63      0.788      0.794      0.855      0.507
相关推荐
甄公子几秒前
YOLO在无人机视觉中的应用:低功耗GPU也能跑得动?
yolo· 无人机视觉· 边缘计算
matlab科研助手几秒前
【路径规划】基于遗传算法的农药无人机在多边形区域的路径规划研究附Matlab代码
开发语言·matlab·无人机
2301_780669863 分钟前
字符集及其编码、解码操作、IO流分类
java·开发语言
计算机C9硕士_算法工程师4 分钟前
基于深度学习风力叶片缺陷检测系统 无人机自动巡检风电场 - 风电运维智能诊断平台 - 缺陷生命周期追踪系统
运维·深度学习·无人机
无名的小三轮11 分钟前
第三章 防火墙概述
开发语言·php
大模型最新论文速读13 分钟前
ProFit: 屏蔽低概率 token,解决 SFT 过拟合问题
人工智能·深度学习·机器学习·语言模型·自然语言处理
有梦想的攻城狮19 分钟前
Java中的Double类型的存在精度丢失详解
java·开发语言·bigdecimal·double
cskywit19 分钟前
VMamba环境本地适配配置
人工智能·深度学习·mamba
victory043120 分钟前
minimind SFT失败原因排查和解决办法
人工智能·python·深度学习
逐梦苍穹22 分钟前
世界模型通俗讲解:AI大脑里的“物理模拟器“
人工智能·世界模型