APP下载

基于稠密卷积神经网络的烟雾识别方法

2020-06-07程广涛巩家昌

计算机应用 2020年5期
关键词:烟雾卷积神经网络

程广涛,巩家昌,李 建

(1.国家消防工程技术研究中心研发部,天津300381; 2.中国刑事警察学院声像资料检测技术系,沈阳110854)(∗通信作者电子邮箱gt_cheng@163.com)

0 引言

烟雾检测已经成为早期火灾检测的重要技术。传统的烟雾检测设备中常见的是点型感烟探测器,它因为成本低和安装简便而被广泛应用。点型感烟探测器通过采样和分析火灾产生的烟雾颗粒浓度、气体温度和湿度等特征来触发报警,这样的工作原理使它应用在高大空间场所时很难发挥作用。近年来,随着城市内各种大型建筑的兴起,各种大型建筑和超大型建筑越来越多,急需一种新型的烟雾探测方法来弥补现有点型感烟探测器存在的不足。在安全城市、安全社区、智慧消防等全新理念的提出下,各种视频监控系统已经在国内的大中城市里得到了大规模的普及,促使基于视频图像分析技术的烟雾检测算法被广泛研究[1-2]。

现有的烟雾识别方法首先从烟雾图像中提取烟雾特征,然后将提取的特征经过支持向量机(Support Vector Machine,SVM)等模式识别分类器进行最终识别,其中特征提取是烟雾识别方法取得高准确率的关键所在。Ferrai等[3]利用小波变换构建一个隐马尔可夫树模型用于烟雾识别;Ye等[4]利用自适应背景减除法提取运动和颜色特征去检测图像序列中的烟雾和火焰;Yuan等[5]利用金字塔局部二值化模式(Local Bianry Pattern,LBP)特征和容积局部二值化模式(Volumn Local Bianry Pattern,VLBP)特征的直方图序列进行视频烟雾检测;Yuan等[6]利用高阶局部三元模式进行烟雾识别。然而现有的烟雾识别方法虽然都取得了很高的检测率,但同时也伴有较高的误报率,其原因在于传统的烟雾图像颜色、纹理、形状等特征鲁棒性较差,容易受光照条件、复杂的环境影响而变得异常不稳定,进而忽略图像中烟雾的本质特征。

深度卷积神经网络(Convolutional Neural Network,CNN)的出现很好地解决了特征提取的问题,它能够根据原始的图像数据自动学习鲁棒特征,既能学习边缘和纹理等低层特征,也可以学习高阶的抽象特征,如此丰富的特征表示对图像识别非常重要。目前,卷积神经网络已经被广泛研究和被应用到各个图像分析领域,包括图像分类[7]、目标检测[8-9]、人脸识别[10]等。Yin等[11]首次将卷积神经网络应用到烟雾识别问题中,提出了14层的深度规范和卷积神经网络(Deep Normalization and Convolutional Neural Network,DNCNN)用来实现烟雾图像特征提取和分类;王文朋等[12]针对烟雾数据量较少的问题,提出一种基于深度迁移学习的烟雾识别方法,将ImageNet数据集作为源数据,利用16层的VGG(Visual Geometry Group)模型[13]进行同构数据下的特征迁移;Yuan等[14]提出了深度多尺度卷积神经网络(Deep Multi-scale CNN,DMCNN)进行烟雾识别,DMCNN由一些基本卷积块堆积而成,每个卷积块包含一些并行的卷积核大小不同的卷积层,用于对烟雾图像的多尺度特征提取。

稠密卷积神经网络(Dense Convolutional Neural Network,DenseNet)[15]由一些稠密块堆积而成,在每个稠密块的卷积神经网络中,当前层的输入数据来自前面所有层的数据,因此DenseNet可以缓解梯度消失,增强特征流通和特征重利用,并减少深度模型参数。借鉴DenseNet的优势,本文构造了用于烟雾识别的稠密卷积神经网络(DenseSmoke)。首先根据烟雾图像特征利用卷积运算和特征图融合构建稠密网络块,然后叠加稠密网络块,设计用于烟雾识别的深度稠密卷积神经网络。该网络提取的丰富图像特征可以更好地对烟雾图像进行描述,达到了更高的准确率和更低的误报率,并且模型参数量大约只有0.44 MB,可以更好地节省运算资源。

