基于改进YOLOX轻量级的烟雾火焰目标检测方法

2023-11-28 04:58:12金程拓赵永智刘惠临
滁州学院学报 2023年5期
关键词:烟雾火焰注意力

金程拓,赵永智,王 涛,刘惠临

消防安全是我国应急管理体系和能力现代化建设的重要组成部分。随着社会的不断发展,越来越重视事前消防风险防范能力的建设,其中烟雾火焰检测是初期火灾扑救的关键。准确、有效和及时的火情检测是实现初期火灾检测和扑救的重要手段。然而,目前传统烟焰检测系统主要依赖于温度、湿度和烟雾浓度等传感器感知技术,存在诸多局限性和不足[1]。例如,当传感器距离火源较远时,检测效果较差,容易出现漏报或误报;传感器无法提供丰富的火场信息,无法针对火场演变进行检测。此外,传感器需要布置大量的线路和设备,维护成本较高。

与基于烟感、温感等传感器技术的烟焰检测方法相比,视频火情检测技术具有响应速度快、抗干扰性强、成本低等特点,并且能够对火场信息进行全面直观的反馈[2],可为人员撤离、火灾扑灭争取更多宝贵的时间。

传统视频烟焰检测技术通常采用人工特征提取的方法,对其特征的研究主要集中在静态特征和动态特征,如火焰的颜色、闪烁程度、烟雾纹理、形状和面积变化等。Kong等[3]利用火焰和背景颜色的差异,将其相减来获得候选火焰区域,然后利用面积、颜色等特征,使用逻辑回归计算候选区域是火焰的概率。Yuan[4]提出一种基于积分图像的累积运动模型,通过快速估计烟雾的运动方向,实现鲁棒的烟雾检测。然而,该类方法高度依赖于人工特征提取,参数无法自适应于复杂的实战场景,难以应对不同可燃物、光照条件和气流影响导致的烟雾或火焰变化[5],缺乏实时性和远距离检测能力[6]。

近年来,基于深度学习的视频烟焰检测方法已经获得广泛关注。与传统方法不同的是,基于深度学习的烟雾火焰检测方法无需人工设计特征提取器,而是从样本中自动挖掘从底层到高层的烟焰信息,并准确地完成不同粒度级别的识别任务。该类方法能够应对各种不同的烟雾或火焰变化,具有广泛的应用前景。

基于Faster RCNN、YOLO、SSD等深度学习目标检测网络在烟雾火焰检测应用中表现出优异的性能。Li等[7]通过将CNN结合目前流行的DETR网络用于烟焰检测,通过增加基于归一化的注意力模块增强对小物体的检测,但存在处理速度相对较慢、对设备要求高等问题。Chaoxia等[8]使用基于颜色的锚点策略和全局信息引导策略改进用于烟焰检测的 Faster R-CNN,但该方法预定义锚点会降低模型性能。Mukhiddinov等[9]基于改进的YOLOv4模型与卷积块注意力模块,提出一种针对视障人士的自动烟焰探测系统,但是存在误报率偏高的问题。一阶段目标检测算法由于无需生成候选区域,因此运算速度快,适用于对实时性要求高的场景。

上述基于深度学习的烟焰检测算法主要存在以下问题: 视频中烟雾火焰的大小、形态和数量变化较大,使用预定义的anchor box可能无法有效地检测出所有的火灾目标;由于网络模型复杂,在嵌入式设备下准确率低、实时性能差。

针对目前基于深度学习的烟焰检测算法存在的不足和烟雾火焰检测的实践需求,本文提出一种基于轻量级注意力机制的烟焰目标检测算法F-YOLOX。本方法以YOLOX-s[10]作为基准模型,并引入ECA注意力模块提高模型性能、减少模型参数量;在训练过程中采用SIoU[11]替代IoU用于计算边界框回归的损失函数,采用GELU[12]作为激活函数,进一步提高算法的精度和非线性拟合能力。实现模型对火焰或烟雾提取能力的提升,并达到在轻量化和准确率上均有显著提升的目标。

1 F-YOLOX目标检测方法

