面向火焰快速检测的轻量化深度网络研究

2022-09-06 11:09斌,李靖,赵康,周
计算机工程与应用 2022年17期
关键词:火焰注意力卷积

王 斌,李 靖,赵 康,周 温

1.中北大学 大数据学院,太原 030051

2.山西新思备科技股份有限公司,山西 晋中 030600

火灾一直在危害人类生命及财产安全。基于传感器的传统火焰探测技术,例如感温、感烟和感光传感器等都需要通过敏感原件检测火焰燃烧过程中温度、烟雾颗粒和光照强度等物理参量。然而无论是哪种参量都需要一定时间积累,所以传统传感器火焰检测在火药制品等快速爆发、蔓延极快的应用环境受到较大挑战。基于视觉的火焰检测受距离限制较小、覆盖范围广、响应速度快,因此对视觉火焰极速探测的研究迫切且意义深远[1-2]。

传统基于计算机视觉的火焰检测技术依赖于手工特征,例如对火焰颜色[3-4]、纹理[5]等特征进行提取。Wang 等[6]提出一种RGB-HIS 颜色模型,用于室内环境提取图像的火焰区域。另外,火焰在时间上的质心运动也可以作为加强判断依据。Xie等[7]提出一种视频火焰探测方法,融合了火焰随时间变化的闪烁特征与单张图像深层静态特征。Huang 等[8]对分帧图像序列进行去噪、滤波,提取可疑火焰区域的静态特征和动态特征,随后基于改进支持向量机利用融合特征进行分类。然而现实中火灾类型和场景复杂,不确定因素众多,依赖于人工算法提取特征泛化性不强。

近年来,基于深度神经网络强大的非线性表示能力及自动特征提取性质,深度学习在多个行业、领域的应用取得突破性进展[9-11]。基于深度学习的火焰检测可分为基于图像分类网络的识别方法和基于目标检测网络的定位方法。在分类任务中只需辨别场景中是否有火焰存在,故火焰检测常被判别为二分类问题。多位研究者用MobileNet[12]、DenseNet[13]、Inception[14]、VGG16和Resnet50[15]等作为基础网络来训练火焰数据集。这些方法在速度和准确率方面都达到了一个较好水平,但其无法定位火焰的确切位置,通过目标检测方法可以很好地解决这一问题。

目前,目标检测方法可大致被分为两阶段和单阶段目标检测方法。其中两阶段目标检测代表性方法是Faster-RCNN,尽管其在火焰检测准确率上取得不错效果,但是时间消耗较大[16]。Li 等[17]对Faster-RCNN、RFCN、SSD和YOLOv3上进行火焰检测性能对比,并得出结论YOLOv3是当时火焰检测性能最佳选择。Sun等[18]提出双网络来解决灯光等类火目标对火焰检测的干扰,待检测图像先经过YOLOv3中对类火目标进行检测,将类火目标掩膜后送入Inceptionv4网络中进行分类预测。Muhammad等[19]提出一种特征图选择算法,可以从训练过程中智能地选择对火敏感的特征图。为了进一步提升检测速度,更加轻量化YOLO系列目标检测网络[20]受到研究者们的青睐。Shen 等[21]提出一种轻量化网络模型LFnet用来进行烟火检测,该模型不仅对多尺度特征进行融合,还加入通道注意力机制以增强模型抗干扰能力。

为了提高火焰检测及定位精度,目前现有基于深度学习的火焰检测算法通常依赖于大型卷积神经网络,这往往导致参数量过多及检测时间慢等问题[22-24],难以满足火焰极速检测实时性需求。另外,火焰检测过程往往会遇到光照(阳光、灯光直射及反射等)、太阳、晚霞等类火目标造成的干扰。

针对这些问题,本文提出一种轻量级卷积神经网络的鲁棒火焰检测网络。首先,通过Mosaic 数据增强方式建立火焰极速检测多样化场景数据集,其中包括了常见干扰因素,如多种条件下反射光、太阳、路灯等场景;然后,为进一步轻量化YOLOv4-tiny 目标检测网络,本文选用深度可分离卷积替换YOLOv4-tiny 主干网络的普通卷积,大大降低模型参数量;其次,融合了特征提取网络多尺度特征形成四检测头网络,适应多种尺度火焰目标检测可有效避免火苗蔓延造成的误检、漏检;最后,在特征融合网络FPN中引入ECA通道注意力机制有效提升火焰检测精度。

1 YOLOv4-tiny检测模型简介

