Print

发布时间: 2019-10-16
摘要点击次数:
全文下载次数:
DOI: 10.11834/jig.190217
2019 | Volume 24 | Number 10




    火情与烟雾专栏    




  <<上一篇 




  下一篇>> 





时间压缩轨迹特征识别的火灾烟雾检测
expand article info 罗胜1, 张翔1,2, 胡杰1, 王慕抽1, 张笑钦1
1. 温州大学机电工程学院, 温州 325000;
2. 温州市名城建设投资集团有限公司, 温州 325000

摘要

目的 检测烟雾可以预警火灾。视频监控烟雾比传统的单点探测器监控范围更广、反应更灵敏,对环境和安装的要求也更低。但是目前的烟雾检测算法,无论是利用烟雾的色彩、纹理等静态特征和飘动、形状变化或者频域变化等动态特征的传统方法,还是采用卷积神经网络、循环神经网络等深度学习的方法,准确率和敏感性都不高。方法 本文着眼于烟雾的升腾特性,根据烟雾运动轨迹的右倾直线特性、连续流线型特性、低频特性、烟源固定特性和比例特性,采用切片的方式用卷积神经网络(CNN)抽取时间压缩轨迹的动态特征,用循环神经网络(RNN)抽取长程的时间关联关系,采用分块的方式提高空间分辨能力,能准确、迅速地识别烟雾轨迹并发出火灾预警。结果 对比CNN、C3D(3d convolutional networks)、traj+SVM(trajectory by support vector machine)、traj+RNNs(trajectory by recurrent neural network)和本文方法traj+CNN+RNNs(trajectory by convolutional neural networks and recurrent neural network)以验证效果。CNN和C3D先卷积抽取特征,后分类。traj+SVM采用SVM辨识视频时间压缩图像中的烟雾轨迹,traj+RNNs采用RNNs分辨烟雾轨迹,traj+CNN+RNNs结合CNN和RNNs识别轨迹。实验表明,与traj+SVM相比,traj+CNN+RNNs准确率提高了35.2%,真负率提高15.6%。但是深度学习的方法往往计算消耗很大,traj+CNN+RNNs占用内存2.31 GB,网络权重261 MB,前向分析时帧率49帧/s,而traj+SVM帧率为178帧/s。但与CNN、C3D相比,本文方法较轻较快。为了进一步验证方法的有效性,采用一般方法难以识别的数据进一步测试对比这5个方法。实验结果表明,基于轨迹的方法仍然取得较好的效果,traj+CNN+RNNs的准确率、真正率、真负率和帧率还能达到0.853、0.847、0.872和52帧/s,但是CNN、C3D的准确率下降到0.585、0.716。结论 从视频的时间压缩轨迹可以辨认出烟雾的轨迹,即便是早期的弱小烟雾也能准确识别,因此traj+CNN+RNNs辨识轨迹的方法有助于预警早期火灾。本文方法能够在较少的资源耗费下大幅度提高烟雾检测的准确性和敏感性。

关键词

火灾; 烟雾; 时间压缩轨迹; 特征识别; 深度学习; 循环神经网络

Smoke detection by trajectories in condensed images for early fire warning
expand article info Luo Sheng1, Zhang Xiang1,2, Hu Jie1, Wang Muchou1, Zhang Xiaoqing1
1. School of Mechanical & Electrical Engineering, Wenzhou University, Wenzhou 325000, China;
2. Wenzhou Mingcheng Construction Investment Group Co., Ltd., Wenzhou 325000, China
Supported by: Zhejiang Provincial Public Technology Research Project of China (2016C31117, LQ18F030010)

Abstract

