APP下载

基于图像生成和特征融合的复杂背景林火识别

2022-05-14莉,符祥,段

计算机仿真 2022年4期
关键词:反例卷积样本

徐 莉,符 祥,段 宾

(南昌航空大学软件学院,江西 南昌 330063)

1 引言

森林作为陆地上极为重要的生态系统,不仅提供了丰富多彩的产品,而且营造出了优美的环境,维持着地球上的生态平衡,发挥着强大的经济和生态效益,构成了人类生存与发展的基本性支撑。森林中最常见的危害是森林火灾,森林火灾不仅会对林业环境造成巨大危害[1],而且还对人类的生命财产造成巨大威胁。因此,对森林火灾的监测和预警十分重要。

早期的森林火灾识别,技术主要采用感光传感器、感烟传感器、感温传感器等来识别森林火灾。张军国等人[2]构建了一种基于ZigBee无线传感器网络的森林火灾实时监测系统,该系统的传感器节点采集监测林区的温度、湿度等数据,通过采用簇-树形式的网络拓扑结构将采集到数据发送给监控中心的计算机,然后进行分析处理。李光辉等人[3]提出了一种基于无线传感器网络的森林火灾监测预警系统框架及其实现方案。但是,该类方法因为传感器制造成本、灵敏度、应用场合限制等多方面的原因,有很多的局限性,如传感器适用于室内等较封闭的环境,不适用于开阔区域,必须要靠近火源,否则难以得到具体数据;在检测火灾的过程中,不能提供可视的现场信息;红外线及其它的高精度传感器,成本较高,且灵敏度太高反而引起过多的错误检测。

随着高清摄像机、数字图像处理技术的不断发展,基于图像型的森林火灾识别方法已经得到快速发展,这类方法依据火焰的颜色、纹理、形状等特征,对火灾进行识别。Premal C E等人[4]提出了一种基于YCbCr颜色模型的森林火灾识别方法,定义了四个规则来分类火灾像素。两个规则用于分割火焰区域,另两个规则分割高温火焰中心区域。这种方法显示出更高的正确率和更低的虚警率。Kumarguru Poobalan等人[5]设计了一种将颜色和边缘检测相结合去进行分割候选火灾区域的方法,利用RGB颜色模型来检测火的颜色,利用sobel边缘检测来检测火势的增长,最后将这两者结合起来分割火灾候选区域,将其应用于森林火灾识别取得了不错的效果。Rui Chen等人[6]采用Lab 、YCbCr颜色空间和kmeans聚类算法来进行森林火灾识别,该算法具有高度的稳定性和实时性。Han Xian Feng等人[7]提出了一种基于高斯混合模型和多色特征的视频火灾检测方法,主要利用了火的运动特征和颜色信息,通过高斯混合模型的背景减法来从视频流中提取运动对象,然后结合RGB、HSI和YUV颜色空间获得可能的火灾区域,最后结合上面得到的结果来识别准确的火灾区域。相对于基于传感器的森林火灾识别方法,基于图像的森林火灾识别可提供直观的现场信息,且识别效果有较明显的提升,但上述基于图像的火灾识别方法非常依赖于人工特征的设计,人工特征选取得合理,则识别的效果较好,但要想选取好的特征往往需要专业的知识和经验;同时,这类方法泛化性较差,一般针对的场景单一,当在复杂背景的森林场景下或场景变化较大时,识别精度就会下降。

随着计算机技术的发展,基于卷积神经网络的深度学习已经成功地应用到图像分类[8-10]、人脸识别[11-13]、目标检测[14,15]等领域中,基于深度学习的识别方法,主要是利用深度特征强大的表征能力,解决传统人工构造特征方法的不足,实现端到端的识别。Zhang等人[16]提出了一种级联CNN森林火灾分类器,首先通过全局图像级分类器检测整个图像,如果检测到火,则跟随补丁分类器以检测火的精确位置,获得较好的效果,但是用到的森林火灾数据量较小,其泛化能力需进一步提高。Muhammad等人[17]提出了一种用于监视视频的火灾探测CNN架构,通过微调GoogleNet[18]的模型进行早期火焰检测。实验结果表明了该架构的有效性,但该模型有100层,参数量非常大。为了有效利用烟雾运动的时间和空间信息,Hu等人[19]提出一种深度卷积长递归神经网络,并将深度卷积长递归神经网络与光流方法相结合,实现对开放空间环境下火灾的实时监测。该类方法由于容易受烟雾变化的干扰,在一些场景中无法进行很好地识别。傅天驹等人[20]针对小样本林火识别问题,提出并设计了一种用于复杂背景下森林火灾识别的深度卷积神经网络结构,实验结果表明该方法与传统方法相比,具备较高的正确率。

