这篇文章的主要研究内容是提出了一种基于改进YOLOv8的轻量级实时火灾检测模型DSS-YOLO。以下是文章的核心内容概括:
研究背景
火灾对人类生命、财产和社会稳定构成重大威胁。火灾早期阶段的小火焰、弥漫烟雾和遮挡物体给火灾检测带来挑战,如漏检和实时性能差。传统的火灾检测方法依赖于各种传感器,但这些方法存在有效感应范围短、需要人工确认等问题。相比之下,基于视觉的检测方法能够通过捕获和分析环境图像来避免这些干扰,因此研究者们致力于开发基于图像和视频的火灾检测方法。
研究方法
文章提出了DSS-YOLO模型,该模型基于改进的YOLOv8n架构,旨在提高对遮挡物体和小目标的识别精度,同时减少计算开销。主要改进包括:
DynamicConv模块 :替换Backbone中的所有C2f模块,减少计算量而不牺牲特征提取能力。
SEAM注意力机制 :集成到Head部分,增强对遮挡和小目标的检测能力。
SPPELAN模块 :添加到Backbone末尾,增强对不同尺度目标的检测能力。
实验
数据集 :使用mytest-hrswj数据集,包含2384张图像和对应的标注文件,涵盖多种火灾场景。
实验环境 :基于PyTorch框架,使用AMD EPYC 9754 128-Core Processor CPU和NVIDIA GeForce RTX 3090 GPU。
评估指标 :精确度(Precision)、召回率(Recall)、平均精度均值(mAP50)、模型大小(Params)和浮点运算次数(GFLOPs)。
关键结论
性能提升 :与原始YOLOv8n相比,DSS-YOLO在mAP上提高了0.6%,召回率提高了1.6%,同时模型大小减少了3.4%,计算量(FLOPs)减少了12.3%。
实时性 :DSS-YOLO在保持高检测精度的同时,显著降低了模型的计算成本,增强了在复杂火灾场景下的实时火灾检测能力。
泛化能力 :尽管DSS-YOLO在当前数据集上表现出色,但其泛化能力仍需在更多不同类型的火灾场景中进一步验证。
模型优化 :未来工作将集中在进一步提高模型的泛化能力,并在不同环境中增强整体检测性能。此外,结合多模态数据(如温度、湿度或烟雾传感器数据)可以进一步提高火灾检测的性能。
DSS-YOLO模型为智能火灾监测系统提供了有效的技术支持,特别是在早期火灾检测方面,能够及时识别小火焰,从而减少火灾可能造成的潜在危害。该模型在保持低计算负载和模型大小的同时,提高了检测精度,显示出良好的实际应用价值。这里是自己的论文阅读记录,感兴趣的话可以参考一下,如果需要阅读原文的话可以看 ,如下所示:
摘要
火灾对人类生命、经济发展和社会稳定构成重大威胁。火灾的早期阶段通常以小火焰、弥漫的烟雾和遮挡的物体为特征,可能导致漏检和实时性能差等问题。为解决这些问题,我们提出了一种基于改进YOLOv8n架构的DSS-YOLO模型,旨在提高对遮挡物体和小目标的识别精度,同时减少计算开销。具体来说,我们将Backbone中的所有C2f模块替换为DynamicConv模块,在不牺牲特征提取能力的情况下减少计算量。我们还引入了SEAM注意力机制,以提高对遮挡和小目标的检测能力,并在Backbone的末尾引入SPPELAN模块,以增强对不同尺度目标的检测能力。该模型使用公共数据集mytest-hrswj进行评估,该数据集包含多种火灾场景,包括室内、森林和建筑物等。与原始YOLOv8n相比,本文提出的DSS-YOLO模型将mAP提高了0.6%,召回率提高了1.6%,同时分别将模型大小和FLOPs减少了3.4%和12.3%。该研究结果为智能火灾监测系统提供了有效的技术支持,显著降低了模型的计算成本,增强了在复杂火灾场景下的实时火灾检测能力,有助于尽早发现火灾隐患,最大限度地减少火灾造成的损失。
关键词 :火灾检测、YOLOv8、DynamicConv、SEAM、SPPELAN
引言
住宅建筑中的火灾通常是人为活动的结果,被归类为导致重大财产损失以及危及人类健康和生命的事件。建筑火灾发生时的火灾响应性能由火灾特性、人为因素和建筑特征决定。全球每年火灾导致超过30万人死亡,数百万人遭受永久性伤害。在中国,2023年1月至10月期间,全国共报告约74.5万起火灾,造成1381人死亡,2063人受伤,直接财产损失达61.5亿元。与去年同期相比,火灾数量和受伤人数分别增加了2.5%和6.5%。现有的检测方法依赖于各种传感器,如烟雾传感器、热传感器、气体传感器和火焰传感器。这些设备通常成本低廉、技术简单、体积小且易于安装,但它们的有效感应范围较短,并且需要人工确认实际火灾事件。例如,在车间生产或采矿作业等复杂环境中,温度传感器可能会受到生产过程中产生的局部热量的干扰,而烟雾传感器可能会受到过程中产生的灰尘的影响。相比之下,基于视觉的检测可以通过捕获和分析环境图像,有效避免局部加热和灰尘造成的干扰。
火灾确实是造成人员伤亡、财产损失和经济中断的主要原因之一。每年,全球都会发生无数起火灾事故,造成的破坏难以量化和描述。为了将火灾的影响降到最低,实施创新和有效的早期预警技术至关重要。随着计算机视觉和深度学习技术的发展,基于图像和视频的火灾检测方法越来越成为主流。这些方法利用计算机视觉技术进行实时监控和分析,能够在更广泛的场景中有效识别火灾,并降低误报率。此外,卷积神经网络(CNN)和目标检测算法,如YOLO,可用于火焰和烟雾的识别。例如:张等人通过将原始C2f模块替换为FasterNet,引入CBAM注意力机制,并增加一个用于检测160x160大小小目标的检测头,同时引入EIOU作为边界框回归的损失函数,这些改进提高了检测精度并使模型更加轻量化,尽管它们也增加了模型的复杂性。王在YOLOv9架构中引入PGI算法,采用新的轻量化网络结构GELAN,并整合Focaler-IoU,从而提高了模型在复杂环境中的准确性,但也增加了其复杂性。赵扩展了特征提取网络,在三维中增强特征传播并优化特征金字塔以获得最佳预测框,这在各种自然光照条件下的火灾检测中表现出色;然而,对于部分遮挡的目标,其准确性仍然较低。薛通过修改YOLOv5的Backbone层,引入CBAM注意力模块,优化Neck层结构,并增加一个小目标检测层,提高了森林火灾小目标检测的性能。然而,模型参数的增加导致实时性能降低。邵通过引入SPD-Conv模块,用BiFPN结构替换PANet,将ELAN-W优化为C3模块,并将损失函数改进为Focal-CIoU,显著提高了YOLOv7在小火和烟雾检测任务中的性能。然而,模型的计算成本仍然很高,并且对环境因素(例如,遮挡)敏感,可能导致误报。
最近,本文研究了火灾检测的现状,测试了主流的深度学习模型和开源数据集,并对某些模型进行了算法改进。本文特别针对检测小的、被遮挡的以及对时间敏感的火灾目标的挑战,通过修改YOLOv8n模型来增强其对火灾目标的检测能力。此外,YOLOv8n模型参数数量少且计算轻量化,适合未来在移动设备和嵌入式设备上部署,这也是选择该模型进行研究的原因。
在火灾场景中,火灾目标通常较小、形状复杂,并且可能被建筑物、树木或其他物体遮挡,导致目标特征部分丢失。传统的检测模型通常无法准确识别这些较小和被遮挡的目标。因此,本文通过以下研究工作来解决这些挑战,以提高火灾场景中的高效检测能力。
本文的其余部分安排如下:“材料与方法”部分简要介绍YOLOv8,描述改进的模型算法,并解释每个模块。“结果”部分通过实验分析和比较改进的DSS-YOLO模型。“讨论”部分总结整个研究工作。
材料与方法
YOLOv8 :YOLOv8是由Ultralytics基于YOLOv5开发的下一代目标检测算法。它在准确性和速度方面都取得了显著的改进。YOLOv8不仅支持目标检测,还扩展到图像分类和实例分割等任务,使其成为计算机视觉领域更具通用性的框架。YOLOv8主要由三个部分组成:Backbone,负责从图像中提取深度特征,作为后续检测模块的输入;Neck,负责融合和增强Backbone提取的特征;Head,基于Neck产生的特征图执行目标的定位和分类。
与其他目标检测模型(如Faster-RCNN)相比,YOLOv8在速度上具有优势,并且在实时检测和资源受限环境中表现出色,特别适合需要快速响应的应用。与之前的YOLO版本相比,YOLOv8通过架构增强、损失函数优化和多任务支持,在速度和准确性方面都取得了显著的提升,在小目标检测和多任务场景中表现出色。此外,其用户友好的设计和灵活的部署使YOLOv8在实际应用中更加高效和便捷。
DynamicConv :由于卷积操作通常会产生大量参数,这些操作往往导致模型尺寸大和计算复杂度高。为解决这一问题,本文采用DynamicConv,其通过ParameterNet实现。ParameterNet的核心概念是使用动态卷积作为关键组件,将输入特征映射到多个专家卷积核,并根据输入动态调整每个核的权重。这使得ParameterNet能够在不增加计算成本的情况下显著增加网络中的参数数量,从而提高网络性能。
与传统卷积层相比,ParameterNet使用名为DynamicConv的动态卷积层,如图1所示。DynamicConv由两个主要部分组成:路由层和条件卷积层。路由层的输入特征图被池化并展平为一个向量,然后输入到全连接层以生成多个专家的权重。这些权重用于动态选择和组合多个卷积核,并应用Sigmoid激活函数。
DynamicConv是ParameterNet的核心组件。它通过引入多个动态专家来增加模型参数。动态卷积的数学公式如下:
SEAM :为了提高模型识别遮挡物体的准确性,本文在Head部分引入SEAM模块来处理上采样的特征图和不同尺度的检测分支。SEAM网络结构如图2所示,包括三个不同大小的CSMM模块(patch-6、patch-7、patch-8)。这些模块的输出经过平均池化,然后进行扩展(Channel exp),最后相乘以提供增强的特征表示。CSMM(Channel and Spatial Mixing Module)的结构。CSMM使用不同大小的patch来处理多尺度特征,并使用深度可分离卷积来学习空间维度和通道之间的相关性。该模块设计旨在通过仔细处理空间维度和通道,增强网络对遮挡特征的关注和捕捉能力。通过综合使用多尺度特征和深度可分离卷积,CSMM在保持计算效率的同时提高了特征提取的准确性。
SPPELAN :为了增强在复杂背景下识别火灾区域的准确性,并检测不同大小和发展阶段的火灾,本文引入了SPPELAN,如YOLOv9所述。SPPELAN是空间金字塔池化(SPP)和高效层聚合网络(ELAN)的结合。SPPELAN采用层次化聚合方法,通过不同大小的池化操作将特征图转换为多尺度的空间金字塔表示。这些表示随后被堆叠和融合,以最终得出全局上下文信息。SPPF是一个早期火灾目标检测模块,SPPELAN是其改进版本。与SPPELAN相比,SPPF主要关注在不同尺度上提取和融合特征,但缺乏对局部信息的精细聚合。因此,在处理小目标或被遮挡目标时,其性能可能不足。火灾目标在图像中通常非常小,并且可能被其他物体遮挡。SPPELAN模块通过金字塔池化和局部信息聚合,增强了模型对不同尺度目标的适应性。
金字塔池化有效地处理了多尺度目标的特征,特别是在检测小目标方面发挥了重要作用。同时,局部信息聚合通过精细化特征,提高了在复杂场景中对小目标、被遮挡目标和多目标的检测能力。
DSS-YOLO :火灾的早期阶段通常有小火焰,伴随着弥漫的烟雾和部分模糊的物体。因此,有必要加强对小目标和被遮挡目标的检测。同时,为了便于后续在移动设备或嵌入式设备上的部署,需要轻量级的网络结构以实现火灾目标的实时和准确检测。为了减少模型计算量并保持良好的特征提取能力,本文引入DynamicConv模块替换Backbone中的所有原始C2f模块。为了提高对被遮挡目标的检测能力并防止精度下降,本文在Head部分集成了SEAM注意力机制,增强了对小目标和被遮挡目标的检测能力,并提高了模型的鲁棒性。此外,为了增强多尺度特征提取和提高定位精度,本文采用SPPELAN模板替换了传统的SPPF模板。通过整合DynamicConv、SEAM和SPPELAN模块构建的DSS-YOLO模型如图3所示。Backbone部分用于提取图像的特征,由多个Conv层和DynamicConv层组成。动态卷积可以根据输入数据的特征自适应调整卷积核。Head部分基于提取的特征检测目标,由多个Conv层、上采样层、Concat层、SEAM模块和检测层组成。上采样和Concat层合并来自不同层次的特征图,增强了上下文信息的丰富性。SEAM模块是一种注意力机制,提高了模型对目标定位和分类的能力。检测层最终输出目标的类别和位置信息。
本文在Backbone部分用DynamicConv模块替换了原始的C2f模块。主要目的是在不增加计算成本的情况下显著增加网络的参数数量,从而提高网络的性能。与C2f相比,DynamicConv没有增加模型的整体计算成本;因此,模型的总计算负载实际上有所减少。本文在HEAD部分的每个Cf2层后面添加了SEAM模块。具体来说,SEAM模块位于每次上采样之后的特征融合点,以及每个检测头的预测层之前。目的是提高模型对被遮挡目标的识别能力,并增强其鲁棒性。
在Backbone部分的末尾添加了SPPELAN模块,目的是在特征金字塔的顶部引入多尺度信息,增强模型对各种尺度目标的检测能力。大多数轻量级模型为了提高推理速度,通常采用更简单的网络架构,忽略了对细粒度特征的捕获。这在处理小目标或被遮挡目标时存在劣势。相比之下,DSS-YOLO整合了DynamicConv、SEAM和SPPELAN三个模块,不仅增强了对小目标和被遮挡目标的检测能力,而且在实现模型轻量化的同时保持了高性能。本文提出的DSS-YOLO算法的伪代码分为11步:数据准备、数据集划分、数据增强、模型初始化、设置超参数、定义模型架构、训练模型、保存训练后的模型、在训练期间可视化图像、测试模型并可视化结果,以及验证模型并可视化结果。伪代码如附录A所示。
结果
数据集 :本文实验所用的数据集是用户Mytyolov8在Roboflow上提供的mytest-hrswj。该数据集包含2384张图像和2384个对应的标注文件,总共有一个标签“fire”。该数据集涵盖了室内、森林、建筑物和打火机等多种场景下的火灾情况,符合接近真实场景的要求。
本文将数据集随机划分为训练集、验证集和测试集,比例分别为80%、10%和10%。为了提高模型的泛化能力,在预处理阶段进行了旋转、平移、缩放、剪切、HSV变换和Mosaic混合等操作。
旋转、平移和缩放操作有助于模型识别不同位置、角度和尺度下的火灾目标变化。剪切和HSV变换有助于模型适应火灾目标形状和环境条件的变化。Mosaic增强技术通过增强多目标场景的训练,进一步提高了模型在复杂环境中的多目标检测能力。所有这些增强技术为DSS-YOLO在火灾目标检测中的高效性能奠定了坚实基础。
实验环境和配置 :本文的实验基于PyTorch深度学习框架构建。开发环境包括Python 3.8.10、PyTorch 2.0.0和CUDA 11.8,运行在Ubuntu 20.04操作系统上。硬件环境由AMD EPYC 9754 128-Core Processor CPU和NVIDIA GeForce RTX 3090(24GB)GPU组成。实验模型的训练参数配置如下:训练周期为300,输入图像大小为640×640,批量大小为32,优化器设置为SGD。
模型评估指标 :本文使用的评估指标包括精确度(Precision)、召回率(Recall)、平均精度均值(mAP50)(在IoU阈值为0.5时)、模型大小(Params)和浮点运算次数(GFLOPs)。精确度衡量检测结果的准确性,召回率衡量模型检测所有相关实例的能力。mAP50表示所有类别的平均精度。模型大小反映了模型的复杂性和规模,GFLOPs表示计算成本。计算公式如下:
其中,TP(真正例)表示实际为正且预测为正的样本;FP(假正例)表示实际为负但预测为正的样本;FN(假负例)表示实际为正但预测为负的样本;n表示类别数量;APk表示第k个类别的平均精度。
消融实验和分析 :为了验证本文算法中每个改进模块的有效性,在mytest-hrswj数据集上进行了4组消融实验。消融实验的结果如表1所示。第一组使用原始YOLOv8n模型进行基准实验。第二组将Backbone网络中的原始C2f模块替换为DynamicConv结构。尽管模型精度降低了3.1%,但模型的召回率和mAP50分别提高了1.6%和0.5%,模型大小和计算量分别减少了8.3%和17.0%,这表明DynamicConv结构可以在减少计算量的同时提高部分性能。第三组实验在第二组的基础上,在Head网络中引入SEAM注意力机制。其精度提高了3.6%,但召回率和mAP50有所降低,模型大小和计算量略有增加。第四组实验在第三组的基础上引入SPPELAN替换原始的SPPF,分别提高了召回率和mAP50 2.5%和0.5%,精度略有下降0.1%,模型大小和计算量也略有增加。总体而言,与YOLOv8n相比,模型大小和计算复杂度分别减少了3.3%和12.3%,精确度提高了0.4%,召回率提高了1.6%,mAP50提高了0.6%。
DSS-YOLO的训练结果如图4所示。从损失的减少可以看出,模型在训练过程中表现出良好的收敛性,验证集的损失也在减少,没有过拟合的迹象。精确度、召回率和mAP的逐步提高表明模型的检测性能在不断优化,最终精确度达到0.90,召回率接近0.83,mAP50和mAP50-95分别接近0.90和0.55。
比较实验和分析 :为了进一步验证本文描述的DSS-YOLO模型的性能,在mytest-hrsw数据集上与其他主流目标检测算法进行了比较。精确度、召回率、mAP50、Params和GFLOPs被用作评估指标。具体模型和比较结果如表2所示。如表2所示,与其他模型相比,DSS-YOLO在精确度方面表现最佳,mAP50排名第二。与参数量较大的YOLOv6s和YOLOv8s模型相比,DSS-YOLO在精确度上保持一致的优势,其mAP50仅比YOLOv8s低1.3%,而YOLOv8s的参数量是DSS-YOLO的三倍多。与参数量相近的YOLOv5n和YOLOv8n模型相比,DSS-YOLO在所有指标上均优于两者。显然,DSS-YOLO在模型计算复杂度和高精确度之间取得了更好的平衡,并具有较高的实时检测能力。结果表明,DSS-YOLO是五种模型中检测火灾目标的最佳方式,有效减少了计算量,同时保持了良好的识别精度,能够满足火灾实时检测的要求。总之,DSS-YOLO通过模型优化,有效地平衡了精确度和检测速度之间的权衡,使其非常适合满足火灾检测的高效和实时处理要求。此外,它在识别多尺度火灾图像方面表现出强大的鲁棒性。该研究对于多尺度火灾场景中的高效检测和识别具有重要的实际价值。图6比较了DSS-YOLO与其他五种模型在训练周期内的mAP50曲线。图6a显示了DSS-YOLOv8和两个参数量较大的模型YOLOv8s和YOLOv6s在训练周期内的mAP50曲线。对于YOLOv6s,DSS-YOLO在整个训练过程中始终保持一致的优势。对于YOLOv8s,尽管DSS-YOLO在前100个训练周期内的收敛速度慢于YOLOv8s,但当训练周期达到150时,两个模型之间的性能差距达到最小,在200个训练周期后,DSS-YOLO甚至略微超过了YOLOv8s。另一方面,图6b展示了DSS-YOLO与两个参数量相近的模型YOLOv8n和YOLOv5n的mAP50曲线。在90个训练周期后,DSS-YOLO一直超过了这两个模型,进一步突出了DSS-YOLO在整个训练期间的稳定性能提升。
图7展示了原始YOLOv8n模型与本文提出的DSS-YOLO模型在mytest-hrswj数据集上的检测性能对比。图中显示,原始模型的检测能力受到一定限制,无法识别某些细微和被遮挡的特征。尽管DSS-YOLO模型的尺寸受到限制,但它能够检测到这些细微和被遮挡的火灾相关特征,总体上优于原始模型。本文展示了使用DSS-YOLO模型进行火灾检测的示例图像,展示了其在各种环境中检测火灾的能力。实验结果如图8所示,包括被遮挡的物体、小物体以及一些传统场景。在这些示例中,模型在图8a和b中展示了对小目标和被遮挡火灾的精确检测能力。它还有效地识别了被遮挡的物体和较小的火灾,如图8c和d所示。对于标准火灾检测任务,如图8e、f、g和h所示,模型生成了准确且全面的边界框,精确地勾勒出目标,没有明显的定位错误或遗漏。总体而言,该模型在检测被遮挡和小目标方面表现出色,同时在一般火灾检测方面也表现出强大的性能。
讨论
本文基于对YOLOv8n的改进,成功开发了DSS-YOLO模型。它显著提高了对遮挡物体和小目标的检测精度,同时减少了计算复杂度。这一改进在实际应用中尤为重要,特别是在早期火灾检测方面,及时识别小火焰可以大大减少火灾可能造成的潜在危害。在本文中,模型中的C2f模块被DynamicConv模块替换,有效地减少了计算负载,这意味着模型可以在计算资源有限的硬件上运行,降低了部署成本。此外,SEAM注意力机制的应用有助于模型更好地关注关键区域,这对于检测遮挡目标至关重要。SPPELAN模块的引入进一步增强了模型对多尺度目标的检测能力。先前的研究已经证明了YOLO系列模型在实时目标检测中的卓越性能,但它们在处理小目标和遮挡目标时仍存在局限性。本文针对这些局限性进行了有针对性的改进。例如,先前的研究可能没有有效地处理遮挡火灾目标的检测,也没有充分平衡计算负载和精度。DSS-YOLO的设计充分考虑了这些因素,使模型在复杂环境下的目标检测任务中表现出色。
鉴于火灾检测的重要性,特别是在学校、医院或收藏有价值文物的博物馆等人口密集地区,快速准确地识别火灾迹象对于减少生命和财产损失至关重要。DSS-YOLO模型不仅为现有的火灾监测系统提供了技术升级,还为未来智能安全监测系统的发展提供了新的视角。尽管DSS-YOLO模型在本研究中表现出色,但仍有许多值得探索的方向。首先,模型的泛化能力需要进一步验证,特别是对于不同类型的火灾场景,包括但不限于工业火灾和森林火灾。其次,进一步压缩模型大小,同时保持高精度,使其能够在更广泛的设备上运行,仍然是一个关键的研究挑战。最后,将其他传感器数据(如温度、烟雾浓度等)与视觉信息相结合,可以进一步提高火灾检测的整体性能。
结论
本文提出了DSS-YOLO模型,用于火灾目标检测任务,该模型在保持低计算负载和模型大小的同时提高了检测精度,显示出实际应用价值。首先,将Backbone部分的所有C2f模块替换为DynamicConv模块,以减少计算复杂度,同时保留良好的特征提取能力。然后,在Head部分的每个C2f层之后添加SEAM模块,以增强对遮挡物体和小目标的检测能力。最后,在Backbone部分的末尾添加SPPELAN模块,以提高模型对不同尺度目标的检测能力。在mytest-hrswj数据集上的广泛实验验证了改进算法的有效性。与原始YOLOv8n相比,本文提出的DSS-YOLO模型在mAP方面提高了0.6%,在召回率方面提高了1.6%,同时分别将模型大小和FLOPs减少了3.4%和12.3%,满足了实时火灾检测的要求。与YOLOv8n相比,DSS-YOLO在检测被遮挡和不明显目标方面表现出更好的性能。未来的研究将集中在进一步提高模型的泛化能力,并在不同环境中增强整体检测性能。本研究在小目标和遮挡目标的检测方面取得了显著成果。然而,DSS-YOLO在极端条件下(如过曝或低分辨率)识别火焰方面仍面临挑战。此外,其在类似火焰背景(如日落或红色环境)中的火焰检测性能并不理想。在未来的工作中,可以通过量化和剪枝等技术提高模型的鲁棒性,并结合多模态融合(如温度、湿度或烟雾传感器数据),以增强在复杂环境中的适应性,并为智能消防安全提供更可靠的技术支持。


发布评论