基于Yolov8的野外烟雾检测(2):多维协作注意模块MCA,效果秒杀ECA、SRM、CBAM等 | 2023.9最新发布

 

目录

 

1.Yolov8介绍

2.野外火灾烟雾数据集介绍

3.MCA介绍

 4.训练结果分析

5.系列篇


1.Yolov8介绍

         Ultralytics YOLOv8是Ultralytics公司开发的YOLO目标检测和图像分割模型的最新版本。YOLOv8是一种尖端的、最先进的(SOTA)模型,它建立在先前YOLO成功基础上,并引入了新功能和改进,以进一步提升性能和灵活性。它可以在大型数据集上进行训练,并且能够在各种硬件平台上运行,从CPU到GPU。

具体改进如下:

  1. Backbone:使用的依旧是CSP的思想,不过YOLOv5中的C3模块被替换成了C2f模块,实现了进一步的轻量化,同时YOLOv8依旧使用了YOLOv5等架构中使用的SPPF模块;

  2. PAN-FPN:毫无疑问YOLOv8依旧使用了PAN的思想,不过通过对比YOLOv5与YOLOv8的结构图可以看到,YOLOv8将YOLOv5中PAN-FPN上采样阶段中的卷积结构删除了,同时也将C3模块替换为了C2f模块;

  3. Decoupled-Head:是不是嗅到了不一样的味道?是的,YOLOv8走向了Decoupled-Head;

  4. Anchor-Free:YOLOv8抛弃了以往的Anchor-Base,使用了Anchor-Free的思想;

  5. 损失函数:YOLOv8使用VFL Loss作为分类损失,使用DFL Loss+CIOU Loss作为分类损失;

  6. 样本匹配:YOLOv8抛弃了以往的IOU匹配或者单边比例的分配方式,而是使用了Task-Aligned Assigner匹配方式

框架图提供见链接:Brief summary of YOLOv8 model structure · Issue #189 · ultralytics/ultralytics · GitHub

2.野外火灾烟雾数据集介绍

数据集大小737张,train:val:test 随机分配为7:2:1,类别:smoke

3.MCA介绍

 

图 1:所提出的多维协作注意模块 (d) 与 ECA 模块 (a)、SRM (b) 和 CBAM (c) 的示意图比较。

 图 2:所提出的具有三个分支的 MCA 模块的总体架构。

顶部分支用于捕获空间维度 W 中特征之间的交互。类似地,中间分支用于捕获空间维度 H 中特征之间的交互。底部分支负责捕获通道之间的交互。 在前两个分支中,我们采用置换操作来捕获通道维度与任一空间维度之间的远程依赖性。 最后,在积分阶段通过简单平均来聚合所有三个分支的输出。

 图 3:原始残差块的架构(左)、MCA 集成到基本残差块(中)以及 MCA 集成到瓶颈残差块(右)。

3.1MCA加入到yolov8

核心代码:

class MCALayer(nn.Module):
    def __init__(self, inp, no_spatial=True):
        """Constructs a MCA module.
        Args:
            inp: Number of channels of the input feature maps
            no_spatial: whether to build channel dimension interactions
        """
        super(MCALayer, self).__init__()

        lambd = 1.5
        gamma = 1
        temp = round(abs((math.log2(inp) - gamma) / lambd))
        kernel = temp if temp % 2 else temp - 1

        self.h_cw = MCAGate(3)
        self.w_hc = MCAGate(3)
        self.no_spatial = no_spatial
        if not no_spatial:
            self.c_hw = MCAGate(kernel)

    def forward(self, x):
        x_h = x.permute(0, 2, 1, 3).contiguous()
        x_h = self.h_cw(x_h)
        x_h = x_h.permute(0, 2, 1, 3).contiguous()

        x_w = x.permute(0, 3, 2, 1).contiguous()
        x_w = self.w_hc(x_w)
        x_w = x_w.permute(0, 3, 2, 1).contiguous()

        if not self.no_spatial:
            x_c = self.c_hw(x)
            x_out = 1 / 3 * (x_c + x_h + x_w)
        else:
            x_out = 1 / 2 * (x_h + x_w)

        return x_out

详见:YoloV8改进:原创独家首发 | 多维协作注意模块MCA,暴力涨点,效果秒杀ECA、SRM、CBAM等 | 即插即用系列_AI小怪兽的博客-CSDN博客

 4.训练结果分析

训练结果如下:

原始mAP@0.5 0.839提升至0.87

YOLOv8n_MCALayer summary (fused): 209 layers, 2545659 parameters, 0 gradients, 7.2 GFLOPs
                 Class     Images  Instances      Box(P          R      mAP50  mAP50-95): 100%|██████████| 4/4 [00:05<00:00,  1.46s/it]
                   all        199        177      0.817      0.853       0.87      0.504

5.系列篇

1)基于Yolov8的野外烟雾检测

2)基于Yolov8的野外烟雾检测(2):多维协作注意模块MCA| 2023.9最新发布

3)基于Yolov8的野外烟雾检测(3):动态蛇形卷积,实现暴力涨点 | ICCV2023

4)基于Yolov8的野外烟雾检测(4):通道优先卷积注意力(CPCA) | 中科院2023最新发表 

5)  基于Yolov8的野外烟雾检测(5):Gold-YOLO,遥遥领先,超越所有YOLO

  • 2
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论
ggplot.acm 是一个用于实现多重对应分析 (MCA) 的 ggplot2 扩展包。多重对应分析是一种多元数据分析方法,常用于研究因素间的关联和相互作用。 ggplot.acm 提供了一种在 R 语言环境中使用 ggplot2 语法进行 MCA 可视化分析的简单且灵活的工具。 ggplot.acm 提供了一些主要函数和方法,以帮助用户处理和分析多变量数据。用户可以利用这些函数对数据集进行预处理,如数据标准化、缺失值处理等。然后,用户可以使用 ggplot2 语法创建图形,并通过 ggplot.acm 提供的特殊图层函数将 MCA 分析结果添加到图形中。 ggplot.acm 支持在图形中展示多个变量之间的关系和交互作用。用户可以根据需要选择要显示的变量,并使用 ggplot2 的强大图形功能自定义图形样式。此外,ggplot.acm 还提供了一些额外的功能,如通过颜色、形状或尺寸来区分不同组别的变量,以及在图中添加标签和注释等。 ggplot.acm 的设计目标是使 MCA 变得更加容易理解和应用。它提供了一个直观且易于使用的界面,让用户可以通过探索数据和可视化结果来了解变量之间的关系。同时,ggplot.acm 还具有高度可定制性,用户可以根据自己的需求和偏好进行个性化设置。 总而言之,ggplot.acm 是一个能够简化 MCA 分析并提供多样化可视化效果的工具。它使用户能够更轻松地使用 ggplot2 进行多重对应分析,并通过丰富的图形功能更好地理解数据。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

AI小怪兽

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值