本文针对森林火灾图像样本缺乏、传统基于图像的森林火灾识别方法的泛化性较差等问题,提出了一种基于图像生成和卷积特征融合的复杂背景森林火灾识别方法。这种方法可以直接从火灾和非火灾图像的原始像素中自动学习特征,实现端到端的识别,无需手工设计和提取特征。通过使用生成对抗技术生成火灾图像、手工收集复杂背景火灾图像及增加高度相似的反例图像,得到复杂的火灾图像集,进一步了提高网络的泛化性。

2 基于图像风格迁移技术扩充森林火灾样本

2.1 生成对抗网络

2014年Goodfellow等[21]提出了一个生成对抗网络(GAN)的框架模型,GAN通常由生成器(generator,G)和判别器(discriminator,D)组成。生成器的目的是生成假的样本来欺骗判别器,使判别器无法判断样本是真实的还是生成的,判别器主要是来判别生成器送来的样本是真实的还是生成的。对抗生成网络成功的关键是:通过对抗损失促使生成器生成的图像在原则上无法与真实图像区分开来。GAN在许多任务上都取得了较好的效果,比如图像生成[22,23]、图像编辑[24]、图像修复[25]。但是在一些现实任务中GAN生成样本的质量还未能达到要求,为解决该问题并进一步提高生成效果的性能,近几年来研究者们提出了许多GAN的变体,比如DCGAN[26]、InfoGAN[27]和CycleGAN[28]。

针对训练样本不足和正负样本不均衡问题,本文使用图像风格迁移GAN网络,生成更多火灾图像样本,提高识别网络的性能。

2.2 基于图像风格迁移GAN网络扩充森林火灾样本

针对训练样本不足和正负样本不均衡问题,采用图像风格迁移GAN网络来扩充森林火灾样本,最终的目的是将森林火灾图片的火灾区域,迁移到森林无火的图片中。算法的网络结构如图1所示,首先将X域真实图片x,通过生成器GX转化为Y域图片G(x),然后把G(x)通过映射函数F进行图片重构,得到重构图片F(G(x)),接着将G(x)与真实图片y送入到判别器DY进行判断真伪,最终得到完整的单向GAN。若单纯的使用单向的GAN,映射G可能将所有X域的图像都映射到Y空间的同一张图片,使单一的损失无效化。因此,整个生成过程由两个单向GAN组成,同理,将图1中的X域和Y域交换,得到另一个单向GAN。从域X生成域Y,再从Y生成回X,循环往复,实现图片间的风格迁移。两个单向GAN的对抗损失分别如式(1)和式(2)所示

LGAN(G,DY,X,Y)=EyPdata(y)[logDY(y)]+

ExPdata(x)[log(1-DY(G(x)))]

(1)

LGAN(F,DX,Y,X)=Ex~Pdata(x)[logDX(x)]+

EyPdata(y)[log(1-DX(F(y)))]

(2)

为防止学习到的映射G与F相互矛盾,采用一致性损失如式(3)所示。