Objective Smoke detection by surveillance cameras is reasonable to warn fire. This technology has many advantages compared with other traditional point detectors. Wide areas could be covered, rapid respondence could be available, and installation and maintenance requirements could be less. However, the current smoke detection algorithms are unsatisfying in terms of accuracy and sensitivity due to the varying colors, shapes, and textures of smoke. The traditional studies focus on designing handcrafted features that extract such static features as colors, shapes, and textures and dynamic ones, including shape deforming, drifting, and frequency shifting. This task is time consuming. Although the algorithm exhibits good characteristics, maintaining its robustness for all environments is difficult. The detection effectiveness often sharply descends when these methods are applied in different environments. The fashionable methods, such as convolution neural network (CNN), recurrent neural network (RNN), and other statistical methods, are based on deep learning. However, applying these methods is difficult because the surveillance platforms have limited resources. These networks are also unsatisfying in terms of accuracy and sensitivity. Method The proposed method utilizes trajectories in condensed images, which are summed in horizontal and vertical directions for all video pixels. Smoke trajectories in condensed images are always right-leaning, straightly linear, proportional, and streamline-like with low frequencies and fixed starting points. Accordingly, surveillance videos are summed into condensed images, sliced, and then fed into CNN to extract features to find the long-term relationship by RNN. Partitioning strategy is also adopted to improve sensitivity. Therefore, the method uses not only the trajectory shapes but also the short- and long-range relationships in the time domain to detect the existence of smoke in videos. Result Controlled experiments of CNN, C3D(3d convolutional networks), traj + SVM(support vector machine), traj + RNNs, and traj + CNN + RNNs are conducted. The CNN and C3D methods are typical deep learning networks that initially extract features and then make judgments. The traj + SVM method detects smoke trajectories by traditional SVM algorithm, the traj + RNNs method finds smoke trajectories by RNNs, and the traj + CNN + RNNs method recognizes smoke trajectories by combining CNN and RNNs, which is the proposed method. The accuracy of the traj + CNN + RNNs method is increased by 35.2% compared with that of traj + SVM, and the real negative rate is increased by 15.6%. However, the computing cost of the traj + CNN + RNNs method is relatively high. The frame rate, maximum memory consumption, and network weight are 49 frame/s, 2.31 GB, and 261 MB, respectively. By contrast, the frame rate of traj + SVM is 178 frame/s. The computing cost of deep learning networks is generally high. Nevertheless, the traj + CNN + RNNs method is the lightest and fastest among all deep learning networks. Some confusing data for many traditional methods are collected for the second experiment to further compare these methods. The methods based on trajectories, namely, traj + SVM, traj + RNNs, and traj + CNN + RNNs, remain at a good level, and the indexes of ACC(accaracy), TPR(trure positive rate), and TNR(true negative rate) and the sensitivity are 0.853, 0.847, 0.872, and 52/26(frame/s), respectively. However, the corresponding indexes of CNN and C3D considerably reduced. The accuracies of CNN and C3D are 0.585 and 0.716, respectively. Conclusion The proposed method helps improve the accuracy and sensitivity of smoke detection. The smoke trajectories can be identified from the condensed images, even from those of early smoke, which are helpful for early fire warning.

Key words

fire; smoke; summed trajectory; feature recognition; deep learning; recurrent neural network(RNN)

0 引言

火灾往往给人类社会造成惨重损失。2018年11月8日,美国加利福尼亚州比尤特县天堂镇发生山火,天堂镇烧毁,失踪人数达到249人,死亡人数达到85人,大批居民流离失所。2019月3月30日17时,四川凉山木里发生强烈森林火灾,出动近700人扑火,30名扑火人员壮烈牺牲。2019月4月15日,著名建筑巴黎圣母院发生重大火灾,存世856年的艺术瑰宝毁于一旦。2019月4月17日23时,俄罗斯火灾从额尔古纳河烧入我国境内,沿界河由陈巴尔虎旗蔓延至新巴尔虎左旗境内,引发呼伦贝尔火灾,当地组织1 100人扑灭大火。

火灾预警一直是消防安全领域的重要课题。火灾发生前期通常会产生大量烟雾。如果能够及时地检测到烟雾,就可以提供更早的火灾预警,减少人员伤亡和财产损失。传统的烟雾检测方法通常基于颜色、纹理、形状、运动等特征,取得了一定的成果,但在实际应用中仍然存在问题,往往在某些场合有效,在其他应用场景效果欠佳。这主要在于烟雾的静态特征如颜色、纹理等受天气、光照、时间等影响大,变化范围宽,而动态特征如背景建模或者帧间差分通常基于阈值,阈值对检测结果影响较大。文献[1]对以上情况进行了综述。

近些年来,深度神经网络在人脸识别、图像分类等方面取得了突破性进展。深度神经网络通过组合浅层特征形成更加抽象的高层特征,发现数据深层次的分布式特征,避免人工提取特征的繁复冗杂。2015年Hohberg[2]采用卷积神经网络(CNN)、2016年Frizzi等人[3]采用LeNet、Tao等人[4]采用Alex Net来识别烟雾。Frizzi等人[3]使用滑动窗口对视频帧进行采样,并用卷积神经网络进行火焰和烟检测,提高了算法的复杂度,缩小了烟雾探测的范围,使得网络能够看到局部区域,而不能只看到全局,从而增加了虚假报警的风险。陈俊周等人[5]提出基于级联卷积神经网络烟纹理识别框架,融合静态和动态纹理信息,将原始图像作为静态纹理输入,将原始图像的光流序列作为动态纹理输入。Filonenko等人[6]采用ResNet抽取静态特性识别烟雾,Yin等人[7]采用RNNs(recurrent neural networks)抽取动态特性识别烟雾。Yin等人[8]提出14层的规范化卷积神经网络D-NCNN(deep normalization and convolutional neural network),将传统CNN中的卷积层改进为批规范化卷积层,解决了网络训练过程中梯度弥散和过拟合等问题。Zhang等人[9]采用Faster R-CNN,以滑动窗口的方法分类图像块。但是这些网络往往用来检测有固定形状的目标,并不适用于形态各异的烟雾。Luo等人[10]提出先基于背景动态更新和暗黑通道定位运动目标,然后由CNN提取可疑区域特征,再进行烟雾识别。Dung等人[11]也先抽取运动区域,再使用颜色、增长、尺寸、边缘能量等一系列的级联分类器分辨是不是烟雾,然后在级联分类器最后一级使用CNN。Li等人[12]将烟雾检测看成是从监控视频的3D时空体中分割出目标,采用了与FCN(fully convolutional networks)类似的框架,用3D全卷积网络分割烟雾,同时完成检测。2019年Yuan等人[13]提出了由多尺度、多并行卷积层组成基本块,每个卷积层具有相同数量的滤波器,但具有不同的尺度不变性,每个卷积层之后批处理规范化,然后汇总来自多尺度并行层的所有归一化输出,并激活和作为块的最终输出。

