UFS-Net:一种统一的火焰和烟雾探测方法,用于CNN视频监控应用中火灾的早期探测...

1.文章信息

本次介绍的文章是2022年发表在Journal of Computational Science的应用计算机视觉关检测火灾的文章。文章题目为《UFS-Net: A unified flame and smoke detection method for early detection of fire in video surveillance applications using CNNs》

2.摘要

火灾是一种反复发生的事件,通常会在不同的环境中造成大量的社会、环境、生态和经济损失。因此,基于机器视觉的火灾探测是现代监控系统的重要任务之一。现有的基于计算机视觉的火灾检测方法大多只能检测到单一的火焰或烟雾。文章提出了一种基于深度学习的统一的火焰和烟雾检测方法,称为“UFS-Net”。设计了一种高效定制的卷积神经网络结构,用于检测视频帧中的火焰和烟雾。UFS-Net将视频帧分为8类:1)火焰、2)白烟、3)黑烟、4)火焰与白烟、5)火焰与黑烟、6)黑烟与白烟、7)火焰、白烟与黑烟、8)正常状态,能够识别火灾隐患。为了进一步提高UFS-Net的可靠性,采用了基于投票方案的决策模块。此外,还准备了一个标注丰富的数据集“ufo- data”,该数据集包括849,640幅图像和26段视频,数据来源于各种数据源和本研究制作的人工图像,用于ufo - net的训练和评估。对“UFS-Data”和其他基准数据集(如“Mivia”、“BoWFire”和“FireNet”)进行了大量实验,并与最先进的方法进行了比较,证实了UFS-Net的高性能。

所有实现源代码和“UFS-Data”都在https://github.com/alihosseinice/UFS-Net上公开。

3.简介

火灾可以自然发生,也可以由人类引起。在任何情况下,它都能以极高的破坏力迅速传播。森林、农田、工厂、仓库、商业和住宅中心随时都可能发生大规模和破坏性的火灾,这会造成很多环境和经济损失。因此,为了减少这些损失,需要立即阻止火灾的蔓延。控制火灾的第一步是早期发现,因此,为需要的环境配备一种准确、快速的火灾探测方法是至关重要的。缺乏这样的系统会减慢火灾的探测速度,导致火灾的进一步蔓延,从而导致许多连续的火灾控制和灭火问题。目前已经提出了许多火灾探测方法,这些方法通常是基于火灾的物理特性,如热量、压力、气体、烟雾等,可以通过特定的传感器进行探测。然而,这些传感器需要靠近火源,并在小型环境中具有可接受的性能,在开阔的大区域就失去了效果。

如今,视觉监控系统被广泛应用于不同的环境中,与此同时,计算机视觉技术发展迅速,应用于各种应用领域。这两个因素与计算机视觉技术一起使得视频监控系统应用的迅速发展。基于计算机视觉的火灾探测就是其中之一,它可以很好地克服传统传感器的局限性。与现有的传感器不同,这项技术不需要接近火源。由于光的传播速度比热和烟快得多,使用计算机视觉技术可以缓解火灾检测的延迟。

近年来,人们开发了许多基于计算机视觉的火灾自动检测方法。这些方法一般可以分为两类:1)基于人工特征提取的方法2)基于深度学习的方法。在第一类中,火焰或烟雾特征由人类专家设计和提取。这些功能的设计在很大程度上取决于设计师的专业知识和广泛的实验。此外,现有方法还存在其他局限性,例如1)耗时,2)虚警率高,3)需要为森林或隧道等不同情况和应用设计单独的子系统,4)处理低质量和噪声视频图像的性能下降,以及5)缺乏实时检测。相比之下,在第二类中,模型使用提供的样本自动提取特征。人类不需要设计功能,而是设计适当的深度学习体系结构。基于深度学习的方法,尤其是卷积神经网络(CNN),正在加速各种应用中不同类型目标的识别。这些方法在探测火焰和烟雾方面也显示出了有希望的结果。然而,它们也存在一定的局限性和相关问题:1)需要根据不同的火灾场景使用不同且丰富的训练数据集,2)需要长时间的训练,以及3)难以使用时间特征。最重要的是,由于烟雾和火焰的性质,设计一个能够同时检测烟雾和火焰的深度学习模型并非易事。

