基于STM32F和极限学习机在火灾检测中的应用

2018-08-24 07:49,,
计算机测量与控制 2018年8期
关键词:学习机贝叶斯神经网络

,,

(浙江工业大学 信息工程学院,杭州 310014)

0 引言

火灾一直威胁着人类生命财产安全。目前几种主要的火灾探测技术包括吸气式[1],红外光束[2],图像视频技术[3],布线复杂且性价比低、结构不灵活等缺点。随着无线局域网(wireless local area network,WLAN)[4]的发展,无线网络已经广泛部署于各种室内场合,如学校、医院、餐厅、小区等。如果能充分利用这些网络资源来实现火灾检测,将大大降低系统成本。

在火灾信号处理算法方面,英国的Thomas H.Mcavoy把统计概率学应用到火灾检测中,很好地解决了传统的感烟探测器的精确度低的问题,对阴燃火有迅响应时间快[4],但该方法利用单一传感器,很容易受到干扰源的影响。对单一的传感器火灾探测系统来说,经常会出现误报的问题。因此许多研究者使用两种或两种以上的不同类型探测器同步进行检测,同时和智能算法相结合。我国的杨宗凯以半导体感温,离子感烟和湿度模拟传感量为基本特征,并附加其相应的趋势特征对神经网络进行训练,较好地克服干扰信号影响[5]。周晓琳采用了多传感器数据融合技术实现对火灾特征信息的采集与处理;然后提出了一种新的神经网络算法,建立BP网络火灾预警模型[6]。然而BP神经网络训练速度慢,易出现过拟合情况。另外,赵鹏利用数字图像处理技术,通过对像素特征空间进行弹性约束,模糊匹配识别区域,有效的提高火焰小的情况下系统的识别率[7]。然而火灾发生过程中会产生大量烟雾,造成图像质量低,该技术对火焰的特征提取存在较大偏差,致使探测的精度下降。Andrew利用PEN3电子鼻工具和协方差k-最近邻近概率神经网络算法,根据火灾的燃烧的气味进行早期火灾检测[8],响应速度快。Chen Jing阐述了火灾报警和火灾燃烧过程中的理化特性之间的关系,并提出了基于贝叶斯网络的火灾预警模型[9]。但贝叶斯网络训练过程复杂,需要的数据多。Wang Hairong提出基于RBF的分布式神经网络火灾预警模型,同时利用遗传算法来优化RBF网络模型,提高预警模型的适应性和可行性[10],实现在较少的数据集下也能达到很好的精度。Qian Ding采集多个传感器数据,然后利用改进的D-S证据理论对火灾发生的概率进行判断,很好的解决了证据冲突的问题[11]。刘云翔将模糊推理技术和神经网络相结合,应用在火灾检测中,实现较高的可靠性和准确性,但需要在建立精确的火灾样本和收集分析其他火灾传感信号等方面进一步完善[12]。

基于以上研究,本文引入具有良好的非线性映射能力和建模速度快的极限学习机来检测火灾,利用STM32F采集火灾发生过程中各传感器的值,通过WLAN将火灾数据传到终端进行分析处理,建立STM32F极限学习机火灾检测模型。该方法较单一传感器和BP神经网络、支持向量机、朴素贝叶斯方法相比能更为全面判断火灾状态,准确地检测是否出现火情,减少误报率,提高系统的准确度。

1 火灾采集系统的设计

火灾采集系统主要采用MQ2烟雾传感器,MQ4甲烷传感器,MQ5可燃气体传感器,MQ7一氧化碳传感器,实时检测环境中的烟雾信号,克服单一传感器造成的误报问题。多传感器模拟数据传输至STM32F微处理器进行A/D转换,转换成数字电压信号。采用32位处理器,可有效提高系统数据分析和处理能力。在通过ESP8266无线模块将多传感器数据传输到终端主机,集中显示和管理所有传感器。终端上采用C#编写的客户端用于接收和显示各传感器数据。该无线模块解决了传统报警器无法接入WIFI网络,采用物联网方案中的WIFI联网,具有成本低,兼容性好,能直接适配现有无线网络,更方便的对系统进行远程控制。无线采集模块实物如图1所示。