Luo等人[14]将图像向$u$$v$方向投影、累加,认为时间压缩图像中烟雾轨迹在倾向、形状、频率、聚合等方面与非烟目标截然不同。使用传统方法,例如支持向量机(SVM),检测烟雾轨迹比较困难,但是循环神经网络擅长分析这些时序特性。因此,本文在时间压缩图像中烟雾轨迹特性基础上,采用切片的方式抽取时间压缩轨迹的动态特征,采用循环神经网络抽取时间上关联关系,利用分块的方式提高分辨能力,能准确、迅速地检测烟雾并发出火灾预警。实验结果显示,这种方法在烟雾识别的准确率、敏感性,以及误检率上均表现良好。

1 烟雾的时间压缩轨迹

1.1 烟雾轨迹的动力学模型

烟雾的运动可以用Navier-Stokes方程表达。如果把烟雾运动分解为垂直分量和水平分量,在热能驱动下的垂直分量近似于管流,受到阻力和重力的作用,阻力随着速度的减小而减小。根据伯努利方程和玻尔兹曼方程,垂直方向坐标$Y$和时间$t$的关系可以表示为

$ \frac{{{\rm{d}}Y}}{{{\rm{d}}t}} - \frac{{{k_1}\ln Y}}{{{\rho _0}s}} = \frac{{{k_1}}}{{{\rho _0}s}}\ln \left[ {\frac{{2\left( {RT{\rho _0}g - {P_0}M\text{g}} \right)}}{{Rt{\rho _0}v_0^2}}} \right] $ (1)

式中,${k_1}$为阻尼系数,${\rho _0}$为烟雾的出口浓度,$s$表示出口处的横截面积,$R$为普适气体常量,$T$为温度,$P_0$为大气压力,$v_0$为烟雾的出口速度,$M$为摩尔质量,g是重力加速度。因此,从发生到消散,烟雾垂直运动分量近似直线,如图 1(a)所示;速度约为1~5 m/s。

图 1 烟雾运动分量和投影模型
Fig. 1 Motion component and projection model of smoke
((a) moving model of the vertical component; (b) projecting model)

烟雾成像时,经过投影变换,世界坐标下的点$(X, Y, Z)$在图像坐标中成像为$(u, v)$。其中纵向坐标

$ v \cong f \times Y/\left( {Z \times {S_y} \times \cos \alpha } \right) $ (2)

式中,$ \cong $表示约等于,${S_y}$为图像单位距离上的像素数(像素/mm),$\alpha $为相机对垂直方向的倾角。成像模型如图 1(b)。如果设帧频为${f_v}$,则

$ \frac{{{\rm{d}}v}}{{{\rm{d}}{f_v}}} = \frac{{{\rm{d}}v}}{{{\rm{d}}t}} \times \frac{{{\rm{d}}t}}{{{\rm{d}}{f_v}}} \cong f \times {f_v} \times \frac{{{\rm{d}}Y}}{{{\rm{d}}t}}/\left( {Z \times {S_y} \times \cos \alpha } \right) $ (3)

因此,烟在每帧上的垂直方向运动与焦距$f$、距离$Z$、帧频${f_v}$和比例系数${S_y}$有关。距离越近,其轨迹倾角越小。将视频在$u-t$$v-t$坐标上的投影压缩,也即将每帧$u-v$图像向$u$$v$方向累加,然后以时间$t$作为横坐标得到的图像,即

