Light-YOLOv5 | SepViT + BiFPN + SIoU成就更轻更快更优秀的 YOLOv5 改进算法

简介: Light-YOLOv5 | SepViT + BiFPN + SIoU成就更轻更快更优秀的 YOLOv5 改进算法

针对现有目标检测算法应用于复杂火灾场景检测精度差、速度慢、部署困难的问题,本文提出一种轻量级的 Light-YOLOv5 火灾检测算法,实现速度和精度的平衡。

首先,将最后一层 Backbone 替换为SepViT Block,增强 Backbone 与全局信息的联系;

其次,设计了 Light-BiFPN Neck 网络,在提高特征提取的同时减轻模型复杂度;

第三,将全局注意力机制(GAM)融合到网络中,使模型更加关注全局维度特征;

最后,使用 Mish 激活函数和 SIoU 损失来提高收敛速度,同时提高准确率。

实验结果表明,Light-YOLOv5 与原算法相比 mAP 提升 3.3%,参数数量减少 27.1%,计算量减少 19.1%,FPS 达到 91.1。即使与最新的 YOLOv7-tiny 相比,Light-YOLOv5 的 mAP 也高出6.8%,可见该算法的有效性。


1、简介


火灾会对公共安全产生重大影响,每年都会造成大量人员伤亡和财产损失。及时发现火灾可以大大减少人员伤亡和损失。

传统的火灾检测方法主要使用烟雾和温度传感器,检测范围和场景有限,响应时间长。随着人工智能和机器学习的发展,基于深度学习的火灾检测得到了广泛的应用。但是,火灾检测场景往往过于复杂多变,在这种情况下,传统火灾检测算法的泛化性和鲁棒性不足,难以部署到低算力平台。针对现有火灾检测的不足,本文提出一种基于 YOLOv5 的轻量级 Light-YOLOv5s 复杂火灾场景检测算法。本文的贡献如下:

  1. 用SepViT Block替换 Backbone 网络的最后几层,加强网络与全局特征信息的连接;
  2. 提出一种 Light-BiFPN 结构,降低计算成本和参数,同时增强多尺度特征的融合,丰富语义特征;
  3. 在 YOLOv5 中加入了全局注意力机制,以增强网络的整体特征提取能力;
  4. 最终验证了 Mish 激活函数和 SIoU 损失函数的有效性。

2、本文方法


2.1、Baseline

YOLOv5 有n、s、m版本等。经过实验对比选择了兼具速度和准确率的 YOLOv5n 作为改进的 baseline,将改进后的模型称为 Light-YOLOv5,其结构如图1所示。

image.png

2.2、Separable Vision Transformer

近年来,Vision Transformer 在一系列计算机视觉任务中取得了巨大成功,在主要领域的性能超过了 CNN。然而,这些性能通常是以增加计算复杂性和参数数量为代价的。

Separable Vision Transformer 通过在平衡计算成本的同时保持准确性来解决这一挑战。本文将 Backbone 网络的最后一层替换为 SepViT Block,增强了模型的特征提取能力,优化了网络全局信息的关系。

在 SepViT Block 中,depthwise self-attention 和 pointwise self-attention 减少了计算量,实现了窗口中的局部信息通信和全局信息交互。首先,将分割后的特征图的每个窗口视为其输入通道之一,每个窗口包含自己的信息,然后对每个窗口 Token 及其像素 Token 进行深度自注意力(DWA)。DWA 的操作如下:

image.png

其中 𝑓 是特征 Token,由窗口Token和像素Token组成。𝑊𝑄、𝑊𝐾和𝑊𝑉代表3个线性层,用于常规自注意力中的 query、key 和 value 计算。注意力表示标准的自注意力操作。

DWA操作完成后,使用 pointwise self-attention(PWA) 建立窗口之间的连接,并通过 LayerNormalization(LN) 和 GelU 激活函数生成 Attention map。PWA的操作如下:

image.png

其中,𝑤𝑡表示窗口Token。然后,SepViT Block 可以表示为:

image.png

