APP下载

基于YOLOv3算法的高速公路火灾检测

2020-01-09张文风

关键词:边界卷积网格

刘 俊, 张文风

(中远海运科技股份有限公司,上海 200135)

0 引 言

高速公路发生火灾会对经济和生态环境等产生巨大的影响。传感器检测方法受环境的影响较大,不适宜在大尺度空间的高速公路火灾检测上应用。传统的图像型检测方法需对图像进行必要的处理,人工提取相关特征,不仅耗时耗力,而且分类有很大的局限性。

近年来,卷积神经网络(Convolutional Neural Network,CNN)已在图像分类、目标检测和图像语意分割等领域取得一系列突破性研究成果。基于深度学习算法的高速公路火灾检测方法通常通过CNN对图像特征进行学习、分类和检测。文献[1]~文献[3]先后提出区域CNN、快速区域CNN和超快区域CNN,将网络应用到目标检测问题中,并在检测速度和准确率方面不断提高。文献[4]提出一种端到端的目标检测算法YOLO(You Only Look Once),将目标检测问题转化为回归问题,进而对目标和背景进行更好的区分。文献[5]提出的YOLOv2算法能在简化网络结构的同时提高目标检测的准确率。文献[6]将YOLOv2算法应用到无人机航拍定位领域中,取得了理想的效果,在一定程度上验证了算法的普适性。文献[7]提出的YOLOv3算法借鉴残差神经网络的思想,在检测速度和准确率方面的表现均较好,但其相比YOLOv2算法,网络结构更复杂,卷积层数目大幅增加,使得小目标的特征在深层卷积过程中消失的风险增大。

为提高高速公路火灾检测方法的适用性和准确性,本文采用YOLOv3算法进行检测,采用k-means算法对高速公路火灾标签进行聚类分析,确定最优的聚类数目和相应的宽高值,并据此修改YOLOv3算法中的anchor参数。针对高速公路火灾检测的实时性要求和检测目标较小的特点,采用YOLOv3算法,在保证检测准确率的同时,提高检测速度,从而实现对高速公路火灾的有效检测。

1 YOLOv3算法

1.1 YOLOv3算法的原理

YOLOv3算法将原输入图像划分为尺寸为S×S的网格,分别在每个网格中预测B个边界框,以对C类目标进行检测,输出每类目标的边界框并分别计算每个边界框的置信度。置信度由各网格中包含检测目标的概率和输出边界框的准确度共同确定,其中输出边界框的准确度tconfidence定义为预测边界框与真实边界框的交并比(Intersection Over Union,IOU),其计算式为

(1)

式(1)中:tconfidence为边界框的置信度;Pr(m)为网格中含有某类目标m的概率。每个网格预测的类别置信度为

(2)

式(2)中:i=1,2,…,I,I为检测类别数。

通过设定阈值,将类别置信度低于阈值的边界框剔除,并对类别置信度高于阈值的边界框进行非极大抑制,得到最终的边界框。预测得到的边界框包含x、y、w和h等4个参数,为加快网络学习的速度,降低奇异样本数据的影响,对这4个参数进行归一化处理(见图1)。设S=7,将整幅图像划分为尺寸为7×7的网格,虚线区域为边界框位置,(x0,y0)为边界框中心点坐标,中心点所在网格坐标为(row,col),wimg和himg分别为整幅图像的宽度和高度,wbox和hbox分别为边界框的宽度和高度。归一化过程如下。

1) 边界框高度归一化处理为

(3)

(4)

2) 中心点坐标归一化处理为

(5)

(6)

归一化处理之后,由于在每个网格中可得到x、y、w、h和tconfidence等5个预测量和C个类别中的1类,因此网络的输出大小为S×S×(5×B+C)。

1.2 YOLOv3算法损失函数的计算

损失函数用来表征模型的预测值与真实值之间的不一致程度,是决定网络效果的重要参数之一。YOLOv3算法损失函数的设计主要考虑边界框坐标预测误差、边界框的置信度误差和分类预测误差等3方面内容。损失值越小,说明模型的鲁棒性越好。YOLOv3算法损失函数的表达式为

(7)

式(7)中:S为图像的划分系数;B为每个网格中所预测的边界框个数;C为总分类数;p为类别概率;c=0,1,…,C为类别序号;i=0,1,…,S2为网格序号;j=0,1,…,B为边框序号;xi为第i个网格中边界框中心点横坐标;yi为第i个网格中边界框中心点纵坐标;wi为第i个网格中边界框的宽度;hi为第i个网格中边界框的高度;λcoord为权重系数;λnoobj为惩罚权重系数。

1.3 Darknet-53特征提取网络结构

YOLOv3算法在Darknet-19和ResNet网络结构的基础上提出新的特征提取网络Darknet-53。该特征提取网络由52个卷积层和1个全连接层组成,交替使用大小为3×3和1×1的卷积核进行卷积,其网络结构见图2。

图2 Darknet-53 网络结构

与Darknet-19、ResNet-101和ResNet-152网络相比,Darknet-53网络在Top-1准确率、Top-5准确率和每秒钟浮点运算次数等3方面具有明显优势[7]。

首先,将图像缩放为3通道的长和宽均为416的统一形式,作为整个网络的输入。其次,通过Darknet-53网络进行特征提取,交替使用大小为3×3和1×1的卷积核进行卷积运算,分别将在第77层、84层和94层得到的13×13×512维、26×26×768维和52×52×384维的输出量作为3个特征,降维之后送入YOLO层,通过3个尺度的训练得到最终的权重模型。最后,对标记出的高速公路火灾测试图像进行输出。

1.4 YOLOv3算法网络参数优化

