基于合成图像的Faster R-CNN森林火灾烟雾检测

2019-06-21 09:51周平平王公堂李天平
关键词:烟雾像素背景

张 倩 周平平 王公堂 李天平

( 1) 山东师范大学物理与电子科学学院,250358,济南; 2)盐城生物工程高等职业技术学校,224051,江苏盐城 )

1 引 言

森林火灾对自然环境和公共安全构成严重威胁.森林火灾的早期探测对于有效的扑救是非常重要的,因为森林火灾一旦达到一定的规模就可能难以控制.与卫星监测相比,建立在地面上的视频火灾探测系统可以更快地探测森林火灾.

根据探测对象的不同,基于视频的火灾探测方法可分为火焰探测和烟雾探测两大类.由于森林火灾产生的烟雾在火灾前是可见的,因此视频烟雾检测在森林防火工程中越来越受到重视.传统的视频烟雾检测方法主要是将静态特征和动态特征相结合进行烟雾识别.烟雾的典型特征包括颜色、纹理、运动方向等等.Genoves[1]等人研究了YUV空间中的烟雾颜色特性.Yuan[2]提出了一种利用LBP和LBPV方差提取烟雾纹理特征的方法.Toreyin[3]利用空间小波变换对烟雾的半透明进行了监测.Yu[4]利用光流计算来计算烟雾的运动特征.Jia[5]提出了一种基于显著性的视频序列烟雾检测方法.不同的方法可以在特定的图像数据集中获得良好的性能.然而,由于算法的鲁棒性较差,在不同的图像数据集中性能往往较差,这些方法很难消除实际工程应用中的复杂干扰.

近年来,人工智能技术和计算机视觉技术迅速发展.基于卷积神经网络(CNN)的深度学习在图像分类、目标检测、人脸识别、语义分割等计算机视觉领域取得了成功的应用.与传统的计算机视觉方法相比,深度学习算法避免了人工的复杂度,可以从大量的图像数据集中学习复杂的表示.因此,我们有理由相信CNN也可以促进视频烟雾检测的发展.最近,研究人员尝试使用CNN来检测森林火灾.Frizzi[6]提出了一个9层卷积神经网络,用于识别视频中的火灾或烟雾.Hohberg[7]训练卷积神经网络来识别野外火灾烟雾.Fu[8]提出了一种由完整图像CNN和局部修补NN分类器组成的森林火灾检测模型,这两个分类器共享相同的深度卷积神经网络.然而,这些框架的重点是在图像分类上,需要首先滑动窗口或区域建议生成候选块.Faster R-CNN是一个非常成功的通用对象检测框架.我们可以利用它同时识别和定位视频序列中的烟雾.与此同时,以前使用的数据集仍然相对较小,并且种类较为单调.用于训练的烟雾图像一般是通过网络和实验获得的,对于CNN模型的训练其规模和多样性是有限的.由于缺乏数据,Labati[9]等人提出通过生成插入到无烟图像序列中的烟云来创建烟雾图像序列.

本文采用两种方法合成了大量的森林烟雾图像,目的是验证人工烟雾图像训练CNN的有效性.第一种方法是从绿色背景中提取真实烟雾,并将其插入森林背景.第二种方法是使用烟雾模拟软件合成烟雾,并像前面一样插入森林背景.

2 烟雾图像

2.1真实图像+森林背景为了在森林背景图像中插入烟雾,需要从烟雾图像中提取整个图像区域中烟雾的纹理.但是根据烟雾的运动特点或亮度阈值提取的烟雾区域并不准确,这是由于烟雾形状和环境光照度是在不断变化的,这些阈值很难确定.

为了准确提取烟雾,我们选取以室内的绿色幕布为背景的烟雾视频,如图1所示.首先,从图像中提取运动像素和区域.它是通过使用Collins等人[10]开发的背景估计方法来确定的.在该方法中,从视频的图像帧In和背景图像Bn中递归地估计出时间瞬间(n+1)的背景图像Bn+1,如式(1)所示:

(1)

其中,In(x,y)表示第n个视频帧中的像素In,a是介于0和1之间的参数.移动像素是通过从背景图像中减去当前图像来确定的.

(2)

T是根据背景场景设置的阈值.