Lcyc=Ex~Pdata(x)[‖F(G(x)-x‖1]+

Ey~Pdata(y)[‖G(F(y)-y‖1]

(3)

所以,GAN的最终目标函数如式(4)所示。

L(G,F,DX,DY)=LGAN+LGAN(F,DX,Y,X)+λLcyc(G,F)

(4)

其中,X和Y分别代表两个域,x和y为两个域中的样本,G为从域X到域Y的映射函数,F为从域Y到域X的映射函数,DX和DY为判别器,λ调整一致性损失的权重。

图1 单向GAN网络结构图

如图2所示,图中第一行图2(a)是森林无火图片,第二行图2(b)是通过风格迁移GAN网络得到的森林火灾图片,可以看出不管是在火灾区域、火焰颜色还是火焰纹理等方面,生成的森林火灾图片均有很高的质量。针对生成图像多样性差的问题,由于本文的目标是将火灾图像迁移至森林图像中,而不是完全生成森林火灾图像,因输入的是多种场景下的森林图片,多样性好,所以通过风格迁移GAN网络得到的森林火灾图片的多样性可满足实验需求。

图2 风格迁移GAN网络生成的森林火灾图片

3 基于卷积特征融合的复杂背景森林火灾识别

3.1 基于卷积特征融合的森林火灾识别模型

由于森林图像背景复杂、火焰外形多变、类似的干扰因素多,如城市灯光、夕阳、晨曦等条件下的森林图片与森林火灾极其相似,如何在上述复杂条件下,保证森林火灾识别的鲁棒性,需要提高特征的表达能力。将森林火灾图像的深度卷积特征进行可视化处理,如图3所示,深层卷积注重目标的语义信息,如图Conv4和Conv5层,突出表达了火焰区域,但是经过多次卷积、池化等操作后,特征图变得较小;浅层卷积层如图Conv1和Conv2层,具有较大特征图,更注重目标的细节信息(如边缘、纹理特征)。对于不同背景的图像,这些特征具有通用性,因此,深层和浅层卷积特征的融合,可兼顾细节和语义信息,从而帮助网络模型取得较好的效果,且具有较好的泛化性。因此,对于复杂背景下的森林火灾图像,本文采用特征融合的方式进行森林火灾识别。网络的结构如图4所示,主要分为两部分:森林火灾图像预处理、多层特征的融合与识别。将预处理后的图像输入至在ImageNet上预训练好的VGG-16模型中,提取不同卷积层的特征,然后进行特征融合,最后基于融合特征进行森林火灾识别。

图3 卷积特征可视化

3.2 森林火灾预处理阶段

目前森林火灾数据库还不成熟,从现有数据库和手工收集到的森林火灾图片,存在分类错误、重复和分辨率不一致等问题,需要预处理以提高算法的性能。如图5(a),是从现有森林火灾视频数据库中提取到的图片,实际并不是森林火灾图片;图5(b),是手工收集的森林火灾图片,虽然标签是森林火灾图片,但实际是人工绘画,并不是真实的森林火灾图片,不符合要求;图5(c)整幅图片全部为火灾区域;图5(d)和(e),是从手工收集的森林火灾图片,但是图5(d)和(e)两幅图片完全一样,需要删除重复的图片;图5(f)是一张较正常的森林火灾图片。所以本文首先对从现有数据库和手工收集到的森林火灾图片进行了严格筛选,筛选出符合条件的森林火灾图片。

图4 基于卷积特征融合的森林火灾识别模型

图5 筛选前的森林火灾图片

由于现有数据库中的森林火灾图片、手工收集的森林火灾图片和使用GAN技术生成的森林火灾图片分辨率各不相同,同时也为了使得每张森林火灾图像通过深度卷积神经网络产生相同的特征维度,进而进行森林火灾识别,所以需对筛选后的图像进行大小归一化。本文采用双线性插值法将图像缩放至304×304,归一化效果如图6所示。

图6 图像归一化

图7 卷积特征融合的过程

3.3 多层卷积特征的融合

利用由ImageNet预训练好的卷积神经网络VGG-16模型,学习森林火灾图像,得到不同层次的卷积特征,针对复杂背景下的森林火灾,通过融合不同卷积层特征,来增强特征图的语义及细节信息,更有助于提高森林火灾的识别率。本文验证了仅用单层特征及分别融合不同层特征时的识别效果。本文卷积特征融合过程,以融合conv4_3与conv5_3层为例,如图7所示。首先对conv5_3进行反卷积运算,得到其分辨率是conv5_3两倍的conv5_3_deconv,与conv4_3分辨率相同。为了得到更丰富的特征,分别对conv5_3_deconv与conv4_3进行卷积运算,得到conv5_3_c与conv4_3_c,然后进行element-sum操作得到Fusion_conv4_3_c_conv5_3_c,element-sum操作是指将两张大小相等的特征图中相同位置的元素值相加,而其维度不发生改变。

4 实验结果与分析

本文实验所采用的计算机环境是Intel(R) Xeon(R) CPU L5640 主频2.27GHz,GeForce GTX 1080显卡,8G内存,操作系统为Ubuntu16.04,在Python3.5环境下进行编译,使用基于GPU版本的Tensorflow1.4和Keras2.0深度学习框架。

4.1 数据集

本文建立的数据集包括森林火灾图像及反例图像,其中森林火灾场景、火焰类型、火焰面积多样,反例图像与森林火灾相似度较高,由此形成复杂背景森林火灾数据集。森林火灾图像主要由三部分组成,第一部分来自于20个大小不同的森林火灾视频片段,从这些视频片段提取到500张森林火灾图像;第二部分是手工收集的森林火灾图片,通过筛选处理最终保留下来5000张森林火灾图片;第三部分是通过图像风格迁移GAN网络生成的森林火灾图片,共得到4500张森林火灾图片。数据集部分图像如图8所示,图8(a)是由视频片段得到的森林火灾图片,图8(b)是从手工收集到的森林火灾图片,由图8(b)可以看出,收集到的森林火灾图片包含不同的场景、不同的火焰颜色以及不同面积大小的火灾区域;图8(c)是通过GAN网络风格迁移得到的森林火灾图片。

图8 森林火灾数据集

本文实验用到的样本反例图像,主要来自于AI Challenger 全球AI挑战赛中的场景比赛以及Places2 场景图像数据集[29],在两类数据集下的森林场景中,筛选出10000张复杂背景的无火森林图片。样本反例包含了大量干扰因素,如图9所示,图9(a)是春、秋天场景下的森林图片,图9 (b)是雾天下的森林图片,图9(c)是天空云的图片,图9(d)是城市灯光下、夕阳下及晨曦下的森林图片,这些图片与森林火灾图片极其相似,可验证算法对复杂背景下森林火灾识别的性能。

图9 不同场景下的森林图片

4.2 评价指标

为全面衡量模型的性能,本文实验使用了3个模型评价指标[30]:准确率(Accuracy Rate,AR)、检测率(Detection Rate,DR)、虚警率(False Alarm Rate,FAR)。计算公式如式(5)、(6)、(7)所示

(5)

(6)

(7)

其中TP、TN、FP、FN 分别表示真阳性、真阴性、假阳性和假阴性。AR体现的是模型的预测结果与真实检测结果的符合程度,DR反映了被正确判定的正例占总的正例的比重,而FAR反映的是反例样本判为正例样本在所有反例中占的比重。如果一个模型能达到高AR、高DR、低FAR,就认为这个模型具有较好的识别能力。

实验过程中,首先,将训练集、验证集图像输入森林火灾识别网络中进行训练。经过训练阶段,得到训练好的模型。在测试阶段,将测试集中的图像输入至训练好的模型中,完成特征的提取及融合。最后,将预测的标签与真实的标签做对比,计算准确率、检测率、虚警率。

4.3 实验结果与分析

1)风格迁移GAN网络生成样本的有效性验证

为了验证通过GAN技术得到的样本用于森林火灾识别算法时的有效性,共进行了3次实验:实验1选用4000张真实森林火灾图片和4000张样本反例作为训练集,无生成图片;实验2选用4000张真实森林火灾图片、1000张风格迁移生成的森林火灾样本和5000张样本反例作为训练集;实验3选用4000张真实森林火灾图片、2000张风格迁移生成的森林火灾样本和6000张样本反例作为训练集。三次实验测试时都选用1000张真实森林火灾图像和1000张样本反例;后两次实验中,为了保持正例和反例的一致性,在增加生成图像的同时,也增加了同样数目的反例图像。为了验证通过GAN技术得到的样本用于森林火灾识别算法时的有效性,该对比实验基于经典AlexNet网络进行,实验结果如表1所示。

由表1可以看出,实验2和实验3在AR、AR、FAR三个指标上优于实验1,表明通过增加迁移生成的森林火灾样本有助于提高森林火灾识别效果;该对比实验基于经典AlexNet网络进行,说明通过增加迁移生成的森林火灾样本,可提高现有识别算法的性能。

表1 增加迁移得到的森林火灾图像用于识别时结果对比

2) 不同层卷积特征融合对森林火灾识别的效果比较