YOLOv4-tiny是近年来轻量化目标检测网络典型代表,其参数量大约只有600 万,相当于YOLOv4 的1/10。YOLOv4-tiny主干特征提取网络采用CSPDarknet53-tiny,它包含15个卷积层。为缓解网络模型退化问题,YOLOv4-tiny加入了3个残差单元[25],激活函数采用LeakyReLU。为了得到更多语义信息,YOLOv4-tiny使用特征金字塔网络FPN提取并融合不同尺度特征。另外,YOLOv4-tiny输出两个检测头可分别用于预测不同尺度下目标。

2 改进检测模型YOLOv4-tiny-L3/4

YOLOv4-tiny 在检测精度和反应速度上均取得了不错效果,本文将结合火焰极速检测中存在问题提出鲁棒性轻量化检测网络,网络结构如图1所示。

图1 YOLOv4-tiny-L3/L4网络结构图Fig.1 YOLOv4-tiny-L3/L4 network structure diagram

首先为进一步减少模型参数及计算量,提出的模型通过深度可分离卷积(ConvDW)代替普通卷积进一步实现模型轻量化。

然后通过ConDW+BN+LeakyRelu模块实现特征提取,其中BN 层可加速网络收敛,有效控制梯度爆炸和梯度消失。同时改进的网络结构中包含3个残差模块,每个残差模块由ConDW+BN+LeakyRelu 模块和1 个MaxPooling块构成。

YOLOv4-tiny 在合并有效特征层时使用了特征金字塔(FPN)网络,然而其结构过于简单;而且不同尺度特征融合策略也比较单一,仅有一次上采样后特征层堆叠。为扩大YOLOv4-tiny 的网络感受野并实现特征增强,本文融合4个特征层信息并且在多尺度融合过程中插入ECA通道注意力模块实现精度提升。

考虑到火焰尺度往往会随时间发生变化,尤其是某些火焰极易爆发的场景(如黑火药火焰),本文提取4个检测头用于实现不同尺度下火焰检测任务。

2.1 深度可分离卷积

深度可分离卷积是将一个完整普通卷积分解为逐通道卷积(depthwise convolution)和逐点卷积(pointwise convolution)两部分用于完成特征提取,极大降低了参数量和运算成本[26],如图2所示。

图2 普通卷积和深度可分离卷积的网络结构图Fig.2 Network structure diagram of ordinary convolution and deep separable convolution

DW 卷积首先将多通道特征图拆分为单通道特征图,并分别对其进行单通道卷积操作,然后重新堆叠到一起。DW 卷积完成后特征图数量与输入层通道数相同,只是对特征图尺寸方面可能有所调整。DW卷积中输入层各通道独立进行卷积运算,没有有效利用不同通道在相同空间位置上的特征信息。PW卷积的主要任务便是融合通道信息并实现特征图扩展。PW卷积与常规卷积运算非常相似,只是它采取的卷积核均为1×1 大小,滤波器包含了与上一层通道数一样数量的卷积核。一个滤波器输出一张特征图,因此多个通道,则需要多个滤波器。

2.2 注意力机制

为加强特征提取质量,YOLOv4-tiny-L3/L4 网络引入ECA 通道注意力模块[27]。它针对SE(squeeze-andexcitation)模块做出改进[28],提出了一种不降维局部跨信道交互策略和自适应选择一维卷积核大小的方法,并且一维卷积核大小可以通过学习得到,以极少参数量显著提升特征提取质量。其模块图如图3所示。

图3 中X为输入特征图,X~ 为加权之后输出特征图。H、W、C为特征图高,宽和通道维数。GAP(global average pooling)为全局平均池化操作,K为一维卷积核大小,为避免手动调优的不确定性,K采用公式(1)自适应调整。σ为sigmoid激活函数。

图3 ECA通道注意力模块Fig.3 ECA channel attention module

其中|x|odd为最接近x的奇数。

2.3 多尺度检测头

另外,火焰爆发前期均为火苗、火星等小目标,然后逐步发展为大面积火焰,这要求检测网络对不同尺度火焰目标有较强敏感度。由于卷积过程中浅层特征包含更多位置信息,为增强原YOLOv4-tiny(输入为416×416×3)对于小目标敏感程度,在原有两层特征金字塔(13×13、26×26)基础上又增加两层浅层特征(52×52、104×104)用于检测头预测。多尺度特征融合及检测头预测一方面可提升目标检测精度;另一方面能有效降低不同尺度下火焰误检、漏检。

3 实验设置与结果分析

3.1 数据集

