1. 引言
随着计算机视觉和深度学习技术的飞速发展,基于视觉的深度学习技术已成为火灾检测的研究热点。利用图像和视频信息进行火灾检测,能够提供更加直观和及时的预警,实现在火情初期采取措施以减少损失。深度学习技术在火灾检测中的应用已经取得了显著的进展,其中尤为重要的一个方向是目标检测。目标检测算法,如YOLO [1],已经被广泛应用于各种视觉检测任务中,成为火灾检测领域的理想选择。然而,在处理火情检测任务时,仍然面存在一些挑战,例如对复杂背景的识别能力不足、模型计算复杂度高等问题。这些问题在实际应用中可能导致检测精度的下降和响应速度的延迟。
为了解决上述问题,本研究设计了一种改良版的YOLOv8s算法,以提高室内火灾检测的准确性和实时性。本文通过整合Ghost模块[2]和卷积块注意力机制(CBAM) [3],对YOLOv8s模型进行了优化。Ghost模块通过分组卷积和线性变换的方式生成更多特征,从而在降低计算复杂度的同时保持模型的检测性能。卷积块注意力机制(CBAM)则通过引入空间和通道注意力,有效增强了模型对火灾特征的捕捉能力。
在本研究中,对改进后的YOLOv8s算法进行了详细的实验评估。实验结果表明,改进模型在减少模型参数量44%的同时,帧率提升了19.6%,检测精度增加了2个百分点。这些改进不仅显著提高了模型的检测速度和准确性,也为室内火灾监测提供了更加高效的解决方案。通过本研究的探讨和实验验证,本文展示了深度学习技术在火灾检测中的广阔应用前景。改进后的YOLOv8s算法在实际应用中表现出显著优势,证明了其在复杂环境下的有效性和可靠性。
2. 相关研究
随着火灾事故的频发,如何及时发现和识别火灾已成为人们关注的焦点。传统的火灾探测技术主要是通过红外线和烟雾传感器等传感器进行火灾探测。这类技术在探测室内火灾时简单有效,但在室外空间较大的场所,由于温度、烟雾等信息不易采集,传感器易老化,漏报、误报率较高[4]。近些年火灾识别领域对深度学习技术的应用引起了广泛重视。近年来,深度学习在火灾识别领域的应用取得了显著进展。Zhang等人[5]提出了一种基于视频的时空卷积神经网络用于火灾识别,而Majid S [6]则提出了一种时空自注意力网络用于视频监控中的火灾检测和分割。然而,目前的视频图像火灾检测方法主要依赖人工选择的特征模型,由于人工特征选择的主观性和偏差性以及有限的泛化能力,会影响检测的准确性。
为了克服传统方法的局限性,Muhammad K等[7]提出了一种高能CNN架构,用于火灾检测和理解火灾场景。这种基于图像的火灾探测方法通过提供早期警报,有效减少了火灾损失。基于图像的火灾探测通过提供早期警报,极大地减少了火灾损失。Mseddi [8]提出了一种新颖的架构,将YOLOv5和U-Net集成用于火灾检测和分割,证明了森林火灾检测和误报抑制的可靠性。然而,当前的目标检测算法在应对复杂火灾场景中的高误报率方面面临挑战,并且缺乏对不同环境的适应性。当前目标检测算法在复杂火灾场景中的高误报率和环境适应性不足仍是挑战。Terven等人[9]全面分析了YOLO的发展历程,详细介绍了从YOLO到YOLOv8、YOLO-NAS和带变压器的YOLO的创新。Khalid等人[10]探索了用于检测农田小害虫的深度学习对象检测,提出了一种使用卷积神经网络的早期害虫检测方法。为高分辨率输入设计精确、实时的目标检测器是一项至关重要的任务。Wang等人[11]利用ATT-YOLO解决了这一难题,ATT-YOLO是一种YOLO风格的目标检测器,包含自注意模块、多尺度特征提取、改进的自动锚点设计和特征金字塔集成。Wu等人[12]提出了基于YOLOv5s的增强型目标检测算法SDE-YOLO,解决了现有单级和两级算法在血细胞检测中存在的检测精度、误报和漏报等问题。基于YOLO的物体检测器在脑肿瘤自动检测中表现出显著的准确性。
基于YOLO的物体检测器在各类应用中表现出显著的准确性。Kang等人[13]开发了一种创新的BGF-YOLO设计,将双阶段路由注意(BRA)、通用特征金字塔网络和第四个检测头结合到YOLOv8中,能够自动检测和跟踪内窥镜视频片段中的手术器械。Zhang等人[14]提出了CC-YOLO,一种专为高速公路驾驶场景定制的车辆检测算法。CC-YOLO是YOLOv5s的增强版,采用了YOLOv8的C2F模块,取代了YOLOv5s的Backbone和PAN-FPN 中原有的C3模块。Pan等人[15]引入了Xoo-YOLO模型,用于检测自然田间条件下野生稻的细菌性枯萎病,并针对这一特定任务调整了YOLOv8模型。结果表明该模型非常有效,平均精确度高达94.95%,令人印象深刻。Dalal等人[16]开发的火灾监测框架独特地将局部二进制模式卷积神经网络与YOLO-V5集成,展示了火灾识别的创新机制。他们设计并采用的连续两阶段特征提取技术,有效提升了火灾检测的准确性。这一研究为将深度学习与传统方法结合,构建高效、准确的火灾检测系统提供了有力的证据。
这些研究表明,结合多种深度学习技术和创新的网络架构,可以显著提升火灾检测的准确性和鲁棒性。
3. 方法
本研究的核心是在YOLOv8模型引入两种先进的神经网络模块,卷积块注意力模块和Ghost模块。这些改进旨在提高模型对室内火情特征的识别能力,同时实现检测过程的高效性。下面详细介绍这些改进的实施方法和理论基础。
3.1. 卷积块注意力模块
在火焰和烟雾检测任务中,复杂的背景和噪声是图像中常见的问题,它们可能会干扰模型对目标的准确识别和定位。为了提高检测的准确性和鲁棒性,有必要引入一种机制,使模型能够自动关注重要的特征区域,忽略不相关的背景信息。CBAM是一个有效的简易注意力机制,能够通过聚焦图像的关键区域来增强网络的表示能力,具体实现图1所示。
Figure 1. Structure diagram of CBAM module
图1. CBAM模块结构图
在通道注意力(Channel Attention) [17]部分,通过全局平均池化和全局最大池化操作,对输入特征图在通道维度上进行聚合,生成两个一维特征向量。将这两个特征向量输入到共享的全连接网络,生成通道注意力图。对输入特征图按照通道注意力图进行加权,增强重要的通道特征。该通道利用两个共享权重的全连接层创建通道注意力图。当注意力图创建之后采用sigmoid函数[18]进行调整,以增强重要特征通道,同时抑制次要的通道。在空间注意力(Spatial Attention) [19]部分,系统在通道注意力的基础上应用平均池化与最大池化以提取空间特征描述符,随后通过一个7 × 7卷积层来进一步精细化空间注意力图。这一步骤强调了图像中重要的空间区域,帮助模型更好地局部化火焰和烟雾等关键特征。
通过CBAM模块,模型能够在通道和空间两个维度上自适应地调整特征图的权重,增强重要特征的表示能力,抑制无关特征。这种机制能够显著提高火焰和烟雾检测的准确性和鲁棒性。
3.2. C3Ghost模块设计
本文将C3Ghost模块引入到YOLOv8模型中。该模块在保持高效特征提取的同时,显著降低了计算复杂度。C3Ghost模块的设计结合了C3模块和Ghost模块的优势。C3模块是YOLOv8中的关键组件,用于增强特征提取和表示能力。它由瓶颈层、残差连接和特征拼接组成。瓶颈层通过压缩特征图减少参数数量和计算成本,然后再进行扩展;残差连接则帮助缓解梯度消失问题,促进梯度的流动;特征拼接通过合并不同路径的输出,增强模型捕捉细节信息的能力。
Ghost模块是一种轻量级卷积技术,旨在减少计算成本和模型大小,同时保持性能。它通过标准卷积生成一部分特征图,然后通过廉价的线性操作生成其余的特征图,称为幽灵特征。通过这种方法,Ghost模块显著减少了所需的计算量和参数数量,使模型更加高效[20],Ghost模块结构如图2所示。
Figure 2. Ghost module structure diagram
图2. Ghost模块结构图
在C3Ghost模块中,将C3模块中的传统瓶颈层替换或增强为Ghost模块。通过这种整合,C3Ghost模块在减少计算量和参数数量的同时,保持或提高了特征提取的性能。这样,模型在推理时间和计算需求方面变得更加高效,C3Ghost模块结构如图3所示。
Figure 3. C3Ghost structure diagram
图3. C3Ghost结构图
3.2. 改进后模型结构
基于原YOLOv8s模型,本文进行如下的改变。
首先,用GhostConv模块替换了标准的卷积层。GhostConv模块使用分组卷积技术生成内部特征,此外,还通过线性变换扩展特征数量,从而达到与原始卷积层相同的输出维度,但大大降低了计算复杂度。其次,将用于特征融合的C2F模块替换为C3Ghost模块。C3Ghost模块结合了GhostConv和深度可分离卷积,增强了特征融合的效果,同时优化了计算效率。C3Ghost模块的结构如图3所示,每个C3Ghost模块包含若干个GhostBottleNeck模块,而每个GhostBottleNeck模块包含两个Ghost模块。改进后的模型结构如图4所示。
这些改进通过修改模型的配置文件和相应的网络定义代码来实现。本文使用PyTorch框架来实现这些修改,确保所有模块能与原有的YOLOv8架构无缝对接,并通过前向传播测试验证集成的正确性。通过这些改进,期望模型在室内火情检测任务中表现出更高的准确性和实时性。在后续的实验部分,本文将详细评估这些改进对检测性能的具体影响。
4. 实验
4.1. 数据与实验环境准备
本研究使用的数据集包含多个室内环境下拍摄的火灾图像,共计约10,400张,部分图像来源于公开数据集,其余则由现场实际拍摄获得。为了有效训练和验证改进的YOLOv8s模型,将相关数据集分为训练集、验证集和测试集,比例为8:1:1。为了更好地评估模型在实际环境中的表现,验证集中特别加入了一些现场采集的图像。
实验环境配置为一台配备了16核AMD Ryzen 7 5800H中央处理器(CPU)和16GB内存的计算机。此外,该系统搭载了NVIDIA GeForce RTX 3060 Laptop GPU,显存容量为6 GB,支持高效的图形处理和计算任务。这种硬件配置为进行高性能计算提供了强大的支持,适合执行复杂的数据处理和图像识别任务。
Figure 4. Improved YOLOv8s structure diagram
图4. 改进版的YOLOv8s结构图
4.2. 实验评估
在评估火焰检测模型的性能时,本文采用了一系列评估指标,这些指标可以全面衡量模型的检测效果和实际应用中的表现。评估指标包括精确率、召回率、平均精度和平均精度均值。
(1) 精确率(Precision),为正类的样本所占的比例,反映了模型预测结果的准确性,计算方法为:
(1)
其中,TP表示正检正样本数,FP表示误检负样本数。
(2) 召回率(Recall),是模型在所有实际为正类的样本中,正确预测为正类的样本所占的比例,反映了模型的检测能力,计算公式为:
(2)
其中,FN(False Negative)为错误负样本数。
(3) 平均精度(AP),是通过计算Precision-Recall曲线下面积得到的。对于每个类别,首先计算Precision-Recall曲线,然后计算该曲线下面的面积作为该类别的AP。计算公式如下:
(3)
(4) 平均精度均值(mAP),是所有类别的平均AP。mAP的计算公式为:
(4)
其中,N为类别数,APi为第i个类别的平均精度。
在评估火焰和烟雾检测模型时,首先使用验证集和测试集进行评估,确保数据的多样性和代表性。然后计算每个样本的TP、FP和FN,并基于这些统计量计算Precision、Recall,计算类别的AP、mAP。最后,记录模型在测试集上的平均推理时间,计算模型的参数数量和存储大小。
4.3. 实验结果分析
4.3.1. 消融实验
为验证本文基于改进YOLOv8s算法的有效性,本文在测试集上进行了消融实验,以YOLOv8s为基准,对CBAM模块和C3ghost模块进行了对比。为确保结果的公平性,使用了不同组合的消融实验进行对比分析。本文使用Precision、Recall、mAP0.5和mAP0.5:0.95作为评价指标。当输入图像尺度为640 * 640时,各模块测试结果如表1所示。通过表中的数据可以看出,经过YOLOv8s引入CBAM模块后,精度提高了2.3个百分点,mAP0.5:0.95提高了2.7个百分点,Recall和mAP0.5:0.95都有一定程度的提升,参数和帧率有细微的变化。当YOLOv8s完成Ghost改进之后,精度、召回率几乎维持原来水平,但是模型的参数有了大幅的缩减,增量有了明显的提升。最后,在两种方法综合改进之后,各项指标相比于原模型,Precisison、mAP0.5和mAP0.5:0.95均有2个百分点左右的提升,模型参数减少了44%,FPS提升了20。
Table 1. Results of ablation experiment
表1. 消融实验结果
模块 |
实验结果 |
CBAM |
Ghost |
|
P |
R |
mAP0.5 |
mAP0.5:0.95 |
Parameters/M |
FPS |
× |
× |
all |
0.932 |
0.918 |
0.910 |
0.804 |
11.1 |
102 |
fire |
0.952 |
0.939 |
0.935 |
0.815 |
smoke |
0.912 |
0.892 |
0.885 |
0.793 |
√ |
× |
all |
0.955 |
0.924 |
0.937 |
0.822 |
11.4 |
104 |
fire |
0.971 |
0.940 |
0.953 |
0.827 |
smoke |
0.939 |
0.909 |
0.921 |
0.818 |
× |
√ |
all |
0.933 |
0.915 |
0.911 |
0.826 |
5.9 |
123 |
fire |
0.953 |
0.935 |
0.936 |
0.834 |
smoke |
0.913 |
0.896 |
0.886 |
0.823 |
√ |
√ |
all |
0.954 |
0.923 |
0.936 |
0.823 |
6.2 |
122 |
fire |
0.970 |
0.939 |
0.952 |
0.828 |
smoke |
0.938 |
0.906 |
0.920 |
0.818 |
4.3.2. 与其他算法对比
为了验证算法的优越性,基于制作的数据集,使用改进的模型与当前目标检测中流行的YOLOv5s [21]、YOLOv7s [22]等算法进行了比较,实验结果如表2所示。
Table 2. Performance comparison with other algorithms
表2. 与其他算法性能对比
模型 |
P |
R |
mAP0.5 |
mAP0.5:0.95 |
Parameters/M |
Yolov5s |
0.918 |
0.906 |
0.902 |
0.781 |
7.2 |
Yolov7 |
0.929 |
0.895 |
0.918 |
0.792 |
36.4 |
Yolov8s |
0.932 |
0.918 |
0.941 |
0.804 |
11.1 |
本文方法 |
0.954 |
0.917 |
0.946 |
0.823 |
6.2 |
实验结果表明,本文的算法表现更优。在模型参数量上,尽管YOLOv5s取得了较为接近的成绩,但是改进的模型在精度上明显高出了3.6个百分点,mAP则高出了4.4个百分点。相比于YOLOv7,在各项指标略有优势之外,模型参数量少了将近6倍。
5. 结语
本文提出了一种基于改进YOLOv8的室内火情检测方法,结合了Ghost模块和CBAM (卷积块注意力模块),旨在提高检测精度和速度。通过对比实验,验证了本文方法在火焰和烟雾检测中的有效性。首先,通过在YOLOv8 backbone中加入Ghost模块,减少了模型的参数量和计算量,显著提高了模型的检测速度。实验结果表明,改进后的模型在减少模型参数量44%的同时,帧率提升了19.6%,检测精度增加了2个百分点。其次,集成CBAM模块增强了模型的特征提取能力,提高了火焰和烟雾的检测准确率。实验结果表明,与原始YOLOv8模型相比,本文方法在检测精度上提升了3.5个百分点,其中烟雾检测的精度提升了5.4个百分点。此外,本文研究还展示了在Nvidia Jetson系列边缘设备上的模型性能评估,证明了改进后的模型在资源受限环境下的实用性。
研究通过改进YOLOv8s算法,为室内火情检测提供了一个既高效又准确的新途径。它不仅在技术层面上推动了深度学习在火灾监测领域的进步,也为实际应用提供了可行的技术支持。
基金项目
基于人工智能的动态监测系统关键技术开发及应用研究(黔科合支撑[2019]2886号)。