基于目标区域的卷积神经网络火灾烟雾识别 下载: 1087次
1 引言
火灾是自然灾害和社会灾害中发生概率最高的灾害之一,随着城市经济的快速发展,火灾对人类的生命财产安全造成了极大的威胁[1],因此火灾的检测尤为重要。传统的火灾烟雾探测系统主要依靠传感器对烟雾进行检测,当空间变大之后,传感器不能有效检测到烟雾信号。此外,由于传感器易受灰尘、气流和人为因素的干扰,这些传感器的检测准确率较低[2]。随着高效视频处理技术的发展,基于视频的火灾烟雾探测已成为一种主要的火灾探测方法,尤其是在开放式大型空间和室外环境中效果更为显著。视频火灾检测主要分为火焰检测和烟雾检测,由于火灾发生时最先出现的是烟雾,它先于火焰产生,所以烟雾的实时监控对火灾探测有着相当重要的意义。
目前,烟雾具有形状、色彩、纹理、湍流、飘动等特征,基于视频的火灾烟雾探测算法通常基于烟雾的一个或多个特征再通过分类器做出决定。李红娣等[3]通过金字塔分解算法提取出烟雾的金字塔纹理和边缘特征,采用支持向量机(SVM)进行训练和识别火灾烟雾。仝伯兵等[4]提出了基于概率的两层自适应度量(PTLNN)算法对烟雾进行检测,将AdaBoost和K近邻(KNN)算法的优点进行结合,优化了局部和全局的样本分布,提高了算法的性能。Luo等[5]通过浓缩视频发现了烟雾轨迹有一些特殊的特征,如右倾线、平滑流线、低频、固定源和垂直-水平比等。但是对于扩散缓慢的烟雾检测效果不佳。陈俊周等[6]将烟雾的动态特征和静态特征相结合,然后通过级联卷积神经网络对特征进行学习和识别。周泊龙等[7]通过提取烟雾的颜色、运动、面积变化率和凸形特征来进行烟雾检测。由于需要分析适用的场景,所以算法的应用范围会受到一定的限制。Dimitropoulos等[8]将火灾烟雾的特征按照动态分数联合的方法进行聚合,然后送入SVM中进行训练,最终识别烟雾。这些算法主要通过手动选择来处理一个或多个特征,而选取这些特征需要具备一定的专业知识和经验。选取的特征只能在当前的环境具有良好的性能,当改变环境之后其特征可能无效。在火灾初期,烟雾的区域较小,直接对其进行特征提取,会将无关特征误认为是烟雾特征,降低烟雾识别的准确率。因此,对火灾烟雾的检测仍然具有挑战性。
针对上述问题,本文提出了一种基于目标区域的卷积神经网络火灾烟雾识别方法。通过目标区域提取将非烟雾区域去除,减少火灾初期烟雾较小而无关区域较大对火灾烟雾识别的影响,同时使用卷积神经网络对烟雾目标区域进行自动提取和识别烟雾的深层特征。在制作的数据集上进行训练和测试,其准确率有明显提高,并且降低了误检率。
2 基本原理
卷积神经网络(CNN)在模式识别、图形分类和自然语言等方面取得了突破性的成果[9-10]。与传统的人工提取浅层特征的方法相比,CNN能够自动获取深层次的特征,深层特征能够更加有效地表达物体本身的特征,利用深层特征来进行识别能够有效地提高识别准确率。但是当一张图片中待识别目标的有效区域较少时,需要先对图片进行特征区域分割,从而减少无关区域对CNN识别精度的影响。针对火灾烟雾的动态特性,通常使用运动检测算法来进行特征区域分割。
2.1 运动检测
运动检测的目的是将视频中的前景运动目标和静态背景相分离,即从视频中分割出运动目标的特征聚集区域[11]。目标的特征提取、分类和识别等都是通过对视频中特征聚集区域来进行处理的,因此特征聚集区域的正确分割对后期的处理非常重要。常用的运动检测算法包括帧差法、光流法和背景差分法等[12]。
背景差分法的主要原理是将视频中每一帧的图像与背景图像进行差分运算,如果差分运算的结果超过设定的值则认定为运动目标区域。具体的流程如
背景差分法是将视频中的几帧图像像素进行取平均操作,得到背景图像,然后用背景图像依次与视频中的每一帧图像进行差分操作,通过设定阈值将前景和背景分离,提取出运动区域。
传统的运动检测算法结构简单,能够快速地提取运动区域,非常适合用来分割烟雾的特征区域。但是由于烟雾具有非刚性、运动方式呈现扩散和移动缓慢等特点,传统的运动检测算法对烟雾进行检测时容易出现丢失轮廓和空洞现象。
2.2 卷积神经网络
卷积神经网络是一种特殊的深度神经网络结构,可以直接从原始图像中识别出图像的特征。近年来,基于CNN的深度学习模型在机器学习和图像识别等计算机视觉领域取得了很大的成功[13]。CNN是一个由输入层、卷积层、池化层、全连接层和输出层组成的多层神经网络[14],这种网络结构非常适合二维图像识别。输入图像由卷积层进行图像特征的提取,所提取的特征图由池化层进行降维,将降维后的特征图输入到全连接层进行分类,最终将所有特征值连接成一维向量,并输入到分类器中以实现分类。
在卷积层中,通过卷积核对输入图像进行卷积操作,提取出前一层中不同特征图中相同位置的局部特征,再将这些局部特征进行加权和增加偏置项。假设第m层为卷积层,则该层的特征图ym计算公式为
式中:f(·)表示激活函数;ym-1表示第m-1层的特征图;*表示卷积操作;xm表示第m层的卷积核;bm表示第m层的偏置项。
卷积操作之后得到的特征图比较大,如果直接将得到的特征图输入到全连接层,则会降低网络的性能。因此,需要对卷积得到的特征图进行降维操作,即将特征图送入池化层。假设第
式中:λm为第m层池化层的池化参数;d(·)表示池化函数
CNN可以识别可变图案,并且对几何变形具有很好的鲁棒性[15]。同时,它可以自动提取图像的更深层特征,避免了传统特征提取算法的盲目性和复杂性。这些优点可以很好地处理烟雾颜色、纹理、形状等特征的变化。综上,用CNN来对火灾烟雾进行识别是具有优势的。但是,仅仅使用CNN来识别复杂场景下的火灾烟雾,会使CNN的结构变复杂,影响整个模型的识别性能,降低识别精度。
3 基于目标区域的卷积神经网络烟雾识别
在实际场景中,火灾烟雾视频中不仅包含烟雾,还有其他无关的背景信息。单独使用CNN模型对火灾烟雾进行检测,只能通过建立复杂的网络结构来保证烟雾识别的准确率,带来的后果是无法克服的网络效率下降。由此,在进行火灾烟雾识别时,为了降低复杂场景对识别准确率的影响,本文提出了一种基于目标区域的烟雾深层特征识别方法,构建了运动检测卷积神网络模型——MD_CNN。MD_CNN模型通过运动检测算法将无关特征区域去除,获取烟雾的目标区域,将烟雾目标区域输入卷积神经网络中进行识别,减少了输入数据中无关特征的数量,降低了对网络的干扰,提高了烟雾的识别准确率。
3.1 MD_CNN模型结构
传统的图像识别方法先将目标图像的特征显著化,再通过图像处理算法来提取和识别目标图像的特征。在设计MD_CNN模型时同样运用了这一思想。目标区域定位(TL)层使用运动检测算法来提取烟雾目标区域,主要目的是在保证烟雾信息不丢失的情况下,快速剔除大量的非烟雾信息,以提高检测准确率,减少烟雾识别层对烟雾特征识别的压力。烟雾识别(DL)层通过搭建CNN网络结构来进行烟雾目标区域的识别,力求准确地判断是否有烟雾,以保证整个MD_CNN模型的检测准确率。MD_CNN模型的结构如
MD_CNN模型识别火灾烟雾的流程如
1) 将待检测的视频进行归一化操作,输入到TL层中。
2) TL层通过运动检测对输入的视频进行烟雾目标区域提取,如果判断为烟雾区域,则提取出烟雾目标区域;否则,将非烟雾区域去除。
3) 将烟雾目标区域再进行归一化操作,输入到DL层中。
4) DL层接受到上一层的输入后,DL层中的CNN对烟雾目标区域进行特征的提取与识别,如果判断为烟雾,则成功检测到烟雾并发出火灾报警;否则,不报警。完成火灾烟雾识别。
3.2 目标区域定位层设计
在自然场景中,摆动的树枝、行人、汽车和其他移动物品非常频繁,如果不进行特殊处理,会将这些物体产生的前景图像分割为烟雾特征区域,在一定程度上提高误报概率。针对这些不足,本文使用改进的背景差分法从而准确地提取出烟雾目标区域。
当烟雾向四周进行扩散时,运动比较缓慢,相邻帧的图像中烟雾区域灰度值变化较小,传统的背景更新仅考虑到前一帧背景和当前帧图像的变化,这样就容易出现烟雾区域的丢失现象。因此将视频中的初始背景同时作为背景更新的因素,背景更新的公式为
式中:Ci(x,y)和Ci-1(x,y)分别为第i帧和第i-1帧的背景图像;Mi(x,y)为第i帧处的图像;Ci(x,y)为初始第1帧的背景图像;α、β和λ分别为背景更新的权重参数,且α+β+λ=1。当λ选取的过小时,烟雾运动部分会重叠导致提取出来的区域不完整;反之,会将其他物体误认为烟雾区域提取出来。其中F(x,y)的公式为
然后对视频中的第i帧做背景差分运算,公式为
式中:Z(x,y)即为烟雾目标区域。
图 4. 烟雾目标区域。(a)原图;(b)烟雾阈值图像;(c)烟雾目标区域
Fig. 4. Smoke target region. (a) Original image; (b) smoke threshold image; (c) smoke target region
3.3 烟雾识别层设计
对于火灾烟雾的识别,烟雾的浅层特征不明显,不能充分表达烟雾特征,因此需要充分地挖掘烟雾的深层特征。卷积神经网络可以通过多层的卷积层对烟雾图像提取深层特征,网络中的参数在学习的同时不断地自动更新,解决了人工选取参数和提取特征的问题。
具体的网络结构设计如下:
1) 输入层。为了方便卷积神经网络中每一层对烟雾图像的计算,将输入烟雾图像的大小设定为320 pixel×240 pixel,对于彩色图像通常包含三个颜色通道,输入烟雾图像的大小为320×240×3。
2) 卷积层Conv 1。其目的主要是提取烟雾图像的深层特征。当烟雾图像进入第一层卷积层时,如果卷积核设置较小,则提取的特征中会含有较多的无关特征,提取的特征图较大时,系统的神经元个数也会变多,从而影响系统的效率,产生过学习的现象。因此,本文将卷积核的大小设置为5×5,步长为1。为了进行非线性变换,增加网络的稀疏性,使提取出的烟雾特征更具有代表性,本文在卷积层后设置了ReLU激活函数,输出结果为320×240×32大小的特征矩阵。ReLU激活函数的公式为
如
3) 池化层Pool 1。在本文中,为了减少所提取烟雾特征大小和神经元的数量,同时保持尺度变化的特征不变形,网络在每一层的卷积层之后都进行了池化操作。池化操作可以实现特征降维、压缩数据和参数的数量、减少过拟合,同时提高模型的容错率。本文使用的是最大池化,其公式为
式中:m是特征图的一个区域;mi是该区域中神经元的输出。
4) 卷积层Conv 2、Conv 3和Conv 4的功能与Conv 1相同。Conv 2的卷积核为5×5,步长为1,输出的数据维度为160×120×64。但是,当到达第3层和第4层卷积层时,烟雾的特征图会变小,为防止因卷积核过大而丢失重要的特征信息,需要将卷积核变小。因此,Conv 3和Conv 4的卷积核设置为3×3,步长为1,输出的数据维度分别为80×60×128和40×30×128。
5) 池化层Pool 2、Pool 3和Pool 4与Pool 1相同,输出的数据维度分别为80×60×64、40×30×128和20×15×128。
6) 全连接层。经过前面4层卷积层后,CNN网络已经提取出了高度抽象化的深层烟雾特征,为了将这些特征进行整合,本文在最后一层池化层后添加了三层全连接层。它们获取前一层的所有神经元并连接到当前层的每个神经元以生成全局语义信息。本文中的网络由三个完全连接层组成,第一个完全连接层,接收第四个池化层的输出并包含1024个神经元,然后通过Relu激活函数和dropout层。第二个完全连接层接收第一个完全连接层的1024维输出,并包含1024个神经元,然后也经过Relu激活函数和dropout层。最后一个全连接层包含两个神经元,它们映射到烟雾和非烟雾的最终类别。最后,第三个全连接层的输出送到Softmax函数,该函数为每个类分配概率。
Softmax函数[16]可用于计算特征向量属于每个类的概率。其中,p0表示图像属于非烟雾的概率,p1表示图像属于烟雾的概率。最终的分类结果C可以通过下式来获得,
烟雾识别层参数如
4 实验结果与分析
为验证本文模型的有效性,在CPU为Intel(R) Core(TM) i7-8700、内存为16 GB、显卡为NVIDIA GeForce RTX 2070、仿真软件为JetBrains PyCharm 、计算机语言为Python3.6、深度学习框架为TensorFlow的PC机上对算法进行了实验。实验用到的火灾烟雾数据集共有21000张,其中16800张作为训练数据集,其余4200张作为测试数据集。
4.1 MD_CNN模型训练
实验中使用的数据部分来源于实验室实际拍摄,其余来自火焰烟雾公开数据集[
表 1. 烟雾识别层参数
Table 1. Smoke detection layer parameters
|
4.2 评价指标
为了评价实验结果,本文通过准确率(ACC)、检测率(TPR)和误检率(FNR)三项标准进行评价[18],其公式为
4.3 实验结果
为了验证MD_CNN模型中前端运动检测对烟雾识别的有效性,将单独使用CNN和使用MD_CNN模型对烟雾数据集进行识别。其结果如
表 2. CNN和MD_CNN的烟雾识别结果
Table 2. Smoke recognition results of CNN and MD_CNN%
|
在CNN烟雾识别部分,烟雾和非烟雾出现误检的原因主要是非烟雾帧中的干扰因素在颜色和纹理特性上与烟雾的非常相像,例如云等。而本文提出的MD_CNN模型能够有效地将非烟雾区域剔除,将烟雾目标区域提取出来,减少卷积神经网络学习非烟雾特征的数量,从而提高准确率。
同时,烟雾识别层对烟雾特征的提取和识别至关重要,为了选取最优的参数,本文也针对不同的卷积神经网络模型进行了比较。除了本文的烟雾识别层网络模型Cov4_FC3外,还设计了5种模型,分别是:1)Cov2_FC3,由2层卷积层、2层池化层和3层全连接层组成;2)Cov3_FC3,由3层卷积层、3层池化层和3层全连接层组成;3)Cov5_FC3,由5层卷积层、5层池化层和3层全连接层组成;4)Cov6_FC3,由6层卷积层、6层池化层和3层全连接层组成;5)Cov7_FC3,由7层卷积层、7层池化层和3层全连接层组成。
不同模型的参数以及准确率如
表 3. 不同模型的结构及性能指标对比
Table 3. Comparison of structure and performance indicators of different models
|
为了评价本文所提出MD_CNN的整体性能,与三种已有的火灾烟雾识别算法进行了对比。其中,算法1是周泊龙等[7]提出的通过提取烟雾的多个特征进行烟雾识别的算法;算法2是李红娣等[3]提出的采用金字塔纹理和边缘特征的图像烟雾检测算法;算法3是陈俊周等[6]提出的一种基于级联卷积神经网络烟雾纹理识别框架的视频烟雾检测算法。
最终,三种算法的准确率、检测率和误检率如
表 4. 四种算法的分类性能指标值
Table 4. Classification performance index values of four algorithms%
|
这主要是因为MD_CNN模型能够通过目标区域定位层提取出烟雾目标区域,相对于直接对烟雾数据进行处理,减少了输入数据中无关特征对识别结果的影响,同时使用CNN自动提取烟雾特征,避免了传统提取特征方法依赖先验知识的缺点。但是由于汽车的尾气、其他形态的水蒸气等干扰因素,考虑不够全面,实验中仍然存在误检现象。
5 结论
本文提出了一种基于目标区域的卷积神经网络火灾烟雾识别方法,同时构建了MD_CNN模型来解决大空间火灾烟雾识别的问题。MD_CNN利用改进的背景差分算法快速剔除无关背景信息的特点,结合CNN自动提取物体深层特征的特点,级联这两部分结构,串联处理火灾烟雾识别问题。MD_CNN模型减少了无关背景区域对火灾烟雾识别的影响,同时使用CNN自动提取和识别火灾烟雾的深层特征,保证整个MD_CNN模型的识别精度。利用该模型进行了烟雾识别实验,烟雾识别的准确率为93.72%,检测率为97.25%,误检率为6.28%。实验结果表明,MD_CNN模型能够减少复杂场景中无关信息对烟雾识别的干扰,有效提高烟雾识别的准确率。为了进一步提高烟雾识别的准确率,扩大适用场景,在下一步工作中将增加正负样本的数量和种类。
[1] 史劲亭, 袁非牛, 夏雪. 视频烟雾检测研究进展[J]. 中国图象图形学报, 2018, 23(3): 303-322.
Shi J T, Yuan F N, Xia X. Video smoke detection: a literature survey[J]. Journal of Image and Graphics, 2018, 23(3): 303-322.
[2] 史玉坤, 仲贞, 张德馨, 等. 利用多特征判别的烟雾检测方法研究[J]. 信号处理, 2015, 31(10): 1336-1341.
Shi Y K, Zhong Z, Zhang D X, et al. A study on smoke detection based on multi-feature[J]. Journal of Signal Processing, 2015, 31(10): 1336-1341.
[3] 李红娣, 袁非牛. 采用金字塔纹理和边缘特征的图像烟雾检测[J]. 中国图象图形学报, 2015, 20(6): 772-780.
Li H D, Yuan F N. Image based smoke detection using pyramid texture and edge features[J]. Journal of Image and Graphics, 2015, 20(6): 772-780.
[4] 仝伯兵, 王士同. 用两层分类算法进行视频烟雾检测[J]. 计算机科学, 2015, 42(3): 301-306.
Tong B B, Wang S T. Video smoke detection using two-level classification algorithm[J]. Computer Science, 2015, 42(3): 301-306.
[5] Luo S, Yan C W, Wu K L, et al. Smoke detection based on condensed image[J]. Fire Safety Journal, 2015, 75: 23-35.
[6] 陈俊周, 汪子杰, 陈洪瀚, 等. 基于级联卷积神经网络的视频动态烟雾检测[J]. 电子科技大学学报, 2016, 45(6): 992-996.
Chen J Z, Wang Z J, Chen H H, et al. Dynamic smoke detection using cascaded convolutional neural network for surveillance videos[J]. Journal of University of Electronic Science and Technology of China, 2016, 45(6): 992-996.
[7] 周泊龙, 宋英磊, 俞孟蕻. 基于图像处理的火灾烟雾检测算法研究[J]. 消防科学与技术, 2016, 35(3): 390-393.
Zhou B L, Song Y L, Yu M H. Fire smoke detection algorithm based on image disposal[J]. Fire Science and Technology, 2016, 35(3): 390-393.
[8] Dimitropoulos K, Barmpoutis P, Grammalidis N. Higher order linear dynamical systems for smoke detection in video surveillance applications[J]. IEEE Transactions on Circuits and Systems for Video Technology, 2017, 27(5): 1143-1154.
[9] FrizziS, KaabiR, BouchouichaM, et al. Convolutional neural network for video fire and smoke detection[C]∥IECON 2016 - 42nd Annual Conference of the IEEE Industrial Electronics Society, October 23-26, 2016. Florence, Italy. IEEE, 2016: 877- 882.
[10] 冯秋晨, 彭冬亮, 谷雨. SAR变体目标识别的卷积神经网络法[J]. 中国图象图形学学报, 2019, 24(2): 258-268.
Feng Q C, Peng D L, Gu Y. SAR target recognition with variants based on convolutional neural network[J]. Journal of Image and Graphics, 2019, 24(2): 258-268.
[11] 韩燮, 赵融, 孙福盛. 基于卷积神经网络的棋子定位和识别方法[J]. 激光与光电子学进展, 2019, 56(8): 081007.
[12] 李鹏, 张炎. 基于高斯混合模型和卷积神经网络的视频烟雾检测[J]. 激光与光电子学进展, 2019, 56(21): 211502.
[13] . 基于深度学习卷积神经网络的地震波形自动分类与识别[J]. 地球物理学报, 2019, 62(1): 374-382.
赵明, 赵明, 陈石, 陈石, Dave Yuen, Dave Yuen. 基于深度学习卷积神经网络的地震波形自动分类与识别[J]. 地球物理学报, 2019, 62(1): 374-382.
Zhao M, Zhao M, Chen S, Chen S, Dave Yuen, Yuen D. Waveform classification and seismic recognition by convolution neural network[J]. Chinese Journal of Geophysics, 2019, 62(1): 374-382.
ZhaoM, ChenS, DaveYuen. Waveform classification and seismic recognition by convolution by convolution neural network. Chinese Journal ofGeophys.2019, 62( 1): 374- 382.
[14] MukherjeeS, SahaS, LahiriS, et al. Convolutional neural network based face detection[C]∥2017 1st International Conference on Electronics, Materials Engineering and Nano-Technology (IEMENTech), April 28-29, 2017. Kolkata, India. IEEE, 2017: 1- 5.
[15] 杨格兰, 邓晓军, 刘琮. 基于深度时空域卷积神经网络的表情识别模型[J]. 中南大学学报(自然科学版), 2016, 47(7): 2311-2319.
Yang G L, Deng X J, Liu C. Facial expression recognition model based on deep spatiotemporal convolutional neural networks[J]. Journal of Central South University(Science and Technology), 2016, 47(7): 2311-2319.
[16] 方定邦, 冯桂, 曹海燕, 等. 基于多特征卷积神经网络的手写公式符号识别[J]. 激光与光电子学进展, 2019, 56(7): 072001.
[17] 张宇波, 张亚东, 张彬. 基于灰度梯度共生矩阵的桌面灰尘检测算法[J]. 计算机应用, 2019, 39(8): 2414-2419.
Zhang Y B, Zhang Y D, Zhang B. Desktop dust detection algorithm based on gray gradient co-occurrence matrix[J]. Journal of Computer Applications, 2019, 39(8): 2414-2419.
[18] 张海涛, 李美霖, 董帅含. 两层级联卷积神经网络的人脸检测[J]. 中国图象图形学报, 2019, 24(2): 203-214.
Zhang H T, Li M L, Dong S H. Two-layer cascaded convolutional neural network for face detection[J]. Journal of Image and Graphics, 2019, 24(2): 203-214.
Article Outline
冯路佳, 王慧琴, 王可, 卢英, 王钾. 基于目标区域的卷积神经网络火灾烟雾识别[J]. 激光与光电子学进展, 2020, 57(16): 161004. Lujia Feng, Huiqin Wang, Ke Wang, Ying Lu, Jia Wang. Convolutional Neural Network Fire Smoke Detection Based on Target Region[J]. Laser & Optoelectronics Progress, 2020, 57(16): 161004.