为了更好地实现消防机器人对于火源的自主识别,结合YOLOv5s提出一种改进的火焰检测方法。在YOLOv5s的主干网络和检测头中添加CBAM注意力模块,能够自适应地对特征图进行调整,使得网络能够更好地关注重要的特征,从而降低火焰检测的小目标漏检率。使用C3-DBB模块替换卷积层,C3-DBB模块采用了密集的连接和多尺度的感受野,从而能够更好地捕捉目标的细节信息,减少信息损失。使用ConvNeXt V2模块替换主干网络模块,从而获得更大的感受野和更好的特征提取能力,提高目标检测的精度。实验结果表明,与YOLOv5s原始模型相比,改进后的模型平均精度提升5.8%,同时降低了模型大小。 In order to better realize the autonomous recognition of fire sources by firefighting robots, an improved flame detection method is proposed in combination with YOLOv5s. Adding the CBAM attention module to the backbone network and detection head of YOLOv5s can adaptively adjust the feature map, enabling the network to better focus on important features, thus reducing the small target miss detection rate of flame detection. Replacing the convolutional layer with the C3-DBB module, the C3-DBB module employs dense connectivity and a multi-scale receptive field, which enables better capture of detailed information about the target and reduces information loss. The ConvNeXt V2 module is used to replace the backbone network module, thus obtaining a larger receptive field and better feature extraction capability to improve the accuracy of target detection. The experimental results show that the improved model improves the average accuracy by 5.8% compared to the original YOLOv5s model, while reducing the model size.
为了更好地实现消防机器人对于火源的自主识别,结合YOLOv5s提出一种改进的火焰检测方法。在YOLOv5s的主干网络和检测头中添加CBAM注意力模块,能够自适应地对特征图进行调整,使得网络能够更好地关注重要的特征,从而降低火焰检测的小目标漏检率。使用C3-DBB模块替换卷积层,C3-DBB模块采用了密集的连接和多尺度的感受野,从而能够更好地捕捉目标的细节信息,减少信息损失。使用ConvNeXt V2模块替换主干网络模块,从而获得更大的感受野和更好的特征提取能力,提高目标检测的精度。实验结果表明,与YOLOv5s原始模型相比,改进后的模型平均精度提升5.8%,同时降低了模型大小。
火焰检测,注意力机制,YOLOv5s算法,深度学习
Yi Yao1*, Quanyong Ju2, Zhangkun Lv1
1School of Mechanical Engineering, Yancheng Institute of Technology, Yancheng Jiangsu
2School of Mechanical and Electrical Engineering, Jinling Institute of Technology, Nanjing Jiangsu
Received: Apr. 16th, 2024; accepted: May 22nd, 2024; published: May 31st, 2024
In order to better realize the autonomous recognition of fire sources by firefighting robots, an improved flame detection method is proposed in combination with YOLOv5s. Adding the CBAM attention module to the backbone network and detection head of YOLOv5s can adaptively adjust the feature map, enabling the network to better focus on important features, thus reducing the small target miss detection rate of flame detection. Replacing the convolutional layer with the C3-DBB module, the C3-DBB module employs dense connectivity and a multi-scale receptive field, which enables better capture of detailed information about the target and reduces information loss. The ConvNeXt V2 module is used to replace the backbone network module, thus obtaining a larger receptive field and better feature extraction capability to improve the accuracy of target detection. The experimental results show that the improved model improves the average accuracy by 5.8% compared to the original YOLOv5s model, while reducing the model size.
Keywords:Fire Detection, Attention Mechanism, YOLOv5s Algorithm, Deep Learning
Copyright © 2024 by author(s) and beplay安卓登录
This work is licensed under the Creative Commons Attribution International License (CC BY 4.0).
http://creativecommons.org/licenses/by/4.0/
随着经济的快速发展,城市建筑物规模的增大,火灾的复杂性也在增加,使得灭火工作的难度越来越大。因此,研发更为先进的消防手段,如使用消防机器人进行灭火,已经成为研究的趋势。消防机器人对火焰目标检测有着较强的实时性和准确性要求,而通过研究基于图像的火焰目标检测方法,可以提高消防机器人的灭火效率和准确性,减少消防员的伤亡风险。
目标检测在计算机视觉领域是一个重要的研究方向,用于检测图像或视频中的特定物体或目标。目前存在两种主要的目标检测算法:双阶段检测算法和单阶段检测算法。双阶段检测算法首先通过一种region proposal方法生成一系列候选区域,这些区域可能包含待检测的物体。然后,这些候选区域通过卷积神经网络进行物体检测。双阶段检测算法包括Faster R-CNN [
为解决以上问题,本文基于YOLOv5s算法提出一种改进模型的火焰检测算法。首先,使用ConvNeXtv2模块替换主干网络模块,能够提供更高的感受野和更好的特征提取能力,从而在目标检测任务中获得更高的精度。其次,在YOLOv5s的主干网络和检测头中添加CBAM注意力模块,提升网络检测小目标的能力,降低火焰检测的小目标漏检率。最后,使用C3-DBB模块替换原始的卷积层,提高模型对目标的检测能力。
YOLOv5 (You Only Look Once)是一种单阶段目标检测算法,其主要特点是准确率高、效率高、支持多尺度检测等。自从Ultralytics版本的YOLOv5发行以来不断被更新,本文改进的是7.0版本。YOLOv5根据宽度、深度的不同提供了n、s、m、l等4种尺寸模型。其中YOLOv5s是YOLOv5系列中最小的模型,它具有较少的参数和计算量,可以在保持较高检测速度的同时实现相对较高的检测精度。YOLOv5s的网络结构和子模块结构如图1和图2所示。
图1. YOLOv5s网络结构
图2. YOLOv5s子模块结构
本文使用ConvNeXt V2模块、CBAM模块和C3-DBB模块改进原有的YOLOv5s网络,这些模块的引入旨在提高网络的感知能力、注意力机制和特征融合能力。不仅能够提高特征提取能力,还降低了小目标的漏检率,提高模型对目标的检测能力,如图3所示。
图3. 改进YOLOv5s整体网络结构
在改进的体系结构和更好的表征学习框架的推动下,视觉识别领域在本世纪20年代初获得了快速的现代化和性能提升。例如,以ConvNeXt为代表的现代ConvNet在各种场景中都表现出了强大的性能。虽然这些模型最初是为使用ImageNet标签的监督学习而设计的,但它们也可以潜在地受益于自监督学习技术,如掩蔽自动编码器(MAE)。然而,作者发现简单地将自监督学习技术与ConvNeXt结合在一起并不会带来比平均水平更好的性能。因此,作者Woo S,Debnath S [
1) FCMA (Fully Convolutional Masked Autoencoder)是在输入图像上进行遮挡并生成学习信号的一种方法,如图所示。它由两个组件组成:ConvNeXt编码器和ConvNeXt解码器,它们使用稀疏卷积进行操作。编码器负责将可见像素作为输入,并将其转换为潜在表示。潜在表示是编码器输出的特征图,其中包含了对可见部分的编码信息。解码器使用潜在表示以及遮挡的补丁(mask tokens),尝试重构原始图像。解码器的目标是通过使用潜在表示和补丁来产生尽可能接近原始图像的重建图像。在计算损失时,只在遮挡的补丁上计算。这意味着只有模型预测的遮挡区域才会对损失函数产生贡献,从而激励模型学习如何正确预测缺失部分。
2) GRN (Global Response Normalization)是一种新的全局响应规范化技术,以使FCMAE预训练与ConvNeXt架构结合起来更有效。通过给定输入特征 X ∈ R H × W × C ,所提出的GRN单元由三个步骤组成:全局特征聚合、特征归一化、特征校准。
首先使用全局函数G(·)将空间特征地图Xi聚合为向量gx:
g ( x ) : = x ∈ R H × W × C → g x ∈ R C (1)
其次,将响应归一化函数N(·)应用于聚合值。具体地说,使用标准的可视化规范化:
N ( ‖ X i ‖ ) : = ‖ X i ‖ ∈ R → ‖ X i ‖ ∑ j = 1 , ⋯ , C ‖ X i ‖ ∈ R (2)
最后使用计算的特征归一化分数来校准原始输入响应:
X i = X i ∗ N ( g ( X ) i ) ∈ R H × W (3)
如图4所示,将GRN层引入原始ConNeXt中后,不再需要LayerScale,但增加了参数和FLOPS。相较于原YOLOv5s网络中的CSP bottleneck模块,ConvNeXt V2模块具有自动编码器的能力。全卷积网络的灵活性,能够提供更高的感受野和更好的特征提取能力,从而在目标检测任务中获得更高的精度。
图4. ConNeXt Block 结构变化
CBAM [
通道注意力模块通过对输入特征图的通道维度进行注意力加权,来自适应地选择和强化重要的特征通道。它通过计算每个通道的全局平均池化和全局最大池化,然后通过两个全连接层产生一个通道注意力图。最后,将该通道注意力图与输入特征图相乘,以增强重要的特征通道。
空间注意力模块通过对输入特征图的空间维度进行注意力加权,来自适应地选择和强化重要的空间位置。它通过使用一个卷积层和一个全连接层产生一个空间注意力图。最后,将该空间注意力图与输入特征图相乘,以增强重要的空间位置。
图5. CBAM网络结构
通过将通道注意力模块和空间注意力模块结合起来,CBAM模块可以同时考虑通道和空间的注意力信息,从而更好地捕捉重要的特征通道和空间位置。在原先的YOLOv5s网络中添加CBAM注意力模块,能够增强网络提取图像特征的能力,更好地提取小目标火焰特征,降低漏检率。
C3-DBB模块是由丁霄汉 [
它采用 1 × 1 , 1 × 1 − K × K , 1 × 1 − A V G 等组合方式对原始 K × K 卷积进行增强。对于 1 × 1 − K × K 分支,设置中间通道数等于输入通道数并将 1 × 1 卷积初始化为Identity矩阵,其他分支则采用常规方式初始化。此外,在每个卷积后都添加BN层用于提供训练时的非线性,这对于性能提升很有必要。
在原先的YOLOv5s网络中添加C3-DBB模块,改善了网络的特征表示能力,以提高模型的性能。通过引入自适应特征融合机制,以在不同的分支中融合特征,进一步的提高了网络的性能。
通过网络获取火焰整体数据集,其中设置了训练图片1482张,验证图片165张,测试图片412张。数据集中包含了多种场景的火灾类型,有大火-小火、建筑起火、草原起火、森林起火、车辆起火、白天-黑夜起火、室内-室外起火等。数据集采用标注工具Labelimg进行标注。
实验平台的搭建如表1所示,在模型训练过程中,初始学习率为0.01,最终学习率为0.1,使用随机梯度下降(SGD)优化算法,并设置动量为0.937。优化器的权重衰减为0.0005,训练批次(batch size)是8,最大迭代次数(epoch)是100。在训练完成后,我们将对改进的YOLOv5s火焰检测模型和原始YOLOv5s模型进行性能对比。我们将使用训练好的改进模型对测试集中的火焰图像进行识别测试,以证明算法的有效性。此外,我们还将对本文提出的改进模型与目前主流的目标检测模型进行性能比较,以进一步综合分析本文方法在火焰检测方面的性能。
项目 | 配置 |
---|---|
操作系统 | Windows 11 |
显卡 | NVIDIA GeForce RTX 3050 Laptop GPU |
CUDA版本 | 12.2 |
Python | 3.8.17 |
深度学习框架 | Py Torch 1.9.0 |
表1. 实验平台配置
采用IoU (交并比)、平均精度均值(mAP)、精准率(P)、召回率(R)等评价指标,具体如下:
1) IoU:IoU是指预测框与真实框之间的交集与并集的比值。在目标检测中,IoU用于判断预测框与真实框之间的重叠程度。通常,IoU越高表示检测结果越准确。
2) 平均精度均值(mAP):mAP是衡量目标检测算法性能的重要指标之一。它是对不同IoU (交并比)阈值下的精度进行平均得到的。通常,mAP越高表示算法的性能越好,公式如下:
m mAP = 1 m ∑ i = 1 m A A P i (4)
3) 准确率(P):精确率是指检测出的正样本中真正正样本的比例。在目标检测中,精确率表示检测出的目标中真正存在的目标的比例。精确率越高表示算法的误检率越低,公式如下:
P = T T P T T P + F F P (5)
其中: T T P 代表IoU大于设定阈值的数量; F F P 代表IoU小于设定阈值或者对于同一个真实框检测到的多余预测框数量之和。
4) 召回率(R):召回率是指正确检测出的正样本占所有正样本的比例。在目标检测中,召回率表示检测到的目标占所有真实目标的比例。召回率越高表示算法的漏检率越低。
在本文中,原始的YOLOv5s网络和改进后的YOLOv5s网络使用了相同的数据集、训练参数和训练方法进行训练,以便有效地分析改进后模型的性能。通过比较每轮训练后的检测精度、准确率等评价指标,可以评估改进后的YOLOv5s网络相对于原始网络的性能提升。从图6中也可以看出,改进后的火焰检测模型在迭代次数到达50时逐渐趋向稳定,在阈值设定为0.5的前提下,检测精度最高达到了68%,比YOLOv5s原始模型的检测精度提升了6%。
图6. mAP (0.5)对比
在训练过程中,损失函数是用来衡量模型预测结果与真实结果之间的差异的指标。网络模型的目标是通过不断调整参数,最小化损失函数的值。随着迭代次数的增加,如果网络模型能够稳定收敛,损失函数的值会逐渐减小并趋向于一个较小的稳定值。本文改进后的模型与YOLOv5s模型的损失函数曲线对比如图所示。图7中和图8中可以看出,改进后的模型具有更快的收敛速度,最低损失值可以降低到0.015以下。
图7. 训练损失值对比数据
图8. 验证损失值对比数据
此外,本文为了分析了不同改进策略对模型检测性能的影响,分别设计了4组实验,如表2所示。每组实验均使用相同数据集和相同训练参数及方式完成训练,实验结果如表1所示。分析可知,YOLOv5s原始网络没有使用任何改进策略,检测精度(mAP)为62.2%;改进网络1在YOLOv5s原始网络的基础上引入了协同注意力机制,将空间位置信息嵌入到通道注意力中,使得模型在完成依赖位置信息的火焰检测任务时取得了更好的预测效果,检测精度(mAP)提升了0.3%;改进网络2在改进网络1的基础上增加了C3-DBB模块替换卷积层,可以减少信息损失,提高模型对目标的检测能力,使模型检测精度(mAP)提升了3.4%;改进网络3在改进网络2的基础上使用ConvNeXtv2模块替换主干网络模块,获得了更大的感受野和更好的特征提取能力,从而提高目标检测的精度模型检测精度(mAP)提升了2.4%。综上所述,本文所提出的改进YOLOv5s模型比YOLOv5s原始模型的火焰检测精度(mAP)提升了5.8%。
网络模型 | 改进策略 | mAP | 模型大小 | ||
---|---|---|---|---|---|
注意力机制 | C3-DBB模块 | 骨干网络 | (0.5) | (MB) | |
YOLOv5s网络 | × | × | × | 62.2% | 13.73 |
改进网络1 | √ | × | × | 62.5% | 13.73 |
改进网络2 | √ | √ | × | 65.6% | 13.8 |
改进网络3 | √ | √ | √ | 68% | 9.97 |
表2. 原始网络与不同改进策略的实验结果对比
本文通过对测试集火焰图像进行测试,如图9所示。测试证明了改进YOLOv5s火焰检测模型对陌生火焰图像的检测能力。由于测试集图像数据与训练集和验证集数据无重叠,由检测结果可知,基于改进的YOLOv5s模型可以准确地识别出陌生火焰图像中的火焰目标,表明该模型具有良好的泛化性和鲁棒性。此外,对于城市高层建筑灭火、小火点灭火等情境下的火焰目标检测,基于该模型的检测方法仍具有良好的准确度。
图9. 火焰检测测试结果
对于改进火焰检测的算法,本文提出了以下几点改进:首先添加CBAM注意力模块:在YOLOv5s的主干网络和检测头中添加CBAM注意力模块,可以提升网络检测小目标的能力。CBAM注意力模块能够自适应地对特征图进行调整,使得网络能够更好地关注重要的特征,从而降低火焰检测的小目标漏检率;其次使用了C3-DBB模块替换卷积层:传统的卷积层在一定程度上存在信息损失的问题,通过使用C3-DBB模块可以减少信息损失,提高模型对目标的检测能力。C3-DBB模块采用了密集的连接和多尺度的感受野,从而能够更好地捕捉目标的细节信息;最后使用ConvNeXt V2模块替换主干网络模块:传统的主干网络采用的是卷积层,通过使用ConvNeXt V2模块可以获得更大的感受野和更好的特征提取能力,从而提高目标检测的精度。通过以上改进,可以显著提高火焰检测算法的精度和性能,提高小目标的检测准确率,从而适用于更广泛的应用场景。
姚 一,鞠全勇,吕章锟. 基于深度学习的火焰检测算法设计Design of Flame Detection Algorithm Based on Deep Learning[J]. 人工智能与机器人研究, 2024, 13(02): 344-353. https://doi.org/10.12677/airr.2024.132036
https://doi.org/10.48550/arXiv.1506.01497
https://doi.org/10.26562/irjcs.2021.v0807.003
https://doi.org/10.1109/TPAMI.2019.2956516
https://doi.org/10.1109/ICCV.2017.324
https://doi.org/10.1109/ICCV.2019.00667
https://doi.org/10.1109/CVPR.2016.91
https://doi.org/10.1109/CVPR52729.2023.01548
https://doi.org/10.1007/978-3-030-01234-2_1
https://doi.org/10.1109/CVPR46437.2021.01074