将本文建立的数据集按照3:1:1 的比例随机分为训练集、测试集和验证集,具体分布情况如表2所示。

表2 森林火灾数据集数据分布情况

为了探究多层卷积特征融合对复杂背景下森林火灾识别结果的影响,在表2所示的森林火灾数据集上,分别提取森林火灾网络模型中的Conv1_2、Conv3_3、Conv4_3和Conv5_3层特征,根据第2节介绍的融合方式,对不同层的卷积特征进行融合,然后进行火灾识别,结果如表3所示。

由表3可知,使用多层特征融合时的识别效果,优于仅用单层特征时的效果;Conv1_2、Conv3_3和Conv5_3三层特征进行融合的结果最优,优于Conv3_3、Conv4_3和Conv5_3三层特征融合的结果,两者的区别主要是将前者的Conv1_2换成了后者的Conv4_3,由图3可知,相对于Conv4_3层,Conv1_2更接近底层,包含了更多的细节信息,两者在同时使用Conv5_3表达语义信息的条件下,融合更多的细节信息,可提高识别效果。

表3 融合不同层卷积特征时的识别结果

3) 与其它深度学习模型的比较

在表2所示的森林火灾数据集上,将本文模型与ZFNet、ResNet、InceptionV3[31]和DenseNet四种模型进行对比实验,实验结果如表4 所示。从表4可以看出,在与其它深度卷积神经网络模型的对比中,DR指标与DenseNet模型相近,但是本文方法在AR、FAR两个指标上表现的更好,表明了本文模型的有效性。

