基于多分辨率卷积神经网络的火焰检测

2019-10-29 05:06:02黄文锋徐珊珊
郑州大学学报(工学版) 2019年5期
关键词:火焰分辨率卷积

黄文锋, 徐珊珊, 孙 燚, 周 兵

(1.河南省科学技术信息研究院,河南 郑州 450003; 2.郑州大学 信息工程学院,河南 郑州 450001)

0 引言

由于火灾的不确定性和高危性,给人们的生命健康和财产安全带来了极大的潜在威胁,提前预防、及时检测和预警各类火灾事故变得越来越重要.由于传统火灾探测器的局限性及监控设备的普及和图像视频处理技术的快速发展,基于图像或视频的火焰检测技术得到了迅猛发展.该类技术将图像视频信号输入处理单元,利用图像处理、机器学习、模式识别等相关算法来判断有无火灾发生[1].

早期的火焰检测研究一般是基于火焰的各类属性特征,包括颜色、形状和动态特征[2-7].近些年,随着机器学习技术的快速发展,尤其是深度学习技术的涌现,一些研究者开始尝试使用深度神经网络研究传统特征难以刻画的特性[8],并取得了不错的进展.自从AlexNet[9]取得进展以来,人们一直致力于利用各种深度学习技术进行图像识别,例如卷积神经网络[9]、VGG网络和Inception网络[10]等.2012年,Krizhevsky等提出基于深度学习理论的深度神经网络(DCNN)图像分类算法,使图像分类的准确率大大提升,同时也带动了目标检测准确率的提升.2015年,Google网络的V1,V2,V3和V4系列相继问世,这一系列的Inception网络无论是训练速度还是准确率都使目标检测和分类任务有了极大的提高.但是,由于目标检测任务场景的复杂性,使得这些网络在训练过程中遇到了挑战.因此,多尺度或者多分辨率框架的想法被越来越多的研究者用到目标检测任务中.VGGNet[11]首次采用多尺度裁剪进行网络训练,然后被ResNet[12]和Inception V3[13]沿用.多尺度表示也被广泛应用于各项目标检测任务中,例如细粒度识别[14]、场景识别[15]等.然而,这类方法目前存在数据不充分、精度不高和场景适应性差等缺点.

针对上述问题,笔者使用深度卷积网络——Inception Networks对火焰目标进行检测.为实现对各类不同场景的有效覆盖,笔者采用多分辨率卷积网络作为基础框架,在充分获取火焰多层次特征的基础上,使用类激活映射方法对火焰目标进行准确定位.笔者在包含各种场景的数据集上进行了实验,均取得了很好的效果.同时,笔者也实现了一种基于BP神经网络的火焰识别算法,对比结果表明,笔者所提出的基于多分辨率卷积神经网络算法取得了更好的检测结果.

1 基于多分辨率卷积神经网络的火焰检测

笔者提出了一种基于多分辨率卷积神经网络的火焰检测算法,如图1所示.笔者在本节先描述复杂场景下火焰检测使用的基本网络架构,然后阐述具体的多分辨率卷积神经网络架构.

图1 多分辨率卷积神经网络框架Fig.1 The framework of multi-resolution convolutional neural network

1.1 基础卷积神经网络架构

随着深度学习技术的快速发展,目前卷积神经网络已在图像分类和目标检测上取得了巨大的成功,有代表性的典型网络包括AlexNet、VGGNet和ResNet等[12].综合考虑神经网络的识别性能和计算代价后,笔者选择使用BN_Inception作为基础框架实现所提出的火焰检测方法.

BN_Inception架构中inception模块融合不同尺度特征[17],采用不同大小的卷积核(比如1、3、5)对感受野提取特征,设定卷积步长stride=1,只需分别设定padding=0、1、2,就可以得到相同维度的特征直接拼接在一起,使之更适合复杂场景识别任务.Inception模块还采用1×1卷积核进行降维,参数数量大大减少.将稀疏矩阵聚类为密集的子矩阵,既保持了网络结构的稀疏性,又能利用密集矩阵的高计算性能[16].

在BN_Inception架构中,批量归一化BN层可以加速网络收敛,提高网络性能.在卷积神经网络的训练过程中,BN层保证每次迭代时,网络每层的输入数据都满足正态分布,它通过学到的重构参数γ、β对数据缩放平移,恢复出原始的每层学到的特征.BN层使激活输入值落在对Sigmoid敏感的区域,避免梯度消失问题,参数调整率变大,收敛加快.

