融合传感器阵列与SSA-BP 神经网络的气体监测系统设计*

2022-10-25 08:25:56董常庆施云波牛昊东康林贵
传感技术学报 2022年8期
关键词:神经元气体传感器

董常庆,施云波*,牛昊东,王 天,康林贵,李 萍

(1.哈尔滨理工大学,测控技术与通信工程学院,黑龙江 哈尔滨 150080;2.哈尔滨理工大学,测控技术与仪器黑龙江省高校重点实验室,黑龙江 哈尔滨 150080)

目前,氨气、氯气、甲烷等气体是化学工业上广泛使用的气体,超过60%的化学品在其生产制造过程中要使用这些气体。 同时这些气体也是化学事故发生率最高的危险化学品之一[1]。 这些气体的泄漏事故具有危险性大、危害性广、突发性强、处置难度高等特点,如果能够准确监测到泄漏事故的发生,对于社会的稳定、企业的安全生产运行将具有重要意义。

现阶段的气体传感器普遍存在交叉敏感性的问题,即在实际检测中传感器不仅仅对单一目标气体敏感,而且还对其他气体产生响应,无法采用单一气体传感器实现对混合气体组成成分的有效检测[2]。

采用灵敏度存在差异的多种气体传感器组成传感器阵列,能够获得包含目标气体信息在内的一系列多维响应信号,这为实现混合气体的成分检测与分析提供了可行性手段。 人工嗅觉系统主要包括气体传感器阵列与模式识别算法,其检测与分析性能主要与气体传感器阵列的材料特性和模式识别算法的性能有关,是两者共同作用的结果[3]。

相关研究学者已经在现有气体传感器基础上,通过信号处理方法来提升对气体的检测和分析性能,取得了一定的研究成果,并明确指出:信号处理方法在人工嗅觉系统中具有关键作用,可以通过提升算法的性能来增强人工嗅觉系统的检测与分析性能[4]。 宋凯等人[5]使用独立成分分析(Independent Component Analysis,ICA)对MOS 传感器阵列的响应数据进行分析,成功对3 种不同的气体进行识别,但ICA 属于线性特征提取方法,所提取到的混合气体特征的可分性并不理想;Zou Xiaobo 等人[6]利用主成分分析(Principal Component Analysis,PCA)提取多维响应信号中所包含的特征,再通过人工神经网络实现对气体种类的识别,然而PCA 算法也属于线性特征提取和分类方法,在处理非线性响应信号时达不到理想的精度;谭光韬等人[7]利用卷积神经网络(Convolutional Neural Network,CNN)提取传感器阵列数据特征,根据提取的特征图,使用不同分支网络对不同气体进行定性识别,并根据识别结果,使用核主成分分析(Kernel Principal Component Analysis,KPCA)与梯度提升决策树(Gradient Boosting Decision Tree,GBDT)对混合气体成分进行定量估计。

尽管以上方法在一定程度上实现了对混合气体浓度的检测与分析,但想要将这些模式识别算法部署在算力有限的移动设备上,特别是部署在拥有大量监测节点的气体监测系统中,节点处理器薄弱的计算能力和敏感的成本成为了其算法部署的难点。 所以目前的气体监测系统都存在着功能有限、检测精度低、监测气体种类单一、监测成本高等突出问题。 因此,本文设计了一个将气体传感器阵列与数据融合算法结合的气体监测系统,能够对气体进行定性和定量分析,可以有效提高气体监测系统的性能。

本文中,采用nRF52832 BLE Soc 实现传感器阵列数据的采集、处理和传输。 选用SSA-BPNN 进行数据融合,实现气体的定性和定量分析。 系统将设备端处理后的信息通过BLE 发送到上位机进行处理、显示,从而有效降低系统的负担,增加系统处理数据的灵活性,也可以避免单一节点的海量存储,可实现节点的组网监测、在线实时监测、数据的暂存和后端的大量存储。

1 监测系统设计

1.1 系统构成