$ \left\{ {\begin{array}{*{20}{l}} {{f_t}(v) = \sum\limits_{u = 0}^{w - 1} {{F_t}} (u,v)}\\ {{f_t}(u) = \sum\limits_{r = 0}^{h - 1} {{F_t}} (u,v)} \end{array}} \right. $ (4)

式中,${F_t} = \left({u, v} \right)$是视频中的第$t$帧,$w$$h$是帧宽和帧高,${f_t}(v)$是视频的$v-t$时间压缩轨迹,${f_t}(u)$是视频的$u-t$时间压缩轨迹。将$v-t$$u-t$拼接,得到视频的时间压缩轨迹${f_t}$

6个典型场景的时间压缩轨迹如图 2图 3(a)所示。图 2(a)是非烟的运动轨迹,图 2(b)是烟的运动轨迹,图 2(c)是摄像头有晃动的有烟场景。图 3(a)表示了时空维中时间压缩轨迹的计算。

图 2 6个典型场景的时间压缩轨迹
Fig. 2 Six typical summed trajectories((a) without smoke; (b) with smoke; (c) with smoke of shot by a swayed camera)
图 3 traj+CNN+RNNs网络框架
Fig. 3 Network of traj+CNN+RNNs ((a)summed trajectories; (b) traj+CNN+RNNs; (c) traj+RNNs)

1.2 烟雾轨迹的特性

烟雾轨迹包含有静态的背景和动态目标。从大量的样本总结出烟雾轨迹具有5个特征。

1) 右倾直线特性。烟雾垂直方向轨迹在$v-t$图像中近似为向右上倾斜、斜率在一定范围的直线,即

$ v \approx kt\;\;\;(k > 0) $ (5)

2) 连续流线型。烟雾的轨迹是流线型的,不会出现急剧的转折,并且飘动方向连续。这是由于烟雾是可变形的柔体所产生的。设烟雾的轨迹的脊线上每点的斜率为$\alpha $$mean(\alpha)$是脊线上所有点斜率的均值,${\alpha _{{\rm{th}}}}$是阈值,那么

$ \max (\alpha / mean (\alpha )) < {\alpha _{{\rm{th}}}} $ (6)

3) 低频特性。烟雾的轨迹具有低频特性,不会出现高频的抖动,并且烟雾的出现会导致$u-t$图像和$v-t$图像中高频减少、低频增加。

4) 烟源固定特性。一定时间内烟源变化不大,即使变化也仅在原地扩张,即轨迹的起点都相同。

5) 比例特征。如果不是被相同色彩的背景所截断,烟雾的纵向轨迹一般比横向轨迹大,而其他在地面上运动的物体则相反。设烟雾轨迹的纵向范围为${V_r}$,横向范围为${U_r}$,经验阈值为${r_{{\rm{th}}}}$,则

$ {U_r}/{V_r} > {r_{{\rm{th}}}} $ (7)

2 基于轨迹辨识的烟雾检测

虽然烟雾的时间压缩轨迹有上述特征,但是采用SVM等手工提取特征的办法并不好辨认这些具有浸润特性的烟雾轨迹。因此本文尝试用深度学习方法来识别时间压缩图像中的烟雾轨迹。

2.1 网络的基本架构

整个网络如图 3所示,输入为连续视频,输出为每帧中存在烟、火的概率。取当前时刻$t$之前长度为$T$的时间压缩轨迹作为时间压缩图像,经过以vgg16(visual geometry group network)[15]为基础的切片卷积子网络抽取特征,再经过以RNNs[16]为基础的时域特征子网络,然后经过全连接的判别子网络,判别场景中是否发生烟、火。具体如下:

1) 切片卷积子网络。以当前时刻$t$的时间压缩图像$v-t$$u-t$按通道连接后馈入RNNs,这种网络架构称为traj+RNNs,如图 3(c)。既然烟雾的时间压缩轨迹在形状上有突出的特点,受语音分帧启发,取长度为$T$、跨度为${T_s}$的时间压缩图像,输入切片卷积子网络抽取轨迹特征,如图 3(b),这种网络架构称为traj+CNN+RNNs。采用vgg16为基础建构切片卷积子网络,抽取的特征经平均池化后输出512维特征,再经过两个全连接层降维到156维、32维,输出到时域循环子网络。

2) 时域循环子网络。循环神经网络允许时间维度上的信息得以保留,即当前输出取决于当前输入和前几个时刻的状态。选择RNNs中参数较少的GRU(gated recurrent unit)实现循环神经网络。GRU引入了3个门保持状态,接受上一时刻的输出结果${h_{t - 1}}$、当前时刻的系统状态${c_{t - 1}}$和当前系统输入${x_t}$,通过输入门${c_t}$、遗忘门${r_t}$和输出门${z_t}$更新系统状态${c_t}$,并将最终的结果${h_t}$进行输出,则