本文考虑到该领域的所有局限性和挑战,提出了一种统一的方法,称为UFS网络(使用CNN进行火灾早期检测的统一火焰和烟雾检测方法),用于检测视频帧中的烟雾和火焰。在UFS网络中,输入图像首先经过预处理阶段。然后,根据定制的高效CNN架构将每个帧分为八类(火焰、白烟、黑烟、火焰和白烟、火焰和黑烟、白烟和黑烟、火焰、白烟和黑烟,以及正常状态)。所设计的CNN结构具有较高的检测精度和良好的计算量,可以对输入图像进行实时分类。此外,设计了一种基于投票的决策方案,以进一步减少CNN可能出现的误报,并尽可能提高系统的可靠性。为了充分训练CNN并提高其在复杂和不同场景中的检测精度,文章收集并注释了一个名为UFS Data的大型数据集,其中包含大量不同类别的火灾图像,该数据集由三部分组成:1)真实世界的视频帧,2)真实世界的单一图像,以及3)人工火灾图像。UFS数据共有849640幅图像和26段视频,这些图像和视频被标记为八个目标类别。在该数据集和其他三个基准数据集上进行的大量实验表明,UFS-Net的性能高于现有方法。

4.模型

UFS网络的总体结构如下图所示。

4fa6cec822ae1f17bd34f9f76b429ba5.png

如图所示,系统开始从监控摄像机或视频文件等各种来源接收视频帧序列。来自不同来源的输入图像可能处于不同的条件和大小;因此,输入将经历由三个连续操作组成的预处理阶段。然后,每个预处理后的图像被送入CNN,将其分为八类:1)火焰、2)白烟、3)黑烟、4)火焰和白烟、5)火焰和黑烟、6)黑烟和白烟、7)火焰、白烟和黑烟,以及8)正常状态。之后,CNN的输出被发送到决策模块,在该模块中,根据一些连续帧的确定类别做出最终决策。下面详细解释上述每个步骤。

A. 预处理

每个输入图像(视频帧)在被送入CNN之前都要进行一些预处理操作,包括调整大小、转换为张量、归一化等。不同监控摄像头接收到的帧序列通常大小不同,甚至图像的方向也可以不同(水平方向或垂直方向)。每个输入图像被调整为224 ×224像素。根据实验,这个尺寸对于所提出的系统是足够的,并且调整图像的大小对火焰和烟雾的视觉外观几乎没有影响。调整大小的图像被转换为一个3D张量(红、绿、蓝通道),最后使用Z-score归一化。首先计算用于训练CNN的图像中颜色通道的均值和标准差。然后,对输入图像的所有像素应用下面的公式,对每个像素计算三个新的颜色通道值。

467436726e417927209f69450be7106a.png

式中Xi为给定像素的每个颜色通道的值,μi和σi分别为该颜色通道的均值和标准差。

B. CNN的火焰和烟雾探测

预处理后的图像被送入CNN进行分类。由于白烟和黑烟存在明显的差异,设计了针对不同类型烟雾的神经网络结构。本文提出的CNN的总体架构为:第一层为卷积层,取大小为224 × 224 × 3的彩色输入图像。在这一层中,64个大小为7 × 7的核和stride (motionstep) 2被应用到图像上。结果得到64个特征图作为输出,大小为112 × 112。然后,采用内核大小为3 × 3, stride为2的max-pooling层对特征映射进行过滤,将特征映射的大小减少到56 × 56。然后,对特征映射应用另一个卷积层,包含192个滤波器,核大小为3 × 3, stride为1,得到192个大小为56 × 56的新特征。然后,应用一个内核大小为3 × 3、stride为2的max-pooling层,得到192个大小为28 × 28的feature map。在下一步中,使用一个多重卷积模块,128个核大小为3 × 3的滤波器和32个核大小为5 × 5的滤波器对192个现有的feature map并行进行卷积运算。在这些高成本的卷积层之前,分别应用64和16个卷积滤波器,其核大小为1 × 1。在这个模块的最后,总共得到160(32 +128)个特征图,大小为28 × 28。然后,这些特征映射被最大池层过滤,以减少一半的维度。然后,连续应用两个多重卷积模块4a和4b(各层模块详细信息见下表)。

13b5d4171ca43861980c2d07202f68ab.png