本系统采用以微微网为基本单元,分布式网络为结构的网络拓扑方案,网络支持两种物理设备,即主从一体设备和从设备,其中主从一体设备可充当BLE 节点,不仅可以收发数据,还具备中继功能;而从设备只提供部分的BLE 服务,只能充当终端节点,不具有中继功能,它只负责将采集的数据信息发送给上层节点。 整个网络由数据总机、中继节点和终端节点组成。 系统网络分布如图1 所示。

图1 系统网络分布图

其中,中继节点和终端节点是整个系统的信息采集部分,主要实现对环境参数的监测,如气体浓度、环境温湿度等,节点采集传感器阵列输出的电压信号,并经过处理、融合后,再向上传输数据。 数据总机实现系统数据的中继传输。 通过上位机实现数据的实时显示、动态曲线绘制和监测区域内的阈值报警等功能,完成人机交互任务。

中继节点和终端节点的角色分别为主从一体设备和从设备,中继节点实现两个微微网单元的连接,既作为上层单元的从设备,又是下层单元的主设备,而终端节点只能作为本层单元的从设备,不具备其他功能。

网络中的各设备依靠Nordic s132 协议栈进行通信连接。 中继设备通过切换主从角色实现扫描和广播操作,而终端从设备只进行广播,并且主角色设备会根据程序中的广播名称与相应的从角色设备进行连接,从角色设备通过串口透传服务将自身数据或中继数据向主角色设备进行传输,数据层层上传,最终通过人机交互界面向用户显示。

本系统以BLE 为无线通信方式,设计了分布式网络拓扑结构,系统启动后网络内各个设备通过通信协议快速、自动地组成一个独立的气体监测网络系统,完成监测区域内各种气体的实时监测和浓度预警等任务。

1.2 传感器阵列

传感器阵列的选型组成需要结合系统要求,针对不同目标气体的性质进行综合评估、考虑[8]。 气体传感器选择使用MEMS 工艺半导体材料制造的金属氧化物半导体(MOS)气体传感器,其通常使用SnO2、ZnO 和In2O3等半导体氧化物作为敏感材料[9-12],具有灵敏度高、成本低、稳定性好等特点。根据实际应用的需要,选择了6 种MEMS 传感器组成传感器阵列。 其主要参数、实物图及连接方式分别见表1、图2。

表1 传感器阵列主要参数

图2 传感器阵列实物图

1.3 系统节点设计

监测节点的结构主要包括微处理器单元、传感器阵列、OLED 显示模块、Flash 存储模块、供电单元等。 其硬件框图及实物图如图3、图4 所示。

图3 监测节点硬件框图

图4 系统监测节点实物图

监测节点各部分协同工作,共同完成信息的采集、处理、存储以及信息交互等功能。 传感器阵列包括多个MEMS 气体传感器、温湿度传感器以及相应的信号调理电路,负责测量环境中的气体浓度和温、湿度,并将测量的信号调理为微处理器单元可采样的标准电压信号。 微处理器将采集到的标准电压信号进行融合计算,得到直观可读的气体浓度、温湿度数据,并通过BLE 通信实现与上级节点的信息交互。 Flash 数据存储容量为16 MB,保存了最近时间内的数据,存满后自动覆盖更新,方便后期对设备的检查更新和参数标定,从而实现各气体浓度检测值的可靠性输出。 供电单元通过电压转换为节点的各个部分提供稳定、可靠的供电。

1.4 系统软件设计

1.4.1 下位机软件设计

监测节点的控制核心是nRF52832,实现设备间的连接以及采集数据的处理和运算。 软件设计流程如图5(a)所示。

图5 系统软件设计

1.4.2 上位机软件设计

监测软件具有实时显示网络中各监测节点的工作状态、浓度动态曲线、监测数据历史查询调取等功能。 设计流程如图5(b)所示。

2 实验过程

