基于改进的YOLOv3火灾检测算法研究

奚方园,李 燕,梅 腱,胡国华

(合肥学院 先进制造工程学院,安徽 合肥 230000)

在日常生活中,火灾的发生会对人们带来巨大的危害[1]。在火灾发生前,通常伴随着烟雾和火焰的不断产生,若能够在火灾发生早期,及时地对烟雾和火焰进行迅速并且准确地检测,就可以有效地把财产损失和危害降到最低。

深度学习的发展,特别是基于深度学习的卷积神经网络的出现,为火灾发生时烟雾及火焰特征提取带来了全新的解决方法。陈俊周等人[2]利用原始图像的光流序列提取动态烟雾纹理信息,将烟雾纹理的静态特征与动态特征相结合,提升了复杂环境烟雾的检测效果,降低了误检率,但是由于早期的烟雾特征不明显,无关的区域较大,直接将原始图像输入到CNN,增大了模型的复杂度;
蒋珍存等人[3]基于VGG16网络,将3层全连接层修改为2层,并利用Dropout层来阻止模型的过拟合。虽然去掉一层全连接层可以减少部分计算量,但是由此导致模型的泛化能力较差;
Xu G等人[4]提出结合像素级和目标级融合的显著目标检测算法,有效地提取火灾目标的显著特征图,但是骨干网络采取的是轻量化VGG16网络,检测性能相对较低;
Ryu J等人[5],使用HSV通道与Harris角点检测器对火焰进行预处理,再传入Inceptionv3提取特征;
谢书翰等人[6]使用K-means聚类得到适合烟雾的锚框。在YOLOv4检测头中加入SE-NET模块,能够有效地抑制无关信息对检测结果的影响,提升检测精度,但是增加了部分参数,造成速度下降;
在对图像预处理时,有效地提高了目标检测的准确率,但是预处理占用较多的时间。

火灾发生时的环境一般比较复杂,在对烟雾和火焰进行检测时会导致对小目标检测的效果较差和检测精度低等问题。YOLOv3中Darknet-53的网络结构的计算是一个非常耗时的网络,在实现检测模型的嵌入式移植时对硬件的要求较高,在资源有限的设备上就无法满足检测实时性需求。因此,本文通过替换原骨干网络、增加聚焦和空间金字塔池化等方法对YOLOv3进行改进和优化。改进后的算法与传统的YOLO算法相比,在实时性、准确率上有了显著的提高,可满足火灾发生时对烟雾和火焰目标检测任务,可帮助救援人员排查火灾隐患。

YOLOv3是一个端到端的回归网络模型[7],其基础网络在Darknet-19的基础上引入了残差网络[8],并进一步加深了网络,改进后的网络由53个卷积层组成,称为Darknet-53(网络中含有53个卷积层)。其中残差网络由两级卷积网络叠加核主分支输出的同纬度张量得到。同时,采用快捷链接可以有效解决卷积层训练过程中网络模型梯度退化、网络误差不断累积等问题,保证YOLOv3深度训练拟合度高。Darknet-53模型结构整个网络主要包括5组残差网络。如图1所示为引入的残差网络图。

图1 DrakNet53网络引入残差网络模块

卷积层包含如下几个部分:一个Darknet的2维卷积Conv2D采用3×3和1×1卷积层组合而成一个Darknet的2维卷积Conv2D;
一个批量归一化层通过反向传播对训练过程中的梯度参数进行更新,使训练最快得到最优解;
一个具有激活函数的层帮助参数进行更新。

通过Darknet-53网络提取到图像的特征信息后,YOLOv3使用K-means聚类[9]来确定边界框的先验,即在基础网络后通过3个尺度的特征层进行边界框的预测,从而提升小目标的检测效果。YOLOv3的网络结构如图2所示。

图2 YOLOv3网络总体框图

根据YOLOv3的网络结构,由前面的分析可知,YOLOv3由Darknet-53与YOLO层构成,其中Darknet-53主要以卷积层与残差层组成,用于提取图片的特征;
而YOLO层则主要用于不同层次的特征图交互。

2.1 引入MobileNetv3骨干网络

MobileNetv3[10]网络具有低延迟、轻量高效的特点,可移植到目标检测嵌入式设备。在MobileNetv3网络模型设计中,不仅继承了MobileNetv1[11]的深度卷积可分离结构,同时也继承了MobileNetv2[12]网络模型中的可以通过不断地学习达到更好的扩展效果和压缩效果,提高整体结构的平衡性。在此基础上,MobileNetv3网络模型中还引入了NAS[13]和NetAdapt[14]网络搜索架构,通过计算机来实现最优化的参数设定,通过比较不同参数的网络模型效果,从而实现最优参数的设置。与MobileNetv2网络结构相比,增加了SE(Squeeze and excite)[15]注意力模块与h-swish非线性激活函数。整体而言,相较于MobileNetv1和MobileNetv2网络模型,在ImageNet项目数据库中的分类任务上,精度和速度都有着一定的提升。