图1 STM32F无线采集模块

1.1 传感器的选择

不同燃烧物在燃烧过程中会伴随不同的产物,但一些信息只有火灾发生很长一段时间后才会检测出来,像火焰,燃烧音,固态高温产物等。经过实验发现温度在火灾初始阶段变化不明显,早期火灾以产生释放出烟雾和一些气体为主,基于此我们将火灾发生初期的气体作为火灾判断依据,气体检测装置选择MQ系列传感器,包括MQ2烟雾传感器,MQ4甲烷传感器,MQ5可燃气体传感器,MQ7一氧化碳传感器。

1)MQ系列传感器是一系列的模拟气敏传感器,主要由不同杂质含量、不同构造的二氧化锡构成。不同型号的传感器对于不同的气体有不一样的敏感度。

2)MQ系列传感器采用5 V供电,模拟电压输出范围为0~5 V,为MCU内部ADC最大支持3.3 V输入,所以通过电阻分压的方式等比降低输入电压,并且采用LM358设计电压跟随器电路,提高外部电路的输入阻抗,从而提高MCU内部ADC检测的精度。

1.2 采集控制器的选择

系统采用STM32F429处理器完成传感器数据采集,传统的基于8位,16位的的单片机,完成火情分析时间一般为15~18 s,对多数据处理能力较差,且存在模块功能弱的缺点,故不适合本系统多传感器的多数据处理的实现;基于DSP单片机虽具有较强的数据处理能力,但是成本较高,不易推广[13],STM32F429提供了1 MB闪存、256 KBS RAM,芯片内资源能够满足大多数应用要求。另外提供了84 MHz的32位宽的数据总线,能够使用低成本的外部SRAM。此芯片拥有3个12位ADC,其中ADC1拥有16复用通道,对于模拟信号的传感器拥有很好的兼容性,便于对于MQ系列传感器的数据采集。同时该处理器拥有8个串口资源,能够同时满足数据采集和通信。

1.3 无线传输模块选择

无线模块采用ESP8266模块,该模块采用WIFI芯片作为无线通信的载体,能够充分兼容现有的无线网络,能够使系统具有更加强大的兼容性能,能够在任何一个拥有WIFI的地方接入互联网,也可以使用任何具有无线功能的终端接入该系统。这样就可以利用现存的WIFI网络进行火灾检测。天线方面使用简单的PCB天线即可达到空旷环境下400 m的传输距离。该模块采用TTL电平与MCU通信,内置TCP/IP协议栈,通过AT指令控制芯片完成各种配置,兼容3.3 V和5 V单片机系统,拥有WIFI STA、AP和WIFI STA+WIFI AP三种模式,能够使用各种场合。使用编写好的PC客户端程序,可以通过TCP/IP协议对已经接入网的控制平台进行访问,读取控制台数据。

2 火灾数据采集及极限学习机分类方法

传统火灾检测系统基于单一传感器,但单一传感器检测存在可靠性差,容易受到环境干扰等缺点。不同燃烧物特性不同,单一传感器无法准确判断火灾种类。多传感器信息融合能有效克服单一传感器带来的不足,综合各类传感器信息,对燃烧物进行更细粒度分析,实现火灾燃烧物识别。在实际测量中,监控点(monitor point,MP) 接收从接入点(access point,AP) 发来的数据包分组,同时将各个传感器状态信息数据记录到一个txt文件中。txt文件中的数据由多个数据包构成,而每个数据包代表燃烧物在某时刻各个传感器值。

2.1 传感器数据预处理