$ \left\{ {\begin{array}{*{20}{l}} {{z_t} = {f_z}\left( {{W_{xz}}{x_t} + {W_{hz}}{h_{t1}} + {b_z}} \right)}\\ {{r_t} = {f_r}\left( {{W_{xr}}{x_t} + {W_{hr}}{h_{t1}} + {b_r}} \right)}\\ {{c_t} = \tanh \left( {{W_{xc}}{x_t} + {W_{hc}}{r_t} \times {h_{t1}} + {b_c}} \right)}\\ {{h_t} = \left( {1 - {z_t}} \right) \times {h_{t1}} + {z_t} \times {c_t}} \end{array}} \right. $ (8)

式中,${W_{xz}}$${W_{xr}}$${W_{xc}}$${W_{hz}}$${W_{hr}}$${W_{hc}}$表示各门的加权参数,$fr$$fz$是遗忘门、输出门的激活函数,${b_z}$${b_r}$${b_c}$表示偏置。GRU通过反向传播学习这些参数。因为RNNs的参数数量众多,为了减少对样本的要求,GRU隐藏层单元只取64个。

3) 判别子网络。火、烟往往是伴生的,而且火比烟容易检测。为了提高烟雾的检测精度,同时检测烟、火,在时域循环网络后添加两个判别网络,分别判断场景中是否有烟、火。每个判别网络由3层全连接层构成,每层全连接层的神经单元数分别为64、24、7,最后输出1维的数值,代表发生烟、火的概率。

2.2 基于分块的轨迹辨识

基于轨迹辨识烟雾的方法,需要先向$u$$v$方向投影累加,当摄像头覆盖场景过大时,这种累加会降低分辨能力。将场景中每帧图像分块,每块当成一幅视频帧处理,而所有块作为批输入网络,提高对场景中烟的分辨能力。

取每块图像为64×64×3,向$u$$v$方向投影累加后$u-t$$v-t$矢量分别为64×3维、64×3维,拼合后成为128×3维的轨迹矢量。取时间$T$为128帧、跨度${T_s}$为32帧的时间压缩轨迹切片输入时域卷积网络,输出32维的轨迹特征。经过单层的GRU后,输出64维时间矢量,进入判别子网络。

2.3 损失函数

场景中存在烟雾的概率为${p_{\rm{s}}}$, 烟雾损失函数为

$ \begin{array}{*{20}{c}} {{J_{\rm{s}}}\left( {W_1^A} \right) = }\\ { - \frac{1}{N}\sum\limits_i {\left[ {{L_{\rm{s}}}\ln \left( {{p_{\rm{s}}}} \right) + \left( {1 - {L_{\rm{s}}}} \right)\ln \left( {1 - {p_{\rm{s}}}} \right)} \right]} + }\\ {{\lambda _{\rm{s}}}{{\left\| {W_1^A} \right\|}_2},i = 0,1, \cdots ,N - 1} \end{array} $ (9)

式中,$N$为训练样本数量,${L_{\rm{s}}}$为烟雾的标签,${\left\| {W_1^A} \right\|_2}$为烟雾检测通路上参数的L2范数,${\lambda _{\rm{s}}}$为烟雾检测通路L2范数的加权系数。

存在火的概率为${p_{\rm{f}}}$, 火的损失函数为

$ \begin{array}{*{20}{c}} {{J_{\rm{f}}}\left( {W_2^A} \right) = }\\ { - \frac{1}{N}\sum\limits_i {\left[ {{L_{\rm{f}}}\log \left( {{p_{\rm{f}}}} \right) + \left( {1 - {L_{\rm{f}}}} \right)\log \left( {1 - {p_{\rm{f}}}} \right)} \right]} + }\\ {{\lambda _{\rm{f}}}{{\left\| {W_2^A} \right\|}_2},i = 0,1, \cdots ,N - 1} \end{array} $ (10)

式中,${L_{\rm{f}}}$为火焰的标签,${\left\| {W_2^A} \right\|_2}$为火焰检测通路上参数的L2范数,${\lambda _{\rm{f}}}$${\left\| {W_2^A} \right\|_2}$的加权系数。

总的损失函数为

$ J\left( {{W^A}} \right) = {\lambda _1}{J_{\rm{s}}}\left( {W_1^{\rm{A}}} \right) + {\lambda _2}{J_{\rm{f}}}\left( {W_2^{\rm{A}}} \right) $ (11)

式中,${\lambda _1}$${\lambda _2}$分别为烟雾、火焰检测通路L2范数的加权系数。

2.4 网络训练

2.4.1 训练数据

网络的训练数据包括3 957个视频,共计约6 157 934帧图像、约62 h时长。为每个视频每帧标记是否有烟、火。数据中有烟2 482 281帧,有火568 263帧,有烟无火视频133帧,无烟有火401帧,无烟无火3 675 252帧。训练前,将每个视频分辨率缩小到64×64像素。

