APP下载

融合注意力机制的YOLOv5火灾烟雾检测

2023-04-27李志华王连贺王超刘春雷张元彪

电脑知识与技术 2023年8期
关键词:注意力机制目标检测

李志华 王连贺 王超 刘春雷 张元彪

关键词:目标检测;烟雾检测;YOLOv5;注意力机制;ACON激活函数

中图分类号:TP391 文献标识码:A

文章编号:1009-3044(2023)08-0001-04

0 引言

由于采用传统的烟雾报警或检测手段的烟雾探测器装置只能在靠近排放源的地方识别烟雾的存在,并且受各种天气环境影响,其感受到的温度、湿度及颗粒密度都会影响检测效果[1]。由于设备的探测范围的局限性,一些户外场所的地理属性导致无法大范围铺设传统的探测设备,它们缺乏检测局部烟雾的能力。

2018年,Yanmin Luo等人[2]在文献中提出一种基于背景动态更新和暗通道先验的运动目标检测算法,检测疑似烟雾区域。然后,通过CNN自动提取疑似区域的特征,进行烟雾识别。但该模型算法泛化程度较差,对于烟雾特性分析不足,且运算过程中容易造成特征丢失。2020年,Sergio Saponara等人[3]提出了一种利用YOLOv2卷积神经网络(CNN)在防火系统中进行实时视频火灾和烟雾检测的方法,并采用轻量级神经网络架构设计,以兼顾嵌入式平台的需求,但模型满足轻量化设计的同时并没有很好的兼顾精准度。

目前,基于深度学习的火焰烟雾的检测与识别普遍存在着精度不足,提取特征丢失,检测效率过慢,成本过高或者模型泛化程度不够等问题。在工业化程度大幅增长,生活场景复杂和监控来源较多的时代背景下,为解决上述问题,本文提出了一种基于YOLOv5的融合注意力机制(CBAM)的烟火检测算法,满足安全生产,精准防控的目的。

1 算法原理

1.1 YOLOv5结构

在YOLOv5的四个模型中,YOLOv5s具有参数量较少、版本兼容性高、处理速度快等优点,因此本次实验是在YOLOv5s结构的基础上进行改进,其原本的网络结构如图1所示。

1.2 注意力机制

注意力机制的原理是利用计算机模拟人类在接收视觉信号时的处理过程,当人类扫描接收全部视觉信号时,会把自身的注意力放在重要的部分获取更多细节信息,从而提高任务效率。注意力机制基于此,将一些重要信息进行加权抽象出重要的特征信息。注意力机制的本质就是进行筛选,通过注意力机制的处理将信息进行区分,符合任务条件的特征会被优先处理,从而快速精准地检测目标。

本次实验使用的是CBAM(Convolutional Block At⁃tention Module) ,在通道和空间双维度进行Atten⁃tion[4]。通道注意力(CAM) 结构如图2所示:

在通道注意力中图像拥有三种属性:长、宽和通道数。其原理是保持通道维度不变,压缩空间维度,具体操作是首先让特征图分别经过Max Pooling(最大池化)与Average Pooling(平均池化)进行处理,处理后的特征图的长和宽尺寸为1通道数则不变,然后接入第一层神经网络压缩通道,压缩后再接入第二层神经网络进行通道扩张得到两个经激活后的结果。而后,将输出的特征C1和C2相加求和,再经过sigmoid激活函数激活后,与原始尺寸图像相乘,完成注意力操作。

空间注意力(SAM) 结构如图3所示:

空间注意力其原理是保持空间维度不变,压缩通道数,来获取关键目标的位置信息。具体操作是给定一个尺寸的特征图,我们先分别进行一个通道维度的平均池化和最大池化,长和宽的尺度不变将通道数压缩为1,并将这两个信息按照通道拼接在一起。再通过卷积操作将通道数重新压缩为1,通过sigmoid函数进行激活后,乘以最开始的特征图,完成空间注意力操作。

2 设计方案

2.1 方案流程图

如图4所示,首先输入捕捉到的视频或图像,然后对摄像头捕捉的画面进行一个是否失焦的判断,由于对失焦的图像进行识别意义不大而且失焦的图片容易造成识别错误,浓烟与环境背景像素的灰度值往往相差较高,对焦准确清晰的图片内,物体与物体轮廓明显,颜色像素差较大,而失焦图片由于图像模糊,所以像素值之间的变化很小,可利用这一特点设立阈值判断图像是否失焦。若图像失焦则跳转下一张图片,若未失焦则输入改进的YOLOv5算法模型中,判断图像是否存在烟雾区域,若不存在则跳转下一张,若存在则框出图像中烟雾区域,结束本次程序。

2.2 数据集介绍

2.2.1 数据集来源