1 稠密网络块

深度卷积网络中层与层之间的稠密连接可以改善数据的信息流通,本文构造了稠密网络块,其基本构件依次由下面结构组成:批规范化(Batch Normalization,BN),修正线性单元(Rectified Linear Unit,ReLU),卷积核为1× 1、通道数为D的卷积运算,BN,ReLU,卷积核为3×3、通道数为C的卷积运算,如图1所示。每个经过基本构件处理后得到的特征图都与前面所有层的特征图作拼接融合,融合后的特征图作为下一个基本构件的输入,以此类推,共经过M次基本构件操作和M次特征图融合操作。这样稠密网络块的最终特征图信息来自于其前面所有层,促进了信息流通和特征重利用。稠密网络块的结构如图2所示,文中设置M=3,D=48,C=12,I表示稠密网络块输入的特征图通道数目。

图1 稠密网络块基本构件Fig.1 Basic componentsof densenetwork block

图2 稠密网络块结构Fig.2 Structure of dense network block

2 稠密卷积神经网络

整个稠密卷积神经网络DenseSmoke由卷积层、稠密网络块、压缩层、池化层、全局池化层和分类输出层构成,网络的输入是大小为48×48的RGB烟雾图像,如图3所示。

图3 DenseSmoke的网络结构Fig.3 Network structureof DenseSmoke

卷积层 输入的图像数据首先经过一个卷积层,其中卷积核大小为3×3,滑动步长为1,扩充参数为1,以保证卷积后特征图分辨率大小不变,特征图通道数设置为24。

稠密网络块 整个DenseSmoke网络由N个稠密网络块叠加而成,每个稠密网络块都包含3次基本构件操作和3次特征图拼接融合操作。文中设置N=4,这样每个稠密网络块的特征图分辨率依次为48×48、24×24、12×12和6×6,特征融合后的特征图通道数目依次为60、66、69、70。

压缩层 为了缓解特征图通道信息冗余,在每个稠密块后连接压缩层进行特征通道数目压缩,利用1×1卷积操作减少特征图的数目。假定特征块包含m个特征图,压缩层处理后将特征图减少为,其中压缩因子0<θ≤1,文中设置θ=0.5。经过压缩层处理后,稠密网络块的特征图通道数依次为30、33、34,最后一个稠密网络块不进行压缩。

池化层 池化层一般被连接在卷积层后面以减少特征图的分辨率,进而减少模型参数数量以节省运算资源和缓解过拟合问题。常见的池化方法有最大池化和平均池化,它们分别在池化区域内取最大值和平均值。本文选择平均池化方法,池化区域大小为2×2,滑动步长为2,这样池化层将特征图的分辨率降低为原来的1 4。

全局池化层 在最后的特征图和分类层之间设置全局池化层,首先全局池化层可以加强特征图和分类层直接的信息通信,其次全局池化层属于无参操作而避免过拟合问题,最后对于图像数据的空间平移全局池化层具有很强的鲁棒性。对大小为6×6×70的稠密块进行池化区域为6×6的平均池化操作,输出为1×1×70的特征图。

分类输出层 1×1×70的特征图中神经元经过线性变换后再经过Sigmoid函数变换进行图像二分类任务:

其中:x表示分类输出层输入,y表示烟雾和非烟雾标签,W表示神经元之间连接的权重,b表示神经元之间连接的偏置。

3 实验结果与分析

本文使用Pytorch深度学习框架去构建和训练DenseSmoke网络。所有的实验运行在Windows10操作系统,实验主机配置主频为3.40 GHz的i7-3700 CPU处理器,16 GB的RAM和Nvidia GTX 1080Ti GPU显卡。

3.1 网络训练

