时间:2024-07-28
王伟峰, 张宝宝, 王志强, 张方智, 任浩, 王京
(1.西安科技大学 安全科学与工程学院, 陕西 西安 710054;2.西安科技大学 电气与控制工程学院, 陕西 西安 710054;3.西安科技大学 计算机科学与技术学院, 陕西 西安 710054;4.陕西陕煤澄合矿业有限公司 董家河煤矿分公司, 陕西 渭南 714000)
矿井火灾是煤矿的主要灾害之一,“十三五”以来矿井火灾引起的爆炸事故频发。如2020年9月重庆松藻煤矿火灾事故,2020年12月重庆吊水洞煤矿“12·4”重大火灾事故等,都造成了严重的生命财产损失,引起了较大的社会关注。
为了降低矿井火灾的发生率,提高矿井火灾识别准确性,保护矿井工作人员的生命财产安全,许多学者对矿井火灾识别方法进行了大量研究。孙继平等[1]提出了基于可见光和红外图像的矿井外因火灾识别方法,降低了矿灯、车灯等对火焰图像的干扰,通过对火焰进行特征提取,达到火灾识别的目的。苗续芝等[2]提出了一种基于改进果蝇优化算法-支持向量机(FOA-SVM)的火灾图像识别算法,提取火灾图像的多种特征作为输入信息,对火灾进行识别。何晨阳等[3]提出了一种图像处理与BP神经网络相结合的矿井火灾识别方法,通过提取火焰图像的圆形度、面积增长率等特征并输入BP神经网络模型,实现火灾识别。袁庆辉[4]提出了一种基于图像识别的矿井火灾检测方法,利用火焰面积变化率及分布规律作为火灾判据,对火灾进行识别。
上述研究在矿井火灾识别方面取得了较好的研究成果,但由于煤矿井下光照分布不均匀,导致图像像素信息失真,火灾识别精度低,难以发挥算法的优越性。本文在现有研究基础上,提出了一种基于YOLOv5的矿井火灾视频图像智能识别方法。该方法以YOLOv5为识别模型,结合K-means改进的暗通道去雾算法及动态目标提取算法,可解决矿井环境造成的图像特征信息丢失问题,提高矿井火灾特征识别准确率。
YOLOv5算法模型结构如图1所示。模型的Backbone阶段采用 Focus和CSPDarknet53结构,Focus结构对输入目标的维度进行切片操作,减少目标原始特征信息的丢失,并且提高模型计算速度,经过一系列卷积操作得到不同尺寸的特征图像;Neck特征融合结构对不同尺寸的特征图像进行采样,将特征图像处理成相同大小,然后进行特征融合及卷积,得到3个具有更强特征表现能力的特征层;Prediction预测结构通过损失函数进行目标类别概率和位置坐标计算,得到目标预测结果[5]。
图1 YOLOv5算法模型结构Fig.1 Structure of YOLOv5 algorithm model
YOLOv5算法是一种从端到端的检测算法,其核心是卷积神经网络的特征提取结构,可识别输入目标类别及输出位置,是图像分类与定位相结合的算法[6-7]。火焰目标检测过程如下:
(1) 用YOLOv5算法将输入的火焰图像划分为N×N个单元格,每个单元格针对大、中、小不同尺度的目标生成先验框,识别目标的中心落在某个网格中,则由该网格的先验框负责跟踪识别该目标[8]。YOLOv5用置信度c表示该先验框中目标分类概率及匹配目标的性能。
c=PH
(1)
式中:P为预测框内目标概率,若预测框内无目标为0,否则为1;H为预测框与真实框交并比。
(2) 对划分的火焰图像进行归一化处理,将归一化后的火焰数据集送入下层特征提取网络进行特征提取[9]。
(3) 通过K-means聚类设置预测框,分为不同大小的框,针对不同检测目标,计算预测框位置,即中心点坐标。
(4) 依据预测坐标的偏移值,计算目标中心点位置及预测框宽度、高度[10-11]。
(5) 输出目标识别结果。
通过暗通道去雾算法降低光照分布不均匀及煤粉、水气等因素对火焰图像的影响,增加火焰图像细节信息,提高矿井火灾识别率。暗通道去雾模型公式如下:
(2)
I(x)=J(x)t(x)+A[1-t(x)]
(3)
式中:t(x)为透射率,x为像素值;q为去雾参数,一般取0.95;y为像素索引值;Ω(x)为以x为中心的窗口;I(y)为输入图像;ε为像素通道;A为全球大气光成分;I(x)为待去雾火焰图像;J(x)为处理后无雾火焰图像。
t(x)的求取与A值有关,利用有雾图像求取A。首先在暗通道图中按亮度大小取前0.1%的像素,随后在原始含雾图像中找到其对应位置亮度最高的点,即为A值。
暗通道去雾算法虽然在大部分含雾图像去雾方面取得了不错的效果,但在求取A值时,某些像素点会被遗漏,造成去雾不彻底,影响后期火灾视频图像识别精度。为此,利用K-means改进暗通道去雾算法。
将火焰图像的像素点看作是样本集X={X1,X2,…,Xn},Xi为第i个像素点,1≤i≤n,n为正整数,采用K-means聚类算法将位于相同区域的像素点聚为一类,使得在求取A值时整个图像的像素点均可被取到。K-means改进暗通道去雾算法具体步骤如下:
(1) 根据K与S(样本的聚类误差)的关系将像素集初始化为K个聚类中心,S值与K值关系曲线如图2所示。
(4)
式中:Cj为第j个聚类中心,1≤j≤K;p为Cj中的像素点;Lj为质心。
图2 S值与K值关系曲线Fig.2 The relationship curve of S values and K values
可看出S值随着K值增大快速下降,在K=5时,出现明显的拐点,S值趋于平缓,即聚类中心K值为5。
(2) 计算每个像素点到各个聚类中心之间的欧氏距离,将每个像素点分配给距离其最近的聚类中心:
(5)
式中:a为像素点的属性,1≤a≤k;Xia为第i个像素点的第a个属性;Cia为第i个聚类中心的第a个属性。
(3) 所有像素点归类后,对每个聚类中的像素值求平均值,得到新聚类中心点。
(4) 重新计算每个像素点到聚类中心点的距离并再次分类,如此循环直到中心点变化很小。
(5) 求取每个聚类中像素值的平均值,得到K个像素值,然后对K个像素值加权平均,即为A值。
K-means改进暗通道去雾算法前后火焰图像去雾效果如图3所示,可看出改进后去雾图像色彩度更显著,特征信息更丰富。
(a) 改进前去雾效果
(b) 改进后去雾效果图3 K-means改进暗通道去雾算法前后去雾效果Fig.3 The defogging effect before and after dark channel defogging algorithm improved by K-means
为了减少井下环境中静态非目标物对火灾识别的干扰,采用帧差法与混合高斯模型相结合的算法,提取动态火焰图像轮廓,获取清晰的形态信息进行特征分析[12-15]。
(1) 动态火焰目标提取。采用帧差法截取火焰视频中连续相邻的5帧图像,并以当前帧分别与相邻帧图像进行差分运算,然后对差分图像进行二值运算,得到更显著的火焰图像轮廓。
(2) 背景建模。采用m个高斯模型表示巷道背景图像中各像素点,对m个高斯模型加权组合得到背景图像。
(6)
式中:f(θt)为当前t时刻图像的概率密度函数;θt为t时刻的图像;wl,t为第l个高斯模型在t时刻的权值,1≤l≤m;φ(·)为高斯分布模型的概率密度函数;ul,t为第l个高斯模型在t时刻的均值;δl,t为第l个高斯模型在t时刻的方差。
将火焰图像对应的高斯模型按wl,t+1/δl,t+1大小进行排序,取前B个高斯模型组成该像素点背景的混合高斯模型[7]。对B个模型按照wl,t+1匹配,若满足式(7)和式(8),则该像素点为背景,否则为前景。
(7)
|θl,t+1-ul,t|<λδl,t+1
(8)
式中:T为阈值,一般为0.75;θl,t+1为第l个高斯模型在t+1时刻的图像;λ为前景阈值,取2.5。
(3) 将混合高斯模型与帧差法提取到的火焰图像对应像素值进行与运算,并采用形态学处理算法消除图像中存在的缺口,从而得到更加完整的火焰目标图像。
动态火焰目标提取效果如图4所示。可看出通过提取动态火焰目标,火焰图像的轮廓更加明显,避免了井下复杂静态背景的干扰。
(a) 提取前的火焰图像
(b) 提取后的火焰图像图4 动态火焰目标提取效果Fig.4 Dynamic flame target extraction effect
平均精度和损失函数是目标检测中最常用的评价指标,平均精度表示模型的平均检测精度,损失函数表示模型的收敛性。实验中将火焰设为正样本,其他类别(如灯光等)设为负样本。若预测目标为正样本,实际目标为正样本,记为NTP;若预测目标为正样本,实际为负样本,记为NFP;若预测目标为负样本,实际为正样本,记为NTN;若预测目标为负样本,实际为负样本,记为NFN。
(8)
(9)
式中:Pr为精确率;Re为召回率。
(10)
式中:M为平均精度;Q为类别数量。
4.2.1 实验过程
在Windows环境下,采用python及pytorch搭建YOLOv5算法模型,利用网络工具得到与矿井火灾相似的火焰图像。部分实验数据如图5所示。在实验过程中,设迭代次数为300,动量因子为0.8,学习率为0.000 1,训练批次为40。
图5 部分实验数据Fig.5 Part of experimental data
实验步骤如下:
(1) 采用K-means改进暗通道去雾算法,对火焰图像进行去雾处理,提高图像细节信息并剔除干扰。
(2) 采用帧差法与混合高斯模型融合算法,对动态演化的火焰图像进行特征提取,减少静态背景对火灾识别的影响。
(3) 对处理后的数据集进行标注并命名。标注后生成xml文件,包括标注框的坐标及宽高信息。
(4) 配置YOLOv5算法模型参数,开展模型训练及测试。
4.2.2 结果分析
模型训练结果如图6所示,火灾识别结果如图7所示。
(a) 平均精度曲线
(b) 损失函数曲线图6 模型训练结果Fig.6 Model training outcome curve
(a) 火灾识别结果1
(b) 火灾识别结果2图7 火灾识别结果Fig.7 Fire identification results
由图6可知,在迭代300次时,基于YOLOv5的矿井火灾视频图像智能识别方法的平均精度为92%,损失函数为0.6,表明该方法检测速度快、精度高。
由图7可看出,本文方法能够精确识别出火焰。
为了验证本文方法的优越性,与Alexnet,VGG16,Inceptionv3等传统目标识别算法进行对比,结果见表1。可看出本文方法的平均精度比Alexnet,VGG16,Inceptionv3的分别高9.6%,13.5%,4.9%,表明本文方法可有效提高火灾识别准确率。
表1 不同算法火灾识别结果对比Table 1 Comparison of the fire identification results of different algorithms
(1) 在迭代300次时,基于YOLOv5的矿井火灾视频图像智能识别方法的平均精度为92%,损失函数为0.6,表明该方法检测速度快、精度高。
(2) 基于YOLOv5的矿井火灾视频图像智能识别方法平均精度比Alexnet,VGG16,Inceptionv3分别高9.6%,13.5%,4.9%,表明该方法可有效提高火灾识别准确率。
我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自各大过期杂志,内容仅供学习参考,不准确地方联系删除处理!