表4 本文模型与其它深度卷积神经网络模型效果对比

4) 与其它基于深度学习的森林火灾识别模型的对比

表5 与其它基于深度学习的森林火灾识别方法的对比

文献[20]针对小样本林火识别率低问题,提出一种参数替换的方法,在表2所示的森林火灾数据集上,与文献[20]中的方法进行对比实验,结果如表5所示。从表5可知,在与其它基于卷积神经网络进行森林火灾识别方法的对比中,基于相同的数据集,本文模型在AR、DR以及FAR评价指标上均取得最优,表明了本文模型在复杂背景下,取得的效果优于其它基于深度学习进行森林火灾识别方法。

5 结论

本文提出了基于图像生成和卷积特征融合的复杂背景森林火灾识别方法。针对训练样本不足和正负样本不均衡问题,使用了风格迁移技术来扩充森林火灾样本集;利用VGG模型提取图像的特征,通过融合不同层次的卷积特征,实现最终的森林火灾识别。该方法可以直接基于火灾和非火灾图像,实现端到端的特征学习和识别,避免了传统基于图像的森林火灾识别方法需要人工设计特征的不足,降低了算法对经验知识的依赖,提高了算法的泛化能力;融合后的特征兼顾了高层特征的语义信息与低层特征的细节信息,实验结果表明,该方法在处理复杂背景下的森林火灾识别问题上具有较好的效果。基于GAN网格生成图像增加训练样本,给复杂背景下的森林火灾识别及其它样本缺乏的识别任务,提供了一种可行方案。未来,将改进特征提取方法及多层卷积特征融合方法,及提取和融合火焰的其它信息,如提取火焰与森林背景的关系特征、火焰的运动特征等,以进一步提高森林火灾的识别效果。

猜你喜欢

反例卷积样本
基于全卷积神经网络的猪背膘厚快速准确测定
几个存在反例的数学猜想
基于图像处理与卷积神经网络的零件识别
基于深度卷积网络与空洞卷积融合的人群计数
活用反例扩大教学成果
随机微分方程的样本Lyapunov二次型估计
利用学具构造一道几何反例图形
基于支持向量机的测厚仪CS值电压漂移故障判定及处理
对称不等式的不对称