应用这两个模块,共获得320张大小为14 × 14的feature map。通过应用最大池化层,特征映射的大小减少到7 × 7。然后,一行应用两个多卷积模块5a和5b,输出416张7 × 7的feature map。为了减少设计的CNN的计算量,在平滑之前先平均使用一个核大小为7 × 7的池化层,将416个大小为7 × 7的feature map发送到全连接层。因此,416个特征映射的大小被减少到1 × 1, 416个特征被平滑(它变成一个大小为416的特征向量),而不是20384个(416 ×7 ×7)特征。然后,应用dropout层(20%)来避免过拟合。最后是一个完全连通的层,输出大小为3。使用Sigmoid激活函数对每个输出进行过滤,并生成二进制结果。根据得到的三位结果,确定8类中的1类为图像类,如表2所示。在卷积模块中,每个卷积层之后都有一个批处理归一化层。激活函数使用非线性Leaky ReLU激活函数。所有关于被提议的CNN层的细节总结在上表中。

ad63c55f601bbaecee7a86b00565e533.png

如上图所示,在设计的CNN的多个卷积模块中,有核大小为3 × 3和5 × 5的两个卷积层,核数不同。由于这些卷积层的处理资源有限,处理负载较大,在输入前一层得到的feature map之前,先使用一个核大小为1 × 1的卷积层。这种1 × 1的卷积层大大降低了CNN的处理负载。有了这个节省,可以增加3× 3和5 × 5滤波器的数量,从而提高最终模型的性能。通过调整3 × 3和5 × 5卷积层的步幅和边缘,文章可以创建条件,使这些层的输出大小相等。文章通过在5 × 5卷积中调整步幅值为2,边缘值为2,在3 × 3卷积中调整步幅值为1和边缘值为1来实现这一点。将这两个卷积层的输出连接起来,产生一个单一的输出。该输出包括带有3 × 3和5 × 5过滤器的特征地图。CNN可以根据自己的需要使用下一层中的每一个feature map,提高CNN的训练。

C. 做出决策

为了提高系统的可靠性,特别是降低误报率,该方法利用多个连续帧的检测结果来做出最终的报警决策。为了得到环境的当前状态,本文提出的方法在最后10帧上检查其检测结果。

1cc9977eed50619809056586d99221e2.png

如上图所示,这是通过一个队列数据结构(size= 10)和一个投票阈值来做出决定的。因此,在对输入帧进行分类后,将预测的标签输入到队列中。该队列包含最后10帧的状态。如果这10帧中至少有70%(投票阈值)处于危险状态(火焰/烟雾),则宣布环境的最终状态为危险状态,并触发报警。决策模块中70%的阈值是根据不同视频的实验实际选取的。但是,在55~85%的阈值范围内,系统性能变化不大。火灾发生时,系统将延迟10帧来宣布情况。然而,由于现代相机通常有超过10帧率,这个延迟小于1秒。

D. 数据集

基于深度学习的方法自动从原始数据中提取所需的特征。因此,适当和充分的训练数据集是其训练中最具影响力的因素之一。如果训练数据不足,模型会试图在数据不足的情况下学习大量的参数,导致过拟合问题。由于在烟雾和火焰检测领域缺乏标准、充分和标记的数据集,文章收集了一个丰富的注释火灾数据集,名为“UFS-Data”,包括各种不同的火灾场景和来自不同来源的条件,用于训练和评估所提出的方法。

该数据集由两部分组成:1)总共26个带标签的视频,2)总共849,640个带标签的图像。为提供第一部分,文章录制了15个不同火灾场景的视频。其他的视频通过网络收集,视频选择在颜色和纹理上与火灾条件最相似的。视频的样本帧如下图所示。

6951d13a064103c02d7942a6b1a4b065.png

UFS-Data的第二部分总共包含849,640幅标记图像,这些图像来自三个来源:1)真实世界的视频,2)真实世界的图像,和3)人工图像。

为了确保更高的多样性,对所选图像进行随机组合操作,如水平翻转、垂直翻转、任意角度旋转、放大和缩小,然后将其放置在正常图像上。这使得CNN在训练集中既能看到一个场景的正常状态,又能看到同一场景的各种火灾情况,能够更好地通过图像的区分进行学习。所获得的一些人工火焰图像示例如下图所示。

d52654567e5da2c281330f874e4b970a.png

