当前位置:首页 期刊杂志

基于人工神经网络的火灾预警系统

时间:2024-05-04

刘明,曹银杰

(聊城大学物理科学与信息工程学院,聊城252059)

0 引言

消防安全一直是被人们十分重视的问题,火灾的提前预测、报警对保障人们的生命、财产安全十分重要。传统烟雾报警器是基于阈值报警的原理,只有当烟雾浓度和温度到达阈值时,才进行报警,不能提前预警,发现时,火情可能已经比较严重。

笔者设计了一套基于人工神经网络的火灾预警系统,将烟雾、温度变化的曲线数值输入到神经网络中进行学习,让神经网络记忆不同事件引起烟雾、温度变化的规律,比如抽烟时烟雾较小,温度不会升高;可燃物发生燃烧时,烟雾数值升高的速度、温度升高的速度,这些规律都作为一种特征值,将这些特征值记忆在神经网络中。系统进行检测时,神经网络会对烟雾、温度变化的曲线进行分析,判断是否由于发生火灾引起,这样可以在火情尚未严重时,就进行报警,达到预警的效果。通过实验室模拟情况下,本系统稳定可靠,效率高,误判率低,能够满足各种场合的使用。

1 系统总体设计方案

系统使用STM32F767 作为系统CPU,搭建循环神经网络(Recurrent Neural Network)模型,预测曲线变化。使用激光粉尘传感器采集检测区域内的空气烟雾变化曲线,以及DS18B20 温度传感器采集温度变化曲线。将空气烟雾变化曲线和温度变化曲线输入到循环神经网络中进行识别,通过计算烟雾和温度变化规律,预测火灾。烟雾数据以及温度数据通过RS484 总线传送至PC 控制台实时显示曲线。当神经网络预测结果为即将发生火灾时,系统及时向控制台报警,并闪烁LED 灯,以及使用VS1003b MP3 模块发出火灾警报。

循环神经网络选择使用长短时循环神经网络(Long Short-Term Memory,LSTM)。LSTM 神经网络克服了传统循环神经网络存在梯度消失和梯度爆炸的缺点,能够更加精确快速地识别分析时序信号。

PC 控制台端使用C#编程语言设计上位机软件,通过选择不同的地址码,实现与多个设备同时通信,监控多个房间。上位机软件可以实时显示房间内的烟雾和温度变化曲线,并将数据存放在本地的SQL 数据库中进行保存。

图1 系统总体框图

2 硬件设计

2.1 系统CPU

选用ST 公司推出的STM32F767 作为系统CPU,选择理由如下:

(1)基于Cortex-M7 的内核具备了DSP 指令以及ARM 公司推出的DSP 库,使芯片计算速度大大提升,具备在芯片上实现神经网络的计算速度。

(2)具备低功耗模式,CPU 使用HCLK 提供时钟,并执行程序代码,降低系统耗电。

(3)内部具有CRC 循环冗余校验计算单元,方便RS-485 通信使用。

基于以上3 点,能够满足本系统设计的需求。

2.2 数据采集传感器

烟雾传感器使用激光粉尘传感器PMS3003(G3)传感器,该传感器使用功耗低、体积小、采样时间短、灵敏高,可获得单位体积内空气中的烟雾浓度。使用RS-485 接口,ModBus 通信协议进行数据传输,确保了数据安全性。

温度传感器使用DS18B20 传感器,DS18B20 是一款常用的数字温度传感器,输出数字信号,具有体积小,便于封装,抗干扰能力强,使用3V-5V 的工作电压,使用方便。

2.3 RS-485通信模块

采用SP3485 芯片作为RS-485 通信的收发器,该芯片支持3.3V 供电,最大传输效率为10Mbps,支持多达32 个节点,并有输出短路保护。

图2 SP3485引脚图

图2 中,A、B 总线用于连接485 接口。RO 是接收输出端,DI 是发送数据收入端,RE 是接收使能信号,低电平有效,DE 是发送使能信号,高电平有效。使用时,将RE 与DE 相连接。

3 系统软件设计

3.1 系统软件设计总体流程

STM32F767 采集传感器数据,将数据输入到LSTM循环神经网络中,同时由STM32F767 上传到PC 控制台。循环神经网络通过使用已经训练好的网络模型,分析出烟雾、温度变化的原因,如果分析出是由于发生火灾,引起的烟雾、温度变化,则LED 灯进行闪烁,同时进行语音警报,并向控制台进行警告。