其中,表示为 SepViT Block。和是特征图和学习到的窗口Token。Concat表示拼接操作。Slice表示切片操作。图2显示了SepViT Block的结构。

image.png

2.3、Light-BiFPN Neck

在本节中,受到这些文章的启发,例如 MobileNet、ShuffleNet、EfficientDet、GhosetNet、PP-LCNet 等。我们设计了一个轻量级的颈部网络,我们称之为 Light-BiFPN。

在火灾检测中,速度和准确性同样重要,作者发现深度可分离卷积 (DSC) 和 Ghost 卷积在准确性上几乎没有差异。DSC 能够在更大程度上减少参数和计算量,但 DSC 也存在计算过程中输入图像的通道信息分离的缺点。为了解决这个问题,作者通过通道 Shuffle DSC输出的特征来改进DSC块,文章称之为改进的模块 DSSSonv,其结构如图3(b)所示。其中深度可分离卷积由深度卷积和点卷积组成,输入一个𝐻×𝑊×𝐶 特征图𝑃 ,每个输入通道一个滤波器的深度卷积可以描述为:

image.png

其中𝐾是大小为 𝐻𝑘×𝑊𝑘×𝐶 的深度卷积核,其中𝑚𝑡ℎ滤波器应用于𝑃中的𝑚𝑡ℎ通道,以生成过滤后的输出特征图𝐺的𝑚𝑡ℎ通道。然后通过以下方式生成新特征 1×1 点卷积,计算过程如图3(a)所示。

作者还基于 YOLOv5 的 bottleneck 和 C3 模块设计了 DSSbottleneck 和 DSSC3,它们的结构如图4(a)和(b)所示。

image.png

YOLOv5 在 Neck 使用 PANET 进行特征提取和融合。它采用自下而上和自上而下的双向融合方法,取得了不错的效果,但火灾检测的环境通常过于复杂,需要融合更多的特征才能获得更好的效果。

BiFPN是一种加权双向特征金字塔网络,将同一层的输入和输出节点跨层连接起来,实现更高层次的融合,缩短上下层之间信息传递的路径。由于加权带来了一定的计算量提升,本文去掉了加权特征融合,使 Neck 网络进一步轻量化。

2.4、Global Attention Mechanism

火灾检测环境复杂,容易出现误检和漏检。GAM 用于加强空间与通道之间的联系,减少火灾中火焰和烟雾的信息还原,放大全局维度的特征。给定输入特征图 ,输出 𝐹3 定义为:

image.png

其中𝑀𝑐是通道图,𝑀𝑆是空间图;⊗ 表示元素乘法。将 GAM 添加到 bottleneck 模块中,其结构如图 5 所示。

image.png

2.5、IoU Loss and Activation

IoU loss 可以更准确地预测 bounding box 回归的定位,YOLO 系列中最常用的就是 CIoU。随着研究的深入,IoU的变种也越来越多,如 DIoU、GIoU、EIoU 和最新的 SIoU。它们的定义如下:

其中参数𝐴和𝐵分别表示 ground truth 边界框的面积和预测边界框的面积;𝐶 表示 ground truth 边界框和预测边界框的最小包围框;𝑏,𝑏𝑔𝑡 分别表示预测边界框和 ground truth 边界框的质心,𝜌 表示两个质心之间的欧几里得距离,𝑑 是可以同时包含预测边界框和真实边界框的最小封闭区域的对角线距离 ground truth 边界框;𝛼 是权重函数,𝑣 用来衡量纵横比的相似度。

YOLOv5 使用的 CIoU 依赖于边界框回归指标的聚合,没有考虑期望的 ground truth 框和预测的“实验”框之间不匹配的方向。这导致在训练速度和预测准确性方面不如 SIoU。

在轻量级网络中,HSwish、Mish 和 LeakyReLU 在训练速度上都比 ReLu 快。它们可以定义为:


3、实验



4、推荐阅读


超越YOLOv7 | YOLOv6论文放出,重参+自蒸馏+感知量化+...各种Tricks大放异彩

YOLOU 集成超轻量化 YOLO 系列模型YOLO-Fastest v2,ONNX一键导出部署!