1.2 多分辨率卷积神经网络架构

对于复杂场景下的火焰检测,考虑到场景特征的多尺度特性,笔者提出多分辨率的卷积神经网络架构,同时关注场景的背景环境、局部目标、整体布局等特征[17].

多分辨率的卷积神经网络由粗分辨率和细分辨率卷积神经网络两部分构成.两种不同分辨率的卷积神经网络使用不同分辨率的训练数据作为输入,使用基础架构BN_Inception训练网络模型,然后进行复杂场景下的火焰检测.

1.2.1 粗分辨率卷积神经网络

粗分辨率的卷积神经网络处理图像大小是224×224,共13层.它以粗略的视角观察图像关注场景的整体布局信息,容易遗漏局部细节,而一些小目标往往是场景分类的重要线索.一个强大的场景分类神经网络需要学习场景多层次的视觉概念,因此笔者还要令神经网络更精细地学习场景的视觉信息.

1.2.2 细分辨率卷积神经网络

细分辨率的卷积神经网络处理图像大小是336×336,鉴于输入图像更大,综合考虑模型的速度和容量后,相比于粗分辨率的卷积神经网络,笔者新增加了3个卷积层.在细分辨率下,卷积神经网络可以更精细地学习场景,能精准地捕捉到场景中有意义的局部细节信息.

由于输入图像的分辨率不同,卷积神经网络在每层对原始图像都有大小不同的感受野,这种设计使得网络能够学习复杂场景的多尺度信息.两个不同分辨率的卷积神经网络彼此互补,对分类的概率取算术平均值作为场景的最终判断结果.

1.3 多分辨率的神经网络训练

1.3.1 数据处理

笔者通过现场拍照或是互联网共收集了1 173张各种复杂场景下的火焰图片.将收集的火焰图片按2∶1∶1的比例,分为训练数据集、验证数据集和测试数据集[18].模型训练使用caffe深度学习框架,将图片处理为分辨率为224×224,336×336的lmd6格式数据供训练使用.

1.3.2 训练网络

笔者对两种不同分辨率的卷积神经网络进行并行独立训练,并使用随机批量梯度下降算法优化神经网络权重.为了实现数据增广,笔者将N×N的输入图像按[N,0.875N,0.75N,0.625N,0.5N]的比例随机裁剪后输入神经网络.训练阶段,在计算好总的数据量后,设定总迭代次数为20万次,用训练2 000次就测试1次的策略,将学习率初始化为0.001,每训练5万次学习率衰减10倍.测试精度与迭代次数曲线如图2所示,其中,横轴表示迭代次数,纵轴表示测试精度.找出最优模型作为复杂场景下火焰检测的预测模型,取精度最高的模型用于复杂场景下的火焰检测.

图2 测试精度曲线图Fig.2 Test accuracy graph

1.4 类激活映射方法

卷积神经网络通过多个卷积层提取图像的特征,从低层的位置信息逐渐到学习高层的语义信息,高层特征做加权操作后送给输出层(softmax层),得出最终分类的预测结果[18].笔者根据卷积神经网络的这种连接结构使用类激活映射方法推导出卷积层到输出层的特征图权重,证明图像判别力强的局部区域对于最终分类结果具有重要意义.

在网络结构中,笔者使用全局平均池化层替换全连接层,保持了卷积对于场景激活区域的定位能力.对任意输入图像,使用训练好的模型检测完成后,提取输出层权重作为神经元最终做决定的依据.把这些权重作为最后一个卷积层特征图的权重,计算出特征图的加权和,高亮显示出火焰场景中最具判别力的区域,图3为图1中火焰图像的灰度图,图中高亮区域(黄色部分)代表响应度最高的地方,即火焰目标,绿色区域表示响应度次之,蓝色区域响应度最低.将灰度图处理后与原图叠加生成热力图,图4为火焰图像的热力图,图中的高亮部分(红色区域)代表响应最高的火焰目标,绿色区域响应度次之,蓝色区域响应度最低.在热力图上使用阈值分割技术生成包围框定位出火焰在场景中的位置.在实现了火焰场景判别的情况下,笔者利用类激活映射方法,在只有图像标签的弱监督数据集上定位火焰在场景中的位置.

图3 火焰图像灰度图Fig.3 Grayscale map of fire image

图4 火焰图像热力图Fig.4 Heatmap of fire image

1.5 自学习的目标检测