在对各燃烧物数据进行极限学习机分类前,需要进行数据的预处理,实验环境中,燃烧物和传感器有一定距离,传感器的输出值很容易受到周围环境影响,包含各种噪。图2(a)为纸张燃烧过程中甲烷天燃气传感器信号输出,从图中可以看出输出信号中含有许多噪声分量。噪声可能来源环境和元器件电磁干扰。

本文采用加权移动平均滤波从测量信号中滤除噪声,保留反映真实情况的样本数据。

在某个时段传感器接收的数据可以表示为{X1,X2,…,Xt},滤波后t时刻值为:

(1)

m表示移动窗的大小,Xt表示t时刻滤波后的值。由公式(1)可以看出,加权移动平均滤波器不同地对待移动期内的各个数据。对近期数据给予较大的权数,对较远的数据给予较小的权数。图(b)为滤波后的波形图,加权平均滤波有效滤除信号中噪声部分。

数据预处理第二步就是归一化,归一化是指将每一维度的数据转换(0,1)的范围内,这就防止样本中某些取值过大的特征对其他特征产生影响,归一化方法为:

(2)

式中,Xnew,Xold为归一化之前和处理后的样本数据,Xmin,Xmax分别为训练数据中的最小值和最大值。从公式中可以看出若采集数据中存在噪声,就会对归一化产生干扰,因为噪声可能为训练数据中的最大值或者最小值,导致归一化失败,这也是在归一化之前先进行滤波的原因。

2.2 极限学习机分类原理

极限学习机[14-15]是一种单隐层前馈神经网络。网络的输入层权重和隐藏层偏置是随机产生的,输出层权重利用Moore-Penrose广义逆计算得到,因此网络的学习速率有很大的提高。

给定一个样本集(Xi,ti),i=1,2,…,N,其中ti=(ti1,ti2,…,tim)∈Rm,网络隐含层具有L个单隐层节点,激励函数为g(x),则ELM网络实际输出为:

(3)

(4)

由矩阵表示为:

Hβ=T

(5)

其中:

H(W1,W2,…,WL,b1,b2,…,bL,X1,X2,…,XN)=

则式(5)中β由最小二乘法解得:

β=H+T

(6)

其中:H+为隐含层输出矩阵的广义逆。

从ELM 算法过程可知,在设定合适的隐藏层神经元后,随机为输入权重和偏差赋值,在计算隐藏层矩阵后,通过最小二乘法得到输出权重,这样就一次完成该问题的求解过程,不需迭代。

3 火灾检测实验及分析

3.1 实验平台

实验平台主要分为接入点(AP)和监控点(MP),其中AP是由STM32F429处理器、传感器、无线模块采用ESP8266模块构成的采集系统,MP为安装了自己用C#编写桌面端软件笔记本电脑,操作系统为Windows7。在采集数据时,燃烧点放置在房间内某个位置,MP 接收来自AP 的数据包,并从中提取出燃烧物数据。数据中包含了燃烧物各个传感器信息。

3.2 实验环境及参数设置

为采集火灾环境数据,我们选取一间长宽高为:2.4 m×1.8 m×2.9 m房间。实验图如3所示,选取4个数据集点,燃烧点之间距离为1.2 m,燃烧点距AP距离为1 m,AP高度为30 cm。我们选取纸张,布料,塑料,木材作为火灾信号,蜡烛,香烟和正常状态为非火灾信号。经实验研究蜡烛,香烟作为干扰源也会释放出烟雾,但在早期相对于火灾源,产生烟雾较少。我们可以根据这一特性进行判别火灾信号和干扰信号。采集系统每隔2秒收发一次传感器数据,初始阶段火灾环境特征变化较小,发展阶段随着气体释放,燃烧物各种气体体积分数增高,烟气量开始增加。利用发展阶段早期气体变化进行判断,缩短预警时间,降低火灾损失。

图3 火灾检测实验图

3.3 实验结果分析

对于每种燃烧物,我们选取前250个样本值,构成样本集。训练样本和测试样本个数如表1所示。

表1 训练样本和测试样本