Transformer新SOTA | 超越SWin、CSWin,MAFormer再探ViT Backbone新高度

相关文章
|
7月前
|
机器学习/深度学习 存储 监控
yolov5单目测距+速度测量+目标跟踪(算法介绍和代码)
yolov5单目测距+速度测量+目标跟踪(算法介绍和代码)
|
7月前
|
机器学习/深度学习 算法 计算机视觉
[YOLOv8/YOLOv7/YOLOv5系列算法改进NO.5]改进特征融合网络PANET为BIFPN(更新添加小目标检测层yaml)
本文介绍了改进YOLOv5以解决处理复杂背景时可能出现的错漏检问题。
281 5
|
7月前
|
算法 PyTorch Go
深入解析yolov5,为什么算法都是基于yolov5做改进的?(一)
深入解析yolov5,为什么算法都是基于yolov5做改进的?(一)
|
7月前
|
机器学习/深度学习 算法
YOLOv5改进算法之添加CA注意力机制模块
CA(Coordinate Attention)注意力机制是一种用于加强深度学习模型对输入数据的空间结构理解的注意力机制。CA 注意力机制的核心思想是引入坐标信息,以便模型可以更好地理解不同位置之间的关系。
532 0
|
7月前
|
机器学习/深度学习 编解码 算法
Yolov5改进算法之添加Res2Net模块
Res2Net(Residual Resolution Network)是一种用于图像处理和计算机视觉任务的深度卷积神经网络架构。它旨在解决传统的ResNet(Residual Network)存在的问题,如对不同尺度和分辨率特征的建模不足以及网络深度受限的问题。Res2Net通过引入多分支的结构和逐级增加的分辨率来提高网络的表达能力,从而在各种视觉任务中取得了显著的性能提升。
414 0
|
机器学习/深度学习 人工智能 分布式计算
基于YOLOv5算法的APP弹窗检测方案
基于YOLOv5算法的APP弹窗检测方案
|
15天前
|
算法
基于WOA算法的SVDD参数寻优matlab仿真
该程序利用鲸鱼优化算法(WOA)对支持向量数据描述(SVDD)模型的参数进行优化,以提高数据分类的准确性。通过MATLAB2022A实现,展示了不同信噪比(SNR)下模型的分类误差。WOA通过模拟鲸鱼捕食行为,动态调整SVDD参数,如惩罚因子C和核函数参数γ,以寻找最优参数组合,增强模型的鲁棒性和泛化能力。
|
21天前
|
机器学习/深度学习 算法 Serverless
基于WOA-SVM的乳腺癌数据分类识别算法matlab仿真,对比BP神经网络和SVM
本项目利用鲸鱼优化算法(WOA)优化支持向量机(SVM)参数,针对乳腺癌早期诊断问题,通过MATLAB 2022a实现。核心代码包括参数初始化、目标函数计算、位置更新等步骤,并附有详细中文注释及操作视频。实验结果显示,WOA-SVM在提高分类精度和泛化能力方面表现出色,为乳腺癌的早期诊断提供了有效的技术支持。
|
1天前
|
供应链 算法 调度
排队算法的matlab仿真,带GUI界面
该程序使用MATLAB 2022A版本实现排队算法的仿真,并带有GUI界面。程序支持单队列单服务台、单队列多服务台和多队列多服务台三种排队方式。核心函数`func_mms2`通过模拟到达时间和服务时间,计算阻塞率和利用率。排队论研究系统中顾客和服务台的交互行为,广泛应用于通信网络、生产调度和服务行业等领域,旨在优化系统性能,减少等待时间,提高资源利用率。
|
9天前
|
存储 算法
基于HMM隐马尔可夫模型的金融数据预测算法matlab仿真
本项目基于HMM模型实现金融数据预测,包括模型训练与预测两部分。在MATLAB2022A上运行,通过计算状态转移和观测概率预测未来值,并绘制了预测值、真实值及预测误差的对比图。HMM模型适用于金融市场的时间序列分析,能够有效捕捉隐藏状态及其转换规律,为金融预测提供有力工具。
下一篇
DataWorks