UFS-Data的两个部分都在https://github.com/alihosseinice/UFS-Net公开。

使用UFS-Data的第二部分(即849,640张图像)训练所提方法,其余数据集(即UFS-Data、Mivia、BoWFire和FireNet数据集中的26个视频)用于评估该方法。

5.实验结果与讨论

A. 用于测量所提方法的性能并与其他方法进行比较的评价指标

计算Accuracy、Precision、TPR(真阳性率)、FNR(假阴性率)和FPR(假阳性率)作为评价指标。

B. 实现细节以及参数设置

“UFS-Data”数据集中的849,640张图像随机分为两部分:训练集(80%)和验证集(20%)。初始学习率设置为0.002,每步降低0.05(乘以0.95)。在网络训练过程中,利用Sigmoid层和交叉熵损失函数相结合的“BCEWithLogitsLoss6”损失函数来计算网络误差。并采用Adam函数作为优化函数。CNN训练阶段在20个epoch内完成。在验证阶段的最高精度是98.80%。

源代码都在https://github.com/alihosseinice/UFS-Net上公开。

如下表,本文方法中应用的模型(包含5个多重卷积模块)取得了令人满意的性能(验证精度为98.802%)。此外,很明显,通过进一步增加模型层,模型的性能没有显著差异。即使应用GoogleNet,尽管卷积层的数量和模型的大小增加了(计算负载也增加了),但验证的准确性仅提高了0.008%。这种精度的轻微提高是不划算的。考虑到本次实验的结果,文章选择了具有五个多卷积模块的模型。

ece342d1747095e1ec3690adbd8a4bf6.png

C. 实验1:UFS-Net的性能评估,并与其他方法进行比较

由于该领域现有的大多数方法都是单独进行火焰或烟雾探测的,因此,文章将UFS-Net与火焰或烟雾探测方法单独进行比较;方法的选择是根据相关实验中使用的数据集的可用性以及相关出版物中报道的这些数据集的结果,这使得所提出的方法的结果与相关实验的结果进行公平的比较。由于其他方法对每一帧单独进行分类操作,为了保证公平的比较,文章禁用了系统中的决策模块,对每一帧单独进行分类。此外,由于比较方法在每个数据集上的结果以不同的评价标准呈现,因此使用不同的指标(如下四个表)报告和比较每个数据集上的评价结果。表中数字均为文献引用的其他模型结果。

289cdf8db8d2ef1313a4f6210237b528.png

如上表,在所有方法中,UFS-Net的精度最高。但在FPR方面,仅排在第3位。这可能是由于并发的火焰和烟雾检测。还应注意的是,UFS-Net的决策模块是不活动的。如果这个模块被激活,这个指标将大大降低,即接近于零。

1bf0ea1405d8b5f0e0f1897e40a53b59.png

如上表,在精度测量方面,UFS-Net显然具有最高的性能。但FPR表现略弱。然而,由于其他方法的FPR不能用于此数据集,因此不可能将此指标与其他方法进行比较。由于该数据集中存在具有挑战性的图像,其他方法的FPR也较弱。

3f8bcc814869a009fbc61863d5366196.png

如上表,UFS-Net比Ref.具有更高的准确率、精密度和FNR。然而,在FPR方面,它的性能相对较低(约1.5%)。这可能是由于该数据集中的图像与烟雾环境非常相似,因此被检测为烟雾。然而,[3]中的方法仅能检测火焰,任务比本文方法简单得多。

c694a9f2fecae2379920362bc08bdfcb.png

如上表,除了视频12和视频21的准确率分别为89.95和85.54外,UFS-Net的准确率大部分都大于90%,少数情况接近100%。在视频12中,由于摄像机与火的距离较远,图像质量较低,本文提出的方法在部分帧中未能检测到火,准确率为89.95。当然,如果决策模块被禁用,就会出现这种情况,而如果它被激活,就可以很好地覆盖这些错误。例如,如果一帧中的图像质量很低(例如,由于相机晃动),系统在此时无法正确识别;然而,通过考虑投票方案,它也可以将该框架归类为火。在视频21中,由于该视频中的水波在纹理、颜色和形状方面与白烟非常相似,因此提出的系统具有最低的精度。在这个视频中,14.45%的帧被错误地分类为烟雾,这降低了这个特殊视频的系统精度。