图3 系统总体流程图

3.2 LSTM神经网络

LSTM 中主要使用3 个门遗忘门、输入门、输出门以及即时状态来控制长期状态,遗忘门负责决定之前的长期状态对当前的长期状态影响的程度;输入门与即时状态共同负责决定当前输入对长期状态的影响程度;输出门决定当前长期状态对输出的影响程度。

图4 LSTM神经元

图中的Wf、Wi、Wc、Wo分别表示遗忘门、输入门、即时状态、输出门的权重矩阵。这些权重矩阵由Wh、Wx两部分组成。前向传播过程需要计算遗忘门输出ft,输入门输出it,即时状态输出以及输出门输出Ot。长期状态Ct由遗忘门输出ft、输入门输出Ot、即时状态输出和上一时刻的长期状态Ct-1共同决定。

LSTM 神经元的最终输出是由长期状态、输出门的输出共同决定的。

其中∘符号表示按元素乘。这个计算过程也是LSTM 的前向传播的计算过程。

本系统中,LSTM 的反向传播在计算机上进行,使用本实验室之前的研究数据,训练神经网络,将训练完成的权重矩阵移植到STM32F767 芯片中。烟雾、温度变化有很多,训练完成权重矩阵记录了烟雾、温度变化的规律,能够分析出这些变化是由于何种原因引起的,从而能够在火灾还未发生,在有要发生火灾的趋势时,进行预警,达到了及时防控火灾的作用。

定义forward 函数,输入为输入向量,为了记录前向传播的次数,使用全局变量times 来记录前向传播的次数,也就是时刻times。根据LSTM 门的计算理论公式,编写程序计算遗忘门、输入门、输出门以及即时状态的输出,并将输出的结果保存到相对应的结构体数组中的times 位置。使用计算所得的遗忘门、输出门、即时状态的输出以及上一时刻的长期状态,计算当前时刻的长期状态。

将当前时刻的长期状态c 保存到结构体数组c_list[]中,存放在times 位置,即c_list[times]。使用计算所得的输出门的输出以及长期状态,计算当前时刻LSTM神经元的输出。

这里的∘表示按元素相乘,此处使用之前定义好的矩阵按元素相乘函数mul2,将Ot、tanh(c)输入mul2,输出结果赋值给ht。将LSTM 神经元的输出ht保存在h_list[]中,存放位置为times,即h_list[times]。合理设置权重矩阵大小,达到既能满足使用需求,又不过产生过拟合的效果。

4 实验结果

将本系统与传统烟雾报警器放在同实验条件下,进行多次实验,模拟生活中抽烟、点燃可燃物、做饭等可能遇到的情况。本系统可以分辨出抽烟、做饭等场景,并且在点燃可燃物实验中,本系统并未和传统烟雾传感器一样,达到某个阈值后才进行报警,而是分析出由于火灾因为的烟雾、温度的变化,并提前进行预警,能够提前烟雾报警器进行报警。

该实验证明,本系统能够分析烟雾、温度变化是由于何种原因引起,如果是由火灾引起的变化,则会在火灾尚未过大时,进行预警,不依赖阈值等方法,能够灵活、灵敏、准确地预警火灾的情况。

5 结语

本系统使用人工智能的方法,分析烟雾、温度变化,判断是否由于火灾引起,不依赖阈值,能够及早发现火灾,达到真正的智能火灾预警,最终的实验,也证实本系统能够较传统烟雾报警器提前发现火情,具有较好的火情预警效果。上位机PC 控制台既可以试试观测不同房间的烟雾温度变化,也能及时接收到下位机发送的火情警报。在未发生火灾时,经数据存入数据库,以备人们查看,以及未来研究的使用。本系统继承自实验室的基于粉尘浓度传感器的火灾预警系统,并进行更新改进,使用粉尘浓度传感器的火灾预警系统数据库的大量历史数据,训练神经网络模型,确保了本系统权重矩阵能够尽可能地记录生活中烟雾、温度变化的规律、以及多次试验时记录下的火灾烟雾、温度变化规律。本系统还具备继续优化的潜力,可以通过优化网路模型,提高运算速度和准确性以及更早的预警火灾。

免责声明

我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自各大过期杂志,内容仅供学习参考,不准确地方联系删除处理!