实验采用静态配气法,将一定量的气态或蒸汽态的待测气体加入已知容积的气体测试箱,通过内置的微型风扇将待测气体与稀释气体混合均匀,气体的体积分数就是待测量的浓度,即同一压力下,待测气体的体积分数与总气体的体积分数的比值。 由此,改变加入待测气体的体积分数就可以得到具有不同体积分数的标准气体样本。 稀释气体和清洗气体为高浓度氮气N2。

系统实验测试示意图如图6 所示。 先将监测节点、数据总机、移动终端进行组网连接,待成功后,通过配气系统将稀释气体氮气和待测气体以一定的比例输入到气体测试箱中,待风扇将气体混合均匀,开始测量,传感器阵列的输出经监测节点采集后,通过中继传输,传送到手机端进行保存。

图6 系统实验测试示意图

2.1 训练数据及测试数据

待测气体为C2H5OH、CH4、NH3三种气体,配制在不同背景气体下不同体积分数待测气体的气样,背景气体为待测目标气体外的其他两种气体,如目标气体为乙醇时,背景气体为甲烷和氨气,共获得91 组测试数据。 对每一个样本都进行三次测量,每次测量间隔90 s,样本间的测量间隔为5 min,随机抽取三次测量中的数据组成训练集数据和测试集。部分实验测量数据如表2 所示。

表2 部分实验测量数据

3 SSA-BP 神经网络算法

人工神经网络是由大量神经元所组成的非线性系统,通过不断地调整神经元之间权重和阈值来发现输入输出之间的关系,不需要建立复杂的方程式,避开复杂的理论推理分析,在气体识别中有较多的应用,其中BP 神经网络应用最为广泛[13-15]。 BP 网络局部寻优能力强,但是容易受初始权重和阈值的影响陷入局部最优,导致模型预测精度差、稳定性差。 因此引进麻雀搜索算法(Sparrow Search Algorithm,SSA)来优化BP 神经网络的初始权重和阈值,提高模型的预测精度,相较于其他优化算法如灰狼算法(Grey Wolf Optimizer,GWO)、引力搜索算法(Gravitational Search Algorithm,GSA)和粒子群优化算法(Particle Swarm Optimization,PSO),该算法在精度、收敛速度、稳定性和鲁棒性等方面优于GWO、PSO 和GSA。 本文采用LM 优化算法(Levenberg-Marquardt Algorithm,LMA)对神经网络模型进行训练。

3.1 基于SSA-BP 网络算法的气体定性分析

3.1.1 模型设计及优化

理论已经证明,单个隐层的网络可以通过增加神经元节点的个数来实现输入到输出的非线性映射。 由于传感器阵列是由6 个气体传感器组成,分析测试需要对乙醇、甲烷、氨气三种气体进行定性分析,因此建立一个具有6 维输入、3 维输出,结构为6:H:3 的BP 神经网络,H 为隐层的神经元节点数,3 代表网络的输出结果,期望输出为:

神经元个数H 可以根据经验公式[16]进行选择,其公式为:

式中:m和n分别为输出层和输入层的神经元个数,a是[0,10]之间的常数。 根据式(1)选择4 个~14个神经元进行训练,得到隐层神经元数在[4,14]范围内变化时,MSE 和训练步数变化的曲线。 由图7可知,随着神经元数的增加,训练步数并不是有规律的增加或者减少,MSE 随着神经元数增加而逐渐减小,但当大于11 时,MSE 急剧增加。 最终确定定性分析模型的隐层神经元数为11。

图7 隐层神经元数对MSE 和训练步数的影响

3.1.2 数据预处理

为了提高分类辨识效果,需要对传感器阵列的输出信号进行预处理,以消除或降低气体浓度对传感器输出的影响[17-18]。 预处理算法直接影响着系统的工作特性,根据系统使用的气体传感器类型、模式识别方法,利用归一化算法进行信号阵列的归一化处理,用Vgas、Vair分别表示传感器在被测样气和洁净空气中的电压值,其公式为:

式中:i=1,2,…,6,经式(2)处理后的阵列响应Xgas=[xgas,1,xgas,2,…,xgas,6]作为模式识别的实际输入。

