基于改进YOLOv5s的森林烟火检测算法研究
2024-02-05李虹纪任鑫陈军鹏耿荣妹蔡骁张艳迪
李虹 纪任鑫 陈军鹏 耿荣妹 蔡骁 张艳迪
摘 要:该文提出一种基于改进YOLOv5s的森林烟火检测算法,通过引入GSConv轻量化卷积和消除网格敏感度的策略,在原始YOLOv5s模型的基础上优化。在烟火数据集上进行广泛的实验,同时将改进的算法部署到无人机上进行真机测试。实验结果表明,经过改进的模型在森林烟火检测任务中取得显著的性能提升。模型的平均精度达到90.65%,且检测耗时仅为4.1 ms,满足烟火检测的高精度和实时性要求。这一研究为森林烟火检测算法的实际应用提供有力支持,具有重要的实际意义和应用价值。
关键词:森林烟火检测;YOLOv5s;GSConv轻量化卷积;消除网格敏感度;实时性
中图分类号:S762.32 文献标志码:A 文章编号:2095-2945(2024)05-0007-05
Abstract: This paper proposes an improved forest fire detection algorithm based on YOLOv5s. The algorithm enhances the original YOLOv5s model by introducing the GSConv lightweight convolution and a strategy to eliminate grid sensitivity. Extensive experiments are conducted on a forest fire dataset, and the proposed algorithm is successfully deployed on a drone for real-world testing. The experimental results demonstrate significant performance improvements achieved by the enhanced model in forest fire detection. The average accuracy of the model is 90.65%, and the detection time is only 4.1 ms, which meets the high precision and real-time requirements of pyrotechnic detection. This study provides a strong support for the practical application of forest fire detection algorithm, and has important practical significance and application value.
Keywords: forest fire detection; YOLOv5s; GSConv lightweight convolution; elimination of grid sensitivity; real-time
隨着温室效应的增强,全球气候进一步变暖,世界范围内年平均降雨量减少,森林中的枯枝败叶增多,进而导致森林火灾频发。森林火灾具有燃烧时间长、难以控制的特点,这会严重破坏林木资源、毁灭动植物、严重危及人民群众的生命财产安全,给人们带来难以估计的损失[1]。据统计,我国自1950年开始,全国年均森林火灾案例超过13 000起,由森林火灾造成的伤亡人数达到580 人之多,超过653 000 hm2的林地面积被破坏[2]。
传统的火灾预防方法有红外探测器检测、卫星遥感等方式,这些方法对于森林火灾的检测都有明显的不足。基于红外探测器的检测距离过短,易受环境干扰,并不适合用来检测森林火灾。卫星遥感虽能在检测范围上达到最大化,但检测性能主要偏向于大面积森林火灾,火灾早期因面积较小不易被卫星遥感探测,不能及早提醒消防人员扑火,因此容易延误火灾扑灭的最佳时机。
随着深度学习和图像处理技术的快速发展,为森林火灾识别提供了新的手段,可以及时发现并扑灭森林火灾。无人机搭载深度学习平台,巡检过程中快速准确识别出烟火等目标,为人们提供最佳的扑灭森林火灾的时机。
1 YOLOv5算法介绍
YOLO[3-4]系列算法,因其高准确率和实时性而在学术界和工业界广受欢迎。最新发布的YOLOv5提供了4种网络模型:YOLOv5x、YOLOv5l、YOLOv5m和YOLOv5s。虽然这些模型在结构上相同,但区别在于网络深度和权重。其中,YOLOv5s是最轻量级的模型,拥有最小的网络宽度和深度,以及最快的检测推理速度。
考虑到实际应用的需求,本文选择了YOLOv5s作为改进模型。如图1所示,该模型的网络结构分为3部分:骨干网络、颈部网络和检测头。骨干网络采用了CSPDarknet架构,这是一种高效的特征提取模块。它通过叠加多个BottleneckCSP模块和SPP(Spatial Pyramid Pooling Fast,空间金字塔池化)模块,有效地捕获不同尺度和层次的特征信息,从而提升模型的感知范围和检测能力。颈部网络位于骨干网络和检测头之间,其作用是进一步整合和加工骨干网络提取的特征。在YOLOv5s中,颈部网络采用FPN+PAN结构,通过卷积和上采样操作,实现了不同分辨率特征的融合,从而使模型在多尺度上都能够有效地捕捉目标信息。检测头是模型的最后一部分,它使用颈部网络融合得到的特征进行目标检测预测。在YOLOv5s中,检测头负责生成候选目标框,对目标进行分类和位置回归,从而实现了目标检测任务。
2 模型的改进
2.1 GSConv轻量化卷积
深度学习模型的非线性表达能力与卷积网络的复杂度之间存在一定的正相关性。然而,复杂模型通常需要大量的计算资源。因此,在有限的成本内构建强大模型不应简单地依赖于无限增加模型参数的数量。Howard等[5]提出了轻量化网络,该网络在计算资源有限的环境中表现出色,能够以更少的计算资源实现高效推理,从而满足实时性能需求。受到Howard等的启发后,许多轻量化模型采用深度可分离卷积来代替普通卷积。然而,深度可分离卷積在特征提取过程中将输入图像的通道信息分离,从而破坏了通道之间的信息融合,导致模型的检测精度降低。Zhang等[6]提出的ShuffleNet 引入了“channel shuffle” 操作,通过在通道维度上进行信息混洗,以增强通道之间的交互性,从而提高特征表示能力。尽管该方法改进了深度可分离卷积以实现通道信息交互,但其检测精度仍无法达到普通卷积的水平。
为了在提高检测速度的同时不降低检测精度,本文引入了一种新的方法[7],即结合了普通卷积、深度可分离卷积和“channel shuffle” 操作的混合卷积,称为GSConv。如图2所示,首先通过普通卷积生成高维特征,然后使用深度可分离卷积将高维特征进行转换,把普通卷积生成的特征完全混合到深度分离卷积中。接着将这2个特征进行拼接,并通过“channel shuffle” 操作,将不同组的特征图混洗在一起,以增强不同组之间的信息交互。这种设计有效地减少了计算量和参数数量。
在对YOLOv5s模型的改进中,保留了骨干特征提取网络中的普通卷积,把颈部(Neck)普通卷积层使用GSConv替换,如图3所示。实验结果表明,GSConv和普通卷积在精度上基本保持一致。普通卷积在计算过程中最大程度地保留了通道之间隐藏的信息,从而保留了语义信息,然而深度可分离卷积会破坏这种联系。本文采用的GSConv通过混合普通卷积和深度可分离卷积的特征,恢复了通道之间的信息交互。需要注意的是,GSConv并没有替YOLOv5s模型中的所有普通卷积层。这一决策是出于对骨干网络的考虑,骨干网络负责对输入图像的尺寸进行压缩和通道扩展,输出的高通道的低分辨率特征包含了丰富的语义信息和多级感受野。如果在模型的所有阶段都使用GSConv,模型的网络层将变得更加深,网络训练可能会出现不收敛的和梯度爆炸。实验表明,这一改进的网络模型在保持YOLOv5s的检测精度的同时,通过轻量化设计,加快了推理速度。
2.2 消除网格敏感度
在目标检测中,预测的目标边界框会在不同的网格中滑动,输出相应的锚框值。如图4所示,在卷积过程中,当滑动到中心网格位置时,将相对于网格左上角的偏移量tx和ty的值传递给Sigmoid函数。这一步将偏移量的值限制在0到1之间,然后加上网格的尺寸,从而得到了预测边界框的中心坐标。当预测的中心点非常接近边界值时,例如在中心网格的左上角和右下角,Sigmoid函数的值需要趋近于0或无穷大,而网络很难稳定地达到这种极端值。
为了解决这个问题,在YOLOv5中引入了一个新的scale参数,用于调整Sigmoid函数的输出。如式(1)所示,bx,y是预测框的中心坐标,scale是一个尺度参数,tx,y是偏移量坐标,δ是Sigmoid函数,cx,y是距离左上角网格的坐标。通过增加tx,y区域的斜率扩大了可取值范围。随着尺度参数的增加,发现了一个新问题:在tx,y附近的区域,斜率也随之增加,如图5(a)所示。式(2)中b′x,y是bx,y的导数,当tx,y为0时,斜率达到最大值,最大斜率与比例值有关。因此,为了消除栅格敏感性,增加比例值会导致在tx,y附近出现非常大的斜率。而接近0的输入值tx,y会导致网络的不稳定性。
为了克服这些问题,受Huang等[8]的启发对先前的方法进行了改进,将tx,y乘以一个参数α/scale,如式(3)所示,其中α代表一个固定的斜率值。当将消除网格敏感性的方法(在YOLOv4中使用)作为基准时,将参数α设置为2。而在不消除网格敏感性的情况下(类似于YOLOv3的方法),参数α被设定为1。通过对式(3)进行导数分析(如式(4)所示),可以观察到当tx,y为0时,斜率与α相关。在这种方法中,使用固定值α,而不是可变的尺度值。因此,通过这种方式消除网格敏感性时,曲线的斜率保持不变,如图5(b)所示。实验中将参数α设定为2。
3实验结果与分析
3.1数据集
本文所使用的数据集来源于实际的应用场景,利用标注工具对1 400张图片进行标注,包含4类:火、烟、水源以及建筑物。为了增强网络模型的泛化能力和鲁棒性,对1 400张图做数据增强处理,包括随机裁剪、颜色变换、仿射变换。并将数据集按照训练集、测试集、验证集以 8∶1∶1 的比例进行划分。
3.2评价指标
为了全面评估模型的性能,采用多种不同的评价指标进行衡量和量化。式(5)代表精确率,精确率越高代表检测正确的目标数量占所有检测目标数量的比例越高。式(6)代表召回率,召回率较高时,模型能够找到大部分真实目标,但可能会有一些误检测。式(7)、(8)分别代表平均精确率和平均精确率的平均值,用于评估模型在不同阈值下的性能。
上述4式中,TP表示预测为正样本的正样本数量,FP表示预测为负样本的正样本数量,FN表示预测为正样本的负样本数量,m表示标签的类别数。
参数量是指模型中所有可学习参数的总数量。计算量是指模型在推理或训练过程中需要执行的总计算操作的数量,计算量可以用来衡量模型的复杂度和计算资源的要求,影响着模型的速度和效率。通常情况下,较高的计算量会导致更长的推理或训练时间。速度是指处理单帧图像的时间。
3.3 轻量化和消融实验结果
3.3.1 轻量化实验结果
为了在轻量化模型的同时保持检测精度并提升推理速度,把原始YOLOv5s颈部普通卷积替换为GSConv层,并在计算目标预测框时,并在目标预测过程中引入了参数以消除网格敏感度。实验结果见表1,改进的模型在精度方面提升了3.09个百分点,召回率也提高了2.13个百分点,这表明在目标识别方面,模型不仅减少了误判,还增强了目标的检测能力。另外,AP-50 值相對于原始 YOLOv5s 提高了3.25个百分点,参数量减少了0.8 MB,计算量减少了5.7 G,推理速度提高了2.1 ms,实验结果证明了所采用的改进模型和策略在烟火检测方面的有效性。
3.3.2 消融实验
为了验证各改进模块的有效性,本文共进行了4组消融实验,选取训练最优的训练权重在验证集上进行实验,实验结果见表2。 其中“√”表示加入该模块,“×”表示没有加入该模块,由表2可知,使用GSConv后,参数量下降,推理速度也提高了2.2 ms,说明该模块比原来模型更加轻量化;引入消除网格策略后,虽然检测速度的提升幅度不大,但模型的精确率却增加了2.58个百分点,有效提升了模型的精确性。
3.3.3 检测效果与分析
模型可视化如图6所示,通过对比可见,原始的YOLOv5在某些情况下存在烟雾目标的漏检现象,而经过改进的模型则能够准确地检测出图像中所有的烟雾目标,彻底解决了漏检的问题。此外,不仅在漏检方面有所改善,改进的模型在目标定位和分类方面也表现出更高的准确性,从而在整体得分上取得了显著提升,进一步验证了模型的优越性能。改进的轻量化模型并没有牺牲准确性来换取推理速度的提升。在实际应用中,经过TensorRT部署后,该改进模型在Windows平台上的推理速度达到了1 ms,这意味着模型能够在实时应用场景中快速地进行目标检测和识别,为实际应用提供了高效的解决方案。
4 结论
本文在深入研究目标检测领域的基础上,提出了一种针对森林烟火检测的改进算法。通过对YOLOv5s模型进行GSConv轻量化卷积的改进以及消除网格敏感度的优化,成功地提升了模型的检测性能和推理速度。实验结果表明,所提出的算法在烟火检测任务中表现出优越的性能,取得了显著的平均精度和实时性。将算法应用于无人机实际场景中的真机测试进一步验证了其有效性和可行性。该研究不仅在理论上提出了创新性的解决方案,还在实际应用中取得了实质性的成果。未来,将继续深入研究目标检测领域,进一步拓展算法的适用范围,为森林火灾的预防和控制提供更加可靠和高效的技术支持。
参考文献:
[1] 王楚.基于改进YOLOv5的森林火灾识别方法研究与应用[D].重庆:重庆大学,2022.
[2] 叶锦斌.基于深度学习的森林烟火检测系统软件设计与开发[D].广州:华南理工大学,2022.
[3] 马庆禄,鲁佳萍,唐小垚,等.改进YOLOv5s的公路隧道烟火检测方法[J].浙江大学学报(工学版),2023,57(4):784-794,813.
[4] 刘洪,王元华,何健,等.YOLOv5算法在山火检测中的应用[J].兴义民族师范学院学报,2022(4):113-118.
[5] HOWARD A, SANDLER M, CHU G, et al. Searching for mobilenetv3[C]//Proceedings of the IEEE/CVF international conference on computer vision. 2019: 1314-1324.
[6] ZHANG X, ZHOU X, LIN M, et al. Shufflenet: An extremely efficient convolutional neural network for mobile devices[C]//Proceedings of the IEEE conference on computer vision and pattern recognition. 2018: 6848-6856.
[7] LI H, LI J, WEI H, et al. Slim-neck by GSConv: A better design paradigm of detector architectures for autonomous vehicles[J]. arXiv preprint arXiv:2206.02424,2022.
[8] HUANG L, LI W, SHEN L, et al. High-Performance Fine Defect Detection in Artificial Leather Using Dual Feature Pool Object Detection[J]. arXiv preprint arXiv:2307.16751,2023.