1. 引言
烟雾和火焰是火灾的关键信号,对快速预警和救援极为重要[1]。随着城市化的发展,火灾频发,尤其在复杂环境中,准确检测烟雾和火焰更加困难[2] [3]。基于计算机视觉和深度学习的检测技术成为了有效的新选择。
深度学习通过端到端的训练模式,能够从大规模图像数据中自动学习出最优特征[4]。同时,深度神经网络能够有效结合图像的宏观全局信息与微观细节信息,在多层次特征表达能力上具备显著优势[5]。基于深度学习的火焰与烟雾检测模型大致可分为双阶段检测模型、单阶段检测模型和新兴的基于Transformer和扩散模型的检测架构[6]。双阶段检测模型以R-CNN (Region with CNN features)、Fast R-CNN、Faster R-CNN和Mask R-CNN为代表。单阶段检测模型以YOLO (You Only Look Once)、SSD (Single Shot MultiBox Detector)和RetinaNet为代表。Transformer和扩散模型等新型架构利用多头自注意力机制和编码器–解码器结构,能够捕捉更丰富的上下文信息。
尽管YOLO系列算法在目标检测领域取得了进展,但在同时检测烟雾和火焰时仍面临挑战。烟雾和火焰的视觉特征迥异,烟雾模糊且渐变,火焰明亮且对比度高,这导致在复杂场景中难以准确检测[7] [8]。为了解决这一问题,本文提出了一种改进的YOLOv8算法,通过集成CBAM注意力机制,增强了模型对不同特征的识别能力。实验结果表明,该模型能显著提高在复杂背景下检测烟雾和火焰的准确性,展现出广泛的应用潜力。
2. YOLOv8网络模型
YOLOv8 (You Only Look Once version 8)是一种轻量化且高效的目标检测模型,适用于实时目标检测任务。该模型在YOLO系列的基础上做了许多改进,旨在优化检测精度与推理速度,特别是在计算资源有限的设备上表现出色[9]。YOLOv8的网络结构由四个主要部分组成:输入端(Input)、Backbone、Neck和Head。每个部分各司其职,共同构成了一个高效且精确的目标检测系统。
输入端(Input):输入端的主要任务是对输入的图像数据进行预处理。YOLOv8通常接受416 × 416或640 × 640像素大小的图像作为输入,并进行一系列预处理操作,包括图像的归一化和数据增强。这些操作有助于增加训练数据的多样性,减少过拟合现象,并增强模型在不同场景下的泛化能力。
Backbone:Backbone部分是YOLOv8的核心特征提取网络,它负责从输入图像中提取多层次的特征信息。YOLOv8的Backbone设计采用了更加高效且深度优化的卷积神经网络(CNN)架构。与以往的YOLO版本相比,YOLOv8在Backbone部分做了优化,使得特征提取过程不仅更加精确,还大大减少了计算量[10]。
Neck:Neck部分的主要任务是对Backbone提取的多层次特征进行进一步的整合,以便为Head提供精确的输入。YOLOv8的Neck设计采用了特征金字塔网络(FPN)和路径聚合网络(PAN)等先进的结构,这些结构能够高效地融合不同尺度的特征信息,增强模型对多尺度目标的检测能力。通过FPN和PAN,YOLOv8能够更好地处理小目标和复杂背景下的检测任务,提高了对小目标的准确识别率[11]。
Head:Head部分负责从Neck传递过来的特征中生成最终的目标检测结果,具体包括边界框回归、目标类别预测以及置信度评分。在YOLOv8中,Head部分的设计采用了Anchor-Free的思想,不再依赖传统的Anchor框,而是通过自适应的方式进行目标定位。这一改进简化了模型设计,并提高了其对不同形状和尺度目标的适应能力[12]。
3. YOLOv8网络的CBAM注意力机制改进
CBAM通过两个关键的注意力模块——通道注意力模块和空间注意力模块,对输入特征图进行处理。CBAM的设计旨在使网络能够自适应地对输入的特征图进行加权,以突出重要的特征区域,从而提高检测精度。
通道注意力模块:该模块通过对各个通道进行加权,来突出图像中最具代表性的特征通道。具体来说,通道注意力模块通过全局平均池化(Global Average Pooling)和全局最大池化(Global Max Pooling)操作获取输入特征图的全局信息,然后通过共享的MLP (多层感知机)进行处理,生成每个通道的权重。最终,这些权重被用来调整每个通道的特征响应,从而强化对关键信息通道的关注。
空间注意力模块:空间注意力模块的主要任务是通过加权输入特征图的空间位置,来突出图像中重要的空间区域。该模块首先利用全局平均池化和全局最大池化分别生成两个不同的特征图,然后将这两个特征图进行拼接,经过一个卷积层后输出一个空间权重图。这个权重图表示了输入特征图中每个空间位置的相对重要性,模型通过这种方式来聚焦于重要的区域,忽略不相关的背景。
在YOLOv8的网络架构中,CBAM被集成在Backbone和Neck之间,增强了对图像中细节信息的提取,尤其在复杂场景和低对比度的图像中,能够有效提高小目标和难以区分目标的检测精度。
CBAM注意力机制的引入有几个显著的优势:计算效率高,CBAM相较于其他复杂的注意力机制,其计算量相对较小,且易于集成到现有的网络中,基本不增加额外的计算开销。提高模型精度,通过通道和空间注意力的加权,CBAM能有效地加强网络对重要特征的关注,特别是在处理具有复杂背景或低对比度图像时,能够显著提高模型的检测精度。通用性强,由于CBAM结构简单且灵活,它可以方便地与其他网络架构结合使用,提升不同类型模型的特征提取能力。在YOLOv8中,CBAM的引入大大增强了网络在复杂场景中的表现,尤其是对于小目标检测任务。在实验中,CBAM增强了YOLOv8的多尺度特征提取能力,并有效提高了模型对烟雾、火焰等目标的检测精度,尤其是在低分辨率和复杂背景下。
4. 实验结果和分析
4.1. 实验环境与准备
实验在安装Windows 11专业版64位操作系统的计算机上进行,配备NVIDIA GeForce RTX 4060 Laptop GPU和Intel(R) Core(TM) i7-14650HX CPU,以调用GPU提升模型训练效率。同时,使用CUDA、Python和PyTorch深度学习框架。
该实验使用自制数据集,包含多种复杂场景下的烟雾与火焰图像,经过实际拍摄和精细标注,数据集按8:1:1比例划分为训练集(5992张)、验证集(749张)和测试集(749张)。实验中,输入图像尺寸为640 × 640,训练轮次为100,批量大小为8,优化器采用AdamW,初始学习率为0.001,权重衰减系数为0.005,以提高收敛速度和泛化能力。
4.2. 结果分析
4.2.1. 消融实验
为了验证改进模块的贡献,进行了消融实验。实验结果表明,加入CBAM注意力机制优化后,mAP从74.32%提升到74.89%,提升了0.57个百分点,因此可以表明CBAM注意力机制有助于提升模型的整体性能,特别是在复杂场景下的目标检测精度和鲁棒性得到了显著提高,见表1。
Table 1. Ablation study results
表1. 消融实验结果
Model |
mAP |
YOLOv8 |
74.32% |
YOLOv8 + CBAM |
74.89% |
4.2.2. 实验结果
实验结果表明,改进后的YOLOv8模型在复杂场景下的烟雾与火焰检测性能显著提升。通过引入CBAM注意力机制,模型在mAP指标上相比原YOLOv8有了较大幅度的提升,表明模型在多样性和复杂背景下具有更强的鲁棒性和精度,见表2。
Table 2. Comparative experimental results
表2. 实验结果对比
Model |
mAP |
YOLOv8 |
74.32% |
改进后的YOLOv8 |
74.89% |
4.2.3. 可视化结果
图1展示了改进后的YOLOv8模型在不同场景下对烟雾和火焰目标的检测结果。相比原YOLOv8,改进后的模型在复杂背景和遮挡情况下表现出了更高的检测精度和鲁棒性,能够更准确地定位目标并减少误检。
Figure 1. Visualization results
图1. 可视化结果
5. 结语
针对复杂环境中烟雾与火焰目标检测的挑战,本文提出了一种改进的YOLOv8算法。通过构建并利用针对烟雾与火焰的定制化数据集,本研究对改进后的算法进行了全面的评估与测试。研究的核心改进在于引入了CBAM注意力机制,这一创新显著增强了模型对图像关键区域的识别能力,尤其是在烟雾和火焰特征的提取上。CBAM的引入使得模型能够更加精准地捕捉到烟雾的模糊渐变特征以及火焰的明亮高对比度特征,有效提升了在复杂背景下的检测性能。实验结果表明,改进后的YOLOv8算法在多种复杂场景下均展现出卓越的检测能力,不仅提高了对烟雾与火焰的检测精度,同时也保持了较低的计算成本,实现了在资源受限环境中的高效运行。未来工作将聚焦于进一步提升算法对极端条件下细小特征的识别精度,增强算法的泛化能力,以期在实际应用中提供更为精准、可靠的烟雾与火焰检测解决方案。