表1显示了江西财经大学袁非牛教授研究组公开的4个数据集(http://staff.ustc.edu.cn/~yfn/vsd.html),分别为Set1、Set2、Set3和Set4。实验中使用Set3作为训练数据集,Set4作为验证数据集,其他的两个数据集作为测试数据集。

表1 烟雾图像数据集Tab.1 Smokeimagedatasets

对于烟雾识别二分类问题,选择交叉熵损失函数来作为DenseSmoke网络的训练目标函数:

其中:yi表示数据集提供的样本标签,非烟雾图像的标签为0,烟雾图像的标签为1;p(yi)表示样本被预测为yi的概率;N表示训练样本的个数。

本文使用批量随机梯度下降算法(Batch Stochastic Gradient Descent,Batch-SGD)训练深度卷积神经网络的参数变量,批量大小设置为96,动量参数为0.9,训练过程利用权重下降来进行正则化,其中L2惩罚乘子设置为10-5,学习率设置为10-2,整个训练过程循环遍历训练数据集300次,每经过100次时将学习率除以10进行更新,学习率共被除以2次。网络权重初始化采用Kaiming初始化方法。如图4所示,训练过程很快就能够收敛,大约遍历90次训练数据库时,训练准确率已经达到100%,对应的损失函数值也开始趋于稳定。

3.2 实验评估

本文使用检测率(Detection Rate,DR)、误报率(False Alarm Rate,FAR)和准确率(Accuracy Rate,AR)作为烟雾识别方法的量化评价指标,公式如下:

其中:Qp和Qn分别表示烟雾样本和非烟雾样本的数目,Pp表示烟雾样本中被正确检测为烟雾的数目,Np表示非烟雾样本中被错分为烟雾类别的数目,Nn表示非烟雾样本中被正确检测为非烟雾的数目。烟雾识别算法的目标是使得AR指标和DR指标更高,同时使得FAR指标更低。

图4 DenseSmoke训练过程Fig.4 Trainingprocessof DenseSmoke

根据上述实验设置,表2汇总了不同烟雾识别算法训练的模型在测试集Set1和Set2上的实验结果,表中加粗数字表示各个指标下的最优值。从实验结果可以看到,与DNCNN和DMCNN相比较,DenseSmoke在Set1测试集上达到更高的DR和AR,在Set2测试集上达到更高的DR,AR值稍微低于DMCNN,但DenseSmoke的模型大小只有0.44 MB,还不到DMCNN模型大小的一半。除此之外,DenseSmoke的FAR值在Set1和Set2测试集上都略高于DNCNN和DMCNN,后面应用数据增强技术(DenseSmoke_A)进一步降低DenseSmoke的FAR值。

表2 烟雾识别算法实验结果Tab.2 Experimental results of smoke recognition algorithms

3.3 消融实验

为了更好地解释DenseSmoke网络构建的合理性,本文进行如下的消融实验。

1)为了验证卷积神经网络中层与层之间稠密连接的必要性,本文移除稠密网络块中的特征图融合操作,这时稠密网络块如图5所示,其基本构件依次由下列组件构成:BN,ReLU,卷积核为3×3、通道数为D的卷积运算。其他设置和DenseSmoke相同,在每个稠密网络块后面仍然附有压缩层和池化层,将如上描述的网络标记为DenseSmke_0。

如表3所示,去掉稠密连接的DenseSmoke_0的模型参数由0.45 MB增加到1.08 MB,而DR和AR指标都发生较大的下降,同时FAR指标更高,在Set1测试集上DR指标甚至下降了3.45个百分点,在Set2测试集上FAR指标甚至升高了1.46个百分点。实验结果说明了稠密连接在烟雾识别任务中的必要性。

图5 DenseSmoke_0的稠密网络块Fig.5 Dense network blocks of DenseSmoke_0

表3 DenseSmoke消融实验结果Tab.3 Ablation experimental resultsof DenseSmoke

2)DenseSmoke网络中稠密网络块有M次基本构件操作和M次特征图拼接融合操作,然后整个网络由N个稠密块叠加而成,文中设置M=3,N=4。为了验证这样设置可以得到最好的性能,本文分别对M和N的取值减少和增加,详细设置如表4所示。