在YOLOv3算法中引入anchor参数,anchor是一组宽度值和高度值固定的先验框。在检测目标过程中,先验框的大小直接影响检测的速度和准确度,因此在对高速公路火灾数据进行训练时,根据高速公路火灾标签的固有特点设定网络参数尤为重要。为适应高速公路火灾标签的固有特点,达到最优的训练效果,采用k-means聚类算法对高速公路火灾标签进行维度聚类分析。

2 高速公路火灾检测方法

高速公路火灾检测方法以YOLOv3算法网络结构为基础,检测的具体流程为:

1) 对训练集中的高速公路火灾数据进行图像预处理,将处理之后形式统一的图像作为整个训练网络的输入;

2) 将处理之后的图像送入Darknet-53网络进行火灾特征提取;

3) 提取第77层输出量作为第1个特征,并对该特征进行1层卷积和1次上采样;

4) 对第83层输出量和第61层输出量进行特征拼接,得到第2个特征,并对该特征进行1层卷积和1次上采样;

5) 对第93层输出量和第36层输出量进行特征拼接,得到第3个特征;

6) 分别将3个特征送入YOLO层进行训练,达到训练次数之后停止迭代,生成最终的权重模型;

7) 将测试集中的图像输入同一网络,调用训练得到的权重模型对测试集中的图像进行火灾检测,并输出检测结果。

3 试验与分析

3.1 高速公路火灾数据集标签制作

在目标检测问题中,选择训练数据集和制作原始图像的标签是2个至关重要的步骤,原始图像标签的准确性直接关系到训练效果和测试的准确性。试验中使用的数据集是从网上收集的,共1 200张火灾图片,其中800张为高速公路上的火灾图片,另外400张为其他场景下的火灾图片。首先,按VOC2007数据集格式对数据库中的图像进行整理,按比例将数据集中的图像随机分为训练集和测试集2类。其次,使用labelImg工具对训练集中的图像进行逐一标记,并生成与之对应的xml格式的目标框位置信息文件。最后,编写python程序,对xml格式的目标框位置信息进行归一化处理并将其转化为txt格式,作为高速公路火灾数据集标签。

3.2 高速公路火灾数据集标签聚类分析

由于VOC数据集中没有与高速公路火灾相关的数据,使用YOLOv3原始参数进行训练会对训练时间和训练的准确度造成一定的影响,因此需重新对高速公路火灾标签进行聚类分析,从而得到对高速公路火灾检测更有代表性的anchor参数。

采用k-means算法对高速公路火灾标签进行维度聚类分析,经过试验分析得到,若取k=9时的聚类结果作为改进之后的参数,即(6,9)、(9,14)、(12,18)、(15,24)、(20,32)、(26,43)、(32,51)、(40,69)和(141,10),则聚类结果较为集中,且宽度和高度明显小于原始参数,因此使用k=9时聚类得到的anchor参数替代原始参数进行训练和测试。

3.3 试验环境配置和模型训练结果

在Ubuntu 18.04操作系统下使用Intel(R)-CPU-i7-9700k处理器和YOLOv3官方的darknet框架进行试验。为提高计算速度、缩短训练时间,使用Nvidia GeForce RTX 2080Ti显卡,CUDA10.0调用图形处理器(Graphics Processing Unit, GPU)进行加速。在训练过程中,对算法的各项指标进行动态记录,随着迭代次数的不断增加,平均损失函数的变化趋势见图3,平均交并比的变化趋势见图4。

从图3中可看出:训练开始时损失函数值约为1.6;随着训练迭代次数的增加,损失函数值逐渐减小,并逐渐平稳;训练迭代至45 000次时,损失函数值在0.15上下浮动,即达到理想效果。从图4中可看出:训练开始时平均交并比为0.57;随着训练迭代次数的增加,平均交并比逐渐增大,说明模型检测的准确率在不断提高;训练迭代至15 000次之后,平均交并比可保持在90%以上。

调用训练生成的权重文件对测试集图片进行测试,测试之后可自动对测试图片中的火灾位置进行标记,并给出相应的标签和置信度,测试效果见图5和图6。

4 结 语

本文采用YOLOv3算法对高速公路火灾进行检测。首先采用k-means算法对anchor参数进行优化,其次利用Darknet-53网络进行相关特征提取,最后通过整个YOLOv3网络实现特征拼接,进而实现对高速公路火灾的检测,主要得到以下结论:

1) 提出了基于深度学习YOLOv3算法的高速公路火灾检测方法;将深度学习方法与高速公路火灾检测问题相结合,实现了对高速公路火灾的端到端检测。

2) 根据高速公路火灾目标自身的特点,采用k-means聚类算法对YOLOv3算法中的anchor参数进行了优化。试验结果表明,优化后的YOLOv3网络的平均准确率比未优化的网络提高了7%,在一定程度上提高了对高速公路火灾进行检测的准确性。

3) 采用YOLOv3网络并优化网络参数,使得高速公路火灾检测的平均准确率达到了80%,检测速度达到了30帧/s,同时有效避免了高速公路火灾漏检现象。

4) 由于高速公路火灾数据很难收集,试验使用的样本量较少,若要实际应用,需增加数据集的数量,重新训练模型;本文考虑的是高速公路明火识别情况,没有考虑火灾刚发生时的烟雾情况,该内容有待后续进一步研究。

猜你喜欢

边界卷积网格
基于全卷积神经网络的猪背膘厚快速准确测定
守住你的边界
一种基于卷积神经网络的地磁基准图构建方法
基于3D-Winograd的快速卷积算法设计及FPGA实现
一种并行不对称空洞卷积模块①
网格架起连心桥 海外侨胞感温馨
意大利边界穿越之家
追逐
OF MALLS AND MUSEUMS
人蚁边界防护网