每个训练批次(batch)从视频数据中随机抽取16个样本,以最长视频为基准,尾端对齐,向较短视频的前面填充全0的数据帧。采用随机梯度下降法更新网络参数,学习率均为0.02,训练的最大迭代次数为30次。

将数据集按0.7、0.2、0.1比例随机分配到训练、验证和测试3个数据集。

2.4.2 训练过程

检测精度为每个batch中烟雾的标签${L_{\rm{s}}}$与检测概率${p_{\rm{s}}}$之差,计算公式为

$ {p_{\rm{a}}} = {\rm{average}}\left[ {1 - \left( {{L_{\rm{s}}} - {p_{\rm{s}}}} \right)} \right] $ (12)

全0的数据填充帧不参与精度计算。traj+RNNs、traj+CNN+RNNs两种模型的烟、火在训练过程中训练和校验精度如图 4所示。

图 4 训练结果
Fig. 4 Training result

图 4可以看出,traj+CNN+RNNs检测烟雾最大精度为0.936,traj+RNNs检测烟雾最大精度为0.836。

3 实验

3.1 评价指标

1) 为验证算法对硬件的依赖程度,设置了帧率${r_f}$、最大消耗内存$R$和网络权重存储大小$W$这3个指标。帧率计算公式为

$ {r_f} = {N_s} \times 150/{T_a} $ (13)

式中,${N_s}$是测试时的样本数,${T_a}$是处理完${N_s}$个样本花费的时间。

实验平台为Intel Core i7-6700 CPU 2.60 GHz+NVIDIA Geforce GTX 1060的计算机。

2) 为验证算法的准确性,选择准确率、真正率、真负率为实验指标,具体计算为

$ \begin{array}{*{20}{l}} {ACC = (TP + TN)/{N_s}}\\ {TPR = TP/(TP + FN)}\\ {TNR = TN/(TN + FP)} \end{array} $ (14)

式中,$ACC$为准确率,$TPR$为真正率,$TNR$为真负率,${N_s}$是测试时的总样本数,$TP$为真正样本数,$TN$为真负样本数,$FP$为假正样本数,$FN$为假负样本数。这些指标仅计算烟雾标签,不包括火的标签。

3) 烟雾检测是有时效性的,在早期检测到火灾可以减少损失。为检测算法对烟雾的灵敏度,设置了敏感性指标${f_f}$。敏感性指标为检测到场景中发生烟的概率大于0.5时的帧序数与标签中开始出现烟的帧序数间的差值,即

$ {f_f} = {N_{{p_s} > 0.5}} - {N_l} $ (15)

式中,${p_s}$为发生烟的概率,${N_l}$为标签中开始出现烟的帧序数。

平均敏感性指标为

$ {f_a} = \sum {f_f^i} /{N_s} $ (16)

式中,$f_f^i$是测试第$i$个样本的敏感性指标。

敏感性指标反映算法对弱烟的分辨能力,是火灾预警能力的关键参数。

3.2 测试数据