为了能够使目标检测算法部署到边缘检测设备上,本文对YOLOv3的骨干网络进行改进,将原骨干网络替换成具有轻量化的MobileNetv3网络,具体操作过程是采用深度可分离卷积替代原来的标准卷积结构。

如图3所示是引入MobileNetv3骨干网络的MobileNetv3+YOLOv3模型图。

图3 MobileNetv3+YOLOv3模型图

对YOLOv3模型的骨干网络精简后,极大地降低了计算量。但同时由于分辨率低,小目标物体携带的信息量少,容易造成特征丢失,从而导致对小目标的检测效果差。

2.2 引入聚焦模块(Focus)

Focus模块的概念,最先应用于YOLOv5[16]。如果图像在进入MobileNetv3骨干网络之前未进行预处理,则图像特征可能会丢失,因此引入了聚焦模块来预处理图像,解决在处理过程中可能会出现图像失真问题。具体操作是在图像中每隔一个像素获取一个值,获取四个独立的特征层,然后通过堆叠的方法将四个独立的特征层堆叠。堆叠后得到的数据经过卷积操作就可以获得新的图像数据。得到的特征数据不会丢失信息,并且可以有效降低计算量提高处理速度。聚焦模块的处理过程如图4所示。

图4 Focus聚类模块

2.3 引入空间金字塔池化(SPP)

卷积神经网络中通常输入固定尺寸的图像。本文通过引入SPP[17]结构,从而获得多尺度局部特征信息。其主要作用是当进行卷积运算时在池化层与全连接层之间建立连接,使外部输入的图像进入本文网络框架前生成固定尺寸的图像。SPP结构总共有3层,分别为卷积层、池化层、全链接层。其中,池化层中池化核有三个,分别为13×13,9×9,5×5,并选择最大池化。在Mobilenetv3主干网络中加入SPP结构不仅提高了网络结构的鲁棒性,而且大大降低了过拟合,提高了模型的性能,极大地增强了最后一个特征层的感受野,在参数量与计算量无明显增加的同时,增强了检测的准确度。如图5所示为SPP结构图。

图5 SPP结构

2.4 损失函数优化

原始YOLOv3训练使用的损失函数是多目标优化函数,分别是类别损失、置信度损失和坐标损失,但是在计算这三种损失会使用到交并比(Intersection Over Union, IoU)作为损失函数。如果当检测框与真实框之间没有重合,那么这时的IoU值为0,这时对损失函数进行优化,梯度就为0,网络模型将无法进行训练。针对这个问题,本文的MobileNetv3+YOLOv3+SPP模型在训练的过程采用的是广义交并比GIoU(Generalized Intersection Over Union, GIOU)作为损失函数。

IoU的计算如式(1)所示。

IoU=|A∪B|/|A∩B|

(1)

GIoU的计算如式(2)所示。

GIoU=IOU-|C-(A∪B)|/|C|

(2)

GIoU损失函数的计算如式(3)所示。

LGIoU=1-GIoU=1-IOU(A,B)+

|C-(A∪B)|/|C|

(3)

其中:A表示检测框面积,B表示真实框面积,C表示包含A和B的最小矩形面积。

2.5 算法实现

改进的MobileNetv3+YOLOv3+SPP模型结构算法实现如下。

第一部分,图像输入到MobileNetv3的算法流程:

(1)输入的图像通过聚焦模块来进行切片操作,然后再通过堆叠(Concatenate)得到通道数为12的下采样特征图;

(2)经过Conv+BN+LeakyReLU进行卷积操作;

(3)经过多次的深度可分离卷积得到下采样特征图。

第二部分,利用加强特征网络,对初步的三个有效特征层进行特征融合,提取出更好的特征,获得三个更有效的特征层:

(1)经过卷积进一步加深网络层次提高特征提取能力,并通过SPP结构的最大池化作用来提升网络的感受野;

(2)将从骨干网络中得到的特征图像进行卷积调整,然后将深层特征进行上采样处理,处理后再与浅层特征进行加权融合,使采样后得到的信息更加丰富;

(3)中间层的特征信息通过深度可分离卷积操作提高特征提取深度,有效地避免了梯度融合。

αi和bi的参数设置可通过统计分析设备维修的历史维修数据进行拟合得到。αi愈大,则维修后设备故障率恢复程度越高;
bi愈大,则维修后设备老化速度越快。当αi=bi=1时,表示设备经更换后恢复为新。

第三部分,得到的三个输出经过Attention机制ECA到达检测头,经过如下算法流程:

(1)在ECA中计算特征信息的权重提高对重点任务的关注度;

(2)在检测边界框采用GIoU损失计算预测框与真实框的偏差,将得到结果与类别损失、置信度损坐标损失结合作为Loss总损失;

(3)整个网络根据损失度反向传播计算调整权值。

改进的MobileNetv3+YOLOv3+SPP模型如图6所示。

图6 MobileNetv3+YOLOv3+SPP模型图

3.1 实验环境的搭建

本次实验环境的软硬件配置如表1所示。

