基于YOLOv5s的遥感卫星图像森林火灾检测算法

2023-09-25 19:33王靖超刘勇宏杨怡琳谭东王鸿裕刘金平
电脑知识与技术 2023年23期

王靖超 刘勇宏 杨怡琳 谭东 王鸿裕 刘金平

关键词:遥感卫星;超分辨率;火焰检测;YOLOv5s;森林火灾检测

0 引言

森林火灾是一种毁灭性的森林灾害。目前,世界上每年大约发生森林火灾20多万次,烧毁森林面积数百万公顷,致使成千上万人死亡,并严重地污染了大气环境。比如,自2019年7月18日起,澳大利亚新南威尔士州大火开始熊熊燃烧至2020年2月12日,在大火燃烧的7个月的时间中,烧毁土地面积达400公顷,1200万公顷土地过火,造成33人死亡,导致超10亿动物死亡,2 500间房屋被烧毁,65万只蝙蝠涌入城区,释放了4亿吨二氧化碳,对全球气候产生了巨大影响;2019年的四川凉山森林火灾造成 31名消防战士牺牲,过火面积几十万公顷。森林火灾不易被发现,一旦灾情失控容易造成极大的经济损失和人员损失。

近些年来,因全球变暖加剧,森林火灾有加剧的趋势。森林火灾由于发生环境的特殊性,往往具有突发性高、危害性大,发生后的扑救工作困难等特点。近年来,发达国家将红外检测技术应用于森林火灾的识别,利用无人机搭载热红外相机或者卫星遥感技术,来监测地面温度的异常变化。我国也在该方向进行了很好的探索,早在20世纪80年代[1],中国科学院在黑龙江开展的机载遥感森林探火实验是我国首次将遥感技术成功运用到森林火灾中。在大兴安岭的一起特大火灾在卫星图像的播放下准确地反映了火场具体情況,运用遥感技术监测火灾发生,为有关部门提供了十分有效的情报。在四川木里县火灾中,通过人工智能与遥感图像大数据火情识别算法对火情进行监测,为林火扑救指挥决策的提出提供了帮助。

森林火灾检测是通过收集遥感卫星对森林区域进行日常拍摄的遥感图像,并对其进行目标检测识别,判定图像中是否存在火点的方式来进行的。随着遥感技术、深度学习等技术的迅猛发展,遥感图像在森林火灾上的应用要求也不断提高,基于遥感图像的自动森林烟火检测受到国内外广泛关注。但现阶段地形、植被、气象等影响因素对卫星遥感监测林火的影响依然较大,因此更需要加大高分辨率在林火监测方面的应用研究力度[2],火灾初期小火焰的检测准确度仍需继续提升。

为实现小火焰目标的准确检测,对卫星遥感图像进行超分辨率处理,再基于所生成的高分辨率的遥感图像进行烟火目标检测,这样将大大提高森林早期火灾的检测准确率。2017年,Christian Ledig等人[3]使用生成对抗网络应用于图像超分辨率(SRGAN) ,设计了新型感知损失作为网络的损失函数对图像进行超分辨率重建工作。通过生成器和判别器的对抗学习,当判别器无法有效分辨出生成的超分辨率图像与真实图像时,通常结束模型训练,从而可基于低分辨率的遥感图像生成对应的高分辨率图像,便于火焰目标的有效检测。受该研究工作的启发,本文对SRGAN模型进行调用,用于重构超高分辨率的卫星遥感图像,以有效提高遥感图像中早期微小火灾目标检测的准确率。

目标检测是机器视觉中一个基础性的关键性研究课题,目前已提出了大量的目标检测方法。自深度学习问世以来,利用卷积神经网络提取更深层次、更抽象的检测识别特征的能力,使得基于深度学习的目标检测方法性能得到革命性提升。目前基于深度学习的端到端目标检测方法主要分为两类:基于候选区域的二阶段目标检测器和基于回归的单阶段目标检测器[4]。YOLO是单阶段目标检测器中的一种。在目前发展过程中,YOLOv5集成了YOLOv3与YOLOv4的部分特性,迭代发展出更高的基准精度,且其为轻量级的网络模型,具有优异的对象识别速度。

