马世森 刘国巍
摘要:针对传统火灾系统预警不及时、容易误报等问题,文章提出了一种基于改进YOLOv5的火灾检测算法。为了增强网络对火焰的方向和位置信息的敏感度,在模型中引入CA( Coordinate Attention)注意力机制:为了提高回归精度和收敛速度,使用损失函数SIOU替换CIOU。改进的YOLOv5算法的精确率和平均精度达到了74. 2%和69.4%.相较于标准算法的精确率和平均精度提高了8.8%和2.8%.优化定位框和误检情况。实验结果表明,改进的YOLOv5算法模型提高了火灾检测的准确性和实时性。
关键词:预警:火灾检测:YOLOv5:注意力机制:损失函数SIOU
中图分类号: TP391.4 文献标志码:A
0 引言
火如水一样,能为生活提供便利,也能让人们蒙受巨大的损失甚至付出生命。传统的火灾预警检测系统是利用温湿度和烟雾感应器检测周围环境中的温度、湿度、烟雾气体密度等变化,从而做出判断[1],存在着预警不及时、准确度低、容易误报的问题。
近年来,深度学习在检测、识别等领域迎来了空前繁荣[2]。深度学习的火灾检测技术检测速度快、精度高、不受环境影响限制、成本低。针对传统的火灾检测模型所存在的不足,本文基于灵活度高的YOLOv5算法模型进行改进。为了增强网络对火焰特征的方向和位置等参数信息的敏感度,在模型中引入了CA( Coordinace Attention)注意力机制:为了提升回归定位精度和收敛速度使用损失函数SIOU替换CIOU。做好消融实验绘制数据表,并通过对比其它算法证明改进算法对火灾预警具有的意义。
1
YOLOv5目标检测算法原理
YOLO系列发展到YOLOv5以来一直在更新[3].本文改进的是YOLOv5 6.0版本。主要由图像输入端、主干网络( Backbone)、颈部(Neck)和输出端4部分组成。根据宽、深度的不同,主要提供s,m,l,x4个模型。本文选用速度快精度较好的YOLOv5s为基准模型,其输入端使用聚类算法采用白适应锚框功能得到最佳锚框值,对数据集进行预处理得到丰富数据集:主干网络将之前版本Focus替换成卷积层Conv.使用C3 - Darknec模块解决出现的梯度信息重复问题,使模型轻量化,并且在骨干网络末端加入SPPF模块:颈部网络采用特征金字塔和白上而下的路径聚集网络结构相结合的方式:输出端对颈部输出的特征图通过损失函数CIOU和经典非极大值抑制来实现对不同大小目标的预测。
2 YOLOv5s算法改进
2.1 CA注意力机制
为了使算法模型增强网络对特征的方向和位置等信息的敏感度,在主干网络结构中引用了一种将位置信息嵌入到通道的CA注意力机制[4]。通过精确的位置信息编码,对特征图的宽度和高度两个位置全局平均池化,给定输入值后使用尺寸为(H,1)或(1,W)的pooling kernel分别沿着水平和垂直坐标对每个通道进行编码。表示宽度为w的第c通道的输出函数和高度为h的第c通道的输出函数如式(1)和式(2)所示。
将上述池化后的特征图进行w维度上的拼接操作,经过一个卷积和非线性激活函数的操作在通道维度拆分,通过卷积和Sigmoid激活函数获得对应权重最终带有注意力权重机制的特征图。为了加强特征提取对位置信息的效果,将CA加在网络模块SPPF的前面。
2.2 SIOU损失函数
已知YOLOv5的损失函数是由Bhox回归损失、目标置信度损失和类别损失3部分组成,在YOLOv5的网络结构使用CIOU loss作為Bhox回归损失。CIOU函数将目标和边框的距离、尺度等考虑在内,使目标框在回归时候变得准确和稳定,函数表达如式(3)所示。预测框的交并比,A和B表示真实和预测框;p表示预测和真实框的中心点的欧式距离:c表示包含预测和真实框最小区域的对角线长度:d表示权重函数:v表示用来度量真实和预测框的长宽比的相似性。为了提高YOLOv5模型的回归精度和收敛速度,引入了一种新的SIOU损失函数替换原来的CIOU,由Angle,DistanCe.Shape和IOU4个Cost函数组成,具体如下列公式所示。
上述公式对距离重新定义表达y=2 -A,y表示被赋予时间的距离值,p表示预测和真实框中心欧式距离;θ值定义每个数据集Shape其值的唯一性;结合IOU和上述公式得出最终损失函数表达式。保证数据集和参数以及训练次数的设置相同,最后在理论基础下的实验结果表明.SIOU较CIOU能更好地提高回归定位精度和速度。
3 实验结果和分析
3.1 实验环境
实验操作平台操作电脑系统为Windowsll. 64位,显卡为NVIDIA GeForce RTX 3050.处理器是Inrel@
Core'rMi5 - 12500 H 2.50 GHz.运行内存为16 G。整个实验的学习框架是PyTorch l.12.实验环境是PVthon 3.8,使用PvCharm编译工具仿真实验,使用GPU加速软件为CUDA 11.3。实验训练中设置EpoChs为300, Batch-size为8,Image -size为640x640n
3.2 准备数据集
实验使用的数据集是通过飞桨AI Studio网站和视觉中国网站等获取图片,包括森林和草原火灾、户外建筑火灾、实验室火灾等,整理后得到总共2 059张图像作为数据集,采用标注工具Labelimg进行数据集标注,标注类别为fire.保存为YOLO系列的txt格式。再将其按8:2比例随机分配为训练集和验证集,得到1 647张训练图和412张验证图。
3.3 评价指标
本实验中YOLOv5主要采用准确率P、召回率R、平均精度AP、平均精度均值mAP和检测速度FPS等作为模型性能的评价指标。具体计算公式如下所示。
其中.P表示所有预测目标中正确的比例,TP和FP指的是正负样本预测的正负样本个数:R表示所有已标注目标中正确的比例,FN指的是正样本预测出负样本的个数:AP表示以R为横轴,P为纵轴形成曲线的面积;mAP用来表示衡量精度的识别。
3.4 消融实验
针对改进的YOLOv5算法做了对应的消融实验对比验证,改进点l为在主干网络中加入CA注意力机制而增加获取位置信息的敏感度,改进点2为修改损失函数用SIOU函数替换原模型中CIOU去加强输出端的回归精度和收敛速度,具体实验数据如表1所示。
从表l中序号2和3的实验得知,在YOLOv5模型中分别加入2种不同改进措施都可以有效地提高算法的精度;序号4得知,最终改进YOLOv5算法相比于标准算法,主要在精确率和mAP@0.5上分别提高了8. 8%和2.8%.有效地提高了火灾检测的精度。
3.5 算法对比实验
为了和其他算法做比较,要保证所有的实验都在相同的实验环境和数据集上进行,选择了YOLOv3和算法SSD对比[5-6].并对主要评价数据进行比较,如表2所示。
从表2可以得知,对比SSD和YOLOv3算法,改进YOLOv5在平均精度上最高;在精确率上虽然低于SSD算法,相较于YOLOv3.YOLOv5还是有明显提高的。实验结果表明,改进的YOLOv5算法模型提高了火灾检测的准确性。
4 结语
本文提出了一种基于改进YOLOv5的火灾检测算法,在算法模型主干网络加入CA坐标注意力机制去提高网络获取位置信息的敏感度;修改输出端的损失函数用SIOU替换CIOU来提高回归精度和收敛速度,从而提高检测性能。实验表明,改进后的算法可以很好地针对火灾情况提高图像检测的性能。后期的研究中,保证模型精度的同时,对网络进行轻量化处理,并结合到移动端设备或低端设备中,提高火灾检测的实时性。
参考文献
[1]王继武,王胜.林木智能化火灾预警系统设计——基于物联网和图像处理[J].农机化研究,2022( 7):224-227.
[2]祝玉华,司艺艺,李智慧.基于深度学习的烟雾与火灾检测算法综述[J].计算机工程与应用,2022(23):1-11.
[3]苏凯第,赵巧娥.基于YOLOv5算法的无人机电力巡检快速图像识别[J].电力科学与工程,2022(4):43-48.
[4]肖粲俊,潘睿志,李超,等.基于改进YOLOv5s绝缘子缺陷检测技术研究[J].电子测量技术,2022(24):137-144.
[5]杨萍,房可佳,谢元莎.基于改进YOLOv3的火灾识别关键技术研究[J].物联网技术.2022(3):21-23.
[6]田靓靓.基于SSD网络的苹果叶片病害检测方法研究[D].咸陽:西北农林科技大学.2022.
(编辑沈强)