为了研究起火点对算法影响,我们将4个起火点的传感器数据按照表1构成4个样本集,对每个样本集先利用移动加权滤波处理,然后采用极限学习机方法对其预测,测试样本预测结果如图4所示。

图4 不同节点正确率

从图中可以看出,在4个样本集中无论对于火灾信号还是非火灾信号,极限学习机网络都能达到高于90%的正确率。位置对分类准确性影响较小。

为了检测算法的有效性,我们在每个火灾试验点随机选取250个样本,作为训练样本。50个样本作为测试样本。统计火灾状态下单一传感器和多传感器分别作为极限学习机网络的输入,比较结果见表2。

表2 单一传感器和融合后结果对比

如表2所示,用单一种类传感器进行火灾类型判别时,极限学习网络输出火灾和非火灾概率相差较小,这样就容易造成误判;而使用极限学习机理论融合多种传感器信息后,两者概率之差增大,在一定程度上提高了火灾检测系统的准确率。

同时本研究将极限学习机和传统的分类算法BP神经网络、支持向量机、朴素贝叶斯做比较,BP神经网络和朴素贝叶斯采用MATLAB自带工具箱,其中BP神经网络利用Levenberg-Marquandt规则训练前向网络。支持向量机使用libsvm-2.89工具箱,测试集比较结果如图5所示。

图5 不同算法结果对比图

从图5中可以看出,支持向量机和朴素贝叶斯正确率只有40.8%和57.6%。而ELM达到94.3%的正确率。同时也高于BP神经网络。支持向量机虽然通过核函数将非线性数据映射到高维空间进行分类,但对非线性问题没有通用解决方案,必须谨慎选择Kernelfunction来处理。朴素贝叶斯模型假设属性之间相互独立,而火灾环境中的特征量是很难保证是完全独立的,这给朴素贝叶斯模型的正确分类带来了一定影响。用神经网络算法虽然能够识别一些干扰信号,并且能够较为准确地判断火情但是火灾的数据与收集需要神经网络有足够多的训练样本。同时学习的样本过多使整个网络变得很大,影响收敛的速度。因此ELM网络在火灾检测中具有较大的优势。

表3为4种方法的性能分析,BP神经网络和ELM都能达到较高的正确率,但ELM网络结构简单,无需迭代进行学习,所以在训练和测试所需时间远少于BP神经网络,BP神经网络由于需要进行反馈学习,训练时间较长。朴素贝叶斯方法、SVM方法和极限学习机训练时间短,但训练集和测试集正确率都低于ELM方法。极限学习机在达到较高的正确率,同时能够大大降低训练时间。

表3 3种算法性能比较

4 结论

利用搭建的STM32无线数据采集平台,进行燃烧物数据采集,实验平台灵活,不受环境限制。针对单一传感器检测时出现的不足,研究了将极限学习机网络应用于火灾检测的方法。使用多种传感器对火灾早期烟雾特征进行测量,降低单个传感器带来的不确定性误差。实验结果表明,该方法和单一传感器、SVM、Nbyes、BP神经网络相比,可以更快速准确的反应出发生火灾的可能性,降低训练时间,实现了火灾的早期发现,为及时灭火奠定了基础。本方法在某些方面还存在改进地方,如讨论燃烧物量对各个观察特征的影响,针对有风环境等更复杂的情况则需要进一步的深入研究,我们的研究工作可为以后深入研究提供技术基础。

猜你喜欢
学习机贝叶斯神经网络
基于递归模糊神经网络的风电平滑控制策略
“机”关
基于贝叶斯定理的证据推理研究
基于贝叶斯解释回应被告人讲述的故事
基于随机权重粒子群优化极限学习机的土壤湿度预测
神经网络抑制无线通信干扰探究
基于神经网络的中小学生情感分析
租赁房地产的多主体贝叶斯博弈研究
租赁房地产的多主体贝叶斯博弈研究
基于改进极限学习机的光谱定量建模方法