APP下载

基于VGG16网络的火灾图像识别方法研究

2023-07-26徐柯王保云

电脑知识与技术 2023年16期
关键词:残差准确率卷积

徐柯,王保云,2★

(1.云南师范大学 数学学院,云南 昆明 650500;2.云南省高校复杂系统建模及应用重点实验室,云南 昆明 650500)

0 引言

火灾作为常见的灾害之一,对人民生命和财产构成巨大威胁。据应急管理部消防救援局2022 年11 月1 日发布的视频,2022 年前三个季度全国共接报火灾63.68 万起,死亡1441 人,受伤1640 人,直接财产损失55亿元。因此,对火灾的快速、高效地检测并预警显得尤为重要。传统的感烟和感温型火灾探测方法对于小空间范围适用性较好,但在大空间范围内,这种火灾识别方法具有一定的局限性。相比于传统的感烟和感温火灾识别方法,图像型火灾识别可以很好地避免这一缺点 。李建文等人[1]通过对核电站场所内火灾发生的特点进行分析,结合图像分析技术的优势,降低了核电站的火灾探测误报率;王媛彬等人[2]通过提取火灾火焰图像的特征,对是否有火焰产生实现了判断。马越豪等人[3]利用无人机技术,通过图像的颜色特征检测火灾区域,提出了一种火灾检测方法。Kandil等人[4]提取火焰小波变换后的图像特征,通过使用BP 神经网络进行火焰的识别。然而,以上这些基于图像处理的火灾识别方法均属于传统的图像处理方法,需要人工提取特征,易受干扰且效率较低。

随着深度学习[5]的发展,卷积神经网络(CNN) 已经在手写字符识别、语音识别[6]、图像识别等领域得到了成功应用。与传统的机器学习图像识别算法相比,卷积神经网络具有无须人工提取特征,局部区域连接以及权值共享特点。本文基于改进的VGG16 网络模型,对图像进行发生火灾和未发生火灾的分类,借助深度学习的方法,让计算机通过大量样本训练提取到火灾特征,对火灾进行识别,并将该网络与ResNet34网络和VGG16网络进行对比,测试网络在火灾数据集上的性能表现。

1 数据和模型

1.1 数据来源

本文采用的火灾样本数据集来自公开数据集“Fire Image Data Set for Dunnings 2018 study - PNG still image set”静态火灾图像数据集。为保证样本的平衡,选取火灾图像4 000 张,非火灾图像4 000 张。将发生火灾的图像标注为0,未发生火灾的图像标注为1,训练集和测试集按照7:3的比例进行划分,数据库中的部分图像如图1所示。

图1 数据库部分样本

1.2 网络模型

本文分别采用VGG16、ResNet34 以及改进的VGG 网络模型对数据集进行训练和测试。其中VGG16[7]是由牛津大学和Google公司共同研发的一个卷积神经网络结构。VGG16网络是由13个卷积层和5 个池化层组成,最后由3 个全连接层作为分类层。在本文中,考虑到火灾识别是一个二分类问题,不需要复杂的分类层,故保留VGG16 网络中的特征提取层,重新设置分类层,采用2层全连接层[8]。VGG16网络的特点是采用连续的3×3 的卷积核代替较大卷积核,相比直接使用大尺度卷积核训练,训练量大大减小,通过增加通道数提高了网络特征识别能力,并且VGG16网络的非线性能力增强,增加了卷积神经网络特征提取能力。

残差神经网络[9](ResNet)是由何恺明等人提出的,并在ILSVRC2015比赛中取得冠军。ResNet34是由33层卷积层和1层全连接层组成的神经网络模型。残差网络主要由残差块构成,这种残差块的输入会经过一个跳跃结构输出到残差块的输出,避免了网络退化的问题,同时缓解了在深度神经网络中增加深度带来的梯度消失问题。

改进的VGG网络模型是在原来的VGG16模型的基础上添加了残差块结构,改进的VGG 网络结构见图2。

图2 改进的VGG16网络示意图

三个网络的激活函数均使用Rule函数,选择Rule函数是因为在一定程度上解决了梯度消失的问题,加速梯度下降的收敛速度,并且Rule 函数计算简单,更加高效。

三个网络在经过对图像的特征提取和分类后,通过使用Softmax 函数将两个目标类别给出的输出数值转化为相对概率。关于Softmax 函数的定义表达式为:

其中,i表示数据集的类别索引,vi是分类器对第i类的输出。数据集总的类别个数为C。Si为第i类的输出的指数与数据集所有类输出的指数的比值。

2 实验结果与分析

2.1 实验环境及超参数设置