测试数据没有参加训练过程。测试数据set1包括VSD的10段视频(http://staff.ustc.edu.cn/~yfn/vsd.html)、Bilkent的15段视频(http://signal.ee.bilkent.edu.tr/VisiFire/index.html)和KMU的16段视频(https://cvpr.kmu.ac.kr/),以及实验室拍摄的12段视频,包括33段烟、20段无烟视频,共计53段视频。为了测试算法的敏感性,将测试数据集中的6段弱烟(从无到有、从小到大和远距离的小烟雾)挑选出来,另加5段无烟视频,作为set2。部分实验视频如图 5所示。图 5第1行左侧为室内烟雾,第1行右侧为夜晚车流;第2行左侧为森林烟雾,第2行右侧为雾霾;第3行左侧为室外烟雾,第3行右侧为火焰;第4行左侧为城市烟雾,第4行右侧为旗帜;第5行左侧为开阔环境下的烟雾,第5行右侧为云。左半部分前4行为强烟,第5行为弱烟。

图 5 部分测试视频
Fig. 5 Samples of the testing videos((a) positive samples; (b) negative samples)

3.3 对比算法

为了比较算法的稳健性、敏感性以及漏报、误报情况,全面地评估模型性能,对比了CNN、C3D卷积网络、traj+SVM、traj+RNNs和traj+CNN+RNNs 5种算法。受文献[2]和文献[15]的启发,采用CNN进行迁移训练,在VGG16基础上抽取视频每帧图像的512维形状特征,然后经过3层全连接层判断场景中是否存在烟雾。受Li等人[12]及Tran等人[17]的启发,采用C3D卷积网络直接从视频中抽取场景动态特征,按2维卷积核卷积图像的方式用3维卷积核卷积视频,网络架构如图 6所示。为了与文献[14]对比,采用SVM分析时间压缩图像中是否包含烟雾轨迹(traj+SVM)。受Yin等人[8]的启发,把时间压缩图像经三层全连接后降维成32维特征,直接馈入RNNs,判断场景是否包含烟雾(traj+RNNs);traj+CNN+RNNs则是先切片,再用CNN抽取形状特征,全连接降维后再用RNNs进行判断的方法。这些方法中,CNN和traj+CNN+RNNs中的CNN部分,都采用了VGG16作为基础网络进行迁移训练,C3D卷积网络在Tran等人[17]的基础网络上迁移训练。受样本数量限制,同时也为了在同一基线上进行对比,RNNs都采用了具有64个记忆历史状态隐藏单元的GRU。

图 6 C3D卷积网络框架
Fig. 6 Network of C3D

3.4 数据集set1的测试结果

数据集set1上的测试结果如表 1所示。相对于traj+SVM的传统方法,traj+CNN+RNNs的准确性、敏感性都有大幅度提高,在准确率$ACC$上比traj+SVM提高了35.2%,在真负率$TNR$上提高了15.6%,这表明深度学习的方法在保证正检率的同时减少了误检率。但是基于深度学习的算法复杂度都比较高,traj+CNN+RNNs的帧率${r_f}$、最大消耗内存RAM和网络权重$W$分别为49帧/s、2.31 GB和261 MB,而传统的traj+SVM的帧率为178帧/s。

表 1 数据集set1上的测试结果
Table 1 Testing on data set1

下载CSV
算法 ${r_f}$/(帧/s) RAM/GB $W$/MB $ACC$ $TPR$ $TNR$ ${f_a}$
CNN[2, 15] 23 3.72 397 0.713 0.756 0.731 61
C3D[12, 17] 16 4.54 783 0.872 0.879 0.862 32
traj+SVM[14] 178 - - 0.679 0.694 0.737 54
traj+RNNs[8] 61 1.25 35 0.795 0.725 0.629 26
traj+CNN+RNNs 49 2.31 261 0.921 0.907 0.878 43/19*
注:“*”表示切片的时间跨度${T_s}$取32时${f_a}$为43,${T_s}$取1时${f_a}$为19;加粗字体表示最优结果,“-”表示没有此项数据。

traj+CNN+RNNs的多项性能优于traj+RNNs,$ACC$$TPR$$TNR$分别提高15.9%、25.1%和39.6%,显示出切片后再抽取形状特征对于提高虚警率大有好处。但是traj+CNN+RNNs的敏感性${f_a}$不如traj+RNNs,这是由于切片时跨度${T_s}$设为32。如果将切片的跨度${T_s}$设为1,traj+CNN+RNNs的敏感性则为各种算法中达到最高,仅为19。

除了traj+CNN+RNNs方法外,C3D的效果最为优良。这可能得益于C3D的空域、时域同时处理,能抽取更有鉴别力的特征。但是另一方面,C3D的算法复杂度也是最高的。

基于深度学习的方法中,CNN的效果最差,仅仅比传统的traj+SVM稍好。由于CNN基础网络是主要检测刚体目标的VGG16,并不适应半透明的烟雾;并且CNN的方法没有考虑到时域特征,因此敏感性也比较差。

5种算法的性能对比如图 7所示。

图 7 数据集set1下5种方法的性能对比
Fig. 7 Comparison of the five methods conducted on data set1

3.5 弱烟数据集set2的测试结果

数据集set2上的测试结果如表 2所示。对比表 1,可以看出,CNN、C3D两种方法在$ACC$$TPR$$TNR$及敏感性等指标上都有大幅度降低;而基于时间压缩轨迹的3种方法traj+SVM、traj+RNNs、traj+CNN+RNNs,还保持在较高水平。尤其是traj+CNN+RNNs算法,$ACC$$TPR$$TNR$及敏感性达到0.853、0.847、0.872和52/26。性能对比如图 8所示。

表 2 数据集set2上的测试结果
Table 2 Testing on data set2

下载CSV
算法 $ACC$ $TPR$ $TNR$ ${f_a}$
CNN[2, 15] 0.585 0.546 0.618 77
C3D[12, 17] 0.716 0.707 0.692 59
traj+SVM[14] 0.695 0.714 0.709 62
traj+RNNs[8] 0.749 0.715 0.723 34
traj+CNN+RNNs 0.853 0.847 0.872 52/26*
注:“*”表示切片的时间跨度${T_s}$取32时${f_a}$为52,${T_s}$取1时${f_a}$为26;加粗字体表示最优结果。
图 8 数据集set2下5种方法的性能对比
Fig. 8 Comparison of the five methods conducted on data set2

4 结论

1) 从时间压缩轨迹可以辨认出烟雾的轨迹,即便是早期的弱小烟雾也能准确识别,因此辨识轨迹的方法有助于早期火灾预警;

