基于多模光学信号的火灾监测系统设计
2024-05-18丁健生邢伟霞陈洪涛
丁健生 邢伟霞 陈洪涛
摘 要:该文针对传统火灾监测系统适用场景单一、预警反应较慢等缺点,提出一种集成红外、紫外、可见光等多模光学信号的火灾监测技术,实现对明火、高温、烟雾等险情的快速识别。在该基础上设计一套完整的火灾监测系统,实现对火灾数据的监测、存储、报警,极大地丰富火灾监测系统的适用场景,缩短系统响应时间,提高系统的可靠性。
关键词:火灾监测;机器视觉;烟雾识别;多模光学信号;系统设计
中图分类号:S776.29+2 文獻标志码:A 文章编号:2095-2945(2024)14-0104-04
Abstract: This paper in view of the shortcomings of traditional fire monitoring system, such as single scene and slow early warning response, a fire monitoring technology which integrates infrared, ultraviolet, visible light and other multimode optical signals is proposed to realize the rapid identification of open fire, high temperature, smoke and other dangerous situations. On this basis, a complete fire monitoring system is designed, which realizes the monitoring, storage and alarm of fire data, which greatly enriches the applicable scene of the fire monitoring system, shortens the response time of the system and improves the reliability of the system.
Keywords: fire monitoring; machine vision; smoke recognition; multimode optical signal; system design
火灾监测系统是预防火灾、减少火灾损失的重要保障设施。识别火源并第一时间发出预警是火灾监测系统的核心任务[1-2]。传统火灾监测系统,多数基于对单一物理量的检测原理,如光波、温度、烟雾及特殊气体[3-4]。其中针对光波的检测以紫外探测器为主,其优点在于探测距离远、准确率高,缺点是仅适用于明火检测。针对温度的检测以红外探测器为主,适用于明火与暗火,缺点是对于本身就具有高温源的场所,如冶炼车间等易产生误报。针对烟雾及特殊气体的检测多为接触式检测技术,其准确率较高,但反应速度较慢[5]。综上,对单一物理量的检测技术难以适用于不同的火灾监测场景。
对此,本文提出一种基于红外、紫外及可见光多模光学信号的火灾监测技术,除集成传统的紫外、红外检测功能以外,增加利用可见光图像实现烟雾检测的功能,从而实现对明火、高温及烟雾的全覆盖检测。在此基础上实现了一套完整的火灾监测系统,极大地拓宽了系统的适用场景,增强了系统的可靠性及灵敏性。
1 系统硬件架构
系统采用云、边协同架构设计,由私有云及边缘网关分工协作,共同组成火灾监测系统。边缘网关负责火灾监测、报警、消防联动等基础功能。云端负责人机交互、数据的长期存储,以及向外网提供访问接口等功能。系统的硬件拓扑结构如图1所示。
边缘端硬件上由红外探头、紫外探头、可见光摄像头、报警器及控制电路组成,各探头通过各自的通信接口与边缘网关相连,完成原始数据采集。各边缘网关再通过交换机与云端的监控服务器相连,实现数据的上传、汇总。监控服务器与文件服务器及数据库服务器通过云端的虚拟网络进行通信,共同构成采集、存储数据的内网应用系统。如果不考虑外网应用,此内网系统本身就可独立运行。但考虑到与上一级安防系统共享数据,以及火警发生时主动向手机发送报警信息等应用场景,系统又通过私有云虚拟出短信服务器、Web服务器等应用服务器,用于布署应用程序(如短信报警、Web服务等),共同构成一个开放的数据共享环境。
由于采用私有云架构,对外数据共享这一部分功能可以根据实际需求自由裁切,只需要关闭对应功能的服务器即可实现。
2 系统软件架构
2.1 云端软件架构
云端搭建于高性能服务器之上,采用私有云技术,将服务器资源虚拟出设备监控、数据存储、文件存储、Web服务和短信服务等虚拟主机,在其上布署各类数据库及服务器软件,从而实现设备监控、数据存储及数据发布等服务端功能。整个云端的软件架构如图2所示。
在整个架构中,监控系统的服务端程序MonitorServer是整个云端系统的核心组件,负责监控系统中所有边缘网关的运行状态,接收各边缘网关上传的报警数据,并向边缘网关下发各种指令和参数。同时MonitorServer将接收的数据导入存储系统,并向人机交互系统、对外接口系统等扩展子系统提供数据来源。
各边缘网关与MonitorServer之间采用Client/Server架构模式,边缘网关作为客户端, MonitorServer作为服务端。具体实现上,MonitorServer是采用C#语言开发的一个TCP Server,其包括通信模块、管理模块、数据缓冲池3个部分。MonitorServer程序的架构如图3所示。
通信模块直接与各边缘网关通过TCP/IP协议通信,实现数据接收和指令下发。由于TCP通信会产生百毫秒级的时延,当边缘网关的数量较多时,服务器如采用单线程轮询的模式较为耗时。为此该模块的设计采用多线程(MultiThread)并发模式,当客户端发起连接后,自动为每一个客户端创建一个独立的读写线程,各线程之间互不干扰,宏观上处于并行状态,从而提高系统的实时性。
管理模块用于实现系统的初始化及参数设置。在数据库中存储有各个边缘网关的配置信息,当MonitorServer启动时,管理模块从数据库中加载这些配置信息,通过通信模块下发至边缘网关,从而实现对各网关的参数配置。
由于各应用系统需要频繁地获取各网关的状态数据,如采用共享存储系统的模式,会产生大量的磁盘IO操作,影响运行效率。为提高数据读写速度,通信模块会将各网关上传的数据写入一个公共数据缓冲池内,各应用系统从缓冲池内批量读取数据。具体实现方式上,缓冲区采用SQL Server内存数据库,通信模块与其他应用系统采用生产者/消费者模式,由通信模块生产数据,应用系统消费数据。此外,管理模块会定时将缓冲池内的数据,转存入存储系统,实现数据的持久化。
除监控系统外,云端还配有人机交互子系统,数据存储子系统及数据接口子系统,限于篇幅,细节不在此赘述。
2.2 边缘端软件架构
边缘端搭载ARM 9嵌入式芯片,运行嵌入式系统,实现对各探头数据的实时采集、处理及上传。为防止因网络通信意外中断而导致报警失效,边缘端在设计之初就具备独立报警的功能。即使在没有网络通信的情况下,边缘端检测到火警后也会立刻启动内置的报警器,并不断尝试向服务端发送报警信息,直至网络通信恢复或由操作人员手工执行复位操作。
为了在火灾发生时,第一时间启动应急措施,边缘端包含8路DO及2路AO输出端口,用于与水泵、风机、防火卷帘门等第三方消防设施联动。输出端口的输出规则可由用户通过云端预先设置。当检测到火警后,通过输出端口自动激活第三方消防设施,从而使系统不但具备火灾报警功能,同时具备一定的消防设施控制功能。
综上,边缘端的软件系统架构如图4所示。
3 算法实现
随着以深度学习技术为代表的机器学习算法飞速发展,其精度比传统的图像检测算法有了极大的提高,从而使得通过可见光图像实现烟雾检测变为可能[6]。本文采用深度学习的单阶段目标检测算法,利用TensorFlow模型进行深度学习训练,构建了一个包含20层的神经网络,其结构如图5所示。
各层的主要作用及参数设置如下。
第一层,卷积层:卷积核数量为64,大小为3×3,步长为1。输入图像的尺寸为640×640,通道数为1。激活函数选择Relu,卷积层深度为24。
第二层,BN层:用于将卷积之后的数据归一化,提升网络的收敛速度。
第三层、第四层重复上述过程,用于进一步提取图像特征。这样做的目的是使用双层小卷积核来代替单层大卷积核,在感受野相同的情况下,减少计算量。
第五层,最大池化层:池化核的尺寸为3×3,移动步长为3,这一层用于特征降维。
第六层至第十五层:交替设置卷积层与BN层,卷积核数量为128,大小3×3,步长为1。
第十六层,最大池化层:池化核的尺寸为2×2,移动步长为2。
第十七层,平均池化层:进一步对特征降维。
第十八层,全连接层:神经元个数为1 280个,激活函数为Relu。
第十九层,BN层:将全连接层归一化。
第二十层,全连接输出层:将上一层产生的1 280个特征输入全连接层,输出分类结果。
在TensorFlow框架下,应用Python语言构建上述神经网络模型的关键代码如图6所示。
4 试验测试
为保障识别的准确率,本系统使用手动实景采样。分别在室内、室外环境下,在白天、傍晚、夜间等时段,人工设置烟雾源,烟雾类型涵盖黑烟与白烟,再利用定时摄像对不同浓度不同颜色的烟雾图像拍照采样,共计采集5 000张图片。该数据集中包含大量不同距离、浓度及光照条件的样本,各类样本占比均匀,这样有助于提高模型的鲁棒性。对上述样本进行手工标注后,随机抽取3 000张作为训练集,1 000张作为验证集,剩余1 000张作为测试集。在此基础上,为了增强模型的泛化能力,减少过拟合的风险,本文使用数据增强技术,对上述图片进行随机缩放、裁剪、旋转和颜色变化,将原数据集扩充10倍。
由于深度学习模型要求训练图片的分辨率必须一致,并且为了平衡训练速度与检测精度,本文将数据增强前、后的所有样本图片均调整为640×640的大小,宽高比例不变。
在做好上述准备工作之后,开始训练模型。经过100代训练后,使用测试集对模型进行测试,测试结果的各项指标见表1。
对完整测试集的准确率达到95.5%。通过对检测失败的样本分析发现,大部分误检样本均为使用样本增强后的小面积烟雾样本,剔除这些增强样本后,模型对于原始测试集的准确率为98.8%。这个精度再辅以红外、紫外的数据相融合,可以使系统满足使用要求。
5 结论
本文提出了一种基于红外、紫外及可见光3种光源的火灾监测技术,应用TensorFlow深度学习框架实现了基于可见光图像的烟雾检测算法,在此基础上实现了一套完备的火灾监测系统。该系统采用云、边协同架构,通过云端服务器及边缘网关设备,实现了对明火、暗火及烟雾的全覆盖检测,极大地拓宽了系统的适用场景,增强了系统的可靠性及灵敏性。同时,该系统的设计具有一定的通用性,对于其他类型的监控系统设计也具有借鉴意义。
参考文献:
[1] 侯晓云,王书堂.基于NB-IoT的火灾监测与预警系统设计[J].集成电路应用,2023,40(9):383-385.
[2] 张科,叶影,张红.基于边缘计算的森林火灾监测系统[J].大数据,2019,5(2):79-88.
[3] 张专成,黄天录,庞新法.多参量火警监测器的软判决与单片机实现[J].微计算机信息,2008(8):149-151.
[4] 荀磊.多传感器融合的实验室火灾监测控制系统设计[J].安徽电子信息职业技术学院学报,2023,22(1):6-13.
[5] 王浩森.家用火灾监测报警信号处理系统的研制[D].成都:电子科技大學,2023.
[6] TAO H, DUAN Q, LU M, et al. Learning discriminative feature representation with pixel-level supervision for forest smoke recognition [J]. Pattern Recognition, 2023, 143:5.