1、第 49卷 第 8期2023年 8月Computer Engineering 计算机工程基于改进 YOLOv5的火焰检测方法陈露萌1,曹彦彦1,黄民1,谢鑫钢2(1.北京信息科技大学 机电工程学院,北京 100192;2.中国矿业大学 机电与信息工程学院,北京 100083)摘要:现有基于图像的火焰检测方法难以兼顾实时性和准确性,且缺乏对小火焰目标精准识别的能力,无法有效应对小火点灭火等应用场景。YOLOv5算法与传统主流算法相比在检测的实时性上有很大优势,为提升火焰检测精度,提出一种基于改进 YOLOv5的火焰实时检测方法。针对 YOLOv5模型进行改进:在特征提取部分嵌入协同注意力机制模块
2、,在不损失特征信息的情况下减少特征冗余,以帮助模型更精确地定位火焰特征;在特征融合部分增加一个专门针对小火焰目标的检测层,并添加对应的特征提取及特征融合模块,以帮助模型有效获取感受野小于 88像素的火焰特征;在损失函数的计算部分使用-CIoU 作为新的边界框损失函数,以提升模型的收敛速度和对小数据集的鲁棒性。此外,通过模型预训练和迁移学习的方法对火焰检测模型各层结构的权重参数进行初始化,防止梯度消失,提升训练效果。实验结果表明,改进后的火焰检测模型检测精度为 96.6%,较 YOLOv5原始模型提升 7.4个百分点,并且检测速度达到 68 帧/s,模型大小仅 15.4 MB,在大幅提升精度的基
3、础上能够同时满足消防灭火机器人对火焰检测实时性和轻量化的要求。关键词:火焰检测;注意力机制;特征融合;YOLOv5算法;边界损失函数开放科学(资源服务)标志码(OSID):中文引用格式:陈露萌,曹彦彦,黄民,等.基于改进 YOLOv5 的火焰检测方法 J.计算机工程,2023,49(8):291-301,309.英文引用格式:CHEN L M,CAO Y Y,HUANG M,et al.Flame detection method based on improved YOLOv5J.Computer Engineering,2023,49(8):291-301,309.Flame Detect
4、ion Method Based on Improved YOLOv5CHEN Lumeng1,CAO Yanyan1,HUANG Min1,XIE Xingang2(1.School of Mechanical and Electrical Engineering,Beijing Information Science and Technology University,Beijing 100192,China;2.School of Mechanical Electronic and Information Engineering,China University of Mining an
5、d Technology,Beijing 100083,China)【Abstract】The existing image-based flame detection approach finds it challenging to balance real-time and precision,and it is incapable of accurately identifying small flame targets,making it ineffective for application situations such as small fire extinguishing.In
6、 terms of real-time detection,the YOLOv5 algorithm provides significant benefits over conventional techniques.A real-time flame detection method based on improved YOLOv5 is proposed to increase flame detection accuracy.First,to help the model locate the flame features more accurately,a coordinate at
7、tention mechanism module is embedded in the feature extraction portion of the YOLOv5 model.This module can reduce feature redundancy without sacrificing the feature information.Second,to help the model successfully obtain flame features with a receptive field smaller than 88 pixels,a detection layer
8、 specifically designed for small flame targets is added to the feature fusion portion of the algorithm along with the corresponding feature extraction and feature fusion modules.Finally,to increase the models speed of convergence and robustness to small datasets,-CIoU is employed as a new bounding b
9、ox loss function in the computation phase of the loss function.Additionally,model pretraining and transfer learning techniques are used to initialize the weight parameters of each layer structure of the flame detection model to prevent the gradient from dissipating and enhance the training effect.Ac
10、cording to the experimental findings,the proposed flame detection model shows an accuracy rate of 96.6%,which is 7.4 percentage points higher than that of the YOLOv5 original model.Additionally,the detection speed of this model is 68 frame/s,and its size is only 15.4 MB.On the basic of significantly
11、 improving accuracy,it can also meet the requirements of firefighting robots for real-time and lightweight flame detection.基金项目:北京市教育委员会科学研究计划项目(KM202211232021)。作者简介:陈露萌(1994),女,硕士研究生,主研方向为计算机视觉、深度学习、机器人技术;曹彦彦(通信作者),讲师、博士;黄 民,教授、博士;谢鑫钢,博士研究生。收稿日期:2022-06-20 修回日期:2022-09-13 Email:Lu-开发研究与工程应用文章编号:100
12、0-3428(2023)08-0291-11 文献标志码:A 中图分类号:TP182023年 8月 15日Computer Engineering 计算机工程【Key words】flame detection;attention mechanism;feature fusion;YOLOv5 algorithm;boundary loss functionDOI:10.19678/j.issn.1000-3428.00650250概述 火灾威胁着人类的生命和财产安全,严重时会造成巨大的经济损失和人员伤亡。如今,经济快速发展,城市建筑物的规模越来越大,火情更加复杂,灭火的难度也随之增加。目前的
13、灭火手段仍以消防员人工灭火为主,在此过程中,经常伴随有消防人员的受伤甚至牺牲。因此,发展更为先进的消防手段,使用消防机器人替代人工灭火已然成为一种研究趋势。消防机器人主要使用摄像头对火场情况进行探索,基于视频图像对火焰目标进行精准识别是消防机器人高效灭火的关键,且消防机器人对火焰目标检测有着较强的实时性和准确性要求,所以,针对基于图像的火焰目标检测方法进行研究具有重要的价值。传统的火焰检测方法主要是对火焰特征进行提取。文献 1 提出了一种利用 RGB 颜色空间进行火焰检测的方法,通过对 RGB 三通道不同的图像特性进行分析来实现火焰识别。文献 2 利用火焰燃烧时会产生红光和蓝光等火焰特征的现象
14、,提出了一种基于 YCbCr彩色空间的火焰检测方法,有效利用亮度和红、蓝 2 种颜色信息完成火焰特征的提取。文献 3 介绍了一种基于帧差法的火焰检测方法,使用面积增长比作为判别帧数差的依据进行火焰识别。文献 4 提出了一种基于改进果蝇优化算法(FOA)-支持向量机(SVM)的火灾图像识别算法,用基于分群体融合的改进 FOA 算法搜索 SVM 最优核参数和惩罚因子,提升了火灾图像的识别精度。这些传统的火焰检测方法在一定程度上实现了火焰检测的功能,但仍存在检测速度慢、误检率大等问题,无法满足消防机器人对火焰检测实时性和准确性的要求。近几年,以卷积神经网络(CNN)为代表的深度学习算法发展迅速,在目
15、标检测领域得到了广泛的应用。文献 5 基于 RetinaNet算法对火焰检测进行研究,提出了对网络模型、锚框设计、损失函数等方面的改进方法。文献 6 介绍了一种应用于火焰检测的深度森林模型,先使用基于帧频提升的高斯混合背景建模方法提取火焰候选区域,再使用双视角、深层多粒度扫描结构提取其抽象特征,最后通过深度森林模型完成火焰检测,该方法有效增强了火焰特征的抽象表示能力,提高了火焰检测准确率。文献 7 提出了一种基于 YOLOv4的火焰检测算法,利用 CSPDarkNet53 作为骨干网,通过 SPP 和 PANET结构增强特征提取网络,该算法的平均检测精度达到 91.68%。文献 8 基于 YO
16、LOv3 算法提出了一种小范围火焰的检测方法,利用改进的 K-means 聚类算法实现了对不同尺度火焰的检测。文献 9 介绍了一种 Fire-YOLO 算法,在 YOLOv4 的基础上加入深度可分离卷积,降低了模型的计算量和参数量,并利用空洞卷积提升了特征层的感受野,检测速度达到 42 帧/s。文献 10 介绍了一种新的火焰图像特征自适应选择算法,将遗传优化引入粗糙集的属性约简中,通过动态修剪并补充新个体增加种群的多样性,有效提升了火焰识别算法的泛化能力。现有的目标检测算法主要分为两大类:一类是先在候选区域生成可能包含检测物体的预选框,再通过卷积神经网络进行物体检测的双阶段检测算法,如 Fas
17、ter R-CNN11、Mask R-CNN12、Cascade R-CNN13算法等,此类算法的优点是检测精度高,但是在深层次网络中,检测速度慢;另一类是将候选区域划分和物体检测 2 个阶段合二为一的单阶段检测算法,如RetinaNet14、CenterNet15、YOLO16系列算法等,此类算法的特点是网络结构简单、检测速度快,但在检测准确性及鲁棒性上有较大提升空间,且对小目标的检测能力相对较差。可见,现有的火焰检测算法无法同时兼顾检测的实时性和准确性要求,对小火焰区域目标的检测精度和鲁棒性较差,在城市高层建筑灭火、小火点灭火的火焰检测应用中有很大局限性。为解决上述问题,本文以最新的 YO
18、LOv5 模型为基础,提出一种基于改进模型的火焰检测方法。首先,在特征提取网络的尾部加入协同注意力(CA)机制,增强有用的特征信息,抑制无用信息,以帮助模型更加精准地定位和识别火焰目标;其次,在特征融合网络中增加一个专门针对小火焰目标的检测层,并添加相应的特征提取和特征融合模块,帮助模型获取小感受野目标的特征,以提升小火焰区域的检测精度;最后,在损失函数的计算部分引入新的边界框损失函数-CIoU,以提升模型的收敛速度和鲁棒性。此外,通过模型预训练和迁移学习的方式对火焰检测模型各层结构的权重参数进行初始化,以防止梯度消失,提升训练效果。1YOLO目标检测模型 在 YOLO 算法提出前,以 R-C
19、NN 系列算法为代表的双阶段目标检测算法凭借其高检测精度的优势而得到广泛应用,但这类算法的检测速度慢,很难满足实时性要求,这也使其在嵌入式设备应用上有了很大的局限性。2016年,REDMON等16提出了一种单阶段目标检测算法 YOLOv1,大幅提升了目标检测的实时性。YOLO 算法的核心思想是把目标检测问题转化成一个回归问题,基于暗网(darknet)框架进行开发。YOLO算法将原始图像作为网络输入,在对图像细化网格划分的基础上进行边界框预测,通过对292第 49卷 第 8期陈露萌,曹彦彦,黄民,等:基于改进 YOLOv5的火焰检测方法目标置信度及类别概率图的计算,综合 2个计算指标来实现最终
20、检测结果的输出。随着时间的推移,YOLO 算法不断进化。YOLOv217在 YOLOv1 的基础上通过结合图像细粒度特征,将浅层特征与深层特征相连,并利用 K-means聚类的思想,在训练时计算出更好的锚框模板,有效提升了召回率。YOLOv318在网络特征提取部分使用 darknet53 结构替换了原YOLOv2中的darknet19,并加深了网络层数以提升检测精度,其在特征融合部分使用特征图金字塔网络(FPN)19结构实现了多尺度特征检测,在检测层使用多个独立的逻辑分类器替换 Softmax函数,在保证检测精度的同时提升了检测速度。YOLOv420在特征提取网络中将CSPNet21 与原da
21、rknet53结构结合形成新的特征提取模块,并使用空间金字塔池化(SPP)22 模块来扩展感受野,以分离出最重要的上下文特征,其在特征融合部分使用FPN与路径聚合网络(PAN)23 相结合的方式,针对不同尺度的检测层,从相应的主干层进行特征参数聚合,此外,还将激活函数由 ReLU 改进为Mish函数,进一步提升了模型的准确性和泛化性。1.1YOLOv5架构及优势YOLOv5 是目前 YOLO 系列算法最新的模型,主要由输入端、特征提取网络、特征融合网络、输出端等部分组成,YOLOv5 的整体网络结构及子模块结构如图 1和图 2所示。与 YOLOv3 和 YOLOv4 相比,YOLOv5 做出以
22、下改进:在网络输入端,提前预设了锚框,在训练时能够自适应地计算不同训练集中的锚框,通过不断迭代更新找到最佳锚框值,有效提升了检测精度;在特征提取部分,YOLOv5 使用了 Focus 操作,可以有效减少模型的浮点运算数(FLOPs)以提升检测速度,C3模块和快速金字塔池化(SPPF)模块分别是对YOLOv4 中相应特征提取模块的改进,在提升训练速度的同时,可以减少重复梯度信息,使 YOLOv5网络具备更好的学习能力;在特征融合部分,YOLOv5图 2YOLOv5子模块结构Fig.2Submodule structure of YOLOv5图 1YOLOv5 原始网络结构Fig.1Origina
23、l network structure of YOLOv52932023年 8月 15日Computer Engineering 计算机工程延续了 YOLOv4 中 FPN+PAN 的多尺度特征融合方式,设置了 3 种尺度的检测层。与 YOLOv4 相比,YOLOv5 的检测精度虽稍有下降,但训练时间和检测速度得到极大提升,灵活性强于 YOLOv4,且模型的权重文件更小,在模型的快速部署上具有极强优势,更 适 合 应 用 于 嵌 入 式 设 备。所 以,本 文 选 用YOLOv5作为实现火焰检测的基础架构。1.2YOLOv5算法应用于火焰图像检测存在的问题针对本文火焰检测的应用场景,YOLOv
24、5 算法在检测速度方面十分优秀,但检测精度还有待优化提升,算法存在以下问题:1)在特征提取网络中使用了很多 Conv 和 C3 结构,通过卷积得到了大量特征图,造成了一部分特征冗余,会影响火焰检测的精度。2)原网络分别利用 8、16、32 倍下采样的特征图进行不同尺度的火焰检测,当原始输入图像的尺寸为 640640像素时,这 3种尺度的检测层分别能够检测大小在 88、1616和 3232像素以上的火焰目标。但是在小火点灭火和高层建筑灭火场景中,常会存在尺寸小于 88 像素的火焰区域目标,对于这种情况,火焰检测会变得十分困难。3)原 网 络 中 所 用 的 边 界 框 回 归 损 失 函 数(G
25、IoU)24的收敛速度慢,且当预测框包含在目标框内部时,GIoU 完全退化为交并比(IoU),影响了定位精度。2改进的 YOLOv5算法 为提升火焰图像检测算法模型的性能,针对上述问题,本文对 YOLOv5原始网络做出如下改进:1)在特征提取网络中引入 CA机制25,为提取到的图像特征赋予不同的权重,从而增强有用的特征,抑制无用的特征,提升模型检测精度。2)在模型原始 3种不同尺度的检测层基础上,再添加一个小目标检测层,用于检测尺寸小于 88像素但大于 44 像素的火焰目标,改善模型对小火焰区域识别不准确的问题。3)在输出端引入新的边界框损失函数-CIoU,改善原网络中损失函数的问题,在提升模
26、型收敛速度的同时,增强模型对小数据集和噪声的鲁棒性。2.1CA机制的引入近年来,注意力机制在视觉检测领域大规模运用,为深度神经网络带来了很好的性能提升,其本质是通过增强有用的特征信息和抑制无用信息来提升检测精度。目前常用的注意力机制有 SE(Squeeze-and-Excitation)、BAM(Bottlenet Attention Module)、CBAM(Convolutional Block Attention Module)等。其中,SE 只考虑了内部通道信息,而忽略了空间位置信息的重要性,但在视觉检测问题中后者十分重要。BAM 和 CBAM 虽然通过在通道上进行全局池化引入了位置信
27、息,但这 2 种注意力机制只能捕获局部信息,而无法获取长范围依赖的特征信息,具有一定的局限性。HOU 等25提出了一种 CA 机制。CA 机制既能捕获通道之间的依赖,又能很好地建立模型位置信息和长程依赖。本文在特征提取网络中 SPPF 模块后添加了 CA模块,以并行的方式将通道注意力分解为 2 个一维特征分别进行编码,沿着不同的空间方向,捕获长程依赖与精确位置信息。编码后形成方向感知和位置敏感的注意力特征图来互补地应用到输入特征图中,增强有用特征的表示,从而帮助模型更精准地定位和识别想要的目标。此外,CA 机制还能够在神经网络获取更大区域信息的同时降低模型对算力的需求。CA 模块结构如图 3所
28、示,具体分为2个步骤:坐标信息嵌入和坐标注意力生成。对于输入的特征图 X,分别沿着水平坐标方向和垂直坐标方向使用尺寸为(H,1)和(1,W)的平均池化核对每个通道进行编码。其中,高度为 h 的第c个通道和宽度为 w的第 c个通道的输出表示分别如图 3CA模块结构Fig.3Structure of CA module294第 49卷 第 8期陈露萌,曹彦彦,黄民,等:基于改进 YOLOv5的火焰检测方法式(1)和式(2)所示:zhc(h)=1W0 i Wxc(hi)(1)zwc(w)=1H0 j 0(12)其中:表示功率参数,是一个可以人为调节的恒大于 0 的数值。-IoU 通过改变 值,可以使
29、模型检测器在实现不同水平的边界框回归时精度调整具有更强的灵活性。同时,-IoU 也能提升检测模型对小数据集和噪声的鲁棒性。因为式(12)中的分母 在目标中只是一个正常数,所以文献 27 对式(12)采取如下方式进行简化:L-IoU=-ln IIoU 0(13)L-IoU=1-IIoU0(14)本文决定将-IoU 与 CIoU 作结合,采用-CIoU作为火焰检测模型的边界框损失函数,计算公式如式(15)所示,即对 CIoU 引入功率幂变换,式(15)可看作是式(14)加入幂次惩罚项后的扩展。L-CIoU=1-IIoU+2(bbgt)c2+()(15)文献 27 表明:当 01 时,-IoU 可以
30、自适应地提升高 IoU 对象的损失和梯度的权重,帮助检测模型更关注高 IoU 目标,从而提高边界框回归的精度。所以,基于对精度的考虑,本文在其他超参数不变的情况下,对 1时的不同取值进行了实验(分别 取 =1.5,2,3,4),实 验 结 果 证 明,当 =3 时,-CIoU 的回归精度最高,火焰检测模型的训练效果最佳。综上所述,-CIoU 能够同时集合-IoU 和CIoU 的优点,有效弥补 YOLOv5原始模型中边界框损失函数的缺点,并加快模型收敛,使模型在回归框定位时更加精准,从而提高检测性能。2.4模型预训练与迁移学习迁移学习可以被用来初始化网络权重参数,以增 强 新 网 络 快 速 学
31、 习 的 能 力。本 文 改 进 后 的YOLOv5网络由于增加了注意力机制模块与小检测层,使得网络结构及权重参数的总体数量发生了改变,需要对改进后的 YOLOv5 网络进行预训练。本文选取 Microsoft COCO 数据集进行改进后 YOLOv5网络的预训练,此数据集是应用最为广泛的大型开源图像数据集之一,包含超过 33 万张图片,适合目标检测任务。训练完成后,将所得最佳模型保存为本文需要的预训练模型。在进行火焰检测模型的训练时,本文会使用迁移学习的方式,将上述预训练模型的权重参数全部导入改进后的 YOLOv5网络中进行各层参数的初始图 5GIoU相同的 3种情况Fig.5Three c
32、ases when GIoU is the same296第 49卷 第 8期陈露萌,曹彦彦,黄民,等:基于改进 YOLOv5的火焰检测方法化,这样既可以防止在训练过程中出现梯度消失,加快火焰检测模型的收敛速度,又能够降低小样本数据集带来的过拟合风险,提高火焰检测模型的精度和泛化能力。本文所提出的火焰检测方法的整体实现流程如图 6所示。3实验及结果分析 3.1数据集建立在广州市南沙消防大队进行消防灭火实验,采集 到 不 同 的 火 焰 图 像 共 计 1 050 张,之 后 又 通 过ImageNet公开数据集获取到 4 000 张火焰图像。为了提高模型训练的有效性,在训练前对采集到的图像数据
33、进行筛选,然后利用开源软件 LabelImg 对图片进行数据标注(具体操作如图 7 所示),标注内容为火焰矩形包围框坐标,处理后的图片保存为 JPG格式,分辨率为 640640像素,标注文件格式储存为xml 文本,通过数据转换代码将标注文件转换为YOLOv5网络模型可用的 txt文本格式。使用 OpenCV 对火焰图像进行数据增强与扩充,以提升模型的泛化能力,主要方式有图像旋转、镜像、亮度平衡等,如图 8所示。旋转和镜像能够提高网络的检测性能和鲁棒性;亮度平衡可以消除环境光照变化和传感器差异引起的亮度偏差对网络性能的影响。经过数据增强后共得到 8 050 张图片作为本文的火焰数据集,按照 7
34、2 1 的比例随机划分出训练集、验证集和测试集,分别用于模型的训练和测试。YOLOv5网络的输入端也使用 Mosaic数据增强方法对输入原始图像进行处理,其原理是将 4张输入图片进行缩放,随机组合拼接成一张 640640 像素的图,如图 9 所示,这样既丰富了图片背景,也达到了增强小目标检测能力的效果。图 7LabelImg图片标注Fig.7LabelImg image annotation图 8火焰图像的数据增强Fig.8Data augmentation of flame image图 6火焰检测方法的整体流程Fig.6Overall process of flame detection
35、method2972023年 8月 15日Computer Engineering 计算机工程对数据集的目标框位置分布和大小分布进行可视化,如图 10 所示,其中:图 10(a)表示将图像分辨率大小正则化以后,目标框的中心点坐标(x,y)在数据集图片的位置分布,点的颜色越深代表该位置目标框的中心点越集中;图 10(b)表示目标框的宽高(width,height)占图片整体宽高的比例。可以看出,数据集的目标分布比较均匀,且小目标占比更大,符合实际应用场景。3.2实验环境与实验设计本文的实验平台为自主配置服务器,使用 64 位Windows10 操作系统,处理器为 Intel Core i9 11
36、900k CPU,128 GB 运行内存,NVIDIA Geforce RTX 3090 GPU,24 GB 显存。利用 Python语言编写程序代码,并调用 Numpy、Pandas、OpenCV等所需库,实现火焰检测模型的训练和测试,所构建的网络模型均基于PyTorch 深度学习框架,开发环境为 PyTorch 1.7.1,CUDA 11.0,Python 3.7。本文使用相同的数据集和训练参数设置分别对原始 YOLOv5网络和改进后的 YOLOv5网络进行训练。训练过程中所使用的优化器为 SGD,训练参数设置如下:初始学习率为 0.01,动量因子为 0.937,权重衰减率为 0.000
37、5,色调(H)、饱和度(S)和亮度(V)的增强系数分别为 0.015、0.7 和 0.4,训练批次(batch size)是 64。依据模型自身的特点,最大迭代次数(epoch)设为 600。训练完成后,本文将改进后的YOLOv5火焰检测模型与原始 YOLOv5模型进行性能对比,并使用训练好的改进模型对测试集的火焰图像进行识别测试,证明算法的有效性。此外,还将本文提出的改进模型与目前的主流目标检测模型进行性能比较,进一步综合分析本文方法在火焰检测方面的性能。3.3模型评价指标本文使用检测速度、检测精度和损失函数收敛曲线等客观指标来评价火焰检测模型的性能。其中:平均精度均值(mAP)是检测精度的
38、评价指标,指的是每个目标类别平均精度(AP)的均值,AP是指在01范围内准确率对召回率的积分,即 P-R曲线下的面积,AP 值越大,模型的精确度越高。准确率和召回率的计算公式如式(16)和式(17)所示:P=TPTP+FP(16)R=TPTP+FN(17)其中:TP表示正确识别出火焰目标的数量;FP表示将其他物体识别成火焰目标的数量;FN表示未识别出的火焰目标数量。如果 IoU 大于等于一定阈值 例如 mAP(0.5)表示这个阈值为 0.5,则检测框被标记为 TP,否则被标记为 FP,如果检测到的真实火焰目标没有匹配到对应的预测框,则被标记为 FN。AP 和mAP的计算公式如式(18)和式(1
39、9)所示:AAP=01P(R)dR(18)mmAP=1Ni=1NAAPi(19)其中:N表示目标类别总数。3.4结果分析3.4.1改进模型的性能分析为了有效分析改进后模型的性能,本文使用相同的数据集和相同的训练参数及训练方式,分别对图 10数据集目标框分布情况Fig.10Dataset target box distribution图 9Mosaic数据增强Fig.9Mosaic data augmentation298第 49卷 第 8期陈露萌,曹彦彦,黄民,等:基于改进 YOLOv5的火焰检测方法原始 YOLOv5网络和改进后的 YOLOv5网络进行训练。将本文改进后的模型与 YOLOv5
40、 原始模型的mAP(0.5)曲线绘制在同一个坐标系中,如图 11 所示,mAP 值越大,表明检测的准确率越高,网络性能越好。从图中可以看出,改进后的火焰检测模型在迭代次数到达 300 时逐渐趋于稳定,在阈值设定为0.5 的前提下,检测精度(mAP)最高达到 96.6%,比YOLOv5 原 始 模 型 的 检 测 精 度 提 升 了 7.4 个 百分点。在网络模型的训练过程中,损失函数能够直观地反映网络模型是否能够随着迭代次数的增加而稳定收敛,本文改进后的模型与 YOLOv5 原始模型的损失函数曲线对比如图 12所示。实验结果表明,改进后的模型具有更快的收敛速度,最低损失值可收敛到 0.02以下
41、,接近于 0,且无过拟合现象。此外,本文为了分析不同改进策略对模型检测性能的影响,分别设计了 5组实验,每组实验均使用相同数据集和相同训练参数及方式完成训练,实验结果如表 1 所示,其中,“”代表在网络模型中未使用对应的改进策略,“”代表使用了该改进策略。由表 1 分析可知:YOLOv5s 原始网络没有使用任何改进策略,检测精度(mAP)为 89.2%,检测速度为 71 帧/s;改进网络 1 在 YOLOv5s 原始网络的基础上引入了协同注意力机制,将空间位置信息嵌入到通道注意力中,使得模型在完成依赖位置信息的火焰检测任务时取得了更好的预测效果,检测精度提升了 1.1 个百分点;改进网络 2
42、在改进网络 1 的基础上增加了一个专门针对小火焰目标的小尺度检测层,并为此检测层添加了几个所需的特征提取模块,通过产生更大的特征图来检测感受野小于 88像素的火焰目标,使模型检测精度提升了 3.4 个百分点,但检测速度有所下降;改进网络 3在改进网络 2的基础上引入了一种新的边界框损失函数-CIoU,解决了目标框与预测框重合时 GIoU 退化的问题,使模型收敛得更快,并且在回归框定位时更加精准,模型检测精度提升了 1.5个百分点,检测速度提升了 2 帧/s;改进网络 4 在改进网络 3 的基础上通过迁移学习提前导入了预训练模型的权重来完成模型各层结构参数的初始化,有效减少了网络模型在训练过程中
43、发生梯度消失和过拟合的风险,使检测精度提升了图 12损失函数对比Fig.12Comparison of loss functions图 11mAP(0.5)对比Fig.11mAP(0.5)comparison表 1原始网络与采用不同改进策略的网络的实验结果对比 Table 1Comparison of experimental results between the original network and the networks with different improvement strategies网络YOLOv5s原始网络改进网络 1改进网络 2改进网络 3改进网络 4改进策略协同注
44、意力机制小尺度检测层-CIoU损失函数迁移学习mAP(0.5)/%89.290.393.795.296.6检测速度/(帧s-1)71706365682992023年 8月 15日Computer Engineering 计算机工程1.4个百分点,并且此改进加快了模型的收敛速度,检测速度提升了 3 帧/s。综上所述,本文所提出的改进YOLOv5 模型(即使用所有改进策略的改进网络 4)比 YOLOv5 原始模型的火焰检测精度提升了 7.4 个百分点,检测速度达到 68 帧/s,仅与 YOLOv5原始模型相差 3 帧/s。3.4.2与其他目标检测模型的性能对比为进一步分析本文改进模型在火焰检测上的
45、性能,将本文所提出的改进 YOLOv5 火焰检测模型与CenterNet、Faster R-CNN、YOLOv3、YOLOv4、YOLOv5 等主流目标检测模型以及文献 9 中提出的 Fire-YOLO 模型进行比较,以上所有模型均使用相同的数据集和相同的训练参数及方式完成训练。以 mAP 值和 FPS 作为主要评价指标,并比较模型的大小为嵌入机器人设备作考虑。7 种模型的实验结果如表2所示。可以看出:相比于CenterNet、Faster R-CNN 模型,本文改进模型的平均精度分别提高了12.8 和 9.0 个百分点;相比于 YOLO 系列算法,本文改进模型比 YOLOv3、YOLOv4
46、和 YOLOv5s 原始模型的检测精度分别提高了 10.9、3.9 和 5.4 个百分点;相比于 Fire-YOLO 模型精度提高了 6.3 个百分点。实验结果表明,本文所提出的改进 YOLOv5 火焰检测模型的检测精度是最优的。而在检测速度方面,本文改进模型虽比原 YOLOv5s 模型有所降低,但仍达到 68 帧/s,完全可以满足消防灭火机器人对火焰 实 时 检 测 的 要 求,且 对 比 CenterNet、Faster R-CNN、YOLOv3、YOLOv4 和 Fire-YOLO 模型的检测速度具有较大优势。此外,本文提出的改进模型大小仅为 15.4 MB,相比于 CenterNet、
47、Faster R-CNN、YOLOv3、YOLOv4 和 Fire-YOLO 模型,可以更好地满足机器人嵌入式设备对火焰检测模型轻量化的要求。3.4.3测试结果为了证明本文所提出的改进 YOLOv5火焰检测模型能够实现对陌生火焰图像的准确检测,本文使用测试集火焰图像进行测试,测试结果如图13所示。由于测试集中的图像数据与训练集以及验证集数据无重叠,因此由检测结果可知,基于改进 YOLOv5的火焰检测模型能够准确识别出陌生火焰图像中的火焰目标,模型具有良好的泛化性和鲁棒性。同时,对于城市高层建筑灭火、小火点灭火等情境下的火焰目标检测,基于此模型的检测方法仍具有良好的准确度。4结束语 本文提出一种
48、基于改进 YOLOv5模型的实时火焰检测方法,在 YOLOv5 原始模型的特征提取部分嵌入协同注意力机制,在特征融合网络中添加针对小火焰目标的检测层,在损失函数计算中引入新的边界框损失-CIoU,并通过预训练和迁移学习对模型各层结构参数进行初始化。实验结果表明,改进后 的 模 型 平 均 检 测 精 度 达 到 96.6%,检 测 速 度 为68 帧/s,模型大小仅 15.4 MB,有效提升了火焰检测表 2与主流目标检测模型的性能对比 Table 2Performance comparison with mainstream target detection models模型CenterNet
49、Faster R-CNNYOLOv3YOLOv4YOLOv5sFire-YOLO本文改进模型精确率/%82.183.782.690.789.188.993.8召回率/%80.684.383.592.386.989.794.3mAP(0.5)/%83.887.685.792.789.290.396.6mAP(0.5 0.95)/%66.870.768.482.172.579.385.7检测速度/(帧s-1)2165254714268模型大小/MB88.0108.0235.0244.014.049.615.4图 13火焰检测的测试结果Fig.13Flame detection test resul
50、ts300第 49卷 第 8期陈露萌,曹彦彦,黄民,等:基于改进 YOLOv5的火焰检测方法的精度。在未来的工作中,将在嵌入式设备上进行模型的部署,同时收集更多复杂场景下的火焰图像扩充数据集,如带有烟雾干扰的火焰图片,以增强模型对更复杂场景下的火焰检测准确度,进一步提升模型的泛化能力。参考文献 1 苏展,张防震,王瑞,等.基于RGB+HSI颜色模型的早期火焰检测算法研究 J.河南教育学院学报(自然科学版),2021,30(3):28-32.SU Z,ZHANG F Z,WANG R,et al.Research on early flame detection algorithm based