针对现有遥感图像分辨率低,造成传统方法难以实现早期火灾火焰目标准确识别的问题,本文提出一种基于YOLOv5s的遥感卫星森林火灾检测算法。在该算法中,首先自动通过SRGAN模型对遥感图像进行超分辨率处理,以提高模型检测精度,然后通过YOLOv5s目标检测算法,对原本模糊、细小火点进行检测处理,得到相对于原来更完整准确的结果。所提算法基于公开的“哨兵”卫星遥感图像数据集进行大量的实验验证,结果表明,该算法可以有效检测出各种遥感图像中火焰目标,有效降低漏检和误检率。

1 基于YOLOv5s 的遥感卫星图像森林火灾检测算法

当下,人工智能迅速发展,其领域内计算机图像识别与处理的相关技术已经达到了一定高度,涌现出大量目标检测算法,主流的两种大致为以YOLO系列为代表的one-stage 算法与以R-CNN 系列为代表的two-stage算法[5]。

考虑到森林火灾的监测具有时效性,须保证软件系统达到实时性的要求,本研究选择采用速度相对较快的one-stage算法,采用其中应用最为广泛的YOLO 系列,选择稳定性高、适用于火焰目标检测的YO?LOv5s算法,在此基础上进行改进延伸。

但因为遥感卫星图像的图像质量不高,图像经放大后存在像素点分辨率较低的问题,严重影响了火焰目标检测的效率与准确性,本研究选择采用能够提高图像分辨率的SRGAN模型首先提高其图像质量,然后通过YOLOv5s进行火焰目标的检测,以此提高火灾检测的准确性与效率。

1.1 基于SRGAN 的遥感图像超分辨率处理

SRGAN模型是一种基于生成对抗网络(GAN) 方法进行训练的图像超分辨率处理模型,其中SR是指从低分辨率图像中提取出高分辨率图像,GAN网络可以产生具有高感知质量的图像,它的基本组成结构包括一个生成器和一个判别器。生成器是一连串的Re?sidual block连接,使用了SRResnet的残差块架构,在每个残差块中包含两个3×3的卷积层,Conv后面设置了BN 层,使用PRelu 作为激活函数,通过两个Pix?elshuffler层来放大特征尺寸,最终再使用一个3×3的卷积层得到输出3 通道图像。判别器的主体使用VGG19,使用了8个卷积层,在每个Conv后面都设置BN层,采用LeakyRelu作为激活函数,最终用两个全连接层和最后的sigmoid激活函数得到预测为自然图像的概率,图1为SRGAN的网络结构图。

本文使用SRGAN模型来处理待进行火灾检测的遥感图像,以提升其图像分辨率质量,便于进行后面的火焰目标检测,进一步提高检测准确率和效率。

1.2 基于YOLOv5s 的火焰目标检测算法

YOLOv5目标检测算法划分为4个模块,具体包括:输入端、基准网络、Neck网络与Head输出端[6]。输入端需要输入图片,图像大小为608×608,该阶段包含图像预处理、归一化等操作,使用Mosaic数据增强操作提升模型的训练速度和网络的精度。基准网络用来提取一些通用的特征表示,YOLOv5中不仅使用了CSPDarknet53结构,而且使用了Focus结构作为基准网络。Neck网络使用SPP模块和FPN+PAN模块,可以进一步提升特征的多样性及鲁棒性。Head输出端用来完成目标检测结果的输出,YOLOv5 采用的是GIOU_Loss做Bounding box的损失函数,在目标检测的后处理过程中,针对目标框的筛选进行nms非极大值抑制操作。

YOLOv5 官方代码中给出了YOLOv5s、YO?LOv5m、YOLOv5l、YOLOv5x 共四个版本,其中YO?LOv5s具有深度和特征图宽度最小、速度最快、稳定性高的优点,适合用于火焰目标实时监测。本研究通过制作较小火点的火焰目标数据集,使用YOLOv5s進行训练,得到适用于较小火点的火焰目标检测模型,以达到实时监测在火灾初期及时发现的目的。

2 实验验证