森林灌木燃烧产生的烟几乎接近灰色.根据Chen[11]的研究,使用基于颜色的规则进一步检查移动像素X(x,y).他认为烟雾通常呈现灰色的条件是R±a=G±a=B±a以及HIS颜色模型中Iint(强度)的范围是K1≤Iint≤K2.K1和K2是用于确定烟雾像素的阈值.该规则意味着烟雾像素的三个分量R、G和B相等.利用绿色背景,可以有效地提取烟雾区域.在无烟区域,G分量高于R、B分量.在烟雾区,随着烟雾浓度的增加,G分量逐渐接近R分量和B分量.从10个绿色背景的烟雾视频中选取2 800个烟雾帧.烟雾识别的判定函数是像素点(i,j)的判定函数.

m=max{R(i,j),G(i,j),B(i,j)},

(3)

n=min{R(i,j),G(i,j),B(i,j)},

(4)

(5)

如果像素X(x,y)同时满足条件m-n

图1 烟雾提取示例图

在森林背景图像中插入烟雾,实际上增加了像素的亮度,这与烟雾浓度和背景亮度有关.例如,在明亮的天空中烟雾并不明显.将烟雾插入森林背景图像中,为了保证烟雾图像的多样性,采用2 460个烟雾帧提取烟雾.烟雾在形态上自由变化,将变化的烟雾随地插入到10 000张森林背景图像中.每个合成的森林烟雾图像只包含一缕烟雾,在插入过程中自动给出烟雾的位置.图2显示了用真实烟雾生成的森林烟雾图像的.可以看出,烟雾是真实的,并且用红色方框将其定位出来.

图2 真实烟雾生成的森林烟雾图像

2.2模拟图像+森林背景我们建立一个途径用来合成带有绿色背景的烟雾图像,如图3所示.烟雾模拟软件是Blender.烟从粒子系统发射到一个区域,由该区域内的气流控制烟的运动.为了增加多样性,随机设定初始流量、气流、照明度和视角.模拟实验获得了860张合成烟雾照片.使用2.1中的方法,将合成烟雾插入到10 000张森林背景图像中.如图4所示,为合成烟雾生成的森林烟雾图像的实例,可以看出,由于边界更加清晰,纹理更加平滑,森林烟雾图像中的合成烟雾与真实烟雾相比是不真实的.但是由于合成烟雾图像的背景更加清晰,红色方框所示的烟雾位置更加准确.

图3 烟雾模拟图示

图4 虚拟烟雾生成的森林烟雾图像

2.3测试图像为了比较两种方法的有效性,我们将使用真实的烟雾视频进行测试.图5为测试图像示例.

图5 测试图像示例

3 Faster R-CNN

Faster R-CNN[12]可以简单地看作是由区域建议网络和具有卷积神经网络特征的快速区域组成的系统.Faster R-CNN是一个端对端的完整网络,它将输入的烟雾图像直接送到卷积神经网络中计算得到森林烟雾图像的特征图,最后一层特征图像会送到区域推荐网络进行候选区域的推荐,将推荐得出的候选区域框和其对应的特征区域经过Fast R-CNN算法中提出的感兴趣池化层合并为固定维度大小的特征矢量,最后将此特征矢量送入分类器和边框回归量计算器中同时进行分类判断和边框回归修正.如图6所示,Faster R-CNN算法的流程框架图.

Faster R-CNN网络的训练过程为:第一步,训练RPN网络,RPN网络实际上是一个全卷积网络,其初始化模型使用的是ImageNet已经训练好的模型,然后端对端进行训练.第二步,单独训练Fast R-CNN网络模块,该模块同样使用ImageNet预先训练好的模型进行初始化.第三步,使用训练后的Fast R-CNN网络对RPN进行初始化,在训练RPN网络时保持共享的卷积层不变,仅对RPN独有的网络层进行微调.最后,训练Fast R-CNN网络,训练时也要使共享卷积层保持不变,仅对Fast R-CNN网络独有的网络层进行微调.至此,Faster R-CNN网络结构的训练得以完成.

图6 Faster R-CNN算法的流程框架图

本文的森林烟雾图像检测方法对Faster R-CNN网络的训练采用的是caffe框架.在训练网络时采用反向传播算法[13]和随机梯度下降算法[14]对网络参数进行微调.选择提取特征的卷积神经网络是ZF网络[15].使用最小批随机梯度下降算法进行训练.设置最小批的大小为100张图片一组,初始化学习率为0.001,学习率每2 000次迭代乘一次0.1.

图7为Faster R-CNN森林烟雾检测流程图.当我们使用Faster R-CNN来检测真实场景中的烟雾时,从真实森林火灾场景中获得的真实森林烟雾图像可以增加训练数据的丰富性.我们在真实烟雾+森林背景数据集(RF数据集)和模拟烟雾+森林背景数据集(SF数据集)上训练Faster R-CNN森林烟雾检测模型.经过训练后,我们在第2.3节中提到的测试图像对经过训练的森林烟雾检测模型进行了检测,结果表明Faster R-CNN模型可以有效地检测出森林背景下的烟雾区域.

