1.文章信息
本次介绍的文章是2022年南京林业大学和国外团队共同发表的一篇基于计算机视觉的火灾检测文章。文章的题目为《MTL-FFDET: A Multi-Task Learning-Based Model for Forest Fire Detection》
2.摘要
基于深度学习的森林火灾视觉监测方法发展迅速,已成为主流。现有的方法基于大量的数据,在复杂的森林场景中存在特征提取能力弱、小目标识别能力差、漏检和误检多等问题。为了解决这些问题,文章提出了一种基于学习的多任务森林火灾检测模型(MTL-FFDet),该模型包含三个任务(检测任务、分割任务和分类任务),共享特征提取模块。
此外,为了提高检测精度,减少漏检和误检,文章提出了充分利用各任务优点的联合多任务非最大抑制(NMS)处理算法。同时,考虑到图像中被分割的火焰目标仍然是火焰目标的客观事实,文章提出的随机来源对角交换数据增强策略很好地弥补了由于火焰目标小而导致的检测效果不佳的问题。实验表明,文章的模型在mAP(平均平均精度)3.2%、APS(小物体的平均精度)4.8%、ARS(小物体的平均召回率)4.0%和其他指标上优于YOLOv5-s 1%到2%。最后,可视化分析表明,在特征提取过程中,文章提出的多任务模型比单任务模型更能聚焦目标区域,具有更强的提取能力。
3.介绍
森林是陆生动植物的基本栖息地,在维持生态系统的生态平衡方面发挥着重要作用。森林火灾是最具破坏性的林业灾害之一,破坏了全球碳循环、土壤特征和物种丰富度,并导致了气候变化。森林火灾甚至会危及人类生命和公共财产,给经济和资源造成损失。森林火灾蔓延迅速,目前难以有效控制或预防。因此,迅速定位火灾并在其成为严重事故之前将其扑灭是至关重要的。
传统的森林火灾监测主要依靠人工检查和常规传感器监测。而人工检查不仅需要人力物力的投入,还需要对火灾进行准确的定位。尽管传感器监测可以快速、准确地定位火灾,但用由温度、湿度、风和雨传感器等传统传感器组成的无线传感器网络覆盖整个森林的费用非常高。随着计算机视觉、遥感和人工智能技术的飞速发展,光学传感器因其成本低、覆盖范围广、处理实时、识别效率高等优点,在森林火灾探测中得到了广泛的应用。许多基于光学传感器的森林火灾探测研究,包括可见光、红外、高光谱、多光谱和360度相机,都取得了良好的进展。此外,用于森林火灾探测的平台也在不断发展。在发展的早期阶段,森林火灾探测平台依靠瞭望塔监测或卫星遥感。
然而,瞭望塔的监测非常不灵活,而且卫星图像太大,无法发现早期森林火灾。无人机(uav)以其灵活性和实时信息用于森林火灾早期预警是最近的趋势。深度学习方法在许多领域都优于传统的图像处理方法,在森林火灾检测中得到了广泛的应用。在以往的森林火灾检测研究中,使用了许多图像分类模型、目标检测模型和语义分割模型的实现;每一种方法都有其优点。然而,很少有研究将这些方法结合起来,考察统一的优势如何相互补充。文章探索了多任务的融合,并利用这些任务之间的联系,以提高森林火灾探测的性能。例如,图像分类关注全局信息,而目标检测关注区域信息,语义分割关注像素信息。为了提取森林火灾的更多特征,这些不同的细粒度特征的组合可以提供有用的帮助。此外,森林场景中的火灾图像难以获取,因此充分利用现有数据至关重要。多任务学习提供了同化相似但不相同任务的可能好处。
文章提出的MTL-FFDet模型更轻量级,是一个实用的端到端训练、推理和部署模型。尽管上述研究取得了令人满意的结果,但在复杂森林场景下,森林火灾的视觉检测仍存在许多问题。首先,深度学习是一种数据驱动的方法,公开的森林火灾视频和图像数据集数量有限,使得该系统难以学习有效的特征,导致模型泛化能力不足。其次,由于火焰具有丰富的动态和静态特性,以及缺乏固定的颜色、纹理和形状,因此充分提取火焰的本质特征是一项挑战。此外,森林环境中还存在红叶、光、影、暮光等多种干扰,这些干扰导致了大量的误检。第三,在实际应用中,无论是UA Vs的检测还是瞭望塔的固定监控,基于视觉的算法都受到摄像机像素的限制,对小火焰目标的检测能力较弱。特别是由于视觉角度的限制,火焰主体可能不在图像的中间,而是作为一个小而不完整的目标分布在图像的边缘。如果能够有效地检测出这些小目标以及不完全目标,将大大提高森林火灾探测模型的性能。因此,文章的模型更关注于提高特征提取、少镜头学习和小目标检测的能力。
文章的主要贡献有三个方面:
•文章提出了一个基于多任务学习的森林火灾检测(MTL-FFDet)模型,该模型包含三个任务,以增强其从小样本中提取特征和学习能力,以获得更好的性能。
•为了减少复杂森林场景中漏检和误检的发生,提出了一种多任务NMS联合处理算法,过滤掉冗余和劣质的预测框。
•提出了一种包含随机原点对角交换的数据增强方法,以增加小目标的数量,提高小火焰目标的检测性能,特别是在视点边缘的不完全小火焰目标。
4.模型
A. 数据集和标注
数据集的准备是文章算法实现的重要组成部分。文章从几个公共森林火灾数据集收集图像,包括VisiFire、ForestryImages、FiSmo、BowFire、fireense和EFD-Dataset,以形成的数据集。自建森林火灾数据集,包含日火、夜火、航火、定射火、山火、地表火、树干火、林冠火等,以及有扰动的天然林图像。数据集的多样性使算法在复杂的森林环境中具有更广泛的适用性。文章的数据集共包含6595张图像,其中3987张为森林火灾图像,2608张为森林场景中的非火灾图像。按照8:2的比例,将整个数据集随机分为训练集和验证集,分别用于训练和测试过程。一些代表性的样本如下图所示。
该检测模型基于本文提出的多任务学习,实现了目标检测、语义分割和图像分类三个任务。我们数据集中的每张图像都用三种类型的注释进行了注释。
图像分类的标记是在收集过程中完成的,而其他两个任务的注释稍微复杂一些,需要一些注意事项。对于物体检测,使用LabelImg工具将火焰区域框成一个矩形框;值得注意的是,注释的四个边界必须适合火焰目标,误差不超过两个像素。对于分割,文章使用Labelme工具使用多边形注释来勾画火焰目标,这是一个像素级分类。注释示例如下图所示。
B. MTL-FFDet
多任务学习(MTL)通过利用在相关任务中发现的特定于领域的信息来改进泛化和特征提取;这种方法与传统的单任务学习相反,传统的单任务学习努力使用特定的模型来完成任务。此外,MTL还带来了一些优点。它包含一个隐式的数据增强机制,可以通过在学习多任务时平均噪声模式来改进表示。与此同时,如果一个任务噪声很大,数据很少,或者是高维的,那么对模型来说,从不相关的变量中分离有用的变量可能是具有挑战性的。MTL可以通过专注于关键特征来帮助模型,因为其他任务将提供与它们相关或不相关的额外证据。
此外,归纳偏差作为正则化术语被引入。当多个相关任务共享互补信息并互为正则化时,可降低过拟合的风险和模型的复杂性。此外,通过跨多个任务共享层,计算重复最小化,推理速度提高,内存利用率降低。
文章的MTL-FFDet模型包括三个任务:林火目标检测、林火语义分割和图像分类。检测任务是主要任务,其他两个是次要任务。这三个任务共享基于卷积神经网络的骨干网,以更好地提取火灾特征,而检测和分割任务共享多尺度融合网络,以更好的特征表达能力。共享层既提高了少量样本的学习能力,也提高了森林火灾的特征提取能力,从而提高了性能和泛化能力。文章的MTL-FFDet的架构如下图所示。
Backbone被用作模型的共享层,以提取特征以便在以后的模块中使用,并用作MTL-FFDet模型的编码器。在我们的主干设计中,由于在YOLOv5中具有优异的性能,我们使用了具有三次卷积的跨阶段局部(CSP)瓶颈。此外,受轻量级网络体系结构GhostNet功能的影响,我们用GhostConv模块替换了Conv模块,它使用更少的参数,但精度相同。在我们的测试中,我们发现使用的总体参数从8.9 M变化到4.8 M,减少了近一半,同时保持相同的精度。
文章的Neck网络参考了特征金字塔网络(FPN)和路径聚合网络(PAN)的设计思想,分别具有自顶向下和自底向上的融合。融合可以将森林场景中的语义特征和空间特征结合起来,以获得更好的特征表达效果。
Head作为我们MTL-FFDet的解码器来解决不同的任务。模型有三个任务,因此文章需要为每个任务设计一个特定的头部。分割头使用从颈部融合的特征图,然后向上采样,使其与原始大小相同(416 × 416)。输出通道的数量表示类别,类别决定了像素的归属位置。在文章的分割任务中,背景和火焰是两个类别。对于检测头,文章采用了基于锚的多尺度检测方案,类似于YOLO系列[22,48]。输出的前两个维度表示刻度中的网格大小,第三个维度表示锚的数量。最后一个维度表示预测的个数,包括预测边界框的坐标、置信度评分和被检测对象的类别。分类头用于对输入图像进行二值分类,以区分图像是否是森林火灾图像。
C.联合多任务NMS
森林环境的复杂使得森林火灾的特征发生了变化。例如,由于树叶和树枝的阴影,火焰目标形状的不规则会使之前学习到的形状特征不适用。另一个复杂的因素是,在强光或弱光条件下,过度曝光或曝光不足会导致森林火灾图像的纹理和颜色特征丢失。这些外部变化模型不可避免地呈现了许多导致遗漏和错误检测的情况。考虑到文章的模型是由多个任务组成的,文章结合了它们各自的特征,以获得更好的性能,减少误检和漏检。对于分割和检测任务,虽然都共享特征提取和特征融合模块,但任务不同,特征的利用也不同。语义分割任务是基于像素点的,更关注细粒度的类别区分,而目标检测任务是基于回归盒的,更关注区域区分。如下图所示,在分割任务中可以很好地识别出检测任务中出现的错误检测和漏检,而在分割任务中出现的漏检在检测任务中可以很好地检测出。
针对这一问题,文章提出了一种改进的非最大抑制方法——联合多任务非最大抑制(JM-NMS)算法,结合分割任务对冗余和低置信度框进行过滤。
D.数据增强
在深度学习模型训练中,数据增强是一种较常用的提高模型性能的方法。在模型的训练中,采用HSV增强、左右翻转、自顶向下翻转、随机尺度变换和Mosaic数据增强等方法提高模型的鲁棒性,增加训练数据,避免过拟合和样本不平衡。
文章发现目前的算法在识别小的火焰目标,包括遮挡形成的火焰目标和出现在图像边缘的火焰目标时,由于视点的限制,效果较差。造成这种情况的原因有两个:一是能够表示小目标特征的像素数较少;其次,森林火灾数据集中的小目标数量较少。为此,我们提出了一种新的数据增强方法——随机原点对角交换,从数据集的角度增强森林火灾探测中小目标的识别。这种方法的示意图如下图所示。
这种方法相对简单但实用。最初文章确定图形是否只有一个目标标签,以及该目标是否为区域内322到962像素之间的中等对象。下一步是在标签宽度和高度的25%到75%之间的区域(图9中的绿色区域)生成一个随机原点;然后根据原点对图像进行二次分割。然后,这两个对角线图像交换形成一个新的图像。该方法不仅增加了小目标的数量,而且由于视点限制,增加了火焰目标样本不完整的场景;这提高了模型的泛化性。注意,数据增强是随机使用的,它的概率取决于数据集——不应该太高,一般在10%到20%之间。
5.实验分析
A. 训练
森林火灾检测模型MTL-FFDet是由PyTorch构建的,并在NVIDIA RTX 3080上训练,具有10gb内存。在训练中,文章使用了热身和余弦学习率的学习策略,这有助于缓解模型的早期过拟合,保持分布的平滑,同时保持了层次较深的模型的稳定性。训练多重任务有两种方法;一种是反向传播每个任务的损失,一步一步地;另一种方法是反向传播总损失,这是单个任务损失的加权和。就性能而言,这两种方法基本相同。然而,就方便而言,第二种方法更好。将全损系数α1、α2、α3、β1、β2、λ1、λ2、λ3分别设为0.5、1、0.05、0.5、0.4、1、0.1、0.2。其他训练参数如下表所示。
B.对比
为了演示MTL-FFDet模型的性能,文章使用一个验证集来评估模型中的每个任务。在实验中,文章的模型不仅与其他模型进行了比较,还比较了单任务和多任务检测的性能(见下表和下图)。由于检测任务是模型的主要任务,而其他两个任务是辅助任务,因此检测任务的性能改进比其他模型更重要。值得注意的是,在为单个任务训练模型时,有必要冻结其他两个任务分支。
如上表所示,文章提出的使用数据增强和JM-NMS的MTL-FFDet模型明显优于YOLOv5-s、YOLOv3-tiny和NanoDet-g等其他方法,在mAP中达到56.3%。与单任务学习相比,用于多任务学习的共享特征提取模块具有优异的性能,提高了3.6%。采用随机原点对角交换的数据增强策略后,模型对小目标的检测能力大大提高,APS提高了4.8%,ARS提高了4.0%(与YOLOv5-s相比)。此外,联合多任务NMS处理算法允许正确识别一些遗漏和错误的目标,提高了大约1%到2%的大多数指标。
C.可视化和分析
为了研究为什么多任务模型MTL-FFDet比单任务模型表现得更好,文章使用了本根- cam进行可视化。考虑到多任务和单任务最大的区别在于共享的特征提取模块,文章对特征提取模块的最后一层,也就是第8层进行了特征可视化分析。如下图所示,多任务模型更精确地聚焦于火焰区域,而单任务模型仅限于提取粗糙的火焰区域并包含一些冗余特征。火焰特征提取的准确性导致了两种模型后续的特征融合和检测模块存在差异。
6.结论
文章提出了一种新的森林火灾检测模型MTL-FFDet,并在此基础上提出了两种改进策略,即联合多任务NMS处理算法和随机起源数据增强对角交换算法。主要贡献如下:
(1)三个任务共享的特征提取模块使网络对火焰特征更加敏感和关注,提高了森林火灾检测性能;
(2)联合多任务NMS处理算法利用了多个任务之间的差异,并结合各自的优点,减少漏检和误检的发生;
(3)通过随机源数据增强对角交换丰富了小目标的数量,大大提高了模型对小目标的检测精度。实验表明,文章的模型在大多数指标上大大优于其他模型。由于共享的主干和轻量级卷积模块的使用,模型还实现了性能和效率之间的良好权衡,这些模块适用于部署在UA Vs上的实时探测任务,用于森林火灾检查。
在进一步的研究中,文章计划集中研究多传感器融合,以提高森林火灾的检测,并将系统部署在低功率和高性能的边缘设备上。