APP下载

基于膨胀卷积和稠密连接的烟雾识别方法

2020-04-20程广涛巩家昌赵洪伟

计算机工程 2020年4期
关键词:集上烟雾卷积

程广涛,巩家昌,赵洪伟

(1.国家消防工程技术研究中心 研发部,天津 300381; 2.中国刑事警察学院 声像资料检验技术系,沈阳 110854;3.应急管理部天津消防研究所 研发部,天津 300381)

0 概述

在社会生产和日常生活中,火灾作为重要隐患一直威胁着人们的生命和财产安全。随着科技水平的迅猛发展,如何防火和有效救援成为消防救援管理部门和社会单位必须加以重视的研究课题。烟雾作为火灾发生的早期信号,其检测成为火灾早期预警的主要技术手段。视频图像传感器的日益普及和计算机视觉技术的不断进步,使得基于视频图像的烟雾检测算法得到迅速发展[1]。

对于烟雾图像识别的研究主要集中在烟雾图像特征的准确描述。局部二值化模型(Local Binary Pattern,LBP)常被用于描述烟雾图像的纹理特征[2],其通过建模中心像素和周围像素的局部变化规律来刻画烟雾特征。文献[3]为提取烟雾图像每个通道的LBP特征,提出基于多通道LBP特征编码的烟雾识别方法(MCLBP)。为进一步描述烟雾图像运动的时域信息,文献[4]提出LBP特征的扩展VLBP方法。文献[5]通过一种基于Gabor滤波的层级结构,实现多尺度、多方向的多层纹理特征表达,以提高烟雾识别的综合效果。文献[6]结合聚合Gabor核和局部二值模式(LAGBP)增强烟雾识别性能。为了描述烟雾图像的模糊特征,文献[7]使用小波能量高频信号变化刻画烟雾飘散规律,文献[8]结合烟雾的模糊特征和运动特征,应用小波变换和稀疏光流进行烟雾识别。上述方法提取的烟雾图像特征鲁棒性较差,会随着应用环境的变化而发生改变。

近年来,深度卷积神经网络(Convolutional Neural Network,CNN)在计算机视觉任务中取得了优异的结果,其原因在于CNN只需根据原始图像数据就能自动学习到丰富的图像特征,包括低阶的边缘、纹理等特征和高阶的抽象特征。文献[9]利用AlexNet网络[10]直接将烟雾图像原始数据作为分类器的输入进行端到端训练,避免复杂的预处理过程。文献[11]对经典深度卷积神经网络在烟雾识别任务上的性能进行对比分析,发现具有Inception结构的深度网络性能更优。文献[12]利用14层的深度规范和卷积神经网络(Deep Normalization and Convolutional Neural Network,DNCNN)进行烟雾图像特征提取和分类,其检测率较高而误报率较低。文献[13]在传统的卷积神经网络中引入批量归一化层和轻量级卷积结构,同时提取网络中不同卷积层的特征图进行联合训练。文献[14]借助Inception设计框架提出深度多尺度卷积神经网络(Deep Multi-scale Convolutional Neural Network,DMCNN),其采取不同大小的卷积核进行并行卷积操作和拼接,利用更小的深度学习模型达到了更好的识别效果。深度卷积神经网络中的小卷积核设计限制了卷积核的感受野,不利于烟雾图像的全局特征提取。尽管池化层可以扩大卷积核的感受野,但烟雾图像分辨率较小,池化层的应用会造成相对较大的信息损失。

由于图像中的烟雾属于非刚体目标,其随着燃烧材料、应用环境的变化,会呈现多种特征模式,因此考虑烟雾图像的全局特征有助于改善烟雾识别的性能。本文提出一种基于膨胀卷积和稠密连接的烟雾识别方法DDCNN。利用膨胀卷积扩大卷积核的感受野,使卷积核可以监控更广泛的烟雾区域。在卷积层之间进行稠密连接,以增强信息流通和特征重利用,促使烟雾图像的全局特征和局部特征有效结合。在此基础上构造深度卷积神经网络,并在训练样本和标签的凸组合上进行训练,以增强模型的泛化能力。

1 膨胀卷积结构

膨胀卷积最初应用于小波分解问题[15]。为了解决图像分割任务中池化层导致的图像空域信息损失问题,文献[16]利用膨胀卷积代替池化操作以扩大卷积核的感受野,提升图像分割任务的准确率。

(1)

其中,f[i]是输入信号,g[i]是输出信号,h[l]表示长度为L的滤波,r表示用于对f[i]采样的膨胀因子。当r=1时,式(1)表示普通卷积。