1.1 算法主要流程

F-YOLOX目标检测方法算法框架主要包括三个部分:主干网络(Backbone)、PAFPN网络和检测头(Head)。F-YOLOX网络结构如图1所示。本算法主要流程是:第一步将标注好烟焰图像数据集用作网络的输入,并通过数据增强算法以增加数据的多样性和数量。第二步通过图像预处理后将图像尺寸调整为640×640×3大小,接下来输入到主干网络CSPDarknet53来获取输入图像的多尺度特征图。第三步将特征图输入到ECA模块,以提高模型性能。第四步将经过注意力机制处理后的各分支特征图输入到PAFPN网络中进行特征提取和特征融合。Decoupled Head解耦头根据网络提取的特征进行分类和回归预测,通过拆分任务以提高模型的可解释性和性能。第五步检测头基于SimOTA策略实现anchor-free检测,SimOTA标签分配通过动态调整标签分配的权重,可有效地缓解模型正负样本不平衡问题。由于采用anchor-free检测器,网络输出的特征图不生成候选框,直接利用网络预测的框回归参数生成结果,可自适应地检测不同种类、不同形状的烟焰目标,具有更高的灵活性。

图1 F-YOLOX网络结构图

1.2 ECA注意力模块

为了提升模型的性能和效率,本文引入轻量级的ECA注意力机制[12]来改进YOLOX-s目标检测模型。该机制在SE注意力机制的基础上进行改进,将具有自适应内核大小的一维卷积来替换全连接层。ECA注意力模块的计算量相对较小,可有效减少计算成本,提高模型的训练和推理效率。在大幅度降低参数量的同时,仍能保持较高的性能,并且由于该模块可即插即用,适合轻量级目标检测算法使用。

SE注意力机制利用两个全连接层来获取跨通道交互信息,用于提取特征。通过对输入特征图进行通道压缩,使模型更轻量,但是不利于学习通道之间的相互关系。针对该缺点,ECA注意力机制取消降维操作,采用一维卷积实现局部跨通道交互,不仅减少参数数量,还提高模型的检测精度。ECA注意力机制利用矩阵W来学习通道注意力:

(1)

其中,W涉及k×C个参数。

对于一个输入尺寸为C×H×W的特征图(其中H和W表示特征图的高和宽,C表示特征图的通道数)进行全局平均池化,得到通道维度上的均值向量,表示每个通道的平均激活程度。在全局池化之后,ECA注意力机制使用权值共享一维卷积来学习。其中,一维卷积涉及到卷积核的尺寸,可用k表示局部跨通道交互的覆盖范围。卷积核的大小k会影响ECA注意力计算的效率,并且该超参数与通道的数量有关,非线性映射关系可由下式表达:

C=φ(k)≈exp(γ·k-b)

(2)

一般通道数量C通常是2的指数倍,因此超参数k可以通过以下公式计算:

(3)

其中,odd表示k取奇数,γ和b用于调整通道数量C和卷积核大小k之间的比例,本文实验中将γ和b分别设为2和1。

经过一维卷积后,使用Sigmoid激活函数得到各个通道的权重,并将其与原始输入特征图对应元素相乘,最终获得输出尺寸为C×1×1的特征图。

本方法将 ECA 模块添加到Backbone网络和PAFPN网络之间,以加强各个分支对捕获通道特征的学习。该模块结构如图2所示。

图2 ECA注意力模块

1.3 损失函数

针对在实际场景中,烟焰目标具有位置密集、尺度变化大等特点,使用IoU损失可能导致边界框匹配收敛速度差和定位不准确的问题。本文在训练过程中优化损失函数,将SIoU损失[11]用于计算边界框回归的损失函数。与CIoU、DIoU和IGIoU相比,SIoU除了考虑预测框与GT box之间的距离、重叠面积和宽高比之外,还考虑了预测框之间匹配的角度方向。图3所示为SioU原理图,其中绿色框表示GT box,红色框表示预测框,淡蓝色区域表示两个框的最小外接矩形。

图3 SioU原理图

图4 激活函数对比