3.1.3 气体定性预测结果分析

将预处理后的测试集样本输入已训练完成的神经网络模型,得到预测值,通常将预测值>0.7 认为1,将预测值<0.3 认为0,在0.3 ~0.7 之间视为预测出错。 当设定误差指标为0.001 时,BPNN 的分类识别准确率为93.55%,SSA-BPNN 的分类识别准确率为100%。 经算法优化的SSA-BPNN 具有更好的分类效果。 表3 为部分测试集样本分类识别结果。

表3 不同体积分数下的部分测试集分类识别结果

3.2 基于SSA-BP 网络算法的气体定量分析

未知种类气体的定量分析通常要经过以下两个步骤来实现:首先,对未知种类气体进行定性识别,得到其种类;其次根据定性识别结果,转入相应气体的定量预测模型,从而得到气体的浓度值。 定量分析实现过程如图8 所示。

图8 未知气体定量分析的实现过程

3.2.1 模型的设计及优化

气体定量分析模型与定性分析模型相似,都是具有6 维输入、单个隐含层的BP 神经网络模型,但前者输出是一维的,即气体浓度预测值Ci。 结构为6 ∶Hi∶1,隐层神经元数Hi则根据式(1),选择3 ~13个神经元进行训练,乙醇、甲烷、氨气三种气体定量分析模型的MSE 和训练步数随神经元数变化的曲线分别如图9(a)、(b)、(c)所示。

图9 定量分析模型训练结果

气体浓度信号的归一化算法为:

式中:cmax为测试集样本期望结果最大值100,j=1,2,…,20。

测试集样本经传感器信号归一化处理后,阵列输入向量的每一个元素都处于同一个数量级,既可以作为神经网络合适的输入数据,也可以减小化学计量识别中的计算误差;气体浓度归一化可以满足神经元S 型激励函数输出幅度的要求,模型进行预测时,其输出经过气体浓度信号归一化算法的反变换得到气体预测浓度值。

3.2.3 模型参数的优化

使用麻雀搜索算法对模型的初始权重和阈值进行优化,优化算法程序选取训练集与测试集整体的均方误差为SSA 的适应度值。 设置适应度为:

mseTrain、mseTest分别为训练集和测试集的预测均方误差,适应度表明最终得到的网络在测试集和训练集上均有良好效果。 适应度越小,表明训练越准确,兼顾模型的预测精度越好。 图10 为三种预测模型的适应度曲线,模型适应度在迭代数为50 左右时

图10 各气体预测模型的适应度曲线

由图9 可知,神经元数为10、8、10 时,其模型的MSE 最小,为了使模型获得更好的预测性能,故选择10、8、10 作为三种预测模型的神经元数。

3.2.2 数据预处理

数据预处理包含传感器信号归一化和气体浓度信号的归一化[19]。 传感器信号归一化算法为:

式中:i=1,2,…6,max[·]表示传感器i对所有测试样本的最大响应值。已趋于平缓,适应度值分别为:0.165 54、0.073 74、0.304 10,说明三种模型都具有良好的预测性能。

3.2.4 单一气体定量预测结果分析

将单一气体测试集分别输入未经优化的BP 网络模型和经过麻雀搜索算法优化的SSA-BP 网络模型,样本经传感器信号归一化和气体浓度信号归一化后作为各模型的实际输入,最后得到测试结果。BPNN 与SSA-BPNN 的定量预测结果及误差对比如图11、表4 所示。

图11 单一气体定量分析结果

通过图11 和表4,可以看出SSA-BPNN 的预测误差和准确率明显优于BPNN,SSA-BPNN 的大部分预测数据均匀分布在黑色实线附近。 而未优化的BP 神经网络由于会出现局部最优值,导致部分样本数据与整体预测样本偏离较大。

表4 BPNN 与SSA-BPNN 的预测相对误差