表1 实验环境软硬件配置表

3.2 网络模型训练

目前没有统一公开的烟雾火焰数据集,本文通过网络爬虫爬取图片,同时也借用了中科大火灾实验室提供的烟雾数据集,整理后得到9500张图像,并将得到的图像统一用labelImg标注工具进行标注。自制的数据集中,5100张图片只含有火焰,3200张图片只含有烟雾,1200张图片既包含火焰又包含烟雾。并添加100张负样本背景图片(既不含有火焰又不含有烟雾)。收集得到的数据集按照9:1的比例随机划分训练集和测试集。图7、图8和图9分别是不同检测模型对火焰、烟雾、火焰烟雾图像检测的结果。

(a)Yolov3模型(b)Yolov5模型(c)MobileNetv3+YOLOv3(d)改进模型图7 火焰识别效果图

(a)Yolov3模型(b)Yolov5模型(c)MobileNetv3+YOLOv3(d)改进模型图8 烟雾识别效果图

(a)Yolov3模型(b)Yolov5模型(c)MobileNetv3+YOLOv3(d)改进模型图9 火焰及烟雾识别效果图

4.1 评估指标

本文评价的指标有准确度(Precision, P)、召回率(Recall, R),平均准确率(Mean Average Precision, mAP)和检测速度(Frames Per Second, FPS)。其中,TP为正确检测到的正样本数据;
FP为把负样本检测为正样本的数量;
FN为把正样本检测为负样本的数量。在平均准确率的公式中,N表示样本数量,p(r)表示精确度与召回率的关系函数。

(4)

召回率:所有已标注目标中模型预测正确的比例,如式(5)所示。

(5)

平均精度:目标检测中准确度和召回率是一对矛盾变量的指标。若以R作为横坐标,P作为纵坐标,那么平均精度AP就为曲线所围成的面积,如式(6)所示。

(6)

平均精度均值:用来衡量识别精度,是所有类别AP的均值,如式(7)所示。

(7)

检测速度:用来衡量模型的运算能力,指的是模型一秒钟可以处理图片的数量。

4.2 性能评估

在相同的实验环境下,将本文改进的YOLOv3检测模型与YOLOv5、MobileNetv3+YOLOv3、YOLOv3-Tiny等其他检测模型进行比较,对比结果如表2所示。

表2 不同模型检测对比

从表2中可以看出,针对火灾发生时对火焰与烟雾目标检测,本文提出的MobileNetv3+YOLOv3+SPP模型在检测精度上均高于YOLOv3、YOLOv3-Tiny、YOLOv5、MobileNetv3+YOLOv3;
在检测速度方面,由于采用了轻量化网络MobileNetv3作为骨干网络,所以在计算量上面会大大地降低,因此改进后的模型在检测速度上相较于原模型提升了74.29%,相较于YOLOv5提升了35.56%,因加入了SPP模块,所以略低于MobileNetv3+YOLOv3,低于YOLOv3-Tiny。

MobileNetv3+YOLOv3和YOLOv3-Tiny为轻量化网络模型,然而轻量化网络模型的引入在检测速度方面也有显著的提升,但是模型的平均精度值略有下降,无法满足既提升模型的平均精度值又提升对目标检测的精度。本文针对火灾发生时火焰及烟雾目标在复杂背景下检测困难的问题,通过引入聚焦和空间金字塔池化等方法对目标算法进行优化,改进后的目标检测算法对小目标的检测精度有了很大的提升,结合MobileNetv3轻量化网络可以达到较好检测效果。

本文引入MobileNetv3作为骨干网络,通过金字塔池化和聚类等方法对YOLOv3算法进行改进。改进后的卷积神经网络MobileNetv3+YOLOv3+SPP目标检测算法,通过大量的学习训练,最终实现对烟雾和火灾的目标检测的准确率达到88.73%,实时处理帧率达到61FPS。相较于YOLOv3算法,利用改进后的模型对目标进行检测,在准确率上有了显著的提高,并且满足火灾发生时烟雾和火焰的实时检测任务。

猜你喜欢烟雾火焰卷积最亮的火焰音乐天地(音乐创作版)(2022年1期)2022-04-26基于3D-Winograd的快速卷积算法设计及FPGA实现北京航空航天大学学报(2021年9期)2021-11-02薄如蝉翼轻若烟雾小学阅读指南·低年级版(2021年3期)2021-03-19缤纷的火焰学苑创造·A版(2021年2期)2021-03-11影视剧“烟雾缭绕”就该取消评优华人时刊(2019年13期)2019-11-26从滤波器理解卷积电子制作(2019年11期)2019-07-04漂在水上的火焰动漫星空(兴趣百科)(2019年5期)2019-05-11基于傅里叶域卷积表示的目标跟踪算法北京航空航天大学学报(2018年1期)2018-04-20咸阳锁紧烟雾与尘土当代陕西(2017年12期)2018-01-19吹不灭的火焰学与玩(2017年6期)2017-02-16

推荐访问:火灾 算法 改进