摘要:【目的】林火的发生不仅会对森林生态环境造成严重的破坏,影响生态系统功能,还会给人类造成一定危害和损失。基于深度学习对森林火灾图像进行识别,旨在更高效精准地对森林火灾发生初期的图像进行识别并预警,从而降低森林火灾对森林生态系统和人类社会产生的危害。【方法】借助SSD算法目标检测算法在TensorFlow上的实现,根据林火特征对其网络结构进行适当优化,提出一种可以识别森林火灾图像中火焰特征的模型方法。首先对获取的图像进行归一化处理,然后使用Imgaug图像数据增强库对林火图像进行数据增强以构建林火数据集,搭建深度学习运行环境并设定超参数。通过对测试集中的数据进行测试获取模型对图像中林火特征的识别效果,并利用Loss曲线、P-R曲线的可视化对模型进行评估,最后得到模型对于林火的识别精度。【结果】随着迭代次数的增加,损失值由训练初期的35.31逐渐下降,训练至20 000步时损失值稳定在7.10左右,此时模型的识别精度达到较高水平,对测试数据中林火特征的识别置信度达到0.9以上。基于FLAME公开数据集中的林火图像搭建测试集,经过测试评估本模型对林火特征的mAP可以达到97.40%,漏检率为0.03,对测试图片的平均检测时间仅为0.07 s,对比Faster R-CNN模型在同等数据集上的实现,SSD可以获得更为理想的检测速度。【结论】提出的针对林火特征识别的SSD算法能兼顾检测速度和检测精度,对林火早期的图像能够快速识别并拥有较低的漏检率,有助于林区工作人员对火灾及时做出处理,从而为森林火灾早期预防提供技术参考。
关键词:深度学习;林火;图像识别;目标检测;SSD算法
中图分类号:S762 文献标志码:A开放科学(资源服务)标识码(OSID):
文章编号:1000-2006(2024)03-0207-12
Forest fire image recognition based on deep learning multi-target detection technology
HE Nailei, ZHANG Jinsheng, LIN Wenshu*
(College of Mechanical and Electrical Engineering, Northeast Forestry University, Harbin 150040, China)
Abstract:【Objective】Forest fires not only cause serious damage to the natural environment of forests and affect their ecosystem functions, but also cause harm and losses to human society. Based on the use of a deep learning process to identify forest fire images, it is possible to efficiently and accurately identify images showing the early stages of forest fires, thereby enabling prompt action to reduce the harm caused by forest fires to forest ecosystems and human society. 【Method】With the implementation of the single shot multibox detector (SSD) target detection algorithm based on the TensorFlow framework, the network structure was optimized according to the characteristics of forest fires, and a model was developed that could identify flame features in forest fire images. First, the acquired images were normalized and then the “Imgaug” image data enhancement library was used to perform data enhancement on forest fire images and build a forest fire dataset, followed by the building of a deep learning operating environment and the setting of hyper-parameters. The recognition of forest fire features in the image by the model was obtained by testing the data in the test set. By visualizing both the Loss curve and the precision-recall (P-R) curve, the recognition accuracy of the model for forest fires was ultimately obtained.【Result】With an increase in the number of iterations, the loss value gradually decreased from 35.31 in the early stage of training, and stabilized at about 7.10 when the training reached 20 000 iterations. At this point, the recognition accuracy of the model reached a high level. The recognition confidence of fire features was greater than 0.9. A test set was built based on the forest fire images in the fire luminosity airborne-based machine learning evaluation (FLAME) public data set. After testing and evaluation, the model achieved a mean average precision for forest fire characteristics of 97.40%, the missed detection rate was 0.03, and the average detection time of the test image was only 0.07 s. Compared with the faster- region-based convolutional neural network (Faster R-CNN) model using the same data set, the SSD achieved a better detection speed and recognition accuracy. 【Conclusion】The SSD algorithm for forest fire feature recognition proposed here can take into account the detection speed and precision, and can quickly identify images in the early stage of a forest fire with a low missed detection rate, which will enable forest staff to deal with the fire in time, providing a technical reference for the early prevention of forest fires.
Keywords:deep learning; forest fire; image identification; object detection; single shot multibox detector (SSD) algorithm
相比森林病虫害,森林火灾对森林生态系统和人类活动造成的破坏往往更加严重[1]。由于林火造成的后果不可逆转,通过对森林火灾的早期监测继而减少重大森林火灾的发生概率,不仅可以降低森林火灾的受害率,而且能有效减少森林火灾导致的碳排放,助力碳中和的实现。然而森林火灾发生的早期往往较为隐蔽,且扩散速度快。通过对森林火灾的早期监测,可以在林火刚刚发生时采取相应措施阻断火势的蔓延,从而降低其对森林生态环境的破坏和人民财产的损失。因此,如何在复杂的森林环境中及时发现火情并做出预警是森林可持续经营管理中亟待解决的关键技术问题。
在以往森林火灾监测中,传统的瞭望塔、烟雾检测器等方式具有响应时间慢、建造成本高的缺陷[2],导致其接收到火情的信息滞后甚至无法检测出早期森林火情的发生,许多情况下无法对森林消防工作提供及时有效的帮助。近年来,随着现代遥感技术的发展,针对森林火灾的卫星遥感监测逐渐受到重视。Giglio等[3]对传统的基于MODIS数据的火点监测模型进行优化改进,提出了一种用于MODIS的增强型上下文火情检测算法。付迎春等[4]提出了一种基于 MODIS 影像梯度的林火边界提取方法,通过对融合的多波段梯度幅值图进行图像视觉分析,能够实现对林火边界特征的自动检测。杨光等[5]基于黑龙江省大兴安岭林区卫星热点数据和同一时期可查的林火资料进行研究,得出2005—2015年大兴安岭林区卫星热点初判林火发生次数的准确率仅为79. 7%,存在较大的漏检率。利用卫星搭载的遥感装置虽然可以根据森林燃烧时产生的高温高于背景温度实现对森林火灾的识别,但卫星大尺度的监测范围和数据获取的滞后性使得基于卫星平台进行森林火灾检测无法对早期小范围内的火情给予及时预警。随着无人机技术的发展,其在林业中的应用越来越广泛。单会见[6]基于无人机平台提出了一种基于改进颜色指数的森林烟火识别方法,通过对无人机传回的数据进行处理,以林火标定的方法为辅助,去除疑似的火灾信息,确定森林火灾的发生情况。马越豪等[7]利用无人机拍摄实时视频,借助灰度投影方法消除视频抖动,通过图像特征自动识别燃火点,实现对火灾的检测。基于近地面平台实现对森林火灾的检测虽然可以获得比卫星平台更高的精度,但是大部分研究中火焰特征仍需要人工提取,在识别效率方面还有很大提升空间。
传统方法检测火灾图像需要对获取的影像数据进行区域分割和特征提取,最后通过对特征进行分类实现对火灾的检测,分割结果和选取的特征质量直接影响对火灾的检测精度[8]。近年来,人工智能和深度学习技术的快速发展,不断推动着基于卷积神经网络的图像型森林火灾识别检测技术替代传统人工火灾监测方式的进程。因此,为了在疑似的火灾图像中精准地识别出发生火灾的部分,需要借助基于深度学习的目标检测技术。目前常见的基于卷积神经网络的目标检测算法有Faster R-CNN、YOLO、SSD等。在主流目标检测算法的基础上,王飞[9]基于森林火灾发生时烟的动态及颜色特征,通过融合烟雾候选区和Faster R-CNN烟雾检测算法,大大减少了神经网络运算量,较传统Faster RCNN算法在实时性和准确率方面更加平衡。刘青等[10]提出了一种基于无人机平台硬件的改进YOLOv3 图像检测算法,对林区内的烟雾和火焰进行检测,精确率较原生模型提高6.80%;傅天驹[11]针对林区内夜晚和白天的影像背景差异悬殊的情况,对白天情景下进行的林火识别做了优化,将两种情景下的卷积神经网络进行了区分,在模型识别正确率上取得了理想的结果;陈燕红[12]建立了CNN-9模型和CNN-17模型,对烟雾和火焰并行检测并实现了较高的准确率。周浪等[13]提出了一种基于原始DenseNet进行优化的用于识别森林火灾图像的Sparse-DenseNet 模型,较原模型在准确率上提升了1.18%,且相同轮次训练时间缩短了25%。上述几类方法虽然在火灾识别方面取得了较为理想的效果,但是难以兼顾检测速度和准确率,在应用于小尺度范围林火识别预警时仍有较大的优化空间。
SSD(single shot multiBox detector)算法属于目标检测主流算法中的第1阶段,这种方法区别于Faster R-CNN算法所属的第2阶段,在检测速度保持优势的同时,优化后识别精度也能达到较高水平[14]。SSD算法由Liu等[15]于2016年提出,其算法原理是将不同特征图的边界框离散化输出为一组默认框,在网络进行预测时,会在每一个默认框中赋予待检测目标类别的置信度,同时对默认框进行调整以适应不同的目标,实现对目标的检测。SSD算法的识别流程是在输入图片的各个位置进行均匀紧密抽样,第一阶段抽样支持使用不同的尺度和长宽比,之后运用卷积神经网络进行提取特征操作后直接进入下一阶段的分类与回归,全部过程都在一个阶段内完成[16],因此SSD算法的识别速度在目标检测算法中有一定优势,在实木板材缺陷检测、光伏组件缺陷检测等方向应用较广。此外SSD算法支持不同尺度的特征图预测,这样可以应用于不同目标尺寸的检测,低层的特征对于穿插在林木间的微小火源点检测比较有效。总之,SSD算法特点使其有很大潜力满足森林早期火灾图像中的火焰识别的检测速度和准确率。
为了更好地识别森林火灾初期的微小火源点,尽可能缩短森林火灾发生和被发现的时间间隔,从森林火灾发生的初期降低林火造成的损失,本研究基于SSD算法在TensorFlow框架上的源码实现,借助迁移学习的思想在火灾图像小样本的基础上训练,获得了基于无人机所拍摄的图像中识别出火源点的模型,并在FLAME公开数据集上进行了验证。该模型可与无人机平台进行联合,通过无人机获取林区易燃区域影像数据,训练生成的模型对数据中的火灾信息进行检测,实现林火的早期识别预警,解决了传统处理手段时效性的问题,可以在森林火灾发生初期尽快采取有效措施,尽可能降低林火带来的损失。
1 研究方法
1.1 图像数据获取及归一化处理
1.1.1 森林火灾图像数据获取
模型训练所使用的数据是基于无人机拍摄的森林火情检测数据集FLAME[17],该数据集包含基于无人机视角俯拍的森林火灾图像。其中图像的分辨率为3 480×2 160像素,格式为JPEG格式。
FLAME数据集中还包含了一些红外相机拍摄的视频记录和热图,由于本研究所提出的模型是针对无人机搭载相机所拍摄的森林图像进行目标检测识别,因此仅选取原数据集中的高分辨率相机所拍摄的数据集。FLAME数据集中的森林火灾图片是通过对拍摄视频进行选取合适的帧数截图来获得的,其中共有12个不同的火点,分别采用不同视角、不同变焦的相机搭载在无人机上进行拍摄。但由于火点所在的背景相似,导致原数据集相近的图片会有很多的相似性,因此本研究选取了拍摄背景和视角具有差异的图像作为基础数据集。
1.1.2 数据的归一化处理
筛选出合适的图像数据后,为了获得更好的识别效果,需要将图像数据进行归一化。通过将数据归一化,使得所有特征的权重趋向均衡,减小了某些极端数据值对损失函数造成的负面影响,从而缩短了梯度下降到达最优解的时间,推动模型获得更快的收敛。首先根据图像的火点位置对其进行裁切处理,获取等高等宽的林火图像,之后利用批处理输出得到300×300像素的图像数据并标定。最后利用StandardScaler类实现对数据的归一化,从而实现了对特征数据的预处理,一定程度上提高模型训练的速度并使其加速收敛。
1.2 数据集搭建
1.2.1 林火数据增强
由于原始数据集中大量图片具有相似性,经过挑选后的图像数量过少,无法满足深度学习要求的数据集的量级,如果利用这部分数据直接进行训练,训练过程中极易出现过拟合。因此,为了提供大量的样本作为深度学习的数据支撑完成训练并增强模型的泛化能力,需要对这部分数据集进行数据增强处理。数据增强[18]的主要目的是对训练数据进行扩充,使模型可以学习不同条件下规定的特征,从而使最终训练的模型泛化能力提高,适应多重场景下的识别。数据增强分为线上增强和线下增强,线上增强是在深度学习输入之前进行少量数据集的转换,数据集规模不会发生大的扩充,此方法适合较大的数据集,可以利用GPU并行加速处理;线下增强是在送入模型训练前完成对数据集的处理,这通常会几倍甚至几十倍地增加数据集内的数据批量,因此这种方法适合小批量的数据集。
本研究中满足需求且经标定后的数据集较小,因此采用线下增强。采用Imgaug图像数据增强库对数据集的森林火灾图像进行增强处理,采用批量的BoundingBox带XML文件的增强,对已经标定过的森林火灾图像进行旋转、平移补充、提升亮度和加噪声等图像增强处理操作,对图形和矩形框进行变换。经过数据增强后,将441张图片扩充为2 205张,得到分辨率为300×300像素且包含森林火灾中火焰特征的数据集,这个数量的数据集足以支撑完成深度学习的训练。同时因为使用带XML文件的增强,最终的火灾图像都是经过标定的,可以作为模型输入的训练集、测试集和验证集使用。
1.2.2 构建VOC格式的林火数据集
数据增强之后,获得扩充后的火灾图像及与其对应的包含有filename、path、size(包括图像的宽度、高度和深度)以及标注的GT boxes的x、y坐标最大值和最小值等信息的XML标注文件。为了便于训练时程序高效地读取数据,需要搭建VOC格式的林火数据集。
根据SSD模型训练,需要搭建PASCAL VOC07+12格式的数据集,根据数据集格式要求建立相应的路径,并将原始数据集划分为VOC2007、VOC2007test以及VOC2012,分别放入对应的路径下,设定数据集路径及tfrecords文件路径,生成包含训练验证信息的tfrecords文件。其中训练集、测试集和验证集包含的图像数量分别为1 323、441和441张,数据处理的总体流程如图1所示(数据增强部分以单个数据为例)。
1.3 SSD目标检测模型构建
1.3.1 SSD目标检测模型结构
SSD目标检测模型的主要结构为骨干网络和额外的特征层:骨干网络是SSD网络的基础网络,主要功能是对输入数据进行特征提取,是实现目标检测的基础;额外的特征层是在骨干网络基础上添加的几个特征层,这些特征层在多个尺度上进行目标检测,保证了模型的检测精度。骨干网络提取图像特征得到多个不同尺度的特征图,之后利用多尺度特征检测网络,对已经提取的特征层进行特征融合,对大小不同的目标进行定位和分类。
SSD模型的骨干网络为 VGG16,并将 VGG16 网络的全连接层FC6、FC7层改为卷积层 Conv6、Conv7,然后在后面加了4个卷积层,构成 SSD 算法框架[19]。SSD模型结构如图2所示。
SSD模型结构中的网络以 300×300 图片作为输入,以Conv4_3作为第一个特征层用于目标检测,该层生成的特征图尺寸为38×38×512,每个像素映射到输入的林火图片上会产生4个候选框,因此产生的全部候选框数量为38×38×4。Conv7、Conv8_2、Conv9_2、Conv10_2以及Conv11_2特征层的特征图尺寸及生成的候选框数量与Conv4_3同理,其中8 732表示所有特征图共生成的候选框数量,之后进行分类和回归操作,最后经过非极大值抑制(NMS)过滤掉多余边界框并产生最终检测结果。整个网络结构有6种不同尺寸的特征图,分别预测不同尺寸的物体。浅层特征图具有分辨率高的特点,在林火检测中主要对被林木、树叶等遮挡的火焰特征进行预测,属于小物体目标的预测;深层特征图则主要针对无遮挡的相对较大且较为明显的火焰特征进行预测,属于较大物体目标的预测。不同尺寸特征图的设计,使模型能够实现检测不同尺寸的物体,有助于提高检测精度。
其中,模型对图像中林火特征图的获取是由卷积神经网络完成的。卷积神经网络是一种包含卷积计算的前馈神经网络,由不同的卷积层连接组成[20]。它的人工神经元可以同其附近的部分单元相联系,适用于对像素点多的大型图像处理。卷积层的计算过程如图3所示。
林火图像输入卷积神经网络后经过不同的权值产生不同通道的特征图,一幅图像的每一个通道用一个矩阵来表示,矩阵上的每一个点用该点的像素值来表示,因此当一幅图像有多个通道时,就会产生多层的特征图。对于本研究中的林火图像,采用的是RGB三通道,因此具有3层的特征图。图3中左侧的特征图下表示输入图像的像素矩阵和特征图的通道数。对于本研究使用的SSD模型输入的林火图像产生的特征图规格为300×300×3。特征图输入后由卷积核进行卷积,每一层卷积核的尺寸不同,但是维度与特征图通道数相同[21]。每一个卷积核都有着不同的作用,如提取边缘特征或颜色。在进行林火特征提取时,主要由VGG16网络内各层大量的卷积核进行卷积运算,提取出森林火灾中火焰不同于背景的颜色特征、纹理特征等,作为后期目标识别的基础。最终的输出特征图由卷积核滑动生成的特征矩阵加上偏置b1、b2,经由激活函数ReLU激活后生成的,其中每一个通道都是由权值矩阵滑动提取,因此通道数与卷积核的数目相等。
本研究在构建SSD目标检测模型时,继承了原模型的骨干网络VGG16作为特征提取网络,同时做了以下改进:去除网络中的dropout层,采用权重衰减来防止过拟合,即在梯度下降的过程中,使权重逐渐减小,从而降低模型的复杂度,提高模型在不同场景下的泛化能力。对原模型中固定的学习率策略进行优化,添加学习率的动态下降,这将会使模型趋近最优值时减小震荡,从而更顺利地收敛。对用来筛选默认框与所有真实框之间重叠程度的阈值进行了调整,将阈值从原模型的0.5提升到0.8,这使得模型会筛选掉一些置信度较低的目标,从而降低了模型对林火检测的误报率。综上,经过对模型的改进精简了模型结构,增强了模型在多场景的泛化能力,使模型在梯度下降过程中更容易地求解最优值,一定程度上提高了模型的识别准确率。
1.3.2 模型损失函数的选择和设计
SSD模型的损失函数(L)由位置损失(Lloc)和置信度损失(Lconf)两部分加权求和取得[22]。计算公式如下:
式中:c为置信度;l为预测框;g为真实框;x为预测框与真实框关于类别是否匹配,取值为{0,1};N代表匹配到真实框的预测框数量;α表示位置损失的权重,其大小决定了两种损失之间的比例,通常情况下设为1。通过SSD目标检测网络,对输入的森林火灾火源点进行学习特征,需要运用损失函数进行分类和位置的定位。常见的位置损失函数有均方误差(MSE)、平均绝对误差(MAE)以及光滑后的L1-loss(SmoothL1)[23]。
MSE损失函数的特点是求导得出的解比较稳定,缺陷是梯度不稳定,极端情况下会导致梯度爆炸,使得SSD网络训练过程中无法继续学习数据中的特征,甚至出现无法再更新的NAN(运算不能执行)权重值。MAE损失函数曲线呈V字形,其特点是梯度稳定,然而MAE损失曲线在中心点处不可导,不利于求最优解。因此,MSE和MAE两种损失函数在整个训练过程中并不总是最优选择,在利用SSD模型进行林火的目标检测时并不是最优解。SmoothL1 损失函数(fSmoothL1)结合了MSE和MAE损失函数的优势,其计算公式如下[24]:
SmoothL1相较于MAE和MSE损失函数的最大优势在于其对梯度的限制,即使预测框与实际位置相交部分很小甚至不相交,但SmoothL1下此时的梯度起伏较小,这就使得梯度不至于过大导致梯度爆炸;当预测框与真实框差别较小时,此时梯度不再是稳健的值,曲线变为光滑的,便于计算机进行求导计算,把梯度值降到足够小,使模型在后期可以更好地收敛,获得更加理想的学习效果。因此本研究选用SmoothL1作为位置损失(location loss)来表示真实框和候选框(先验框)参数之间的损失,其计算公式如下[25]:
式中:x(k,ij)表示序号为i的预测框与序号为j的真实框关于类别k的匹配程度,取值为{0,1},(xc,yc)代表默认框的中心,w和h则分别代表默认框的宽和高,P表示正样本。在初始训练时,锚框和真实框的偏差较大,即l(m,i)-ĝ(m,j)损失的梯度会非常大,影响训练过程。因此本研究使用SmoothL1作为损失函数,一方面防止在训练初期出现梯度爆炸,另一方面在训练后期降低梯度,使得模型更好地收敛。
此外,置信度损失Lconf也是损失函数[26]的组成部分,其计算公式如下:
式中,i表示第i个预测框对相应类别k的预测概率。因此公式的前半部分表示正样本(P)的损失,即预测框匹配到待识别类别k的损失;公式的后半部分则表示负样本(N)的损失,即分类为背景的损失。由公式(4)可知,预测框内有物体且与真实框关于类别k的预测概率越大,损失越小,同理当预测框内没有物体且匹配到背景的预测概率越高,损失也越小。综上,位置损失Lloc和置信度损失Lconf按照不同的权重组成模型的损失函数,同时由于损失函数与预测概率的相关性,损失函数曲线通常作为模型训练和评估阶段的一个重要参数。
1.4 模型训练与模型生成
1.4.1 模型训练环境
在Ubuntu20.04.2LTS操作系统下基于TensorFlow深度学习框架训练并评估,为缩短同等状况下训练的时间,升级显卡的Driver Version至当前显卡的最新版本,采用GPU并行加速训练,模型运行环境平台的基本配置GPU为NVIDIA GeForce GTX 950M,GPU加速库为CUDA9.0,Python版本为3.5.6。
1.4.2 超参数的设置
超参数是在训练开始前人为设定的模型参数,理想的超参数有助于模型的收敛以及识别精度的提高。使用了adam(随机梯度下降)优化器,融合了AdaGrad和RMSProp两种优化器算法的优点,使用动量和自适应学习率来加快收敛速度,降低内存需求的同时,对超参数具有很好的解释型,使得在训练过程中只需微调甚至无需调整。超参数的选择一般根据经验来确定,本研究通过实验前的多次预实验结果确定超参数的理想设定范围。训练共迭代了20 000步,其中部分重要超参数的设定如下:学习率(learning rate)设置为1×10-3,最大迭代次数(max epoch)设置为20 000,批次大小(batch size)设置为16,权重衰减(weight_decay)设置为5×10-4。
初始学习率为0.001,本研究训练过程中设置了学习率的动态下降,而非固定的学习率,这使模型在趋近最优点时不会产生较大的震荡,可以顺利地收敛。
1.4.3 模型生成
经过20 000次迭代之后,可以得到若干轮训练过程中保存的模型文件,将TensorFlow计算图的结构、断点文件列表、网络权值等保存以便后期训练或调用。本研究选取20 000步训练结束后保存的模型文件作为最优模型进行后续的调用和评估,获得的ckpt文件可以调用进行林火识别的检测,识别结果可作为模型的初步评估参考。
1.5 模型评估
1.5.1 模型的初步评估
模型的初步评估可以通过特征图可视化以及对测试集中的林火图像进行测试获得。通过加载模型对模型未学习过的森林火灾疑似图像进行目标检测,可以得到模型给出的目标预测边界框以及该目标属于森林火灾特征的分类概率,即置信度。置信度越大,表明模型对森林火灾的特征越敏感[27]。模型对目标特征的敏感程度还可以通过特征图来直观衡量,将特征提取之后的特征图可视化,可以直观地评估模型对火焰的敏感程度。为方便观察模型的预测范围和实际特征范围的区别,将模型的检测结果和标注结果进行可视化,在火灾图像上进行位置对比,可以初步评估模型对火焰特征的识别效果。
1.5.2 模型的参数评估
模型的精准评估可以通过模型训练过程中的参数变化来衡量模型的质量。首先是训练过程中Loss值的变化,损失函数是用来估量模型的输出和真实值之间的差距,理想状态下模型的Loss值随着迭代次数的增加呈下降趋势。本研究通过对模型的交叉熵损失、位置损失以及Loss值进行可视化绘图,来评估训练过程中模型学习特征效果的变化。目标检测模型评估的另一个重要参数是平均识别精度(mean average precision,mAP),即各类别平均精度的平均值,mAP在P-R曲线[precision-recall curve,精确度(P)-召回率(R)]中的表现是精确度关于召回率函数曲线与坐标轴0~1范围围成的曲线面积。其中精确度和召回率的计算公式如下[28]:
式中:P为精确度;R为召回率;TP为真实情况下发生森林火灾并且模型也将其分为林火的样本;FN为真实情况下为林火但将其识别为未发生林火的样本;FP表示真实情况下没有发生火灾模型将其归类为发生火灾的样本。各类别平均精度的平均值越高,代表模型的性能越好,对火灾特征的检测更趋近于理想的结果[29]。最后漏检率也是一个重要指标,表示为实际存在的目标但模型未能检出的样本占总体目标数量的比例,在森林火灾识别领域非常重要,因为其代表了模型是否能准确发现所有火源点的性能。
1.5.3 不同模型之间的比较
通过对原模型同改进后的SSD目标检测模型进行对比,可以直观地看出模型改进后在识别精度上的提高。同时通过对SSD模型和Faster R-CNN模型之间进行横向对比,在相同配置环境、相同数据集的基础上两种模型对于火焰的平均识别精度以及识别速度方面进行对比,进一步验证本研究提出的基于SSD算法的目标检测模型在识别森林火灾领域的适用性和相对Faster R-CNN算法的优势。
2 结果与分析
2.1 模型特征图生成
搭建的SSD模型采用VGG16网络作为特征提取器提取火焰的颜色特征、纹理特征等,通过对网络不同层特征图可视化能够更直观地了解模型在不同深度的卷积层对林火特征的学习程度。本研究选取了特征提取网络的第1层、第3层、第6层以及第16层卷积生成的特征图进行可视化,同时为了更明确地对不同层的特征图进行对比,将各个层输出的特征图进行了融合,如图4所示。
特征提取网络的第1层卷积具有64个卷积核,每一个卷积核完成对图像的扫描都会生成1个特征图,因此输入图像经过第1层卷积输出为64副特征图,同理第3层、第6层及第16层分别输出128副、256副和512副特征图。由图4中融合之后的特征图可以得出:第1层和第3层特征图能够较为清晰地展现出火点的纹理、形状等,保留了数据的细节,这反映出浅层的卷积神经网络提取的特征倾向于纹理、边缘等数据的颗粒度信息,特征更加具象化;随着网络层数的加深,第6层及第16层特征图的分辨率逐渐下降,这是由于深层神经网络提取的特征偏向于图像整体性的信息提取,倾向于更加抽象的语义信息,同时对火焰的针对性更强。这表明模型正确提取了林火图像中的火灾特征,并对其有了初步感应,模型的识别精度有了初步的特征支撑。
2.2 模型识别的初步评估
调用训练生成的模型对林火图像数据进行检测,对模型进行初步评估。待检测数据分为两种:一是背景简单且只有一个火点的林火图像,二是具有多个火点且其中包括背景复杂或被遮挡的火焰特征点图像。检测数据集中随机选取两种数据以评估模型在不同场景下对火灾的检测能力,识别结果分别如图5所示。
本实验对于不同场景下森林火灾的图像具有理想的识别效果,尤其是在单火点的情景下效果更佳。识别结果中可以看出,单一火点下的置信度可以达到100%。在多个火点以及背景稍复杂的情景下,置信度略低,但边界框的标注仍比较准确,识别效果较为理想。
在实际的森林火灾检测中,由于森林郁闭度较高或有烟雾的干扰,火点的火焰部分往往会受到遮挡,从而影响检测结果。为测试模型在以上场景下的抗干扰能力,本研究选取了火焰遭受森林不同程度遮挡的图像用来模拟森林郁闭度较高时对检测准确率的影响,此外也对有烟雾干扰的林火图像进行了检测,结果如图6所示。
由图6b及图6c可知,当林火发生森林的郁闭度较高或者有烟雾干扰导致火焰部分遭受一定程度的遮挡时,模型对于火点检测的置信度会有一定程度的下降,分别为96.5%及96.2%,低于模型对林火的平均识别精度97.40%。极端情况下当森林的郁闭度达到高水平时遮挡了大部分的火焰时,影响了模型对火焰特征的提取,如图6a所示,其置信度为80.4%。因此在林火的火焰遇到较大遮挡(郁闭度较高)以及烟雾的干扰时,模型对于森林火灾的识别精度会有一定程度的降低,但总体能达到80%以上的置信度,反映出模型具备一定的泛化能力,对非理想情境下的林火检测具有一定的适用性。
对空旷条件以及遮挡条件下模型的预测结果进行可视化,其真实框和预测框的位置对比如图7所示。
模型检测结果中真实框与预测框重合度越高,模型对目标范围的检测越精准。本研究对模型的识别结果进行了可视化处理,一方面在测试集图像上标出了真实框和预测框,在同一张森林火灾图像上可以更加显著地看出模型预测目标范围和人眼识别目标范围的差别;另一方面对模型识别火焰的精度AP及漏检率等参数进行计算并做了可视化处理。
由图7可以看出,模型对于FLAME数据集上火源点的识别可以达到一个较为精确的效果,模型通过学习火焰特征给出的预测框的位置和人眼识别并标定的真实框的位置在测试集上基本重合,对于较小的火源目标也可以识别出火焰特征。另外,中间下方位置出现的红色识别框代表模型识别出林火但与实际情况不匹配,可以看出红色框内是火焰燃烧过后的剩余物。在标定过程中并未针对燃烧剩余物进行专门标注,仅在标注火焰时部分包含,但是模型在训练过程中学习了这一部分特征,并且在测试时成功检测,表明本模型对于森林火灾发生过后的过火场景有一定的判别能力,可能发生正常情况下的误判。
2.3 模型识别的参数评估
对模型参数进行了评估,在数据集的设置上借鉴了SSD模型在Pascal VOC 2007数据集上的训练及评估方法,对模型的各项参数进行分析。首先对模型的Loss值进行分析,本实验模型的交叉熵损失、位置损失以及Loss值随迭代次数变化的曲线见图8。
通过损失值随训练过程的曲线变化图可以看出模型的收敛情况,训练神经网络的理想过程就是通过训练使得Loss值不断变小的过程。从图8a可以看出交叉损失随着训练步数的增加逐渐减小,在神经网络中,softmax()的作用是将原始输出值经过计算处理后得到一个概率值。而交叉熵实际上反映了实际概率与期望概率之间的距离。因此交叉熵损失逐渐减小意味着模型的识别精度逐渐提高。此外location_loss(位置损失)和总体Loss值也在逐渐减小,这代表预测框与真实框位置之间的差值越来越小。从图8b看出,随着训练步数的迭代,模型的损失值由训练初期的35.31逐渐下降,且下降速度逐渐减小,最后稳定在7.10左右,模型收敛后识别精度也达到较高水平。
随着训练的迭代,损失值呈总体下降趋势是一个理想的状态。此外,还对于目标类别的识别精度AP进行了计算和可视化处理。将精准度和召回率分别作为坐标x和y轴的取值绘图得到P-R曲线如图9a所示。
由图9a可以看出,模型的P-R曲线与坐标轴所围成的面积包含了坐标轴0到1围成的正方形面积的大部分,两者的比值即为本模型对林火的识别精度(AP),模型的平均识别精度(mAP)是一个能准确反映模型优劣的参数,经计算可知mAP为97.40%,因此本模型可以满足大部分场景下对森林火灾初期的识别检测精度要求。通过计算未检测出的火焰特征样本占总样本的比值可以得出漏检率,由图9b可以看出,模型对于疑似火灾特征的图像漏检率仅为0.03,证明模型对于火焰特征较为敏感,未检测出的样本占比很少。因此在实际的林火检测过程中可以保证较高的林火识别优势。
2.4 不同模型之间的性能对比
为验证本研究所提出的SSD模型在识别森林火灾特征方面的性能,在相同的实验环境下,基于相同的训练集、测试集和验证集,采用原始SSD模型和Faster R-CNN模型以mAP值和每张测试图片的平均检测时间为指标进行比较,其中Faster R-CNN模型指定PASCAL VOC07+12格式的数据集进行训练,并未使用coco格式的数据集,结果如表1所示。
由表1可以看出,改进后的SSD模型在检测时间和原始SSD持平的前提下,其平均识别精度提高了6.65%,因此对森林火灾有着更高的检测精度。另外基于改进SSD的森林火灾目标检测模型,
在模型间横向对比的评估效果上有着不弱于二阶模型Faster R-CNN的mAP,识别精度可以达到理想的效果,但在小目标的检测效果上,Faster R-CNN给出的预测框具有更高的置信度。此外,SSD模型对测试图片的平均检测时间仅为0.07 s,调用模型时的检测效率远高于使用Faster R-CNN模型,这在应用到实际情境中时体现得尤为明显。在面对无人机传回的大量疑似森林火灾的图像时,SSD模型更高的检测速率可以保证森林火灾识别对高效率的要求。相较于二阶模型的高精度、相对较低效率,本研究提出的SSD模型不仅保证了较高精度,在每秒的数据处理量上更是超过Faster R-CNN模型的5倍,这使得在同等条件下,该模型可以更快地识别出可疑的火灾图像,大大缩短了森林火灾发生到被发现的时间,降低了易蔓延且破坏能力强的森林火灾短时间内迅速增大过火面积的可能性。因此本研究提出的模型在检测森林火灾时能够为救火人员及时提供预警方面的信息,具有较好的应用潜力。
3 讨 论
借助无人机俯拍视角下的森林火灾图像建立林火数据集,通过图像方面的目标检测在已有数据集上实现了对早期森林火灾的检测,并在多个场景下的识别达到了90%以上的识别准确率。实验过程中超参数的设置对实验结果有着显著的影响,当学习率从0.001调整为0.01时,Loss值在1.34到95.37之间跳跃,模型无法收敛,导致无法获取有效检测森林火灾的模型;另外,批次大小设置为2或4,每个批次中的数据量较少,引入了较大的随机性,同样无法收敛,设置为16时使下降方向准确,震荡较小。理想的超参数能够推动模型的收敛,本研究对超参的设置可为相关实验提供一定的参考。此外,采用了权重衰减来防止过拟合,保证了模型在多个场景下的识别能力,在模拟森林郁闭度较高、有烟雾干扰等对火焰遮挡较大的场景下仍能达到80%以上的置信度,反映出模型具有一定的抗环境干扰能力,为不同场景下的森林火灾检测提供一定的参考。
高桂雨等[30]基于目标检测SSD算法对森林火灾监测模型进行研究,选取损失值最小的模型进行评估,经测试其模型对森林航拍图像数据集中火焰的检测平均准确率为93%。由于在超参数设置时将学习率设定偏大,虽然加快了训练过程使模型收敛的过程缩短,但是一定程度上牺牲了对目标的平均准确率。对比其基于SSD算法实现的对森林火灾图像的检测研究,本研究采用了学习率的动态下降,避免了模型在趋近最优值时因震荡过大而无法收敛,保证了模型的检测精度,最终得到针对林火的平均识别精度为97.40%,并且对模型各项参数的评估方面更加完善。然而本研究提出的基于SSD模型对林火特征进行识别的方法在针对林火图像中的微小单一火源点以及多火源点识别精度时相对较低,Faster R-CNN模型却可以给出较高的置信度,且针对该特征的漏检率较低,因此可以借鉴Faster R-CNN模型优越的小目标识别能力在现有基础上对模型进行改进,提高模型对于多目标小目标检测的能力。此外也可以建立林火检测系统,将SSD模型和Faster R-CNN模型嵌入,设定阈值使计算机在不同的场景下选择合适的目标检测模型,从而弥补单模型下的精度检测劣势。
4 结 论
1)基于深度学习的SSD目标检测算法对森林火灾的识别准确率达到97.40%,漏检率低至0.03,说明基于SSD模型的林火图像识别能够实现对早期森林火灾的准确监测。
2)联合无人机平台对林火图像数据的实时传输,本研究提出的基于SSD算法的林火检测模型对火灾图像的平均检测速度为0.07张/s,将其应用在大尺度待检测范围以及大批量数据处理时该模型优势尤为明显,能够在更短的时间内处理获取的火灾图像数据,提高森林火灾监测预防的自动化水平,为森林火灾预防的数字化和自动化提供了参考。
参考文献(reference):
[1]国家统计局.中国统计年鉴[M].北京:中国统计出版社,2020:259. National Bureau of Statistics. China Statistical Yearbook[M]. Beijing: China Statistics Press, 2020: 259.
[2]李宾. 面向森林火灾的烟雾检测系统的设计与开发[D].青岛:山东科技大学, 2018. LI B. Design and development of smoke detection system for forest fire[D]. Qingdao: Shandong University of Science and Technology, 2018. DOI:10.27275/d.cnki.gsdku.2018.000552.
[3]GIGLIO L, DESCLOITRES J, JUSTICE C O, et al. An enhanced contextual fire detection algorithm for MODIS [J]. Remote Sensing of Environment, 2003, 87(2/3): 273-282.
[4]付迎春,徐颂军,陈蜜.基于MODIS影像梯度的林火边界提取方法[J].林业科学,2008,44(7):56-61. FU Y C, XU S J, CHEN M. Extraction of forest fire edge line based on MODIS imagery gradient [J].Scientia Silvae Sinicae, 2008,44(7):56-61.
[5]杨光,宁吉彬,舒立福,等.黑龙江大兴安岭卫星热点预报森林火灾准确性研究[J].北京林业大学学报,2017,39(12):1-9.YANG G, NING J B, SHU L F, et al. Study on the accuracy of forest fire prediction by satellite hot spots in Daxing’an Mountains of Heilongjiang,northeastern China [J]. Journal of Beijing Forestry University, 2017,39(12):1-9. DOI:10.13332/j.1000-1522.20170147.
[6]单会见. 基于无人机的林火识别和定位算法研究 [D].杭州:浙江农林大学, 2019. SHAN H J. Research on forest fire identification and location algorithm based on UAV[D]. Hangzhou: Zhejiang Agriculture and Forestry University, 2019.
[7]马越豪, 卢晓, 董佩, 等. 基于图像特征的无人机火灾检测 [J]. 消防科学与技术, 2019, 38(5): 658-660. MA Y H, LU X, DONG P, et al. UAV fire detection based on image features[J]. Fire Science and Technology, 2019,38(5):658-660.
[8]孙鹏. 基于改进SSD模型的小目标检测研究[D].南京:南京邮电大学,2021. SUN P. Small object detection research via optimized SSD model[D].Nanjing: Nanjing University of Posts and Telecommunications,2021.
[9]王飞. 基于深度学习的森林火灾识别检测系统的研究与实现 [D].成都:电子科技大学, 2020. WANG F. Research and implementation of forest fire detection system based on deep learning [D]. Chengdu: University of Electronic Science and Technology of China, 2020.
[10]刘青, 刘志国, 刘守全, 等. 基于改进YOLOv3的无人机林火监测系统设计与实现 [J]. 消防科学与技术,2021, 40(4): 557-561. LIU Q, LIU Z G, LIU S Q, et al. Design and implementation of UAV forest fire monitoring system based on improved YOLOv3 [J].Fire Science and Technology,2021,40(4):557-561.
[11]傅天驹. 基于深度学习的林火图像识别算法及实现 [D].北京: 北京林业大学, 2016. FU T J. Forest fire image recognition algorithm and realization based on deep learning [D]. Beijing: Beijing Forestry University, 2016.
[12]陈燕红. 基于卷积神经网络的无人机森林火灾检测研究 [D].西安:西安理工大学, 2019. CHEN Y H. Research on forest fire detection using unmanned aerial vehicles based on convolutional neural network [D]. Xi’an: Xi’an University of Technology, 2019.
[13]周浪, 樊坤, 瞿华, 等. 基于Sparse-DenseNet模型的森林火灾识别研究 [J]. 北京林业大学学报, 2020, 42(10): 36-44. ZHOU L, FAN K, QU H, et al. Forest fire identification based on Sparse-DenseNet model [J].Journal of Beijing Forestry University,2020,42(10):36-44.DOI: 10.12171/j.1000-1522.20190371.
[14]马茂平. 基于特征显著性增强的改进SSD算法研究[D].成都:西南交通大学,2021. MA M P. Research on improved SSD algorithm based on feature enhanced significantly[D]. Chengdu: Southwest Jiaotong University,2021.
[15]LIU W, ANGUELOV D, ERHAN D, et al. SSD: Single shot multibox detector[C]//European Conference on Computer Vision. Cham: Springer, 2016: 21-37.
[16]李青援,邓赵红,罗晓清,等.注意力与跨尺度融合的SSD目标检测算法[J].计算机科学与探索,2022, 16(11):2575-2586. LI Q Y, DENG Z H, LUO X Q, et al. SSD object detection algorithm with attention and cross-scale fusion[J]. Journal of Frontiers of Computer Science and Technology,2022, 16(11):2575-2586.DOI:10.3778/j.issn.1673-9418.2102001.
[17]SHAMSOSHOARA A, AFGHAH F, RAZI A, et al. Aerial imagery pile burn detection using deep learning: the FLAME dataset [J]. Computer Networks, 2021, 193: 108001.
[18]刘嘉政,王雪峰,王甜.基于深度学习的树种图像自动识别[J].南京林业大学学报(自然科学版),2020,44(1):138-144.LIU J Z, WANG X F, WANG T. Automatic identification of tree species based on deep learning[J]. Nanjing For Univ(Nat Sci Ed),2020,44(1):138-144. DOI:103969/j.issn.1000-2006.201809004.
[19]齐浩. 基于SSD的目标检测算法及其应用研究[D].邯郸:河北工程大学,2021. QI H. Research and application object detection algorithm based on SSD [D].Handan: Hebei University of Engineering,2021.
[20]张倩如,王云飞,吕帅朝,等.基于改进GhostNet的小麦秸秆表皮结构完整性分类方法[J].南京农业大学学报,2022,45(4):788-798.ZHANG Q R,WANG Y F, LYU S C,et al.Integrity classification of wheat straw epidermis based on improved GhostNet[J].J Nanjing Agric Univ,2022,45(4):788-798.DOI: 10.7685/jnau.202108015.
[21]缪伟志,陆兆纳,王俊龙,等.基于视觉的火灾检测研究[J].森林工程,2022,38(1):86-92,100. MIAO W Z, LU Z N, WANG J L, et al. Fire detection research based on vision [J].Forest Engineering, 2022,38(1):86-92,100. DOI:10.16270/j.cnki.slgc.2022.01.007.
[22]LIU W, ANGUELOV D, ERHAN D, et al. Ssd: Single shot multibox detector[C]//Computer Vision-ECCV 2016: 14th European Conference, Amsterdam, The Netherlands. Springer International Publishing, 2016: 21-37.
[23]BAI G, HOU J, ZHANG Y, et al. An intelligent water level monitoring method based on SSD algorithm [J]. Measurement, 2021, 185: 110047.
[24]SUTANTO A R, KANG D K. A novel diminish smooth L1 loss model with generative adversarial network[C]//Intelligent Human Computer Interaction: 12th International Conference, IHCI 2020, Daegu, South Korea: Springer International Publishing, 2021: 361-368.
[25]张坚鑫,郭四稳,张国兰,等.基于多尺度特征融合的火灾检测模型[J].郑州大学学报(工学版),2021,42(5):13-18. ZHANG J X, GUO S W, ZHANG G L, et al. Fire detection model based on multi-scale feature fusion [J]. J Zhengzhou Univ(Eng Sci), 2021,42(5):13-18.DOI:10.13705/j.issn.1671-6833.2021.05.016.
[26]张勇. 基于改进型SSD的火焰及烟雾检测系统的设计与实现[D].长沙:湖南师范大学,2021. ZHANG Y. Design and implementation of fire and smoke detection system based on improved SSD [D].Changsha: Hunan Normal University,2021.
[27]张倩,周平平,王公堂,等.基于合成图像的Faster R-CNN森林火灾烟雾检测[J].山东师范大学学报(自然科学版),2019,34(2):180-185. ZHANG Q, ZHOU P P, WANG G T, et al. Faster R-CNN forest fire smoke detection based on synthetic images[J]. J Shandong Nor Univ(Nat Sci), 2019,34(2):180-185.
[28]陈琼,谢家亮.基于自适应采样的不平衡分类方法[J].华南理工大学学报(自然科学版),2022,50(4):26-34,45. CHEN Q,XIE J L. An Imbalanced classification method based on adaptive sampling[J]. Journal of South China University of Technology(Natural Science Edition),2022,50(4):26-34,45.
[29]南玉龙, 张慧春, 郑加强, 等. 深度学习在林业中的应用 [J]. 世界林业研究, 2021, 34(5): 87-90. NAN Y L, ZHANG H C, ZHENG J Q, et al. Application of deep learning to forestry[J].World Forestry Research,2021,34(5):87-90.DOI:10.13348/j.cnki.sjlyyj.2021.0020.y.
[30]高桂雨,李丁祎,赵娟娟,等.基于目标检测SSD算法的森林火灾监测模型研究[J].电脑知识与技术,2022,18(2):13-14,23. GAO G Y, LI D Y, ZHAO J J, et al. Research on forest fire monitoring model based on object detection SSD algorithm[J]. Computer Knowledge and Technology, 2022, 18(2): 13-14,23. DOI:10.14004/j.cnki.ckt.2022.0061.DOI:10.14004/j.cnki.ckt.20220061.
(责任编辑 李燕文)