笔者利用类激活映射方法,进一步在海量的场景数据上自动生成包围框,作为火焰检测的训练数据,指导神经网络完成目标检测任务.不仅省去了昂贵的人工标注成本,而且使火焰检测的定位精度也得到进一步提升.

2 实验对比

2.1 基于BP神经网络的火焰检测

BP神经网络是反向传输的一种神经网络,作为对比试验,笔者实现了使用BP神经网络对火焰进行检测.以火焰的圆形度、尖角数和面积变化率作为BP神经网络的输入信号,对火焰信息进行全方面的描述[19-20].经过训练的BP神经网络输出该图片含有火焰目标的概率值.

2.2 基于多分辨率卷积神经网络的火焰检测

基于BP神经网络的火焰检测算法基于多特征融合思想[21]利用火焰目标提取一些物理特征(颜色、圆形度、尖角数和面积变化率)经过量化后作为神经网络的输入,BP神经网络的输出层将输出该图像是火焰图像的概率,并将满足火焰特征的像素在图像中对火焰目标进行定位.笔者提出的火焰检测算法采用多分辨率卷积网络作为基础框架,在充分获取火焰多层次特征的基础上,使用类激活映射方法对火焰目标进行准确定位.这两种算法在笔者构造的涵盖各种复杂场景的火焰数据集上进行测试,并从检测正确率、定位覆盖率和处理速度等方面进行分析对比,结果如表1所示.

表1 两种算法检测结果对比Tab.1 Comparison of detection results of two algorithms

表1中的正确率是指在涵盖各种复杂场景的1 173张火焰图像数据集上实验,能够正确识别火焰在整个数据集中所占的百分比.笔者定义目标的定位框与真值的IOU[4]值大于50%的图像在整个数据集所占的百分比.定位覆盖率是能够正确识别火焰目标并且准确定位出火焰目标范围在整个数据集中所占的百分比.

由表1可知,由于BP神经网络的训练数据过多地依赖于传统的火焰图像特征,因此,会发生错检和漏检的情况.而笔者所提方法将火焰检测的正确率提高了28.3%,其中所采用的弱监督定位方法,可以极大地提高对火焰目标的定位和框选覆盖准确率.另外,笔者提出的网络框架采用批量归一化的处理方法,极大地提高了对图像的处理速度,部分结果如图5所示.

图5 对比试验的部分实验结果展示Fig.5 Demonstration of some experimental results of comparative experiments

其中,图(a)为基于BP神经网络的火焰检测算法对“晚霞”的检测结果,结果显示将晚霞误识别为火焰,但是笔者所提出的算法不会发生类似的错检情况(如图(b)).图(c)为基于BP神经网络火焰检测算法对含有火焰目标的图像发生了漏检的情况,笔者所提出的基于多分辨率的火焰检测算法检测结果如图(d)所示:检测出火焰目标,并用红色包围框对火焰目标进行定位,“fire”代表检测结果为火焰,检出概率为“0.99”;笔者使用类激活映射的方法可以在很大的程度上提高火焰目标的定位覆盖率,如图(e)、图(f)所示,图(e)为基于BP神经网络的火焰检测算法检测结果,该算法存在对火焰目标定位覆盖率不完全的问题.图(f)为笔者所提出算法的检测结果,可正确检测出“fire”目标,概率为0.74,与图(e)相比,定位覆盖率更为完整.

3 结论

笔者通过使用基于多分辨率卷积神经网络的火焰检测算法,实现了在复杂场景下的火焰检测,并在实际场景中得到了有效的应用.在复杂场景中,相比于传统的BP神经网络,笔者提出的算法互补学习了火焰的多尺度视觉特征,同时关注场景的背景环境、局部目标、整体布局等特征.实验结果表明笔者提出的算法在检测精度和检测速率上都得到了显著的提升,对于场景分类和未来的场景理解都具有重要实际意义.

猜你喜欢
火焰分辨率卷积
《火焰》
最亮的火焰
基于3D-Winograd的快速卷积算法设计及FPGA实现
EM算法的参数分辨率
从滤波器理解卷积
电子制作(2019年11期)2019-07-04 00:34:38
漂在水上的火焰
原生VS最大那些混淆视听的“分辨率”概念
基于傅里叶域卷积表示的目标跟踪算法
基于深度特征学习的图像超分辨率重建
自动化学报(2017年5期)2017-05-14 06:20:52
一种改进的基于边缘加强超分辨率算法