模型的训练与测试均在PyTorch框架下完成。硬件环境:Intel(R) Xeon(R) Platinum 8157 CPU @2.30GHz,NVIDIA GeForce RTX 3090 GPU;软件环境:Ubuntu18.04 操作系统, Python 3.8, CUDA 11.3,Py-Torch 1.11.0,以及图像相关的第三方库。

模型训练时使用GPU加速,具体训练设置如下:最大训练数设置为100 个epoch,batch size 设置为64,学习率设置为0.001。损失函数为交叉熵损失函数(Cross Entropy Loss) ,交叉熵函数可以完美解决均方误差函数权重更新慢的问题,在误差大时权重更新快,在误差小时,权重更新慢。交叉熵损失函数的表达式为:

其中,a为

优化方法为随机梯度下降法(SGD) ,该算法是通过迭代运算不断优化参数,使损失函数最小化。

2.2 训练结果

为比较3种网络的性能,在数据集上进行实验,得到实验结果,绘制了以下图像。

训练迭代100次,图3是在训练过程中,网络模型的损失值随着迭代次数变化的曲线图。观察图3的损失值曲线发现,随着迭代次数的增加,3种网络模型的损失函数均呈递减形式,并最终都稳定在一个数值;从图3还可以看出,改进后的VGG模型在损失方面要优于其他两个网络。

图3 损失值变化曲线

在测试集上的准确率如图4 所示。观察图4 发现,随着训练迭代次数的增加,3种模型的准确率均呈递增形式,并最终收敛;除此之外,改进后的VGG模型在准确率上明显优于其他两个网络。

图4 准确率变化曲线

2.3 性能评估

为了评价算法对火灾的识别能力,本文通过召回率、准确率、受试者操作特征曲线(ROC) 以及AUC 四个指标,对网络性能进行评价。

首先,给出实验结果汇总后得到的混淆矩阵。混淆矩阵是一种精度评价模型,主要比较预测值和实际值在不同类别上的表现。表1为3种网络在测试集上的混淆矩阵。通过观察表1 混淆矩阵发现,改进的VGG 模型对有火发生的识别能力要优于无火灾发生的识别能力。并且改进的VGG 模型对有火发生的识别能力要优于另外两个网络。

表1 混淆矩阵

其中,TP(True Positive):代表有火检测出有火;

FN(False Negative):代表有火检测出无火;

FP(False Positive):代表无火但检测出有火;

TN(True Negative):代表无火检测为无火。

接着,根据表2给出的混淆矩阵,计算得到三个网络的各性能指标值,见表2。通过表2 可知,改进的VGG 模型的有火召回率为86.33%,优于其他两个网络,这说明改进的VGG模型在识别有火灾发生的能力要强于另外两个网络。改进的VGG 模型的无火召回率为81.33%,优于VGG16 模型,但不如ResNet34 模型。通过表2还可以发现,改进的VGG模型的准确率为81.21%,优于另外两个网络。

表2 准确率和召回率

其中准确率是有火和无火中预测正确数量占总数量的比例,用公式表示为:

有火召回率是被预测正确的有火占实际有火样本的比例。用公式表示为:

无火召回率是被预测正确的无火占实际无火样本的比例。用公式表示为:

为了进一步验证模型的可靠性,根据实验结果绘制了三种模型的ROC曲线,如图5所示。改进的VGG模型,VGG16 模型以及ResNet34 模型的AUC 值分别为0.879、0.866、0.846,这说明三种网络模型都具有一定的准确性,且改进后的VGG模型相比其他两种网络具有更好的识别能力。

图5 ROC曲线图

3 结束语

针对传统火灾探测器检测局限性、检测率低的问题,本文提出了一种改进的VGG网络的图像型火灾识别方法。本文选取公开数据集上的4 000张火灾照片和4 000张未发生火灾的照片,保证了样本的平衡,并将数据集按7:3分为训练集和测试集,对改进的VGG模型进行实验,得到的火灾识别模型分类准确率为81.21%,AUC 值为0.879,网络性能优于VGG16 网络和ResNet34 网络,说明了该网络可以应用于火灾识别,且具有准确的优点。

猜你喜欢

残差准确率卷积
基于双向GRU与残差拟合的车辆跟驰建模
基于3D-Winograd的快速卷积算法设计及FPGA实现
不同序列磁共振成像诊断脊柱损伤的临床准确率比较探讨
基于残差学习的自适应无人机目标跟踪算法
基于递归残差网络的图像超分辨率重建
从滤波器理解卷积
高速公路车牌识别标识站准确率验证法
基于傅里叶域卷积表示的目标跟踪算法
平稳自相关过程的残差累积和控制图
一种基于卷积神经网络的性别识别方法