基于GB—YOLOv5的烟火智能检测研究①

2023-11-05 11:51蔡柳艳
关键词:火焰注意力火灾

蔡柳艳, 于 瓅

(安徽理工大学计算机科学与工程学院,安徽 淮南 232001)

0 引 言

火灾是现实生活中最常见、最突出,同时也是危害性最大的一种灾难,直接关系到人民群众的生命、财产安全,甚至会严重影响区域生态系统的稳定。因此,在火灾发生初期,对其进行迅速、有效的监控与预警,是防止火灾发生的关键。

早期多使用传感器检测火焰和烟雾,对于室内等特定环境有较好的检测效果,但在室外和复杂背景条件下受到诸多干扰,导致检测精度大幅下降[1]。传统的图像处理方法对于数据和处理器性能的依赖性较小,基于人工设计特征,通过收集颜色[2]、形状、纹理[3]和运动[4]等特征实现检测。Toereyin等人[5]基于小波变换来检测火焰颜色变换,结合时间与颜色的变化信息来减少对颜色相似的物体出现误检的情况。Kim等人[6]提出了一种基于RGB空间的颜色检测算法,优化了火灾的检测效果。然而,此类方法往往检测精度较低,误检率高,泛化性能不强。近年来,基于深度学习的目标检测算法得到了快速发展。与传统的机器视觉技术相比,深度学习方法能够自动提取出更抽象、更具体的特征,增强模型自身的泛化性能。Zhao等人[7]使用EfficientNet替换YOLOv3的主干网络,提高了网络的特征提取能力,但是忽略了计算量增多带来的速度下降问题;Xu等人[8]提出了一种轻量级的Light-YOLOv5s算法,提高了火灾检测的精度和速度,但是对于远距离目标的检测效果不太理想。

目前,以深度学习为基础的火焰和烟雾检测方法,在实际应用中仍存在很多问题。由于火灾发生的环境往往具有高度的复杂性和随机性,现有算法对存在的遮挡、起火目标较小等问题的检测精度较低、速度较慢,存在较高的误检、漏检等问题。针对以上问题,提出一种基于GB—YOLOv5的烟火智能检测方法,将YOLOv5骨干网络中的CSP1_X模块替换为轻量级Ghost Bottleneck结构,同时为避免减少参数量导致精度下降,在网络层间添加CBAM注意力机制,提高检测速度的同时保证了检测精度;最后对颈部进行修改,提出一种基于BIFPN的多特征融合方法,更好地实现多特征融合,提高火焰和烟雾的检测能力。

1 YOLOv5s网络

YOLOv5网络模型目前广泛应用于目标检测任务中,其具有检测精度高、推理速度快等特点,在各领域问题上都取得了不错的成果[9-11]。YOLOv5根据网络宽度和深度的不同分为了四种大小不同的模型,其中YOLOv5s模型作为YOLOv5系列中结构最简单、检测速度最快的网络,更能符合实时火灾检测任务的需求。YOLOv5s网络由输入端、主干网络(Backbone)、颈部(Neck)及预测头(Head)四部分组成,网络结构和主要模块结构如图1所示。

图1 YOLOv5s网络结构图

其中输入端采用Mosaic数据增强、自适应锚框计算、图片缩放等进行图像预处理,丰富样本数据。Backbone由C3_Darknet,Focus,SPPF模块组成,主要作用为提取图像的深层浅层特征信息。主干网络将C3与Darknet融合,C3模块是简化版的CSPNet(跨局部连接网络),能够获取更加丰富的特征信息图;Focus模块将主干网络中输入的特征图进行切片操作,通过降低模型计算量来提高推理速度;SPPF在SPP基础上进行了优化,速度更快。Neck部分采用路径聚合网络(Path Aggregation Netwok,PANet)[12],即FPN+PAN的特征金字塔结构,FPN自顶向下传输强语义信息,通过上采样来传递融合信息,PAN则相反过来采用下采样方式增强网络特征融合的能力。最后使用Bounding box损失函数和非极大值抑制(NMS)作为后处理算法,实现多检测框去重的效果。

2 GB-YOLOv5检测模型

2.1 GhostNet网络模型