BPNN 对乙醇、甲烷、氨气预测的平均相对误差分别为6.80%、3.99%、15.07%;SSA-BPNN 对三种气体的预测相对误差分别为1.11%、1.80%、2.33%。 SSA对BPNN 的优化提高了预测模型的预测精度和稳定性,模型的预测性能明显改善。 在一定误差范围内,系统能够以较高精度实现对单一气体的定量分析。

3.2.5 混合气体定量预测结果分析

将混合气体测试集输入预测模型进行测试验证,对比背景气体浓度为0×10-6、5×10-6、10×10-6下对目标气体的预测效果,结果如图12、表5 所示。

图12、表5 对比了乙醇、甲烷、氨气三种模型在不同浓度背景气体下对目标气体的预测效果。 从预测结果分析,背景气体浓度为0×10-6时,模型对目标气体的预测误差在0.04%~4.02%之间,能较好地对单一气体浓度进行预测;在背景气体浓度分别为5×10-6、10×10-6时,模型对目标气体的预测误差略有增大,分别在0.40%~5.04%、1.05%~5.43%之间,背景气体会对模型预测目标气体造成一定的干扰,但模型仍能以一定精度实现对目标气体的定量预测。 进一步观察从样本浓度上分析,以目标气体为乙醇为例,对高浓度样本的预测,预测值更加接近真实值,其相对误差随目标气体浓度升高而降低,这可能是因为乙醇浓度越高,传感器对乙醇的响应越大,背景气体对传感器的干扰性越低,得到的预测结果越准确;对于低浓度气体,传感器响应较低,容易受背景气体干扰,影响预测结果。 当背景气体浓度升高时,目标气体的定量预测误差显著增大,说明背景气体浓度的升高会增强其对传感器的干扰,影响预测效果。 其他气体分析同理。

图12 不同浓度背景气体下对目标气体的预测效果对比

表5 不同浓度背景气体下对目标气体预测的相对误差

3.2.6 算法部署测试

将完成训练的SSA-BP 模型的权重和阈值参数导出,在监测节点上进行部署测试,得到系统节点的算法执行时间、完整运行时间等相关参数。

通过设置定时器计时,得出处理器执行预测模型算法的时间。 算法的执行时间在20 ms~50 ms 之间,平均时间为35.25 ms。

监测节点采集一组数据到上位机显示的时间,不仅与网络的通信协议有关,还与外界环境有关。系统的实时性测试在室内进行,节点与节点间的距离为10 m,中间无阻挡物。 运行时间统计结果如表6 所示。

表6 采集一次数据到上位机显示的运行时间 单位:ms

系统网络的通信速度并不固定,而是一直在浮动变化。 当下层节点的数据中继转发时,会在中继节点处消耗一定的时间,造成一定延迟,但可以满足在线实时监测的要求。

4 结论

本文基于气体传感器阵列和BP 神经网络开发了一种新型无线传感器网络监测系统。 测试结果表明:麻雀搜索算法具有一定的全局搜索能力和跳出局部最优能力,SSA-BPNN 具有良好的非线性拟合能力和预测精度,能够有效解决气体传感器的交叉敏感问题,提高系统对气体的选择性,从而提高系统的定性、定量分析性能。

融合气体传感器阵列和SSA-BP 神经网络的气体监测系统,使得危险气体监测变得智能化和多功能化,更好地保证社会的稳定发展、生产企业的安全运行,具有推广应用的价值。

猜你喜欢
神经元气体传感器
《从光子到神经元》书评
自然杂志(2021年6期)2021-12-23 08:24:46
康奈尔大学制造出可拉伸传感器
二维定常Chaplygin气体绕直楔流动
非等熵Chaplygin气体测度值解存在性
简述传感器在物联网中的应用
电子制作(2019年22期)2020-01-14 03:16:52
“传感器新闻”会带来什么
传媒评论(2019年5期)2019-08-30 03:50:18
跟踪导练(三)2
吃气体,长大个
跃动的神经元——波兰Brain Embassy联合办公
现代装饰(2018年5期)2018-05-26 09:09:01
基于二次型单神经元PID的MPPT控制
电源技术(2015年5期)2015-08-22 11:18:38