本文将数据集图像分为训练集、测试集和验证集,共11 037张。其中8 939张图像用于作训练集,994张图像用于作验证集,1 104 张图像作测试集。本文数据集主要从三方渠道获取,一部分为网络资源获取,一部分为自行采集的火药燃烧数据集,其余为文献[9]和文献[13]提供的火焰图片。在制作数据集方面首先将自行采集的视频数据集分帧操作,形成视频帧图像和火焰图像混合数据集,然后将图像进行数据增强,包含旋转、翻转、颜色增强、随机颜色、对比度增强、亮度增强和Mosaic数据增强,增强后数据集共11 037张图像。其中Mosaic数据增强方法是将4张图像先进行简单矩阵变换,例如旋转、色域变化、缩放等,然后再进行裁剪拼接形成四宫格图像。通过这种方式极大丰富了检测物体背景,并且在batch normalization 计算时会同时考虑4 张图片数据,提高了训练效率。数据增强示例如图4所示。

图4 数据增强示例效果Fig.4 Data enhancement example

为进一步验证算法鲁棒性,本文利用类火目标通过Mosaic 数据增强方式制作干扰数据集用于训练和测试模型。其中部分类火目标图片来自于文献[9],真实火焰目标图像则来主要自于本文采集火焰视频数据集分帧后的图像,由此形成1 000 张干扰图像。干扰集图像制作过程如图5所示。

图5 基于Mosaic数据增强的鲁棒数据集Fig.5 Robust data set based on Mosaic data enhancement

3.2 参数设置

对于有锚框(anchor)的目标检测算法来说,需要预先设定锚框大小比例。本文采用基于改进YOLOv4-tiny 轻量化目标检测算法,将图片分别划分为13×13、26×26、52×52、104×104 大小的网格。对于自建数据集以及经过数据标注后的真实目标框,本文通过K-means算法对标注后真实目标框进行长宽比聚类计算[29],得出12 个尺寸的先验框大小。实践表明经过K-means 聚类后得出的先验框更加符合火焰真实大小,能够加快模型收敛速度,同时可有效提升检测精度。

在训练过程中,随机梯度下降法很可能陷入局部最优解,从而使得训练效果不理想。本文采用余弦退火(cosine annealing)算法通过衰减学习率可有效解决这一问题。余弦退火算法主要通过热重启(warm restart)突然增加学习率,以此来跳出局部最优解[30]。采用余弦退火算法学习率更新方式如下所示:

其中,lrnew表示新学习率,etamin为最小学习率,lrinitial为初始学习率,Tmax表示余弦周期的1/2。

本文训练参数Tmax=5,etamin=0.000 05,权重衰减正则项为0.000 5,学习率为0.001,迭代次数epoch=500,选取loss最低权重作为最后预测权重。

3.3 评价指标

本文所使用评价指标包括准确率(precision,P)、平均准确率(average precision,AP)、多类别AP 平均值(mean AP,mAP)、召回率(recall,R)、基于准确率与召回率综合评价指标(F1-score,F1)、模型复杂度评价标准为参数量大小(MByte,MB)和每秒浮点运算次数(floating-point operations per second,FLOPs)。计算公式如下:其中,TP代表正确预测正样本数量,FP表示错误预测正样本数量,FN表示错误预测负样本的数量,Spr表示不同置信度下precision-recall 曲线下面积,表示多类别AP平均值。

3.4 实验结果

实验对比方法包括YOLOv4-tiny、Efficientnet 作为主干网络目标检测方法EfficientDet[31]、Mobilenet 替换SSD 原先主干网络而形成的Mobilenet-SSD,以及本文改进YOLOv4-tiny 之后形成三层探测头方法YOLOv4-tiny-L3(13×13,26×26,52×52)和四层探测头方法YOLOv4-tiny-L4(13×13,26×26,52×52,104×104)。

3.4.1 模型复杂度对比实验

各种方法参数量和计算量如表1 所示,改进后YOLOv4-tiny 由于在骨干网络使用深度可分离卷积代替普通3×3卷积,其参数量和计算量大幅降低。虽然计算量略多于MobileNet-SSD,但是在参数量方面本文改进后方法优于其余轻量化目标检测算法。

表1 各种方法参数量和计算量对比Table 1 Comparison of parameters and calculation amount of each method

3.4.2 消融和对比实验

为验证提出算法有效性,本文对轻量化火焰检测模型做了消融实验,并在包含1 104 张图像测试集上进行性能测试。各种方法关于测试集性能如表2所示,其中YOLOv4-tiny-L3(no-ECA)是在原YOLOv4-tiny基础上使用深度可分离卷积并且在FPN 网络增加了52×52 有效特征层。同理,YOLOv4-tiny-L4(no-ECA)是在YOLOv4-tiny-L3(no-ECA)基础上在特征融合层FPN增加104×104 特征层。而YOLOv4-tiny-L3(ECA)和YOLOv4-tiny-L4(ECA)是将上述两种方法分别加入ECA 通道注意力模块。YOLOv4-tiny(ECA)是直接将原YOLOv4-tiny加入ECA通道注意力模块。

