改进卷积神经网络在图像烟雾检测的应用
2019-07-01魏伟航马乾力高治良赵锦成
魏伟航 马乾力 高治良 赵锦成
摘 要:目前基于卷积神经网络的烟雾检测主要通过若干个有序的卷积层的学习识别烟雾。为了提高烟雾检测的精确度,提出了一种改进的卷积神经网络框架。该框架增加了批量归一化层和轻量级的卷积结构,并提取网络中不同卷积层的特征图进行联合训练。改进卷积神经网络的网络结构更小,训练参数更少。在仿真实验中,对训练数据进行了图像扩增,结果证明了改进的卷积神经网络能够有效提高烟雾识别的准确率和识别速度。
关键词: 烟雾检测;卷积神经网络;图像扩增
文章编号: 2095-2163(2019)03-0040-05 中图分类号: TP391 文献标志码: A
0 引 言
烟雾检测作为防治火灾的一种重要且有效的方法,一直是国内外火情预警研究的重要方向。传统的烟雾检测方案主要采用温度感应传感器、湿度感应传感器和烟感应式传感器等[1],这些传感器价廉物美,准确度高,但是感应范围较小、且容易损坏,难以大面积铺设,不适用于一些空间较大的高火灾隐患场所。随着图像、视频等数据大规模普及和深度学习的兴起,基于图像识别的烟雾检测技术成为了更加方便,科学的火灾探测手段。
卷积神经网络是一种深度神经网络模型,主要应用于图像识别,仅就过去的不到10年期间,即在目标识别、物体定位等领域中取得了巨大的成就。现有的基于图像识别的烟雾检测方法主要采用局部模式特征、灰度共生矩阵或者各类统计量(如标准差、均值、倾斜度等)特征对烟雾进行建模[2],而使用卷积神经网络进行烟雾检测的算法却不多。陈俊周等人[3]在卷积神经网络中综合了视频的静态纹理信息和动态纹理信息,将原始图像及其光流序列分別作为静态纹理和动态纹理的输入,有效地降低了误检率。李诚等人[4]使用了GoogLeNet[5]的卷积神经网络结构进行火焰和烟雾检测。Yin 等人[6] 提出了基于深度归一化化卷积神经网络的图像烟雾检测算法,该网络在每个卷积层后增加了批量归一化层[7],有效抑制了训练中产生的梯度消失和过拟合等问题,加速了网络的收敛速度,对文中提出的数据集的准确率接近98%。
当前烟雾识别卷积网络模型层数较深,模型训练参数较多,网络模型冗余。因此,本文采用了深度可分离卷积结构[8-9],减少网络参数,并提取不同网络层的特征进行融合训练,抑制由于网络泛化导致的有效烟雾特征弥散现象,再针对正负样本不平衡的问题,对训练数据进行了数据扩增,在减小网络模型的同时,得到更高的分类精度和识别度。
1 改进的卷积神经网络
1.1 深度可分离卷积结构
卷积神经网络一般由卷积层、非线性激活函数层、池化层和全连接层组成,其中卷积层主要为网络提供权重参数,在迭代训练的过程中,网络在某种确定的损失函数和随机梯度下降算法的指导下不断更新卷积层提供的权重参数,使权重更趋向于正确的分类界面。常规的卷积运算如图1所示,在计算时使用卷积核的权重参数遍历每个输入通道得到特征图,再叠加每个输入通道对应的特征图后获得一个完整的特征图。
这一过程涉及的参数和计算量非常大,因此,2017年谷歌提出了一种轻量级的卷积神经网络:MobileNet[9],可将常规卷积结构转换为深度可分离卷积结构,这种新的卷积结构在准确率基本不变的情况下,计算速度提高了9倍,参数数量降为原来的七分之一。深度可分离卷积结构可以分为两层卷积层,分别为深度卷积层和逐点卷积层。如图2所示,深度卷积对每个输入通道进行独立的空间卷积,去除了叠加特征图的步骤;逐点卷积运算与常规的卷积运算相同,只将卷积核的尺寸固定为1×1。深度可分离卷积将空间特征和通道特征的学习进行分离的做法,减少了权重参数数量,降低了网络的计算量。
1.2 批量归一化层
在卷积神经网络中,卷积运算后特征图的数据分布会发生极大的变化,这种不可控的改变增加了网络训练学习的难度。批量归一化有效地解决了这个问题并能够抑制训练过拟合现象,输入的特征图在卷积计算后进行批量归一化,使其数据分布趋向于一个均值为0,方差为1的高斯分布,在这一过程中信息不丢失,并且批量归一化的运用使训练的难度大大减低,减少了训练过程中调整学习率的操作。
区别于常规的归一化操作,批量归一化也加入网络的训练,数学公式如下所示:
1.3 改进的卷积神经网络结构
本文提出的卷积神经网络分为主体部分和旁支部分,网络整体结构如图3所示。
主体部分由6个深度可分离卷积层和一个全连接层组成,每个深度可分离卷积层后进行批量归一化和非线性函数激活。批量归一化对输入数据进行正则化,加速网络收敛和抑制过拟合,第一、二个卷积层后使用了双曲正切激活函数,防止网络的底层卷积泛化时烟雾信息损失过多,在之后的4个卷积层采用ReLU激活函数,第二、四卷积层后使用最大值池化,最后一个卷积层后通过全局均值池化[10]将每个特征图融合为一个特征点,全局均值池化层实际等同对整个特征图正则化,有利于防止过拟合,能大幅度减少全连接层的神经元数量,但会降低收敛速度。
旁支部分中,前面的卷积层的输出不仅为下一个卷积层提供输入数据,并且通过均值池化作为更深的卷积层输入特征图的一部分,均值池化对特征图进行不失真的下采样,保证不同尺寸的特征图在拼接层进行特征图合并。在改进的卷积神经网络模型中,采用了3个拼接层对不同卷积层输出的特征图进行合并。这一部分网络的设计主要来源于深度残差卷积神经网络[11],深度残差卷积神经网络利用短连接来抑制梯度消失,以此增加网络层数,在多分类任务中具有显著的效果。在2015年的ILSVRC挑战中,引入短连接的网络结构得到了较先进的性能,其性能类似于InceptionV3网络[5]。本文给出了明确的实验数据,证明使用短连接的训练显著加速了网络的训练。对于烟雾检测这一类二分类任务,采用了类似于短连接的方式能够得到不同泛化程度的烟雾特征,这些组合起来的特征能够防止烟雾信息丢失,有利于网络的优化和训练。
2 数据扩增与实验结果
2.1 获取扩增数据集
进行实验使用的初始数据来自于文献[6]中提供的烟雾检测数据集,这个图像数据集中一共有24 217幅图像,包括5 695幅烟雾图像及18 522幅非烟雾图像。本文采用了该数据集的图像训练了一个初始改进卷积神经网络模型,使用python网络爬虫从YouTube网站和优酷网站上下载了500多个含有烟雾的相关视频,利用初始模型结合光流帧移法从有烟视频中获取烟雾图像,再通过人工检查剔除错误检测得到的烟雾图像,共获取16 234张烟雾图像,并从imagenet数据集中随机挑选了25 000张不同场景的非烟雾图像,因此本文实验所采用的数据集包含了21 929张烟雾图像和43 522张非烟雾图像,图像示例如图4所示。
2.2 实验设置
本文中实验所使用的计算机配置为Intel(R) Xeon(R) CPU E5-2630 v4 @ 2.20 GH和Nvidia GTX 1080 GPU,内存为32 GB。计算机的操作系统为Ubuntu 16.04.4 LTS,使用的深度学习框架为Tensorflow 1.7和Keras。
将2.1节所获取的图像随机分为3个数据集,分别为训练数据集,测试数据集和验证数据集。具体划分情况见表1。网络的所有参数以均值为零,标准差为0.01的高斯分布生成的随机数进行初始化,网络优化算法采用了AdaDelta梯度下降算法[12],对比起原始的梯度下降算法,该算法能够动态地调整学习率,并且不用设置初始化学习率这一超参。每次训练输入的图像数量为64,输入图像尺寸为64×64×3,批量归一化时设置衰减度和epsilon为0.05和0.01。停止训练的标准为通过对验证数据集的检验判定网络是否训练完成,网络的性能评判通过对测试数据集进行校验比较,判别标准为准确率和误检率。其中,准确率为烟雾图像和非烟雾图像准确判断的数量与测试数据集图像总数量的比值,误检率为非烟雾图像被错误判断的数量与非烟雾图像总数量的比值,准确率越高,误检率越低,网络的性能越好。
2.3 实验结果与分析
本文选择了InceptionV3 [5]、MobileNet[9]、ResNet[11]和DNCNN[6]四种网络模型进行对比试验, Inception-v3,MobileNet和ResNet都采用了开源的超参设置,4种模型的预计训练的参数量分别为13 835万、2 563万、425万和2 434万,而改进的卷积神经网络所需训练的参数量仅有52万。为了便于比较,对于不同的網络结构,统一了输入图像的尺寸。初始和扩增数据集在改进的卷积神经网络上的检测结果比较见表2。表2的实验结果证明了扩增的数据集对比初始数据集具有显著的提升,因此在表3的所有对比算法都使用了数据扩增后的数据集。
几种卷积神经网络的实验结果见表3。proposed1的网络模型为图3所述结构,proposed2在proposed1的基础上去除了旁支部分。proposed1的准确率超过99%,误检率也仅有0.22%,检测性能低于ResNet,与MobileNet的性能相当,现实生活中无烟雾的场景较为常见,因此要求网络的误检率比较低,尽管在准确率上低于MobileNet,但具有更强的鲁棒性。当旁支部分被移除时,网络的准确率和误检率都有所下降,证明了旁支部分对网络的性能提升有积极的作用。对比一幅图像在GPU上测试的运行时间,改进的卷积神经网络的计算成本要远低于其他对比网络模型。
proposed1和proposed2两个模型在训练时的收敛情况如图5所示。由图5可知,proposed1收敛速度较快,在大约15个训练周期后,训练准确率就达到99%,而且后续的训练也非常稳定。proposed2需要训练到30个周期后才逐步收敛。由表2和图5可得,增加了旁支部分的网络对烟雾识别的准确率更高,训练时收敛更快。
3 结束语
本文通过数据扩增与设计卷积神经网络很好地提高了烟雾检测的准确率,在基于原有数据的基础上,通过网络爬虫、烟雾检测和人工筛选的方式对数据库进行了图像扩增,增强了图像质量;对卷积神经网络进行改进,深度可分离卷积层的使用大大减少了网络的参数量,加快了单帧处理速度,改进卷积神经网络增加的旁支部分能够加快网络收敛。通过仿真验证实验,本文提出的网络模型提高了对于烟雾图像的检测精度,同时具有较强的鲁棒性,是一种可靠、且高精度的图像烟雾检测算法。
参考文献
[1]YUAN Feiniu. Rotation and scale invariant local binary pattern based on high order directional derivatives for texture classification[J]. Digital Signal Processing, 2014, 26:142-152.
[2] 史劲亭, 袁非牛, 夏雪. 视频烟雾检测研究进展[J]. 中国图象图形学报, 2018,23(3):0303-0322.
[3] 陈俊周, 汪子杰, 陈洪翰, 等. 基于级联卷积神经网络的视频动态烟雾检测[J]. 电子科技大学学报, 2016, 45(6):992-996.
[4] 李诚,唐李洋, 潘李伟. 城镇森林交界域视频检测算法[J]. 计算机工程, 2018,44(1) :258-262.
[5] SZEGEDY C, LIU Wei, JIA Yangqing, et al. Going deeper with convolutions[C]// 2015 IEEE CVPR. Boston:IEEE Computer Society, 2015:1-12.