图7 使用Faster R-CNN进行森林烟雾探测的流程图

4 实验结果和分析

4.1FasterR-CNN与FastR-CNN本文的实验硬件环境:Intel(R) core(TM)i5-6500 CPU @ 3.20GHz,8G安装内存;软件环境:64位操作系统,MatlabR2014a,Caffe深度学习框架和CPU驱动等.

将相同的100张合成森林烟雾图像放入Fast R-CNN模型中运行,设置的条件与参数均与Faster R-CNN一致.实验结果显示:Fast R-CNN检测时间为200 s,Faster R-CNN的检测时间为20 s.从而得出,Faster R-CNN的检测时间比Fast R-CNN快了十倍.因此使用Faster R-CNN检测森林中的烟雾的优点如下:第一,不需要手动提取特性.第二,原始图像作为整个网络的输入,无需进行预处理或块分割,因此处理速度比Fast R-CNN更快,Faster R-CNN检测率也比fast R-CNN高,性能更加优异.

4.2真实模型与合成模型分别对RF数据集训练的森林烟雾探测模型(真实模型)和SF数据集训练的森林烟雾探测模型(合成模型)进行了交叉测试.结果如表1所示.两种模型在各自的训练数据集上都有很高的检测率.通过对真实分类结果中的非烟雾图像的检查,我们发现几乎所有烟雾都隐藏在白色背景中,如图8(a)和(b)所示.无论是在RF数据集还是SF数据集中,可以发现大约30个图像的外观没有烟雾,因为烟雾是随机插入的.排除了这一因素的干扰,本文重点研究了假非的数目,即图像存在烟雾,但隐藏在白色背景中没有检测出来,这是真正对烟雾检测的误判.

虽然SF数据集中的图像在视觉上并不真实,但由于真实合成这一分类有541个假非,因此合成模型的检测性能优于真实模型.由于真实烟雾图像背景比较复杂,插入算法中提供的烟雾位置有时不准确.因此,实际模型的一些标识框太大,如图7所示,合成模型与真实模型检测性对比图,(a)和(b)为白色背景中隐藏的烟雾,(c)为RF据集中框出的烟雾,(d)为真实模型识别后框出的烟雾.

表1 RF数据集和SF数据集的交叉测试结果

图8 合成模型与真实模型检测性对比图

真实模型和合成模型对森林背景中烟雾的检测率对比如表2所示,测试结果示例如图9所示.由于测试视频中的每个帧都包含烟雾,表2中测试结果中的非烟雾图像都为误判.结果表明,合成森林烟雾图像训练模型在实际应用中是有效的.合成模型的检测性能再次优于真实模型.视频2的检测率较低,这意味着由于训练数据缺乏相似的样本,该模型对薄烟不敏感.利用帧统计算法可以解决这一问题,进一步丰富训练数据集.

图9 检测结果示例

模型测试集采样烟雾非检测率(%)真实视频 1168166298.81合成视频 11681680100.00真实视频 223812311551.68合成视频 223813410456.30真实视频 3129953473.64合成视频 3129127298.44真实视频 473730100.00合成视频 473730100.00

5 结 语

本文采用Faster R-CNN检测森林中的烟雾,FASTER R-CNN的优异性主要是设计了提取候选区域的网络RPN,代替了费时的选择性搜索,使得检测速度大幅提高.由于用于深度模型训练的森林火灾烟雾图像的规模和多样性是有限的,因此我们将真实烟雾和模拟烟雾两种烟雾类型分别插入森林背景,生成了合成森林烟雾图像.实际对森林烟雾图像测试得到的结果证明了该方法的可行性.它不仅解决了数据缺乏的问题,而且消除了样本标注的工作.对于这两种烟雾生成方法,虽然第二种方法将模拟烟雾插入森林背景合成的图像在视觉上不真实,但性能较好.原因是第二种方法提供的烟雾位置比第一种方法更准确,可以通过改进森林烟雾图像的合成过程或考虑将此解决方案扩展到视频序列来进一步提高性能.

猜你喜欢
烟雾像素背景
像素前线之“幻影”2000
“新四化”背景下汽车NVH的发展趋势
薄如蝉翼轻若烟雾
《论持久战》的写作背景
黑洞背景知识
影视剧“烟雾缭绕”就该取消评优
“像素”仙人掌
咸阳锁紧烟雾与尘土
ÉVOLUTIONDIGAE Style de vie tactile
高像素不是全部