SIoU损失包括角度损失、距离损失、形状损失和IoU损失。具体计算公式如下:

(4)

Ω=(1-eww)θ+(1-ewh)θ

(5)

(6)

(7)

γ=2-Λ

(8)

Δ=(1-e-γρx)+(1-e-γρy)

(9)

综上,SIoU损失定义如下:

(10)

与现有方法相比, SIoU函数在训练阶段实现更快的收敛,一定程度上改善定位精度,并且在推理方面具有更好的性能。

1.4 激活函数

本文使用高斯误差线性单元激活函数(GELU)代替SiLU作为激活函数。GELU具有连续可导、非单调、平滑性等特点,并且可以在一定程度上改善梯度消失的问题。GELU激活函数在数学上定义为:

GELU(x)=

(11)

GELU激活函数可以在更短的时间内学习到更好的特征表示,实现模型收敛速度的提升。在x>0时,相较ReLU表现更加平滑,可以更好地克服梯度消失问题。GELU激活函数Transformer相关模型上得到广泛应用。

2 实验分析

2.1 数据集

在烟焰检测研究领域,需要大量高维图像组成的良好数据集,使模型提取到丰富多样的特征以提高检测效果。但是由于样本不足、样本不平衡等问题,烟焰检测研究领域没有一个权威的标准数据集。本文选取多个公开数据集,包括D-Fire数据集[13]、Smoke100k数据集[14]以及自制烟焰数据集。图像总数为8432 张图像及其各自的标签。其中,2164个只包含火,1942个只包含烟,4326个同时包含火和烟,并使用Pascal VOC格式保存标注文件。

本文中数据集按照的8:1:1的比例进行分割,分别用作训练集、验证集和测试集。

2.2 数据增强

本文使用Mosaic和MixUP两种数据增强方法(如图5所示)。Mosaic数据增强通过选取 4张随机裁切的图片组合为一张新的图片,从而达到增加训练数据的多样性,丰富空间语义信息的目的。MixUp通过对输入数据和标签进行线性插值,生成新的训练数据,从而扩展训练集。通过以上变换,提高模型的泛化能力和鲁棒性,从而更好地应对不同场景下的目标检测任务。

图5 Mosaic数据增强和MixUp数据增强

由于Mosaic生成的训练图片,往往脱离自然图片的真实分布,在训练中前140 epoch使用Mosaic增强方法,随后关闭Mosaic增强方法。另外,每个step有50%概率使用Mosaic数据增强;有50%概率使用MixUp数据增强,并只会对Mosaic增强后的图片进行MixUp的处理。

2.3 实验环境

本实验使用Pytorch 1.13.1框架、python3.9环境,操作系统为Ubuntu22.04,CPU为英特尔Core i7-11700F @2.50GHz,32GB内存,NVIDIA GeForce RTX 3080ti 12 GB显卡,CUDA 版本11.6。

训练过程采用最大迭代次数为200个epochs,单次批处理大小设置为16,采用随机梯度下降(SGD)作为优化器,动量因子为0.937,权值衰减为0.0005,初始学习率为0.01。图6为本模型在训练过程中损失下降的变化图。

图6 网络训练损失曲线图

2.4 评价指标

为了评估烟焰目标检测模型性能优劣,本文使用以下指标对模型进行评价。

平均精度均值(mean Average Precisi,mAP)用于衡量目标检测算法的性能。对N为物体类别的个数,APn表示对第n个类别的物体精确率。AP值和mAP值越接近1,表明模型的性能越好。本文所使用的mAP@.5表示IOU阈值为0.5上的mAP。

(12)

(13)

其中,召回率(Recall, R)是所有烟焰样本被正确分为烟焰的概率,实质就是真阳率。反应算法对烟焰目标的识别准确度。

(14)

精确率(Precision, P)则是被识别为烟焰的样本中,为真实烟焰的样本比例。

(15)

此外检测速度(Frame Per Second,FPS)也作为评价指标之一。

2.5 结果分析