表2 各方法指标性能对比Table 2 Index performance comparison of each method

通过表2 分析可得,增加有效特征层后,三层有效特征层方法YOLOv4-tiny-L3(no-ECA)在mAP和Precision上有提升,但在F1和Recall上有小幅下降。而加入第四层有效特征层YOLOv4-tiny-L4(no-ECA)后,各项数据均有提升。该实验可说明FPN增加特征层(13×13和104×104)的有效性,多尺度检测头有利于模型实现不同尺度目标检测,进而促进模型准确率、召回率等性能指标提升。

对于ECA 通道注意力模块来说,YOLOv4-tiny-L4(no-ECA)增加ECA通道注意力模块后指标上有少量提升,YOLOv4-tiny-L3(no-ECA)则有升有降。此外,表格前两行对EfficientDet和Mobilenet-SSD同样在测试集做了对比测试。通过上述分析可证明ECA通道注意力模块的有效性。注意力机制可助模型通过特征权重重分配实现有效特征提取,进而有效提升模型主要性能指标。

不仅如此,通过深度可分离卷积的改进可使得模型更加轻量化。这意味着提出模型参数量仅为原YOLOv4-tiny的18%,但在火焰目标检测方面却实现了更优性能。

为进一步验证mosaic数据增强有效性,本文采用不同数据集对模型进行训练和测试。具体地,分别通过增强前/后数据集对三种关键模型进行训练,然后统一根据增强后数据集进行测试,结果如表3所示。

表3 各方法关于不同数据集指标性能对比Table 3 Index performance comparison of each method on different data sets

通过实验数据不难发现通过Mosaic 数据增强的YOLOv4-tiny、YOLOv4-tiny-L3 以及YOLOv4-tiny-L4等目标检测模型在准确率、召回率、mAP、F1 等指标方面整体上均有所提升。

实验结果表明在训练和推理代价保持不变情况下,Mosaic数据增强可通过丰富图片背景增加数据多样性,进而实现增强模型精确率及鲁棒性等目的。

为进一步验证ECA 注意力机制有效性,本文验证了不同注意力机制对模型YOLOv4-tiny-L4 效果的影响,具体如表4所示。

表4 不同注意力机制对模型YOLOv4-tiny-L4的性能影响Table 4 Effects of different attention mechanisms on YOLOv4-tiny-L4

通过实验数据分析可知ECA注意力机制在性能方面要优于SE、CBAM[32]、SAM 和scSE[33]等空间、通道及空间通道混合注意力模块,它们在注意力权重分配过程中大都使用数据降维手段以减少模型训练过程中计算量。ECA则实现了通道不降维情况下通道权重的调节,并通过自适应交叉通道学习提升性能收益。实验结果表明ECA 有效避免了通道降维对模型性能的影响,局部交叉通道学习机制也对模型性能提升产生了一定促进作用。

3.4.3 检测时间对比实验

为了验证火焰检测网络模型实时性,本文分别对五种方法进行了检测时间对比。算法所采取运行环境为笔记本电脑(CPU-i5-8250U),记为M1;谷歌云服务器colab(GPU-Tesla K80),记为M2。算法均以干扰集图像做检测并求取检测时间平均值,实验数据如表5 所示。不难得出,在CPU 环境下MobileNet-SSD 检测速度最快,但与本文提出算法相差并不是很大,尤其是YOLOv4-tiny-L3(ECA);在GPU环境下本文提出YOLOv4-tiny-L3(ECA)和YOLOv4-tiny-L4(ECA)网络均优于其他方法。

表5 各方法检测时间性能对比Table 5 Comparison of detection time of each method

4 结语

本文首先建立火焰检测鲁棒性数据集,然后使用深度可分离卷积改进YOLOv4-tiny主干网络结构,增加有效特征层并引入ECA 注意力机制,最后实现多尺度火焰检测头用于完成不同尺度下火焰目标检测。改进后YOLOv4-tiny 参数量仅为原模型的18%,然而检测性能却得到较大幅度提升,其中YOLOv4-tiny-L3 和YOLOv4-tiny-L4 在鲁棒火焰检测数据集上mAP 和F1分别达到87.73%、90.69%和81%、85%。接下来将致力于在轻量化、准确性和实时性等方面进一步提升火焰检测性能。

猜你喜欢
火焰注意力卷积
最亮的火焰
让注意力“飞”回来
基于3D-Winograd的快速卷积算法设计及FPGA实现
缤纷的火焰
如何培养一年级学生的注意力
卷积神经网络的分析与设计
从滤波器理解卷积
漂在水上的火焰
基于傅里叶域卷积表示的目标跟踪算法
火焰