一种消防物联网智能网关的搭建与优化

作者: 谢宁宇 杨斐

一种消防物联网智能网关的搭建与优化0

关键词:边缘计算;深度学习;Jetson Nano;YOLO;模型蒸馏

中图分类号:TP391 文献标识码:A

文章编号:1009-3044(2024)28-0023-04

0 引言

多年的实践表明,传统基于单一传感器的火灾预警系统经常面临误报和漏报等问题[1]。与此同时,基于云计算的多源感知火灾报警系统在节点数据处理中给数据中心带来了巨大的计算分析压力[2]。为应对这一挑战,本文选用了Jetson Nano和树莓派作为智能硬件平台,结合深度学习中的YOLO算法,提出了一种基于边缘计算的智能物联网网关。该系统不仅能够有效改善误报、漏报以及数据中心计算压力大的问题,同时降低了对云计算的依赖,从而提升了系统的实时性和可靠性。这一创新设计为消防安全提供了更为灵活的解决方案。

1 智能网关的结构框架

在消防物联网领域,智能网关充当连接终端设备和云端的桥梁,通过边缘计算实现对节点数据的实时监测和分析。为满足网关的实时性和智能化需求,采用了三层架构来实现,包括环境感知层、实时分析层和核心决策层。其示意图如图1所示。

环境感知层集成了多种传感模块,包括摄像头、烟雾监测传感器和火灾报警监测传感器等。这些传感模块承担着实时采集环境数据的任务,为后续的分析和处理提供基础数据。

实时分析层则负责数据的实时分析。基于边缘计算的理念,该层将计算任务从传统的集中式云端向网络边缘推移,以实现更低延迟、更高实时性的数据处理[3]。在该层中,主要使用Jetson Nano作为嵌入式运算平台,同时树莓派充当辅助硬件平台。

核心决策层主要依赖于YOLO算法对节点数据进行实时智能检测,并采用MongoDB数据库以有效存储和管理数据。

通过以上三层构建,该网关在智能消防任务中具备了相对完整的数据处理和分析能力。网关能够在本地进行火灾检测,一旦检测到火灾,就将相关信息上传至云端,由云端执行系统预警。智能网关的结构框架经过模块化设计,层次清晰,具有较高的维护性和可扩展性。

1.1硬件的选择与配置

Jetson Nano是由NVIDIA推出的一款嵌入式系统开发板,搭载了NVIDIA Maxwell架构的GPU[4]。在网关中,Jetson Nano承担了处理图像数据、运行实时目标检测算法的任务,以实现对消防场景的智能分析。

树莓派作为低成本、高性能的单板计算机,广泛应用于物联网和嵌入式系统[5]。在本项目中,其主要任务是辅助Jetson Nano,连接环境感知层的传感模块及执行环境数据采集等任务。

操作系统选择了Ubuntu 18.04,将其烧录至SD 卡,并根据系统需求进行配置,包括驱动安装、环境搭建和网络设置。安装完成后,需要进一步安装Pad⁃dleX深度学习基础框架[6],以支持后续算法的实现。同时,为充分发挥Jetson Nano的GPU性能,必须安装并配置CUDA和cuDNN库。

实际搭建完成的网关系统如图2所示。其中,显示器显示的是Jetson Nano中安装的Ubuntu 18.04,其下方设备从左至右依次是:Jetson Nano、树莓派、摄像头和二氧化碳烟雾传感器。

1.2 数据库的设计与配置

在核心决策层中,选择MongoDB 作为数据库系统,以满足消防物联节点数据的存储和高效管理需求。首先,需要对MongoDB进行安装和配置,以确保其能够在网关上正常运行。随后,进行数据库的创建和初始化,建立适用于环境感知层数据的数据库结构。合理设计的数据库结构能够更高效地存储和检索消防监测数据,其结构如表1所示。

通过以上操作,网关能够有效保存环境感知层采集的实时数据,为后续的智能分析提供基础。

2 算法的评估与优化

在核心决策层中,不仅需要实现节点数据的高效存储和管理,还需采用YOLO 算法进行火灾检测。YOLO算法以快速、准确的图像识别能力著称,有效支持实时火灾事件监测[7]。为满足智能网关的需求,需对不同版本的YOLO算法进行筛选并进行相应优化。

2.1 算法性能评估

为了评估YOLO算法的性能,选取了4项评价指标:mAP(mean Average Precision) 、IoU(Intersection overUnion) 、Speed 和 FLOPs(Floating Point Operations perSecond) 。其中,mAP代表精度均值,用于综合评估模型在不同类别上的表现;IoU,即交集比(也称JaccardIndex) ,用于衡量模型预测的边界框与真实边界框之间的重叠程度,是检测准确性的评价指标;Speed指推理速度,即算法在检测过程中处理单个图像所需的时间,单位为毫秒(ms) ;FLOPs表示每秒浮点运算次数,衡量神经网络模型计算复杂度的指标。以上4项指标综合评估YOLO 算法在检测过程中的准确性和全面性。

