针对现有目标检测算法应用于复杂火灾场景检测精度差、速度慢、部署困难的问题,本文提出一种轻量级的 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 复杂火灾场景检测算法。本文的贡献如下:
- 用SepViT Block替换 Backbone 网络的最后几层,加强网络与全局特征信息的连接;
- 提出一种 Light-BiFPN 结构,降低计算成本和参数,同时增强多尺度特征的融合,丰富语义特征;
- 在 YOLOv5 中加入了全局注意力机制,以增强网络的整体特征提取能力;
- 最终验证了 Mish 激活函数和 SIoU 损失函数的有效性。
2、本文方法
2.1、Baseline
YOLOv5 有n、s、m版本等。经过实验对比选择了兼具速度和准确率的 YOLOv5n 作为改进的 baseline,将改进后的模型称为 Light-YOLOv5,其结构如图1所示。
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 的操作如下:
其中 𝑓 是特征 Token,由窗口Token和像素Token组成。𝑊𝑄、𝑊𝐾和𝑊𝑉代表3个线性层,用于常规自注意力中的 query、key 和 value 计算。注意力表示标准的自注意力操作。
DWA操作完成后,使用 pointwise self-attention(PWA) 建立窗口之间的连接,并通过 LayerNormalization(LN) 和 GelU 激活函数生成 Attention map。PWA的操作如下:
2.3、Light-BiFPN Neck
在本节中,受到这些文章的启发,例如 MobileNet、ShuffleNet、EfficientDet、GhosetNet、PP-LCNet 等。我们设计了一个轻量级的颈部网络,我们称之为 Light-BiFPN。
作者还基于 YOLOv5 的 bottleneck 和 C3 模块设计了 DSSbottleneck 和 DSSC3,它们的结构如图4(a)和(b)所示。
YOLOv5 在 Neck 使用 PANET 进行特征提取和融合。它采用自下而上和自上而下的双向融合方法,取得了不错的效果,但火灾检测的环境通常过于复杂,需要融合更多的特征才能获得更好的效果。
BiFPN是一种加权双向特征金字塔网络,将同一层的输入和输出节点跨层连接起来,实现更高层次的融合,缩短上下层之间信息传递的路径。由于加权带来了一定的计算量提升,本文去掉了加权特征融合,使 Neck 网络进一步轻量化。
2.4、Global Attention Mechanism
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、实验
作者: ChaucerG
文章来源:嵌入式AI
推荐阅读
更多嵌入式AI干货请关注 嵌入式AI 专栏。欢迎添加极术小姐姐微信(id:aijishu20)加入技术交流群,请备注研究方向。