基于深度学习理论的特征提取过程中,通常会产生大量冗余的特征图,导致大量的算力消耗,进而影响模型的整体性能。Han等人[13]提出的GhostNet最大限度地减少了网络计算消耗,同时提高网络检测的准确率。计算深度可分离卷积与普通卷积的比值,公式如下:

(1)

其中,Dk为卷积核大小,DF为输入图片大小,M和N表示输入输出通道数。

Ghost Bottleneck模块的结构如图2所示,可以看到它们由两个Ghost模块组成,结构与Resnet中的残差部分类似。其中第一个Ghost模块通过增加通道数量对后续操作进行扩展处理,而第二个Ghost模块是通过缩减通道数量使其与网络中的直径结构相匹配,从而实现两个模块之间的信息传递。在完成了第一次Ghost模块之后,再进行批量归一化处理和ReLU激活操作,接着在第二个Ghost模块之后进行归一化处理。Ghost Bottleneck模块在不改变输入和输出大小的情况下进行特征提取,同时进行下采样操作。通过这样的结构方式,模型在有效减小计算量之余,减少了网络对特征图的重复操作,使特征图得以优化,进一步提高模型的检测效率。

2.2 融合注意力机制的GhostNet网络模型

针对YOLOv5s网络结构复杂和冗余较多而造成检测效率低下的问题,将YOLOv5骨干网络中的CSP1_X模块替换为轻量级Ghost Bottleneck结构,从而减少计算量、缩短检测时间,提高检测速度。考虑到可能因此带来精度下降问题,需要在网络层之间添加注意力机制CBAM。Woo等人[14]提出的注意力模块(Convolutional Block Attention Module,CBAM)结合了通道注意力模块和空间注意力模块,通过加权学习获得通道和空间位置上的重要特征信息。结构如图3所示。

图2 Ghost Bottleneck结构

图3 CBAM注意力机制

在通道注意力模块,经过平均池化和最大池化压缩输入特征图的空间维度,具体机制如公式(2)所示。

Mc(F)=

σ(MLP(AvgPool(F))+MLP(MaxPool(F)))=

(2)

在空间注意力模块,经过平均池化和最大池化压缩输入特征图的通道,计算过程式(3)所示。

Ms(F)=σ(f7×7([AvgPool(F);MaxPool(F)]))

(3)

其中,f7×7代表7×7的卷积操作。

将注意力机制引入到Ghost Bottleneck结构中,在减少模型参数的同时,保证了检测精度。其模块结构如图4所示。在完成首次Ghost卷积运算后,对输入激活函数进行BN层的归一化处理,同时使用ReLU激活函数,实现Ghost卷积的高效表达能力。在ReLU激活函数后添加CBAM注意力机制,避免了减少参数带来的精度下降问题。将此模块替换掉原网络中的CSP1_X模块。

图4 模块结构图

2.3 特征金字塔结构的改进

YOLOv5采用PAN结构来实现对颈部区域的特征提取和融合,有效解决了不同场景图像中目标尺度差异较大的问题。然而,由于火灾探测的环境充满了复杂性和不确定性,所以需要融合更多的特征才能取得更好的检测效果。因此EfficientDet提出的特征融合方法BIFPN (Bidirectional Feature Pyramid Network)[15]更适用于火灾的检测。其网络结构如图5所示。BIFPN运用双向融合的思想,构造了一条自顶向下、自底向上的路线,将骨干网络中的多个尺度信息进行融合,再通过上采样和下采样对特征分辨率尺度进行统一,并在相同尺度之间建立双向连接,以减少特征数据的损失,从而实现更高层次的融合。

因此,使用BIFPN模块替换PAN来增强YOLOv5的颈部,更迅速、更容易地实现多尺度特征融合。同时,BIFPN通过引入可学习权值,实现了自顶向下和自底向上等多尺度特征的有效融合。与 Yolov5的颈部PANet相比,BIFPN在参数和FLOPS更少的情况下性能更好,且不牺牲精度,提高了实时识别火焰和烟雾的能力。

3 实验结果与分析

3.1 实验条件