本研究将对上述两个模型加以融合,在将遥感图像进行检测之前,先通过SRGAN模型超分辨率处理,得到更高质量图像,以得到更佳结果,再使用预训练好的YOLOv5s较小火点检测模型进行检测,得到最终结果。图2为遥感图像在超分处理前后缩略及细节对比图。

可见,经过处理后的图像具有更高的色彩度,放大后像素点更加清晰,能够在一定程度上提高检测的准确度。

2.1 数据集

由于遥感火灾数据集搜集难度大,且各卫星图像质量标准不一,本研究搜集了尽可能多的不同质量的样本数据,以达到较高适用率的效果,共搜集到600余张图像,考虑到数据量较小,训练时可能特征提取不足,采用概率为0.5的数据增强方法(分割、旋转、对比度等)来扩充数据量,并进行人工筛选,将无效数据去除,最终得到正负样本共1 100余张图像,其中部分正样本及其数据增强结果数据集示例如图3所示,部分负样本及其数据增强结果如图4所示。

为达到实验初期检测较小火点的目的,本研究对以上全部数据集使用LabelImg进行矩形框标注,尽可能多地将较小火点标注在内,分为火焰(fire) 和烟雾(smoke) 两个类别,如图5所示。

在标注过程中,本研究针对遥感图像火灾的特征和根据多次重复标注测试的经验得出对此数据集的标注准则如下:对于成片密集的火灾,应尽可能根据边界线去分别标注,以此达到对于较小目标火灾也能检测出并具有良好效果的目的;对于不同质量图像的火灾及烟雾,应尽可能充分结合其共同特征进行标注,以此提高模型的适用率和准确率,减少检测结果的疏漏情况。

2.2 模型实施与参数设置

本实验所用服务器环境为:CPU为11th Gen Intel(R) Core(TM) i7-11800H @ 2.30GHz 2.30 GHz,GPU 为NVIDIA GeForce RTX 3060 Laptop GPU,显存为6GB,操作系统为Windows11,编译环境为Python3.9+PyTorch1.8.0+Cuda11.1。

经过多次调参尝试,总结出在训练过程参数设置中,除迭代次数设置为200、批尺寸设置为8、输入图片设置为640×640外,其他参数均如官方代码默认设置时结果最佳,实验结果采用精确度(P) 、召回率(R) 以及平均准确率(mAP@0.5) 等值作为最终评价标准,各项值具体计算公式如下:

2.3 实验结果分析

经多次调参尝试,当迭代次数设置为200、批尺寸设置为8、输入图片设置为640×640,其他参数设置与官方代码默认相同,不使用冻结层时,模型训练能达到最佳结果,平均准确率mAP@0.5值为0.749,即平均准确率达到74.9%,对于火点的识别平均准确率为71.4%,烟雾的识别平均准确率为78.4%,如图6所示。

在此模型基础上,本研究融合SRGAN模型,对不同分辨率质量的遥感图像进行检测,来验证对图像超分辨率的处理能否达到预期提升YOLOv5s对较小火点目标的检测准确率及效率的目的,具体对比图如图7所示。

通过实验结果发现,经过超分辨率处理的图像在进行较小火点检测时,可以在一定程度上提高各预测框的置信度,达到提高YOLOv5s模型对较小火点目标检测效果的目的。并且,减少了不必要且置信度较低的预测框,可以实现每个预测框准确度提升且包含尽可能多的较小火点,提高检测效率的效果,对于烟雾的识别置信度也有所提高。

3 结论

为了解决目前遥感图像森林火灾识别效率低、准确率不高、对较小火点目标的识别困难的问题,本研究提出了一种融合SRGAN与YOLOv5s的遥感图像森林火灾检测算法,主要总结如下:

1) 首先,基于公开的遥感卫星图像数据和互联网数据制作一个针对较小火点目标的遥感森林火灾数据集,其中设置10%比例的负样本数据。

2) 通过调参找到最佳参数设置下的模型训练结果,将待检测的遥感图像进行超分辨率处理,对比处理前后图像的不同检测结果,发现各预测框的置信度在一定程度上有所提高,并减少了不必要且置信度较低的预测框,各预测框尽可能多地包含到所有较小火点,实现了在一定程度上提高遥感图像森林火灾检测效率及准确率的效果,对支持森林消防的工作具有一定意义。