2) 仅仅把空域特征馈入RNNs也能识别到烟雾,但是对时间压缩轨迹切片能够提升准确度,降低误报率;

3) 降低traj+CNN+RNNs中的时间跨度${T_s}$,会增加切片间的重复计算,但是可以提高算法的敏感性。

参考文献

  • [1] 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. [史劲亭, 袁非牛, 夏雪. 视频烟雾检测研究进展[J]. 中国图象图形学报, 2018, 23(3): 303–322. ] [DOI:10.11834/jig.170439]
  • [2] Hohberg S P. Wildfire smoke detection using convolutional neural networks[D]. Berlin, Germany: Freie Universität Berlin, 2015.
  • [3] Frizzi S, Kaabi R, Bouchouicha M, et al. Convolutional neural network for video fire and smoke detection[C]//Proceedings of the 42nd Annual Conference of the IEEE Industrial Electronics Society. Florence, Italy: IEEE, 2016: 877-882.[DOI: 10.1109/IECON.2016.7793196]
  • [4] Tao C Y, Zhang J, Wang P. Smoke detection based on deep convolutional neural networks[C]//Proceedings of the International Conference on Industrial Informatics-Computing Technology, Intelligent Technology, Industrial Information Integration. Wuhan, China: IEEE, 2016: 150-153.[DOI: 10.1109/ICⅡCⅡ.2016.0045]
  • [5] 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, 46(6): 992–996. [陈俊周, 汪子杰, 陈洪瀚, 等. 基于级联卷积神经网络的视频动态烟雾检测[J]. 电子科技大学学报, 2016, 46(6): 992–996. ] [DOI:10.3969/j.issn.1001-0548.2016.06.020]
  • [6] Filonenko A, Kurnianggoro L, Jo K H. Comparative study of modern convolutional neural networks for smoke detection on image data[C]//Proceedings of the 10th International Conference on Human System Interactions. Ulsan, South Korea: IEEE, 2017: 64-68.[DOI: 10.1109/HSI.2017.8004998]
  • [7] Yin M X, Lang C Y, Li Z, et al. Recurrent convolutional network for video-based smoke detection[J]. Multimedia Tools and Applications, 2019, 78(1): 237–256. [DOI:10.1007/s11042-017-5561-5]
  • [8] Yin Z J, Wan B Y, Yuan F N, et al. A deep normalization and convolutional neural network for image smoke detection[J]. IEEE Access, 2017, 5: 18429–18438. [DOI:10.1109/ACCESS.2017.2747399]
  • [9] Zhang Q X, Lin G H, Zhang Y M, et al. Wildland forest fire smoke detection based on faster r-cnn using synthetic smoke images[J]. Procedia Engineering, 2018, 211: 441–446. [DOI:10.1016/j.proeng.2017.12.034]
  • [10] Luo Y M, Zhao L, Liu P Z, et al. Fire smoke detection algorithm based on motion characteristic and convolutional neural networks[J]. Multimedia Tools and Applications, 2018, 77(12): 15075–15092. [DOI:10.1007/s11042-017-5090-2]
  • [11] Dung N M, Kim D, Ro S. A video smoke detection algorithm based on cascade classification and deep learning[J]. KSⅡ Transactions on Internet and Information Systems, 2018, 12(12): 6018–6033. [DOI:10.3837/tiis.2018.12.022]
  • [12] Li X Q, Chen Z X, Wu Q M J, et al. 3D parallel fully convolutional networks for real-time video wildfire smoke detection[J]. IEEE Transactions on Circuits and Systems for Video Technology, 2018(12): 1–15. [DOI:10.1109/TCSVT.2018.2889193]
  • [13] Yuan F N, Zhang L, Wan B Y, et al. Convolutional neural networks based on multi-scale additive merging layers for visual smoke recognition[J]. Machine Vision and Applications, 2019, 30(2): 345–358. [DOI:10.1007/s00138-018-0990-3]
  • [14] Luo S, Yan C W, Wu K L, et al. Smoke detection based on condensed image[J]. Fire Safety Journal, 2015, 75: 23–35. [DOI:10.1016/j.firesaf.2015.04.002]
  • [15] Simonyan K, Zisserman A. Very deep convolutional networks for large-scale image recognition[EB/OL].[2019-05-21]. https://arxiv.org/pdf/1409.1556.pdf.
  • [16] Hochreiter S, Schmidhuber J. Long short-term memory[J]. Neural Computation, 1997, 9(8): 1735–1780. [DOI:10.1162/neco.1997.9.8.1735]
  • [17] Tran D, Bourdev L, Fergus R, et al. Learning spatiotemporal features with 3d convolutional networks[C]//Proceedings of the 2015 IEEE International Conference on Computer Vision. Santiago, Chile: IEEE, 2015: 4489-4497.[DOI: 10.1109/ICCV.2015.510]