D. 实验2:评估UFS-Net在复杂现实场景中的鲁棒性

在基于计算机视觉的系统的实际应用中,从监视摄像机获得的图像可能包含各种类型的噪声和质量。为了评估UFS-Net在不同条件下的鲁棒性,从测试数据集中随机选取150幅图像,并根据以下场景进行编辑。场景1:整个火灾区域移除:测试图像的火焰或烟雾区域在该区域被类似的颜色覆盖。场景2:添加噪音:各种类型的噪音被添加到包含火焰或烟雾的测试图像中。场景3:在多标签图像中删除一个类:在包含多个类(火焰和烟雾)的图像中,其中一个类被覆盖为与该类相同的颜色。原图像及其相应的编辑图像示例如下图所示。

4ac08c9f0a855ed59bb397e3b02336a6.png

在每对图像(原始图像和编辑图像)上评估UFS-Net的性能。可以观察到,该系统在所有150对测试图像中都能正常工作。对于原始图像和编辑后的图像,分类器的性能是相同的,因此本次实验的准确率为100%。

E. 实验三:检查CNN参数个数

如前所述,火灾探测系统在实际应用中必须准确和快速,而实际应用的处理资源通常有限。为此,它们必须具有尽可能低的计算负载。不同深度学习模型的参数数量和检测类型如下表所示。

c8430bf5c3affd98d25a404e360da7db.png

在[1,31,34]中关于方法的信息是通过文章实现他们的CNN模型获得的。有关出版物没有报道这一情况。如上表所示,虽然文章提出的CNN模型可以同时检测到烟雾和火焰,但是它的参数数量比其他模型要少得多。这是一个巨大的优势,允许拟议的系统处理和分类每秒68帧,这可以很容易地在现实应用中使用。

6.结论与未来工作

火灾是不同环境中最危险的事件之一。它具有很高的破坏性和蔓延能力,造成的重大破坏可能需要数年甚至数十年才能弥补。因此,必须开发准确、快速的火灾探测方法来控制火灾。在过去,物理传感器和点传感器被用来探测火灾。这些传感器在大型开放环境中存在局限性和弱点,因此,它们被基于计算机视觉技术的新方法所取代。计算机视觉的这一应用已成为现实世界中一个具有吸引力和实用性的领域。然而,近年来发展起来的绝大多数基于计算机视觉的火灾检测方法只能检测一个火灾因素(火焰或烟雾),不能同时检测火焰和烟雾。由于不同的和不可预测的火灾条件和场景,不可能在实际应用中使用这些方法。文章提出了一种基于深度学习的统一火焰和烟雾检测系统。该方法首先对输入图像进行相应的预处理。然后,使用高效的CNN架构,将图像状态划分为8个不同的类。目标类包括“火焰”、“白烟”、“黑烟”、“火焰与白烟”、“火焰与黑烟”、“白烟与黑烟”、“火焰、白烟与黑烟”、“正常状态”。该系统的主要要求之一是降低误报率。为此,设计了方便、检测精度高的网络,并采用基于投票的专家系统,使系统的最终决策更加准确。此外,为了提高模型的性能,从不同来源收集了一个丰富的训练数据集,并将所有8个类标记出来。在不同场景的4个基准数据集上进行的各种实验结果表明,该方法能够实时准确地检测出各种火灾情况。此外,与其他成功方法的比较表明了所提系统的优越性。

根据在本研究中获得的经验,在该领域未来可以改进的工作如下:

•在本文提出的方法中,输入图像中只检测到火焰或烟雾的存在。可以定位图像内部的火焰或烟雾。

•检测火焰或烟雾大小的能力,如“小火焰”,“大火焰”,“小烟雾”和“大烟雾”可以添加到系统。系统中的类数越多,就能从火灾现场获取更多的信息,有效地控制火灾。

•可以考虑和评估其他深度神经网络架构的开发,以提高系统性能。

Attention

欢迎关注微信公众号《当交通遇上机器学习》!如果你和我一样是轨道交通、道路交通、城市规划相关领域的,也可以加微信:Dr_JinleiZhang,备注“进群”,加入交通大数据交流群!希望我们共同进步!

a52617c79fbc7506942351d3e1b6e3e5.png

  • 1
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

当交通遇上机器学习

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值