限于篇幅,仅比较YOLOv3和YOLOv5在3种不同类型的火焰数据集上的性能表现。数据集包括室外火焰数据集、室内火焰数据集和烟雾数据集,如图3所示。每个数据集包含3种分辨率的图片,分别为250×250、416×416、640×640;每种分辨率包含5 100 张图片,其中训练集为3 570张,验证集为1 020张,测试集为510 张。实验所用环境为:Core i9-10900K,RTX2060,CUDA 11.2,Python 3.8.17。具体数据比较请参见表3和表4。

由上述数据可以看出,YOLOv5在所有数据集和分辨率下的mAP都相对较高,表现优于YOLOv3。在高分辨率图片下,mAP通常更高,因为更高分辨率的图片可以提供更多的细节。YOLOv5在不同数据集和分辨率下的IoU表现相较于YOLOv3更好,表明其对目标定位更加准确。然而,YOLOv3在低分辨率下的推理速度稍快,这使其在一些资源受限的环境中更具优势。YOLOv5的FLOPs相对较高,这与其更复杂的网络结构有关。

尽管YOLOv5模型的检测性能更优,但在嵌入式系统中,YOLOv3由于其推理速度更快而更具优势。如果将YOLOv5部署在Jetson Nano上,因为其GPU性能相对有限,可能无法达到YOLOv5在更强大硬件上的推理速度。而且,Jetson Nano的CPU和内存性能也有限,可能导致模型整体性能下降,进而影响实际检测中的响应速度。此外,在长时间高负载的情况下,设备容易过热,这会影响其稳定性和寿命。因此,在核心决策层中,选择YOLOv3作为核心算法,并且为了实现速度和准确性之间的平衡,选择分辨率为416×416的图像。

2.2 算法性能优化

根据上述评估结果,尽管YOLOv3的推理速度较快,但其目标检测性能仍有待进一步提高。为此,采用模型蒸馏方法对YOLOv3进行优化。该方法是一种将复杂模型的知识传递给简单模型的方法[8],能够在保持模型规模和计算成本的同时,提高简单模型的性能。具体操作包括:将较复杂且表现优异的模型作为“教师模型”,而将较简单的模型作为“学生模型”。教师模型首先在原始数据集上进行训练,然后学生模型根据教师模型的预测结果进行训练;这样,学生模型的目标是学习教师模型的概率分布,而不是直接学习原始数据集上的标签,从而使学生模型的输出尽可能逼近教师模型。具体做法如下:

1) 模型准备。选择YOLOv5作为教师模型,YO⁃LOv3作为学生模型。这样做的目的是在保持YOLOv3 速度优势的前提下,使其检测性能尽可能逼近YOLOv5。

2) 软标签生成。在训练集上,使用YOLOv5生成软标签。这些软标签是概率分布,而不是传统的类别标签和边界框信息(硬标签),反映了YOLOv5对火焰及烟雾位置的置信度分布。对于每个目标的置信度分数,使用Softmax函数将其转换为概率分布,计算方式如下:

4) 优化后的模型评估。在模型训练中,为了在性能和速度之间取得平衡,只选择了416×416分辨率的图片进行训练。训练完成后,通过测试和评估,得出了改进后YOLOv3的平均精度(mAP) 值和交并比(IoU) 值,结果如表5、表6及图4、图5所示。

通过以上数据可以看出,在416×416分辨率下,当λ 值在0.5至0.7之间时,改进后的YOLOv3模型能够取得较好的性能表现。然而,当λ 值大于0.7时,性能反而会下降。这是因为过大的λ 值会导致模型过于关注分类损失,从而影响回归损失,导致边界框的位置和大小不够准确。

最终可以得出结论:改进后的YOLOv3在性能上有了明显提升,其平均精度(mAP) 和交并比(IoU) 值进一步逼近YOLOv5,达到了优化的目的。

3结论与展望

通过深入研究边缘计算理论,提出并实现了一种基于边缘计算的智能消防物联网网关,以解决传统消防物联网系统中的误报、漏报等问题。在网关构建中,利用三层架构实现了对数据的高效存储和实时智能分析。在算法性能评估中,通过实验对比YOLOv3 和YOLOv5在不同数据集和分辨率下的性能,最终选择了适用于嵌入式系统的YOLOv3作为核心算法,从而平衡了推理速度和目标检测性能。为了进一步提高YOLOv3的性能,通过模型蒸馏方法对其进行了优化,优化后的模型在平均精度(mAP) 和交并比(IoU) 等指标上取得了明显提升,证明了优化方法的有效性。

然而,算法的优化仍然存在一些改进空间。未来可以引入温度参数来调整软标签的分布,并利用梯度下降法进一步减小损失函数,以提高目标检测的准确性。此外,还可以考虑拓展其应用领域,将边缘计算技术应用于其他安全领域,以实现更广泛的社会影响。

上一篇 点击页面呼出菜单 下一篇