在处理2维图像数据时,通过在卷积核间插入“洞”来实现膨胀卷积,即在卷积核相邻数值之间插入r-1个零值。对于大小为k×k的卷积滤波,膨胀后的卷积滤波大小为kd×kd,其中,kd=k+(k-1)·(r-1)。通过改变膨胀因子,膨胀卷积可以利用相同大小的卷积核去感知更广泛的图像区域。膨胀卷积示例如图1所示。

图1 卷积核大小为3×3的膨胀卷积示意图

在深度卷积神经网络结构设计中,很多研究者采取VGG网络[17]中的3×3小卷积结构,通过堆叠3个3×3卷积核来代替7×7卷积核,堆叠2个3×3卷积核来代替5×5卷积核,在保证具有相同感受野的条件下,采用多层非线性层增加网络深度以确保学习到更复杂的特征模式,进而提升深度卷积神经网络的效果。同时,通过堆叠小卷积核替换大卷积核也可以减少深度模型的参数量。

在烟雾识别任务中,图像中的烟雾属于非刚体,随着燃烧物、光照条件、应用场景的变化而呈现众多形态,导致烟雾图像的局部特征通常呈现较弱的鲁棒性。因此,在深度卷积过程中增大卷积核的感受野,有助于获得烟雾图像的全局特征,进而增强烟雾识别的性能。简单地堆叠3个普通3×3卷积核可以达到7×7的感受野,为了扩大卷积核的感受野,本文依次堆叠r=1、r=2和r=5的膨胀卷积替换普通卷积,如图2所示,使膨胀卷积的感受野扩大到19×19,对图像中更加广泛的区域进行感知。

图2 稠密膨胀卷积结构块

2 稠密连接

稠密卷积网络(Dense Convolutional Network,DenseNet)[18]的提出增强了信息和梯度在深度卷积神经网络中的传输效率。DenseNet利用卷积层间的稠密连接促进特征重利用,同时通过学习更少的参数来缓解特征冗余问题。鉴于DenseNet的特点,本文对膨胀卷积结构设计稠密连接机制,如图2(b)所示。可以看出,当前层的输入来自之前所有层,可有效地增强特征流通,促进图像中烟雾数据局部特征和全局特征的有效融合,进而提升烟雾识别性能。

具体地,xi表示第i层特征图,第K卷积层的输入来自所有前面的特征图xK=HK([x0,x1,…,xK-1]),其中,[x0,x1,…,xK-1]表示特征图的拼接融合,H(·)表示卷积操作。本文稠密膨胀结构的详细信息如表1所示,输入的特征图尺寸为m×m×c,输出的特征图尺寸为m×m×(c+3d)。其中,d表示特征图生长因子,本文d值取为12。

表1 稠密膨胀卷积结构详细信息

3 稠密膨胀卷积神经网络

本文通过堆叠稠密膨胀网络结构得到用于烟雾识别的深层卷积神经网络DDCNN,如图3所示。输入的烟雾图像分辨率为48像素×48像素×3像素,首先经过一个普通的3×3×24卷积运算。依次利用3个稠密膨胀卷积结构提取烟雾图像特征,为了保证膨胀卷积处理时前后特征图的分辨率不变,在卷积运算时对特征图上下左右扩充s个元素,s的取值与膨胀率r保持一致。为了减少模型参数,在相邻2个稠密膨胀结构之间设计压缩层,实现特征图分辨率和通道数目同时压缩。压缩层采取卷积核为1×1、滑动步长为2的卷积运算,使得特征图通道数压缩为原来的1/2,特征图分辨率压缩为原来的1/4。然后对特征图进行全局池化操作,全局池化层由于无参操作可缓解过拟合问题,对于图像的平移也具有更强的鲁棒性,因此全局池化层更适用于图像数据不充分的烟雾识别任务。最后利用Sigmoid函数对烟雾图像进行二分类判断,输出各类别的置信度。在整个深度神经网络中,在每个卷积运算后附加BN规范化和ReLu非线性激活函数。

图3 稠密膨胀卷积神经网络示意图

4 训练数据混合增强

为保证深度卷积神经网络的性能,需要庞大的图像数据集作为支撑。烟雾图像识别任务中的问题之一是烟雾图像训练数据不充分,导致训练的网络模型泛化能力差,即模型只记忆少量的训练数据而产生过好的训练效果,当测试数据分布与训练数据略有不同时,测试效果较差。目前,多数研究者采取数据增强技术改善模型的泛化能力,但这个过程依赖于数据集,并且数据增强假定领域内样本都属于同一类,没有对不同类的不同样本之间的领域关系进行建模。文献[19]为了增强训练样本之间的线性表达,使离散的训练数据分布空间近似连续,提出MixUp数据增强方法以提升当前神经网络的泛化能力。MixUp在成对样本及其标签的凸组合上训练神经网络,其构建的虚拟训练样本如下:

2)截割头运动视觉测试。截割头运动情况下的视觉性能测试是检验可视化辅助截割系统可靠性的重要部分。同样地,每100 ms采集1张图片,首先保持截割头垂直方向不动,然后操作掘进机截割头匀速从最右摆动到最左边。回转角测试结果如图11a 所示。

(2)

其中,(xi,yi)和(xj,yj)是从训练数据中随机抽取的两个样本,λ服从于Beta(α,α)分布,α∈(0,∞)。本文实验设置α=1,此时λ服从于均值为0.5的均匀分布。图4给出混合增强后的数据示例。

图4 MixUp数据处理示例

5 实验验证

本文使用Pytorch深度学习框架构建和训练DDCNN网络。实验在Windows10操作系统环境下进行,PC机配置主频为3.40 GHz的i7-3700 CPU处理器,16 GB的RAM和Nvidia GTX 1080Ti GPU显卡。每次迭代大约需要11 s以训练DDCNN。

5.1 模型训练

本文实验所用的数据集由袁非牛教授课题组提供(http://staff.ustc.edu.cn/~yfn/vsd.html),具体信息如表2所示。整个数据集包含24 217张图像,其中,烟雾图像5 695张,非烟雾图像18 522张,分为4个子数据集,分别为Set1、Set2、Set3和Set4。数据集中包含黑烟和白烟两种类型,每种类型都包含浓烟、淡烟等模式。许多非烟雾图像具有与烟雾图像非常相似的颜色、形状和纹理特征,这是发生误报警的主要原因。因此,烟雾识别任务中的数据难以收集,致使性能优异的深度卷积神经网络模型容易产生过拟合现象。另外,烟雾数据的多样性及其与其他目标的相似性,使得测试数据分布和训练数据分布易出现偏差,导致训练模型的测试效果较差。Set3数据集和Set4数据集包含较多的图像样本,实验中选择Set3作为训练数据,Set4作为验证数据。规模相对较小的Set1和Set2数据集用作测试数据。

表2 烟雾图像数据集

本文使用批量梯度下降算法(Batch-SGD)训练深度卷积神经网络的参数变量,批量大小设置为32,动量参数为0.9。初始学习率设置为10-2,对数据集共迭代200次,每经过60次将学习率除以10。网络权重初始化采用Kaiming初始化方法[20]。如图5所示,DDCNN大约经过75次迭代时,验证集上的损失函数值降低到0.000 6,准确率达到99.53%,并逐渐趋于稳定。

图5 DDCNN算法的验证准确率与损失值

5.2 模型验证

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

(3)

(4)

(5)

其中,Qp和Qn分别表示烟雾样本和非烟雾样本的数目,Pp表示烟雾样本中被正确检测为烟雾的数目,Np表示非烟雾样本中被错分为烟雾类别的数目,Nn表示非烟雾样本中被正确检测为非烟雾的数目。

根据上述实验设置,将本文DDCNN烟雾识别网络与经典的卷积神经网络AlexNet和VGG16以及其他2种基于卷积神经网络的烟雾识别方法DNCNN[13]和DMCNN[15]进行比较。对于AlexNet和VGG16网络,分别将输入图像的分辨率调整为227像素×227像素和224像素×224像素。对于基于卷积神经网络的烟雾识别方法DNCNN、DMCNN和DDCNN,输入图像的分辨率调整为48像素×48像素。表3给出不同烟雾识别算法在测试集Set1和Set2上的实验结果,表中加粗数字表示各个量化指标下的最优值。可以看出,DDCNN方法在两个测试集上的DR指标都达到最优。AlexNet网络的FAR指标最优,但是DDCNN方法的DR指标和AR指标高于AlexNet。DDCNN在Set2测试集上的AR值略低于DMCNN,但DDCNN的模型大小只有0.34 MB,大约是DMCNN模型大小的1/3。当烟雾图像识别应用于视频图像火灾早期报警相关系统时,从实际应用角度考虑,需将误报率控制在可接受的范围内,取得更高检测率DR的算法意味着对火灾的漏检率更低,具有更高的应用价值。

表3 5种方法的烟雾识别结果对比

5.3 消融实验

为了阐述DDCNN网络中膨胀卷积和稠密连接在烟雾识别任务中的必要性,设计如下2个消融实验:

1)膨胀卷积的作用验证