为了验证本文所提出的F-YOLOX烟雾火焰目标检测算法的各优化部分对算法的影响,本实验在数据集上接下来4组消融实验。表1为模型性能检测结果,其中“√”表示模型中使用该策略,“-”表示模型中未使用该策略,使用YOLOX-s作为基准模型。

表1 消融实验结果

根据表1的消融实验结果,对于方法1,引入ECA注意力模块,可有效减少计算成本,提高模型训练和推理效率,对烟焰检测mAP效果提升较为明显,相较基准模型mAP@.5提升2.23%;方法2,在上述基础上使用SIoU损失,一定程度上缓解边界框匹配收敛速度差和定位不准确问题,较方法1 的mAP@.5增加1.03%;方法3使用GELU代替SiLU作为激活函数,一定程度上增加mAP。

为了进一步验证改进后模型的检测性能,本文将所提F-YOLOX烟雾火焰目标检测方法与Fatser-RCNN、YOLOv3-s、YOLOX-s等主流算法在相同实验环境下与评估标准下进行比较,实验结果如表2所示。

表2 与主流目标检测模型的性能比较

从表2中可以看出,基于改进YOLOX轻量级的烟雾火焰目标检测算法F-YOLOX的mAP@.5为78.45%,比原来的YOLOX-s算法提高3.7%,分析各类别的mAP值,本方法在检测火焰、烟雾等方面的AP值较原YOLOX-s算法有不同程度的提升,并且性能优于其他主流目标检测模型。在FPS指标方面,在保持高精度的检测的同时,FPS仍达到53.4,比基准模型分别提高2.8%。另外,本文算法由于使用ECA注意力模块,增加网络整体的参数量和计算量,但相较SE注意力模块,能在保证特征提取能力的前提下减少参数量。本算法在模型大小方面达11.8M,适合部署嵌入式设备进行实时检测。

综上,基于改进YOLOX轻量级的烟焰目标检测算法F-YOLOX在检测精度、速度方面实现提升。

类激活映射 (CAM) 图可用于表示预测结果的贡献分布,重要信息将被标记为高亮区域。为了进一步验证引入ECA注意力模块的有效性,采用Grad-CAM来可视化本文所提出的F-YOLOX目标检测方法。图7所示为Grad-CAM绘制出的热力图。如7图所示,本方法使得模型对目标特征的注意力权重更高,可以有效地表征火焰和烟雾图像。

图7 Grad-CAM绘制出的热力图

为了更直观地观察F-YOLOX目标检测方法在烟焰场景检测效果,本文选取实际生活中的五个烟焰场景图像,包括森林、汽车、室内、化工园区、高层建筑等,并利用虚拟数据合成烟雾场景的图像。检测结果如图8所示,使用本文所提出的F-YOLOX目标检测方法能够较为准确地识别到各个场景烟焰目标。

3 结论

本文针对目前基于深度学习的烟雾火焰目标检测任务中存在的在嵌入式设备下准确率低、实时性能差的问题,提出一种基于改进的轻量级YOLOX算法的烟雾火焰目标检测方法F-YOLOX。该方法引入ECA注意力模块、使用SIoU损失函数、采用GELU激活函数等技术手段进行改进,经过实验验证,本文改进后的模型对烟焰的检测平均精度(mAP@.5)为78.45%,相较于原始模型提高3.7%。同时,检测速度达到53.4fps,可快速准确地检测火焰或烟雾目标。该算法提高模型对烟雾火焰的提取能力,实现在轻量化和准确率上的显著提升,能够满足烟雾火焰检测任务精度和实时性的要求。

猜你喜欢
烟雾火焰注意力
《火焰》
最亮的火焰
让注意力“飞”回来
薄如蝉翼轻若烟雾
影视剧“烟雾缭绕”就该取消评优
华人时刊(2019年13期)2019-11-26 00:54:38
漂在水上的火焰
咸阳锁紧烟雾与尘土
当代陕西(2017年12期)2018-01-19 01:42:05
“扬眼”APP:让注意力“变现”
传媒评论(2017年3期)2017-06-13 09:18:10
吹不灭的火焰
学与玩(2017年6期)2017-02-16 07:07:22
A Beautiful Way Of Looking At Things