深度学习模型的准确性高度依赖于训练和测试阶段使用的数据集。由于缺乏用于火灾检测的权威数据集,通过网站Kaggle、网站GitHub以及网络爬虫获取图片,整理后使用标注工具labelImg进行标注自制烟火数据集FSD,共包含4143张图像,涵盖了多种场景,如森林火灾、室内火灾、城市火灾和交通火灾等。按照8:1:1的比例随机划分为训练集、验证集和测试集,并用于火灾烟雾和火焰的检测。

在训练过程中用到的硬件设备CPU为AMD Ryzen 7 5800H,GPU为NVIDIA GeForce RTX3060 Laptop,软件环境为Windows11操作系统,PyThon3.8编译语言,Pytorch1.11深度学习框架,CUDA为11.4版本。

图5 BIFPN网络结构

3.2 评价指标

为了更好的评价所提模型的优劣性,现采用目前主流的目标检测算法的评价指标来进行验证。使用精确率(Precision,P)、召回率(Recall,R)、平均精度均值(mean Average precision,mAP)等评价指标来对模型整体性能进行评价。具体公式如下:

(4)

(5)

(6)

其中TP(真阳性)表示样本正确分为阳性样本;FP(假阳性)是指样本被错误分成阳性样本;FN(假阴性)是指样本被错误地分成阴性样本;此外,还对模型的检测速度进行了评估,使用每秒帧数(Frames Per Second,FPS)表示。

3.3 实验结果

为了展现网络模型和算法的性能,使用GB—YOLOv5模型对火焰和烟雾的检测效果展开综合评估,并且与原始的YOLOv5s网络模型进行比较,所用数据集均为自制FSD烟火数据集,结果如表1 所示。与YOLOv5s相比,所提GB—YOLOv5方法的P值和R值较原始算法分别提高了7.7%和3.2%,mAP值为85.9%,比原始算法的79.8%提高了6.1%,推理速度比YOLOv5s快21%,为87.51 fps。

表1 检测精度对比结果

为了能够更加直观地展现提出的基于GB—YOLOv5的烟火智能检测方法对于火灾检测的效果,设计了消融实验对各模块的有效性进行验证,实验结果如表2 所示。从表中可以看出,仅使用融合注意力机制的Ghost Bottleneck模块替代原网络的CSP1_X模块后,mAP提升了1.4%,推理速度比原始快26%,仅使用BIFPN模块,FPS略有下降,但是mAP提升了4.9%,改进后的模型整体mAP提升了6.1%,FPS比原网络快21%。

表2 消融实验结果对比

图6 本文算法检测效果

3.4 实际场景检测

经过多次训练之后,获得了最优的模型文件。在此基础上,对真实火灾场景中的图片进行测试,其检测结果如图6所示。图中展示了多种场景下火灾发生的可能情况,夜晚和白天场景下形状多变的火焰和烟雾都可以检测出来,图中多个目标都没有遗漏,并且可以检测出较小的烟雾和火焰。对于太阳光、夜晚灯光以及天空背景的干扰都可以被排除掉。总之,提出的基于GB—YOLOv5的烟火智能检测方法在多种场景之下均有较好的检测效果。

4 结 论

针对火灾发生的环境复杂多样导致检测效果不佳的问题,提出了一种基于GB—YOLOv5的烟火智能检测方法。将YOLOv5骨干网络中的CSP1_X模块替换为轻量级Ghost Bottleneck结构,同时为避免减少参数量导致精度下降,在网络层间添加CBAM注意力机制,提高检测速度的情况下保证了检测精度;接着使用BIFPN模块替换PAN模块来增强YOLOv5的颈部,更好地实现多特征融合,提高火焰和烟雾的检测能力。通过实验结果表明,所提检测方法的性能优于原始网络,在复杂环境下对火焰和烟雾的检测精度和速度有明显提高,并且对于小目标火焰和烟雾的检测也取得了很好的效果。

猜你喜欢
火焰注意力火灾
《火焰》
最亮的火焰
让注意力“飞”回来
漂在水上的火焰
“扬眼”APP:让注意力“变现”
吹不灭的火焰
A Beautiful Way Of Looking At Things
掌握火灾逃生知识
离奇的火灾