膨胀卷积在DDCNN中的作用是扩大卷积核的感受野,进而增强卷积核对烟雾图像全局特征的提取。为了说明烟雾图像全局特征的重要性,在DDCNN结构中,简单地堆叠3个普通3×3卷积替换图2(b)所示的膨胀卷积结构,保持卷积层之间的稠密连接不变,将构成的深度卷积神经网络标记为DDCNN_Dil。从表4的实验结果看出,使用普通卷积,在Set1和Set2测试集上的检测率DR指标具有较大幅度的下降,在Set1上DR由96.38%降低到93.48%,在Set2上DR由96.07%降低到92.44%。因此,通过增加卷积核的感受野可提取烟雾图像的全局特征,有利于改善烟雾图像的识别性能。

2)稠密连接的作用验证

稠密连接的作用是增强特征图间额信息流通和特征重利用,使得烟雾图像的局部特征和全局特征有效结合。为了验证稠密连接有助于提升烟雾识别性能,在DDCNN结构中,去掉特征图间的稠密连接,利用图2(a)所示的膨胀卷积结构替代图2(b)所示的稠密膨胀卷积结构,由此堆叠而成的深度卷积神经网络标记为DDCNN_Den。从表4的实验结果可以看出,删除稠密连接后,烟雾识别性能下降。在Set1和Set2测试集上,DR指标分别下降了0.73%和0.88%,AR指标分别下降了0.29%和0.40%。因此,通过稠密连接实现特征重利用有助于增强数据信息流通,进而提升模型对烟雾图像的识别能力。

表4 3种方法的消融实验结果对比

5.4 数据增强

烟雾图像识别任务中的问题之一是图像数据的不充分和多变性,深度卷积神经网络容易过分记住训练集中出现的数据,测试数据分布一旦与训练数据稍有不同,就会导致训练模型的识别能力降低。

在图像识别任务中,通常使用数据增强技术处理上述问题。数据增强一般通过对训练样本进行翻转、旋转、平移等几何变换达到扩充训练数据集的目的,进而改善深度训练模型的泛化能力。本文对训练数据集Set3中的所有图像数据进行水平翻转和垂直翻转增强,DDCNN在增强后数据集上的性能如表5中的DDCNN_Fli行所示。实验结果表明,扩大训练烟雾图像规模后,在各个量化指标上都略有提升。数据增强技术对每一个图像单独进行处理,并没有针对不同图像之间的关系进行建模,对于离散分布的训练数据而言并没有达到连续分布的近似。MixUp与常见的数据增强技术不同,直接根据训练图像对建立样本和标签的凸组合训练深度神经网络,导致训练模型的泛化能力更强。如表5中的DDCNN_Mix行所示,对训练数据进行MixUp处理之后,在Set1和Set2测试集上,DR指标分别提高了0.86%和1.06%。与上述的水平翻转和垂直翻转数据增强结果相比,除了FAR指标略差之外,其他DR和AR指标都有提升。

表5 3种方法的数据增强实验结果对比

5.5 与传统方法比较

为了展示利用深度卷积神经网络进行烟雾识别的优势,将DDCNN方法与传统基于纹理特征的烟雾识别方法MCLBP[3]和LAGBP[6]进行比较,结果如表6所示。与MCLBP方法相比较,DDCNN方法在Set1和Set2测试集上的DR、AR和FAR指标都更有优势。LAGBP方法在2个测试集上的FAR性能都达到最优,但DR指标低于DDCNN方法。如上所述,在FAR达到可接受的范围内,DR指标更高的烟雾识别方法更能满足消防报警需求,具有更好的应用价值。

表6 本文方法与2种传统方法的实验结果对比

6 结束语

为充分考虑烟雾图像的全局特征,本文提出一种基于膨胀卷积和稠密连接的烟雾识别方法。通过堆叠不同膨胀因子的膨胀卷积,扩大卷积核的感受野,获得全局的烟雾图像区域特征。在膨胀卷积层之间进行稠密连接,实现特征重利用和信息流通,增强烟雾图像局部特征和全局特征的有效结合。基于膨胀卷积结构和稠密连接机制,构造深度卷积神经网络,并利用MixUp方法促使离散分布的训练数据近似连续分布,完成深度网络在成对样本和标签的凸组合上的训练。在公开数据集上的实验结果表明,该方法训练的模型大小仅0.34 MB,其在Set1和Set2测试集上的检测率最高可达97.24%和98.01%,验证了DDCNN方法的有效性。后续将研究几何变换、生成对抗网络等数据增强方式,以提高烟雾识别的准确率。

猜你喜欢

集上烟雾卷积
基于3D-Winograd的快速卷积算法设计及FPGA实现
薄如蝉翼轻若烟雾
Cookie-Cutter集上的Gibbs测度
卷积神经网络的分析与设计
链完备偏序集上广义向量均衡问题解映射的保序性
影视剧“烟雾缭绕”就该取消评优
从滤波器理解卷积
R语言在统计学教学中的运用
基于傅里叶域卷积表示的目标跟踪算法
咸阳锁紧烟雾与尘土