如表4所示,与DenseSmoke相比,减小M或N的值,模型大小有所减少,DenseSmoke_1和DensSmoke_3的模型大小分别只有0.28 MB和0.33 MB,但在测试集Set1和Set2上的检测率DR都发生了较大幅度的下降,说明降低模型复杂程度导致训练模型对图像特征的表达能力不足,进而使得训练模型的识别性能下降。增大M或N的值,DenseSmoke_2和DenseSmoke_4的模型分别增加到0.63 MB和0.55 MB,但是模型大小的增加并没有导致训练模型的识别性能提升。这个结果的一个可能解释是:深度卷积神经网络达到令人满意的性能需要大量的训练数据做支撑,而烟雾图像数据量较小,利用深度卷积神经网络训练容易导致过拟合问题,训练的模型泛化能力较差,因此随着模型参数的增加其识别能力反而下降。通过以上实验和分析,文中提出的DenseSmoke网络当设置M=3、N=4时可以达到最好的性能。

表4 消融实验中参数M和N的设置Tab.4 Settingsof parameter M and N in ablation experiment

3.4 数据增强

深度卷积神经网络达到优异的性能需要大量的图像数据集作为保证。烟雾图像识别任务中存在的一个问题是烟雾图像训练数据的不充分,作为训练集的Set3只包含10 712张图片,这样训练的深度卷积神经网络模型泛化能力差,即训练的模型只对少量的训练数据产生过好的效果,而对验证集和测试集效果较差。数据增强技术可以有效地缓解上述问题,它基于现有的少量训练数据集通过几何变换等操作达到扩充训练图像数据集的目的。本文采用水平翻转、垂直翻转和中心旋转3种数据增强技术,其中中心旋转对原有图像分别按照90°、180°和270°进行旋转。SetA表示在Set3基础上增强原有训练集中烟雾样本和非烟雾样本。增强的训练数据集详情如表5所示。

表5 数据增强处理后的训练数据集Tab.5 Trainingdatasetsafter dataaugmentation

图6展示了通过数据增强技术产生的图像示例。

图6 数据增强处理产生的图像示例Fig.6 Image examples generated by data augmentation

表2中的DenseSmoke_A表示提出的DenseSmoke网络在增强后的数据集SetA上进行训练的实验结果。从实验数据中可以看到,通过数据增强技术对训练数据集进行扩充,DR和AR指标略有升高,同时FAR指标具有较大幅度的下降,在Set1数据集上FAR从0.96%降低到0.36%,在Set2数据集上FAR从0.49%降低到0.24%。DenseSmoke_A方法在两个测试集上分类错误的图像示例如图7所示。稀薄的烟雾图像和纹理不清楚的烟雾图像容易被错认为非烟雾,而树叶图像和模糊图像容易被识别为烟雾,成为误报的主要来源。

图7 DenseSmoke_A错误分类示例Fig.7 Misclassification examples of DenseSmoke_A

4 结语

特征提取是烟雾图像识别的核心问题所在,而传统的特征提取技术容易受光照条件、复杂环境等因素干扰而具有较弱的鲁棒性。本文利用稠密卷积神经网络根据原始烟雾图像自动提取特征,由于卷积层之间的稠密连接,促进了深度网络结构中从低层特征到高层特征之间的信息流通,加强了特征重利用。针对烟雾图像数据量较少问题,采取数据增强技术提高训练模型的识别能力。实验结果说明了提出的方法利用更少的模型参数达到更高的准确率和更低的误报率。

猜你喜欢

烟雾卷积神经网络
基于全卷积神经网络的猪背膘厚快速准确测定
基于神经网络的船舶电力系统故障诊断方法
MIV-PSO-BP神经网络用户热负荷预测
基于改进Hopfield神经网络的对地攻击型无人机自主能力评价
一种基于卷积神经网络的地磁基准图构建方法
基于3D-Winograd的快速卷积算法设计及FPGA实现
一种并行不对称空洞卷积模块①
薄如蝉翼轻若烟雾
影视剧“烟雾缭绕”就该取消评优
基于神经网络的中小学生情感分析