CVPR Lab ——KMU Fire and Smoke database(https://cvpr.kmu.ac.kr/)

Fire Image Data Set ——Durham University(https://collections. durham. ac. uk/files/r2d217qp536#.X5F5G2gzZnK)

江西财经大学袁非牛教授(http://staff.ustc.edu.cn/~yfn/vsd.html)

利用Python等爬虫工具在网上下载各种火灾烟雾视频及图片

3 改进模型

3.1 空間+通道双注意力机制

为了能够更好的对检测目标投入更多的资源,本次实验在YOLOv5原有的网络结构基础上添加CBAM 机制。在YOLOv5主干道网络(backbone) 后依次加入通道、空间注意力模块,将卷积核设为7×7,步长设为3,在特征图通过进入瓶颈层前,将会得到注意力机制处理过的特征图,这样在火灾烟雾识别的过程中会提高目标的识别精度。插入结构如图5所示。

3.2 ACON 激活函数(Activate Or Not , ACON)

ReLU激活函数在深度学习中有着广泛的应用,由于其非饱和、稀疏性等优秀的特性在构建稀疏性的神经网络矩阵时十分方便,但是它也同样会造成神经元权重不更新从而导致神经元坏死。而Leaky ReLU 也存着在函数负半轴收敛速度过慢,函数在零点位置不平滑的问题。基于Leaky ReLU函数的特性提出了一种与Leaky ReLU相似的ACON family 激活函数[5]。本次算法改进是将CSP1_X 及CBL 结构中原有的Leaky ReLU激活函数替换成ACON激活函数。

如图6所示,ACON函数明确了线性和非线性参数的切换,从而决定了神经元是否激活。ACON fam⁃ily 激活函数分为三大类型:ACON-A、ACON-B、ACON-C。其公式如下:

其中ACON-A,ACON-B 是ReLU 函数和Leaky_ReLU的平滑近似,σ为S型函数,参数β为转换因子,p 为一个可学习的参数,一般设小于1。

如图7所示,ACON函数族曲线相较ReLU函数族更加平滑,在其曲线上任意一点连续可微的同时,也保留了ReLU函数族在正负半轴的梯度特点。

如图8所示,ACON-C的一阶导数的上下边界范围也是通过P 和P 两个参数来调整决定的,通过学习P 和P 的边界范围,就可以获得性能更好的激活函数。参数β控制激活函数的线性/非线性,这种特定的激活有助于提高泛化和传递性能。

4 实验结果对比

4.1 实验环境及说明

本次实验在PyTorch深度学习框架下进行,服务器参数为CPU:Intel(R) Xeon(R) CPU E5-2609 v4 @1.70GHz,架构为:x86_64 GPU:12GB 显存的NVIDIATesla P100。在训练过程中使用随机剪裁、水平翻转等方式增强数据集,初始学习率为0.0001,输入图像尺寸统一设置为640×640,置信度设为0.7。

4.2 实验结果对比

本次实验在迭代300轮次的实验环境下将三种算法模型YOLOv4、YOLOv5s、SSD和增加了CBAM注意力机制而未改变激活函数的CBAM-YOLOv5s模型与本文改进的YOLOv5算法结果进行对比,对比指标有mAP、精准率、召回率、处理速度(帧数),对比结果如下表。

经两次数据集实验对比,同时增加了CBAM 和ACON激活函数的模型在性能上明显优于其他四种。而改进过的算法模型由于其增加了CBAM注意力机制,原本的激活函数替换成了ACON激活函数,在不同数据集上mAP、精准度和召回率对比其他模型均有所提高,而处理速度分别仅下降了2.5%、3%,这是完全可以接受的。由此可見,本文提出的算法模型整体上优于其他三种模型。

4.3 实验检测效果图

如图9所示,(1) (2) 为白色烟雾;(3) (5) 为黑色烟雾;(4) 则为无烟图像;(6) 为电车起火瞬间;(7) 为系统判定失焦图像。经检验,模型能够很好地检测出火灾烟雾位置,及时发出警报,从而减少火灾所造成的损失。

5结论

本次实验是针对现有的火灾烟雾检测算法精度不足、误检率高以及在不同数据集上效果差距大等问题进行改进。本文采用YOLOv5算法融合CBAM注意力机制提高检测精度的同时,将激活函数替换成ACON函数,提高了模型的抗过拟合能力。在不同数据集测试后,精准度与召回率均优于其他对比模型。在实际应用中,受光线、环境和天气等因素影响,摄像装置在采集图像信息时,可能会发生烟雾信息采集不全、图像亮度过低的情况,导致烟雾检测效果不佳。本次实验所用的改进的算法模型虽然在精准度与召回率上相比其他模型算法均有所提升,但检测速度略微降低。下一步工作将针对摄像头检测条件不佳时的烟雾检测,以及在检测精度提高的情况下如何提高检测速度两方面进行更深入的研究。

猜你喜欢

注意力机制目标检测
基于LSTM?Attention神经网络的文本特征提取方法
InsunKBQA:一个基于知识库的问答系统
移动机器人图像目标识别
一种改进的峰均功率比判源方法