基于改进YOLOv5的特征抑制多尺度林火检测算法
2023-12-05高源杨堃曹磊业巧林
高源,杨堃,曹磊,业巧林
(南京林业大学信息科学与技术学院,南京 210037)
近年来,随着温室气体的加剧排放,森林火灾频发,已成为一种世界性的自然灾害,越来越受到人们的关注。目前已有的林火检测技术有遥感、地理信息系统(GIS)、网络等现代高新技术,给人类研究林火检测提供了保障。随着图像处理技术和计算机算力的发展,基于图像处理的林火识别方法得到了空前的发展。针对林火检测问题,业界把机器学习中的模式识别和深度学习中的图像处理相结合,捕捉实时的数字图像,然后把图像传入计算机中分析和处理,进行特征的提取[1],为林火检测领域提出了许多解决方案。传统机器视觉在稍微复杂的场景下具有相对较差的鲁棒性,对于工作中的实际需求往往起不到很好的效果。目前,卷积神经网络已经被广泛应用于森林火灾的预防和农业检测中。经典的算法如RCNN、Faster-RCNN、SSD、YOLO等。但这些方法模型较大,检测速度较慢。除了检测算法的不足,无人机作为一种在高危地区进行探测任务的常用方式,由于飞行高度较高,导致拍出的图片小目标多,特征提取难度大;另外无人机飞行速度快,拍摄时抖动大,使得照片模糊;最后,在高空拍摄的场景较为复杂,小目标可能被其他物体所遮挡掩盖[2]。
在森林火灾监测中,传统的识别方法都是基于火焰的显著特征进行识别。以卷积神经网络为代表的深度学习由于其对图像优异的表征性能和目标特征的精确刻画,被广泛应用于以处理图像为核心的计算机视觉任务中,如图像分类、语义分割、目标检测。陈柯[3]提出采用模型实验和仿真模拟相结合的方法,基于图像处理技术对森林火灾探测方法及火灾信息的实时获取进行了分析研究。李英杰等[4]提出了一种基于自学习特征的林业业务图像自动分类方法,当被识别图像与同类图像存在局部信息相似时其会被正确识别,但对于林火的分类工作只能用作分类,无法精确定位到火点位置。张德雄[5]提出了一种实用的区域性划分方法,该方法能准确分割与森林场景无关的区域,并在后续的烟火检测中将其屏蔽,提高林火监控系统的鲁棒性,但是对林火的分割问题,实时性就很难保证。宋宁等[6]提出一种基于运动检测和像素颜色特征相结合的新的火焰检测方法,通过对火焰像素亮度区域和饱和度区域进行相关性分析来确定火焰。对林火检测直接使用目标检测的方法也存在一些缺陷,并未考虑林火的一些特性。这些特性包括火的尺寸差异性大、受背景干扰大等。卫星观测能够实时地对陆表的信息进行记录和监测[7],尤其适用于林火这种地表变化剧烈的场景,可以精确确定火灾发生的位置,获取火场活动的情况,较高的时空分辨率使数据更新具有一定的及时性,为其在林火风险预测、林火实时监测、林火灾后评估等方面的研究提供了重要参考。但遥感只适用于过火面积较大的森林火灾,过火面积较小的火灾并不能及时准确地监测[7]。
为了解决以上问题,笔者提出一种基于无人机遥感图像的林火快速检测方法,适用于密集小目标场景下的无人机航拍实时目标检测模型,以满足实际应用场景需求[8]。YOLO系列算法因为没有很复杂的结构,且计算处理能力很强,在计算机视觉中得到了很好的应用。YOLOv5是一种具有高性能的、通用的目标检测模型,可以一次性完成目标定位和分类的任务,提升泛化的能力,因此选择YOLOv5模型[9]作为骨干网络框架。为了证明本研究所采用网络的有效性,实验数据均来自自制的林火数据集,并在该数据集上进行与其他目标检测算法的对比实验。实验结果表明,改进后的YOLOv5模型应对这种环境下的对象具有最佳的检测效果,能够有效地为森林火灾预防工作提供重要依据。
1 材料与方法
1.1 数据样本
为了保证实验数据的准确性,实验所需的5 825 张数据样本均来自自制林火数据集,其中包括来自无人机采集的崇礼地区的真实火灾的图片,同时含有大量的森林和火灾以及其他背景的场景,有效提升了林火检测的鲁棒性。部分火焰的数据样本见图1。
1.2 改进后的YOLOv5模型
本研究所提出的改进的YOLOv5算法模型的网络结构能更好适用不同场景下对林火的检测,同时可一定程度上提高林火检测的精度和局部细节检测的能力,其模型的鲁棒性也得到进一步提高。改进后的算法模型网络结构如图2所示。
1.2.1 数据增强处理
首先将图像数据进行缩放处理,统一调整为640×640像素,然后使用LabelImg工具对图像进行标注处理[10]。标注的标签分为fire,按照7∶2∶1的比例划分训练集、验证集和测试集,通过对数据集及检测目标的特定分析,丰富样本的多样性。本研究进行了HSV通道颜色变换,图像水平翻转、垂直翻转,对比度调整等。针对实验中出现的不明显、小尺寸的图像,采用Mosaic对数据进行增强[11],将4张图片进行随机裁剪、缩放、拼接,让小目标更容易被模型检测到,从而增加其样本数量[12],漏检的风险大大降低。数据增强后的图像见图3。
图3 Mosaic数据增强图像Fig. 3 Mosaic data enhanced images
1.2.2 NAM注意力机制
在神经网络训练的过程中,注意力机制能够起到抑制通道和空间中不太明显的特征。以前很多研究是通过注意力算子来进行特征提取的,这些方法可以发现不同纬度之间的特征信息。权值的贡献因子可以抑制那些不显著的特征,让显著的特征更加明显,但是之前的方法并没有把它考虑进去。所以,瞄准利用权值的贡献因子是能够很好地提高注意力效果的,使用Batch Normalization的缩放因子来表示权值的重要程度[13]。这样可以避免如SE、BAM和CBAM[14]等增加全连接层和卷积层。因此,需要一个新的注意力方式:基于归一化的注意力(NAM)[15]。
NAM是一种轻量级的注意力机制,集成采用的方式为CBAM,把空间注意力和通道注意力的模块重新进行了调整,NAM可以嵌入每个网络block的最后。对于残差网络,可以嵌入残差结构的最后。对于通道注意力子模块,使用Batch Normalization中的缩放因子,如式(1)所示,其中Bout、Bin分别为模块输入和输出,μB和σB分别为小批量B的均值和标准差,γ和β为可训练的仿射变换参数(尺度和位移)。缩放因子能够显示出各个通道信息变化的程度,它也表示了每个通道的意义[16]。而缩放因子就是BN中的方差,方差越大表示一个通道信息变化的程度越高,从而在这个通道中所包含的信息就更多,所以意义也更大;而对一些变化程度不大的通道,信息更少,所以意义更小。
通道注意力机制如图4和式(2)所示,其中Mc为输出特征,Wγ为权重。对空间维度应用一种BN缩放因子来衡量像素的重要性,称这个过程为像素归一化。空间注意力机制如图5和式(3)所示,其中,输出记为Ms,λ为比例因子,Wλ为权重。式(4)表示在损失函数中加入正则化项,目的是抑制那些不太显著的权重,其中,x为输入的值,y为输出的值,W为网络权值,l(·)为一个损失函数,g(·)为l1的范数罚函数,p为平衡g(γ)和g(λ)的惩罚。
图4 通道注意力机制Fig. 4 Channel attention mechanism
图5 空间注意力机制Fig. 5 Spatial attention mechanism
(1)
Mc=sigmoid{Wγ[BN(F1)]}
(2)
Ms=sigmoid{Wλ[BNs(F2)]}
(3)
(4)
1.2.3 ObjectBox检测器
YOLOv5模型采用的目标检测头主体是3个Detect检测器,即利用基于网格的anchor在不同尺度的特征图上进行目标检测的过程。当实验输入尺寸是640×640时,得到3个尺度的输出(80×80,40×40,20×20)。其中,80×80层代表浅层图,包含较多的浅层目标信息,适用于检测目标信息,所以这部分特征图采用小尺度anchor;20×20 层代表深层的特征图,包含更多高层级信息,如轮廓、结构等,适用于检测大目标,所以采用大尺度anchor;40×40层则介于二者之间,适用于检测中等目标。但本研究采用了一种新颖的单阶段Anchor-free且高度通用的目标检测方法ObjectBox[17]。与现有的Anchor-free检测器相比,原有方法在标签分配中更偏向于特定的目标尺度,ObjectBox仅使用目标中心位置作为正样本,并在不同的特征级别平等对待所有目标,而不管物体的大小或形状。Anchor-free方法采用空间和尺度的约束,先在一定空间中找出候选的正样本,再根据尺度选择正样本。这是通过一定约束去划分正负样本,但忽视了面对不同大小、形状的目标可能目标框不同。本研究采取一种更公平的方法,只从对象的中心位置进行回归。为了支持这一点,将新的回归目标定义为从包含对象中心网格单元的两个角到边界框边界的距离。原模型采用的Anchor-free检测器工作原理和本研究采用的ObjectBox检测器工作原理见图6,只从中心位置进行回归,扩展了正样本。
图6 Anchor-free检测器Fig. 6 Anchor-free detector
1.2.4 损失函数
本研究以YOLOv5模型为基础,框架模型如图3所示。第一步要用Mosaic对原始图像进行数据增强,然后把这些具有良好泛化性的图像输入模型中。YOLOv5作为目标检测算法中最常用的单阶段模型之一,在此基础上进行一些算法改进,设计林火的识别模型。损失函数是用来衡量模型预测值与真实值之间偏离程度的。YOLOv5的损失函数由3个部分组成,分别是边界框损失Lbox、置信度损失Lobj和分类损失Lcls[18],总的损失函数如式(5)所示:
Loss=Lbox+Lobj+Lcls
(5)
YOLOv5原始模型使用的边界框损失函数用GIoU定义,如式(6)和式(7)所示:
(6)
(7)
式中:IoU为交并比,IoU越接近1,说明检测效果越好;预测框和真实框用A和B表示;A和B最小的外接矩形用C表示。
使用GIoU作为边界框的损失函数有效解决了交并比为0时损失函数不可导的问题,但GIoU无法考虑边界框中心点的距离和重叠面积。针对这些问题,本研究GLYOLO算法模型采用CIoU作为林火检测的边界框损失函数(公式中记为LCIoU),如式(8)、式(9)和式(10)所示:
(8)
(9)
(10)
式中:b和bgt分别为预测框和真实框的中心位置;ρ为中心点间的欧式距离;c为预测框和真实框最小外接矩形对角线的长;w和wgt分别为预测框和真实框的宽[19];h和hgt分别为预测框和真实框的高;α为权重系数;v用来衡量预测框和真实框的宽高比差异性,如果宽高比差异越大,v也越大。
1.3 模型训练
实验环境是Windows10操作系统,使用GeForce RTX3060显卡进行运算,CPU配置为Intel(R) Xeon(R) Gold 5118 CPU @ 2.30GHz,PyTorch 版本为1.10.2,Python 语言环境为 3.8, CUDA版本为11.6。
本实验共进行100轮次迭代,采取的参数设置图像输入均为640×640,迭代批量大小为8,使用SGD优化器,初始学习率设置为0.01。在目标识别任务中采用查准率(precision,P)、召回率(recall,R)、平均精度均值(mAP,MAP)和识别速率等评估指标[10]。查准率是指在所有识别到的样本中正样本所占的比例;查全率则指在应该正确识别到的正样本中被正确识别的正样本所占比例;F1分数结合了查准率和查全率;识别速率代表模型每秒钟处理图片的帧率,值越高代表速度越快。
(11)
(12)
(13)
(14)
(15)
式中:TP为正确识别的正样本数量;FP为错误识别的正样本数量;FN为未能识别的正样本数量;AP为每一个类别的平均精度[20];Nc为总分类数量。为了评价对不同尺度的效果,这里采用Microsoft COCO[21]来评估,标准如表1所示。
表1 不同尺度目标在Microsoft COCO标准下的精确率和召回率Table 1 Accuracy rate and recall rate of different scale targets under Microsoft COCO standard
2 结果与分析
2.1 对比实验
为进一步验证改进算法的有效性,将本研究的算法与YOLOv3、YOLOv4、YOLOv5、YOLOv7和YOLOX等网络模型在相同环境配置下做对比试验。5个网络都选择相同的损失函数LCIoU进行实验,保证实验准确性。对比实验结果指标仍采用上述评价指标,如表2所示,YOLOv5-no网络模型对比其他网络模型更具有优势,MAP值对比原始的YOLOv5模型高了3个百分点,比YOLOv7和YOLOX效果分别高约5.6个百分点和7.9个百分点。从对比的实验结果可以证明,YOLOv5-no识别森林火灾这种环境复杂、目标模糊、目标对象太小的情景效果更佳(表3)。
表2 不同算法模型性能对比Table 2 Performance comparison of different algorithm models
表3 基于Microsoft COCO标准下不同尺度大小的实验结果Table 3 The experimental results of different sizes based on the Microsoft COCO standard
改进后的YOLOv5模型在林火数据样本上的检测效果如图7所示,可以看出,模型在不同尺度、形状各异的目标中都可以准确地进行识别操作。
图7 改进后的模型提升的林火识别精度对比图Fig. 7 Comparison of forest fire recognition accuracy of the improved model
2.2 消融实验
实验结果如表4所示,由表4可以看出,改进的YOLOv5模型正在一步步优化;平均精度均值有显著提高。接着在保证损失函数都是LCIoU的前提下改变网络的数据增强方式,发现使用Mixup数据增强方式的效果较差,但改为Mosaic数据增强方式后效果有一定的提高;最后改变了原网络的Anchor-free方式,使用了更准确的ObjectBox检测器和NAM注意力机制,实验评价指标有了更明显的提升。实验结果显示,MAP值从62.3%提高到65.3%,MAP值共提升了3.0%。
表4 不同模块改变后的性能对比Table 4 Performance comparison of different modules after change
综上所述,本实验采取的数据增强方式、定位损失函数、无锚框检测器在林火检测上有很好的效果,实验的改进具有强烈的针对性,在无人机拍摄环境时的检测效果显著,展现了本模型在应对不同目标环境时的优秀性能。YOLOv5-no及其他不同算法随迭代次数变化的查准率和查全率结果见图8,体现了YOLOv5-no模型的优越性。
图8 各模型的查准率和查全率对比Fig. 8 Comparison of precision and recall of each model
查准率是模型预测的所有目标中预测正确的比例,有利于突出结果的相关性,代表真实的正样本与总体样本之间的比例关系,所以数值越大表示真实模型识别的精度越好;而查全率又称召回率,所有的真实(正)目标中,预测正确的目标比例,代表的是样本中的正例有多少被正确预测了,所以值的大小直观地体现了图像中被识别的物体的数量。从图8a可以看出,YOLOv5-no模型的表现优于其他模型;从图8b可以看出,几个模型在3个epoch之前都上升得非常快,在3~7个epoch之间先迅速下降,后又呈上升趋势。从图9可以看出,最后YOLOv5-no模型的表现要优于原始的YOLOv5模型。各个算法在实验数据集所得到的MAP趋势见图9,其中0.50和0.95是阈值设置,MAP值表示的是对所有分类的目标进行平均计算的平均准确率值,从图9得出MAP值总体都呈现上升趋势,模型的MAP值随着模型的优化也在不断提高,mAP0.5从原模型的65.2%提升到了65.3%,mAP0.5∶0.95值也从最初的26.7% 提高到了27.9%。
图9 各模型的mAP0.5值与mAP0.5∶0.95值比较Fig. 9 The mAP0.5 value of each model compared with the mAP0.5∶0.95 value
3 结 论
本研究主要针对林火数据样本进行检测任务,提出了一种基于无人机遥感图像的林火快速检测模型。该模型在YOLOv5网络的基础上做出了部分改进,采用Mosaic数据增强的方式不仅提升了模型泛化能力,并且丰富了训练数据中的小目标样本的数量;其次改进了原先的无锚框检测器,使用了一种新颖的单阶段Anchor-free检测器,提升网络识别目标的准确率;最后使用了更先进的定位损失函数降低了在定位损失部分的精度。本实验选取了自建的部分无人机遥感图像进行训练和测试,最后所提出的模型平均精度均值对比原YOLOv5模型显著提高3%左右。本研究还设置了对比试验,证明该实验所提模型的准确性和有效性,相较于其他目标检测模型,本研究提出的模型具有更明显的优越性。实验结果表明,改进后的YOLOv5算法模型能够准确地定位森林火灾,当发生大面积的、大规模的林火检测任务时,能够作为一种高效的检测方案。