【学术论文】基于卷积神经网络的火灾视频图像检测
摘要:
随着计算机技术的发展,融合计算机视觉、机器学习、深度学习等技术的火灾图像处理技术得到了广泛的研究和应用。针对传统图像处理方法预处理过程复杂且误报率高等问题,提出一种基于深度卷积神经网络模型进行火灾检测的方法,其减少了复杂的预处理环节,将整个火灾识别过程整合成一个单深度神经网络,便于训练与优化。针对识别过程中类似火灾场景对火灾检测产生干扰的问题,利用火灾的运动特性,创新性地提出利用火灾视频前后帧火灾坐标位置变化来排除灯光等类似火灾场景对检测的干扰。对比了众多深度学习开源框架后,选择Caffe框架进行训练及测试,实验结果表明,该方法实现了对火灾图像的识别和定位,适应于不同的火灾场景,具有很好的泛化能力和抗干扰能力。
中文引用格式: 张杰,隋阳,李强,等. 基于卷积神经网络的火灾视频图像检测[J].电子技术应用,2019,45(4):34-38,44.
英文引用格式: Zhang Jie,Sui Yang,Li Qiang,et al. Fire video image detection based on convolutional neural network[J]. Application of Electronic Technique,2019,45(4):34-38,44.
0 引言
在早期火灾检测的过程中,主要是火焰的检测,火焰主要有以下三大特征:运动特征、颜色模型和轮廓特征,研究主要通过这些特征来达到火焰识别的效果。颜色检测是火焰检测最早用的方法,目前仍有使用。研究人员为了提高火焰识别的准确率,试图探索用于火焰检测的颜色和运动特征。CHEN T H等人[1]研究了火焰的RGB和HSI颜色空间中的火焰的动态行为和不规则性检测。CELIK T和DEMIREL H[2]使用YCbCr空间色度分量与亮度分离的特性设计分类规则,该方法有可能以较高的精度检测火焰,但需要检测距离较小,火灾的尺寸较大。MUELLER M等人[3]研究了火焰的形状和刚性物体的运动,提出使用光流信息和火焰行为来智能地提取特征向量,基于该特征向量可以区分火焰和移动的刚性对象。FOGGIA P等人[4]融合了形状、颜色和运动属性,形成了一个多专家框架进行实时火焰检测。虽然这种方法是目前占主导地位且最先进的火焰检测算法,但仍然存在误报率高的问题。随着深度学习技术的不断发展,设计自学习分类器,从更深层次自动挖掘特征并分析,已经成为火灾视频检测领域的新思路。FRIZZI S[5]等人设计了一个9层卷积神经网络,能分类出火焰、烟雾或无火灾。ZHANG Q[6]等人设计了一种级联卷积神经网络,第一级为全幅图像分类,第二级为疑似火焰区域分类,这种两级结构令火灾识别更加精细。傅天驹[7]等人设计了一种用于森林火灾识别的12层卷积神经网络,针对网络训练过程中训练样本较少这一情况,采用替换随机初始化参数方法,获得了比较好的分类效果。
为了进一步提高火灾检测的准确率并实现火灾定位,本文应用深度学习的方法提出了一种有效的卷积神经网络火焰检测结构,避免了特征提取繁琐而耗时的过程,自动地从原始火灾数据中学习丰富的特征。本文利用迁移学习的思想,训练并微调了深度卷积神经网络的权重,成功实现了火灾的检测和定位。本文的方法相对于单纯判断有无火焰的方法,实现了火灾的定位,为后期灭火的定位提供便利条件,针对识别过程中类似火灾场景对火灾检测产生干扰的问题,利用火灾的运动特性,提出结合火灾视频前后帧火灾坐标位置变化,排除灯光等类似火灾场景对检测的干扰。
1 火灾视频图像检测流程
基于卷积神经网络火灾视频检测主要分为模型的训练和模型的评估两个主要的部分。首先收集大量的火灾图片进行模型训练,利用深度卷积神经网络获得更深层次的火灾特征表达,得到大量的火灾检测模型;然后利用测试数据集对得到的模型进行评估以寻求最优模型;最后就可以利用最优模型对新输入的照片进行火灾和非火的判断。基于卷积神经网络的火灾视频图像检测流程图如图1所示。
1.1 卷积神经网络
CNN(Convolutional Neural Networks)是一个受生物视觉感知机制启发的深度学习网络结构。自从第一个深度学习网络LeNet用于手写的数字分类,它已显示出可观的解决各种问题的能力,包括行动识别[8]、姿态估计、图像分类[9]、视觉显着性检测、对象跟踪、图像分割、场景标注、对象定位[10]。典型的CNN结构如图2所示。
1.2 火灾视频图像检测深度神经网络结构
本文火灾目标检测受SSD(Single Shot MultiBox Detector)[11]思想的启发,使用sigmod激活函数替换原网络softmax的激活函数,以适应火灾识别的二分类问题,并通过训练获得所需要的火灾检测模型。本文算法定位方法与滑窗法不同,它使用单个深度神经网络即可进行图像检测,该算法在中间层特征图的像素点上,基于不同的比例和大小生成一系列默认框来进行定位。在预测的过程中,网络会生成每一个存在的目标类别的分数同时按定位权重生成定位框,更加精准地匹配对象的形状。此外,该网络将来自具有不同分辨率的多个特征图的预测组合在一起来处理各种尺寸的物体。本文算法的主要优势是在不牺牲准确率的同时,具有相当快的处理速度,这为火灾的及时识别提供了有利条件。
本文的火灾视频图像深度神经网络结构如图3所示,输入图像为3通道、宽高为300×300的火灾图像。主网络结构是VGG16,其中两个卷积层是由全连接层改成的,同时增加了4个卷积层来获得特征图,以便更精准地定位。此网络检测火灾分为两个部分,一方面是预测输入图片的类别以及属于该类别的得分,另一方面在特征图上使用小的卷积核,去预测一系列默认框的默认框偏移量。为了得到高精度的检测结果,如图3所示,在不同层次的特征图上去预测物体以及默认框的偏移,检测和分类器1输入特征图大小为38×38,每个特征图元周围4个默认框,因此默认框的数量为38×38×4,其余默认框以此类推。最后经过非极大值抑制NMS(Non-Maxinum Suppression)排除冗余的干扰项,得出最后的检测位置。
在训练过程中,设置了不同的超参数训练了大量的模型,这些参数取决于收集的训练数据、数据的质量以及在训练过程中对结果的分析,通过调节学习率、阈值等超参数改进模型,并在最后使用准确率最高的模型。训练过程中采用了迁移学习策略,因为预训练模型是由大规模数据集训练得到的,其中各个层的权重基本体现了图像物体的特征选择,所以通过微调策略,使用预训练模型进行初始化,准确率会上升得更快,并达到更好的效果。实验通过运行100 000次微调迭代过程,得到了最终的模型,在检测室内外火焰方面表现出可观的准确率。
2 识别结果讨论分析
2.1 实验条件与数据生成
本文的实验操作系统为Ubuntu16.04(Linux),GPU为1080Ti,内存为8 GB,CPU为i5-4590,所用的数据集来自互联网上各大研究机构公开的视频。从视频中截取所需图片创建火灾图片数据集,之后用labelimg标框软件进行标框处理,生成xml文件,从标记的图片中随机抽取其中的90%组成训练集,剩余的10%组成测试集,并将训练集和测试集转换为Caffe框架所支持的lmdb格式。转换过程中将图片宽高调整为300×300,并加入了数据增强的方法,进行了镜像、翻转等数据扩充的操作,随后进行预处理和归一化。Slover参数设置:权衰量为0.0005,初始学习率为0.0001,学习率变化的比率为0.1,网络冲量为0.9,网络优化方法为SGD,学习率衰减策略为multistep。
2.2 训练曲线及模型性能指标对比分析
对训练数据集进行训练,并记录样本的损失函数(loss)值,输出训练过程中总loss曲线以及定位loss曲线分别如图4、图5所示。随着迭代次数iters的增多,网络训练总loss(train_loss)和定位loss(mbox_loss)逐渐收敛,呈现出持续下降、趋近平稳的状态,符合训练要求,可以达到学习的目标,在60 000次迭代以后趋于平稳,训练的损失函数曲线如图4、图5所示。本文算法的损失函数计算使用以下公式:
其中,N是匹配的默认框个数,x表示匹配的框是否属于某个类别,取值{0,1};l是预测框,g是真实值;c为所框选目标属于某类别的置信度。
火灾的识别属于二分类问题,可将样例根据其真实类别与学习器预测类别的组合划分为真正例、假正例、真反例、假反例4种情形,令TP、FP、TN、FN分别表示其对应的样例数[12],评估模型预测是否为火的混淆矩阵如表1所示。
漏报率:
误报率:
查准率:
查全率:
准确率:
为了测试本文模型的表现,进一步丰富了测试数据集,共177张图片,其中火灾图片100张,非火灾图片77,检测模型在该数据集上的表现如表2所示。
2.3 不同场景的火灾图片实验结果
选取不同场景的火灾图片和非火图片,如图6所示。对于火灾图片,本文模型成功实现识别及定位;对于类似火灾图片,本文模型成功判断为非火图片,这些图像的概率值如表3所示。
2.4 利用火焰运动特征抗干扰实验
在应用大量的火灾数据集进行测试的过程中,发现会有部分灯光较亮的图片会对识别产生干扰,如图7(f)所示。针对这个问题,本文利用火灾的运动特征,计算视频前后帧的位置距离d,以区分几乎静止不动的干扰源。只有位置坐标不为0,且前后两帧位置坐标距离不为0,才判定为有火,这种方法巧妙地排除了静止类火场景对火灾识别的影响。表4中(xmin,ymin)、(xmax,ymax)分别为矩形框左上角和右下角的坐标值。其中d的计算公式为:
对不同的数据进行了测试的结果如表4所示,其中图7(a)、图7(b)、图7(c)是连续3帧有火的图片输出位置坐标,计算前后两帧距离,分别为2.41 px和13.15 px。干扰图片图7(f)也输出相应位置坐标和前后两帧的距离,前后两帧的距离为图7(d)、图7(e)两张非火灾图片为视频中运动的人,检测模型直接可以判断出这两帧为非火图片,不生成定位框,因此无坐标值,距离为默认值0。
3 结论
随着智能监控的处理能力的提升,在监控系统中识别出火灾对于控制火灾带来的损失具有积极意义,本文提出了一个兼顾准确率和计算复杂性的深度学习火灾检测模型。该模型的灵感来自SSD算法,针对火灾识别问题对其进行改进。通过实验证明,本文的识别模型能够实现火灾图片的识别和定位,对不同的火灾场景进行检测都有很好的识别效果,具有很好的泛化能力。针对识别过程中类似火灾场景对火灾检测产生干扰的问题,本文利用火灾的运动特性,提出结合火灾视频前后帧火灾坐标位置变化的方法,排除了灯光等类似火灾静止场景对检测的干扰。在之后的研究中,可以对当前的火焰检测模型进行进一步调整,以检测烟雾和火焰,处理更复杂的情况。
参考文献
[1] CHEN T H,WU P H,CHIOU Y C.An early fire-detection method based on image processing[C].International Conference on Image Processing.IEEE,2005,3:1707-1710.
[2] CELIK T,DEMIREL H.Fire detection in video sequences using a generic color model[J].Fire Safety,2009,44(2):147-158.
[3] MUELLER M,KARASEV P,KOLESOV I,et al.Optical flow estimation for flame detection in videos[J].IEEE Trans.Image Process,2013,22(7):2786-2797.
[4] FOGGIA P,SAGGESE A,VENTO M.Real-time fire detection for video-surveillance applications using a combination of experts based on color,shape,and motion[J].IEEE Trans. on Circuits and Syst. for Video Technol.,2015,25(9):1545-1556.
[5] FRIZZI S,KAABI R,BOUCHOUICHA M,et al.Convolutional neural network for video fire and smoke detection[C].Industrial Electtonics Society,IECON 2016 Conference of the IEEE.IEEE,2016:877-882.
[6] ZHANG Q,XU J,XU L,et al.Deep convolutional neural networks for forest fire detection[C].International Forum on Management,Education and Information Technology Application,2016.
[7] 傅天驹,郑嫦娥,田野,等.复杂背景下基于深度卷积神经网络的森林火灾识别[J].计算机与现代化,2016(3):52-57.
[8] SHAO L,LIU L,LI X.Feature learning for image classification via multiobjective genetic programming[J].IEEE Trans. on Neural Netw. and Learn. Syst.,2014,25(7):1359-1371.
[9] 林付春,刘宇红,张达峰,等.基于深度学习的智能路牌识别系统设计[J].电子技术应用,2018,44(6):68-71.
[10] 马治楠,韩云杰,彭琳钰,等.基于深层卷积神经网络的剪枝优化[J].电子技术应用,2018,44(12):119-122,126.
[11] Liu Wei,ANGUELOV D,ERHAN D.SSD:single shot multibox detector[J].Computer Vision-ECCV,2016,2016,99(5):21-37.
[12] 周志华.机器学习[M].北京:清华大学出版社,2016.
作者信息:
张 杰,隋 阳,李 强,李 想,董 玮
(吉林大学 电子科学与工程学院,吉林 长春130012)