一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种基于Faster-RCNN的森林火灾检测与识别方法与流程

2022-02-22 03:46:54 来源:中国专利 TAG:

一种基于faster-rcnn的森林火灾检测与识别方法
技术领域
1.本发明涉及深度学习、图像识别技术领域,具体为一种基于faster-rcnn的森林火灾检测与识别方法。


背景技术:

2.近年来,受气候变暖和许多人为因素等影响,全球森林火灾频繁发生。森林火灾的危害有目共睹,因此如何在森林火灾发生的初期进行及时检测并预警成为我们亟待解决的问题。目前森林火灾的检测方法有瞭望塔、遥感检测等方式,前者可检测范围有限,很难做到全天候检测;后者虽然可检测范围大,然而受制于遥感数据获取的延迟性,难以在林火发生初期提供有效预警。随着深度学习的发展,运用其领域内目标检测的方法来实现对森林火灾图像的识别具有较大的实际意义。针对林火的识别,石磊提出了一种基于改进型ssd的森林火灾检测算法,利用densenet网络作为ssd的基础网络,引入了focalloss损失函数对模型中正负样本不平衡的缺陷进行了弥补,可以实现对森林火灾图像的高效检测。然而ssd的算法机制使其依据不同尺寸的特征图尺寸而生成数量较多的基准框,并且针对小目标检测时其深层次下的卷积核产生的预测框尺寸较大,不利于对早期森林火灾的检测,也没有对火灾检测完成后的信息返回。针对以上ssd算法在林火识别领域的缺陷,本发明提出的森林火灾检测与识别方法基于faster-rcnn进行识别,在林火识别上具有以下的创新点:faster-rcnn的网络基准框是基于候选区域建议网络生成的,数量要少于同等情景下的ssd网络,此外faster-rcnn的锚点机制所产生的九个锚点可以更高概率地包含到林火特征,深层次下尺度较小的卷积核可以更好地针对林火初期的微小火源点进行检测,最后本发明提出的方法可以在识别到森林火灾特征后提取林火图像的信息,将森林火灾发生的大概位置和检测时间进行输出,便于林区工作人员和消防人员对火情的发展做出预测,从而以更小的代价处理森林火灾。
3.针对无人机等平台所传回的海量森林图像进行图像识别检测火灾时,仅依靠人眼识别难以保证效率,而且在无位置标示物或视野不良时无法及时返回火灾位置。因此迫切需要一种林火图像的检测方法来解决上述问题。


技术实现要素:

4.本发明提供一种基于faster-rcnn的森林火灾检测与识别方法,该方法不仅可以高效、准确地识别出含有火灾的森林图片,同时还能显示火灾发生时的大概位置。
5.为实现上述目的,本发明提供如下技术方案:一种基于faster-rcnn的森林火灾检测与识别方法,包括如下步骤:
6.获取无人机所拍摄的森林火灾图像数据,建立原始的森林火灾图像数据集,鉴于林火数据图像的特殊性,可利用网络爬虫或从开放数据集处获取所需图像。本发明的火灾图像来自公开数据集ieeedatasets中的“flame数据集,其图像均为jpg格式,分辨率为3840
×
2160,命名格式为image_序号;
7.对原始森林火灾数据集中的图像进行预处理,原数据集图像分辨率过高,其中林火特征所占的像素点比例较小,直接标定训练会影响模型的识别精度,因此首先对原始数据图像进行分割处理,根据图片的宽度和高度特征,将原始数据左右一分为二,之后定位到每张子图片中含有林火特征的部分,对图像进行规定的裁剪操作,得到分辨率为800
×
600的数据集,对这部分数据集以六位数字序列的格式重新命名;
8.选取特征明显的数据部分进行标注,为了使数据集图像数量满足深度学习的要求,对标注好的图像进行数据扩充,扩充比例为8,通过对图像进行平移、翻转、旋转等操作进行扩充并以voc2007数据集格式保存,数据经过扩充保留原jpg格式并同步生成xml文件,使模型可以更好地学习特征以计算出最优解,将图片数据和标注生成的xml文件分别放在同一目录下jpegimages和annotations文件夹中,并在imagesets下的main路径下制作train、test、trainval和val的txt文件作为模型读取文件时的索引来划分数据集,基于faster-rcnn算法构建训练模型,并将数据集导入准备训练;
9.定义并初始化学习率α、迭代次数epoch、批量大小batch_size等超参数,初始化学习率是深度学习中重要的超参,决定着目标函数能否收敛到局部最小值以及何时收敛到最小值,过大则容易错过最优值,过小则可能获得局部最优解,无法达到最优,因此将学习率首次设定为0.001,并设定为动态下降,使模型在达到最优点附近时可以更好地收敛,迭代次数首次设定为20000,使loss总体趋势下降并逐渐在某一个较低值浮动,受限于硬件环境,batch_size设为16,模型开始训练;
10.模型训练的过程中,faster-rcnn算法在保证输入图片纵横比的前提下重新调整图片为固定尺寸,通过主干网络vgg16进行特征提取获取特征层,这时候模型对于林火特征有初步感应,再经过一些卷积层处理,其中9
×
1的卷积用于区分前景和背景,9
×
4的卷积用于预测共享特征层上每个网格点先验框的变化情况,模型通过学习先验框和预先标定的真实框之间的差异来调整rpn网络中的权重,从而使模型不断向最优靠近;
11.进一步的,模型训练过程中调整rpn网络中的权重,其中iou的计算公式为:iou即交并比,计算的是预测的边框和真实的边框的交集和并集的比值,通过不断学习缩小先验框和真实框之间的差距来预测物体的位置,提高最终识别结果中先验框的置信度;
12.训练过程中基于rpn网络提取候选框,所生成的网络基准框要少于ssd模型的数量,roipooling层利用候选框和vgg16最后一层获得的特征图,得到固定大小的proposalfeaturemap,classifier层再将其进行全连接操作,利用softmax进行具体类别的分类,同时,利用l1loss完成boundingboxregression回归操作获得物体的精确位置,计算损失函数,同时更新整个网络的参数,得到网络模型模型;
13.模型评估,训练完成后,加载测试集图像对模型进行评估,通过计算查准率p和查全率r绘制pr曲线,获取模型识别火灾的ap为90.8%,大部分情景下可以满足检测林火图片的需求。
14.模型应用,加载训练好的faster-rcnn网络模型,选择最后一步保存的模型,修改demo.py中的识别类,仅保留background和fire类,设置调用模型的路径及模型名称,设定加载的测试图片路径及名称,将这部分林火图片输入训练好的faster-rcnn网络模型进行
识别测试;
15.模型加载模型并读取测试图片,在检测每张图片的语句前后加上time()模块并以时间差作为输出,检测图片中是否有森林火灾特征,如果有火灾则给出预测区域及置信度、火源点数量,并输出每张图片的检测时间。
16.针对有林火特征的图片,读取此类的图片信息,输出灾情的位置和识别到火情的时间,执行相应的程序读取林火图片储存的信息,利用百度地图免费开放的web api接口服务将经纬度转换为位置信息并输出,同时输出林火图片拍摄的具体时间;
17.进一步的,本发明中所述的faster-rcnn网络模型主要分为四个部分;
18.conv layers,首先使用包含卷积、池化、线性修正单元三种层来提取图片的特征图,该特征图被输出后用于全卷积网络层和全连接层,conv layers部分共有13个conv层,13个relu层,4个pooling 层,该层对所有的卷积都做了扩边处理,因此生成的特征图都可以和火灾原图对应;
19.rpn网络,是一个全卷积网络,对每一张输入图像输出一系列的矩形目标建议框,并同时含有对应目标的置信度,目的是生成候选区域,faster rcnn抛弃了传统的滑动窗口和ss方法,直接使用rpn生成检测框,这极大地提高了检测框的生成速度,并且anchors中长宽1:2中最大为352x704,长宽2:1中最大736x384,基本是cover了800x600的各个尺度和形状,因此对于图像中各个尺度的林火特征都可以很好地检测;
20.region of interest pooling,感兴趣区域池化层的主要功能是收集候选区域并计算出特征图候选区,送入全连接层判定目标类别,其中有两个输入:原始的特征图和rpn网络输出的矩形目标建议框,该层主要是为了解决proposals大小形状各不相同的问题;
21.分类层,利用已经获得的建议特征图,通过全连接层与softmax函数计算每个建议框具体属于哪个类别,本发明中主要用于区分fire类和背景,同时输出概率向量,利用边界框回归获得每个建议框的位置偏移量,用于回归更加精确的目标检测框,可以提高识别林火的精度。
22.进一步的,在本发明中,训练过程中,通过损失函数计算调节权重参数,faster-rcnn网络的损失函数为:其中,pi是anchor[i]的分类概率,anchor[i]是正样本时,为1,anchor[i]为负样本时,为0 在进行预测时,加载训练得到的权重文件,faster-rcnn网络即可对输入的图片给出相应坐标,将相应的矩形坐标在原图片上表示,即可得到可视化的预测结果。
[0023]
有益效果,本技术的技术方案具备如下技术效果:
[0024]
本发明能够通过图片检测出森林火灾,并通过图片信息输出发生森林火灾的大概位置和时间,为相关人员及时正确地处理森林火灾提供了重要参考,尤其是发生森林火灾初期的识别,不仅大大减少了林火对于珍贵的森林资源、森林生态环境的破坏,也在一定程度上降低了因火势不明朗准备不充分而导致的消防人员牺牲的可能性,降低了林火发生地附近灾区人民的财产经济损失。
[0025]
应当理解,前述构思以及在下面更加详细地描述的额外构思的所有组合只要在这
样的构思不相互矛盾的情况下都可以被视为本公开的发明主题的一部分。
[0026]
结合附图从下面的描述中可以更加全面地理解本发明教导的前述和其他方面、实施例和特征。本发明的其他附加方面例如示例性实施方式的特征和/或有益效果将在下面的描述中显见,或通过根据本发明教导的具体实施方式的实践中得知。
附图说明
[0027]
图1为利用faster-rcnn实现对森林火灾检测识别的方法步骤。
[0028]
图2为faster-rcnn的模型结构。
[0029]
图3为利用faster-rcnn模型训练后实现的对图片内森林火灾的检测结果。
具体实施方式
[0030]
为了更了解本发明的技术内容,特举具体实施例并配合所附图式说明如下。在本公开中参照附图来描述本发明的各方面,附图中示出了许多说明的实施例。本公开的实施例不必定意在包括本发明的所有方面。应当理解,上面介绍的多种构思和实施例,以及下面更加详细地描述的那些构思和实施方式可以以很多方式中任意一种来实施,这是因为本发明所公开的构思和实施例并不限于任何实施方式。另外,本发明公开的一些方面可以单独使用,或者与本发明公开的其他方面的任何适当组合来使用。
[0031]
本实施例提供一种基于faster-rcnn的森林火灾检测与识别方法,所述方法包括数据集搭建、标签制作、数据集扩充、构建faster-rcnn模型构建、模型训练和森林火灾检测。
[0032]
本发明包括以下步骤:
[0033]
s1:获取数据,鉴于森林火灾的特殊性,通过网络上的公开数据集获取森林火灾的图片,所收集的图像均为jpg格式,分辨率为3840
×
2160,命名格式为image_序号。
[0034]
s2:数据预处理,为了提高获取到的高清森林火灾数据图像中林火的像素占比,使训练过程中可以更好地规避背景的影响从而达到更高的准确度,针对这部分数据进行图像分割,将含有森林火灾特征部分的图像分割出来,并调整为800
×
600分辨率的图片。
[0035]
s3:标签制作,将获得的经预处理后的图片以数字序号的格式进行命名,如000001,000621,利用人工标注软件labelimg对获得的jpg格式的图片进行标注,标注类别为“fire”,同时生成与图片文件同名的xml文件。
[0036]
s4:数据集扩充,由于深度学习需要大量的森林火灾样本学习特征,在对数据集进行标注后,对这部分数据集进行带xml文件的数据增强,利用平移、翻转、添加噪声等操作扩充数据集,使其满足深度学习要求的样本基数。
[0037]
s5:数据集搭建,将经过数据扩充后的图片和对应的xml文件设置为voc2007数据集格式,同时为了满足模型训练各个过程中的不同需要,对数据集进行划分,采用建立文件索引的方式,分别建立名为 train、test、trainval和val的txt文件,txt文件里分别储存划分好的对应类别数据集的图片名称。
[0038]
s6:模型训练,使用vgg16作为主干网络搭建faster-rcnn网络结构,设定学习率、batch_size、最大迭代次数等参数,其中学习率设置为0.001并设定为动态下降使其接近最优值时可以更好地收敛,受限于硬件设备,batch_size设定为16,最大迭代次数次数设定为
20000,使训练过程中的loss值逐步下降,最终模型达到收敛。
[0039]
s7:进行森林火灾检测,利用训练好的faster-rcnn模型对疑似森林火灾图片进行识别,模型会对含有林火特征的图片给出预测框和置信度,并给出预测的火源点数量在原图上进行可视化的输出,从而得到每张图片的预测结果。
[0040]
s8:对检测出火灾的图片,提取其储存的文件信息,输出林火发生的大概位置以及检测到林火的时间,为森林火灾处理提供参考。
[0041]
进一步的,s6步骤中模型训练的具体过程为:输入训练图片,利用cnn网络进行卷积特征提取,然后通过rpn滑动窗口机制获得区域建议和区域得分,利用非极大值抑制算法输出前n个得分的区域建议,然后将这些区域建议输入roi池化层,通过池化层得到区域建议特征,最后利用全连接层进行目标分类
[0042]
误差校正的方法主要有聚类和非极大值抑制(nms)。聚类即将预测结果聚成不同的类,选择 confidence较大的结果作为最终结果。但是聚类也存在几个问题:相近的目标容易聚成一个类,并且目标总数类别未知,不知道应该聚成几个类。所以需要加入非极大值抑制的方法,筛选掉重合度较高的预测结果框。
[0043]
进一步的,所述步骤s6包括以下过程:
[0044]
s6-1:搭建faster-rcnn网络对训练集进行训练,定义并初始化相关参数,其中学习率设置为0.001,最大迭代次数设置为20000,分类模型选择vgg16,批图像处理的个数batch_size设置为16,硬件允许可以设置为64,输入的图像尺寸为800
×
600。
[0045]
s6-2:将图片作为神经网络的输入,使用包含卷积、池化、线性修正单元三种层来提取图片的特征图,该特征图被输出后用于全卷积网络层和全连接层。
[0046]
s6-3:经过全卷积网络rpn网络,对每一张输入图像输出一系列的矩形区域候选框,并同时含有对应目标的置信度,根据区域生成网络生成的区域候选框和之前已获得的特征映射,得到固定大小的特征图。
[0047]
s6-4:将生成的固定大小的特征图进行全连接操作,通过全连接层与softmax函数计算每个建议框所属类别,本发明中主要用于区分fire类和背景,同时输出概率向量,利用边界框回归获得每个建议框的位置偏移量,计算损失函数,同时更新整个网络参数,得到训练模型。
[0048]
所述步骤s6-3中,rpn模块主要用于生成候选区域,首先用3
×
3大小的滑窗遍历特征映射,生成多个锚框,对其进行裁剪过滤后通过函数判断其所属类,利用边框回归修正anchors,获取精确的候选区域,之后region of interest pooling收集候选区域并计算出特征图候选区,送入全连接层判定目标类别。
[0049]
步骤s7中对疑似林火图像进行检测时,基于faster-rcnn二阶模型的高精确度,在多火源点、火源点微小的情境下依然可以获得较好的效果,如图3所示。
[0050]
识别出火灾图片后,运行对应的python程序可以提取林火图像中的信息,输出森林火灾发生地的大概位置和拍摄到林火时的时间,为预估林火的蔓延并及时处理提供参考。
[0051]
如上所述为本发明基于faster-rcnn的森林火灾检测与识别方法的实施例介绍,本发明通过构建 faster-rcnn网络,对预处理后的训练集进行训练得到faster-rcnn模型,并对预测集进行了林火检测,以解决森林防火数字化程度低,识别率不高的问题。
[0052]
虽然本发明已以较佳实施例揭露如上,然其并非用以限定本发明。本发明所属技术领域中具有通常知识者,在不脱离本发明的精神和范围内,当可作各种的更动与润饰。因此,本发明的保护范围当视权利要求书所界定者为准。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献