基于信息融合的餐饮油烟监测系统设计*
2022-05-18丁承君徐光鹿刘云帆贾丽臻
丁承君, 徐光鹿, 刘云帆, 贾丽臻
(河北工业大学 机械工程学院,天津 300130)
0 引 言
目前,环保部门明确要求餐饮企业油烟浓度不得高于2.0 mg/m3,但油烟排放依然严峻。市面上的油烟监测设备普遍采用的净化技术包括:物理净化法,如文献[1]提出空气负离子技术的新型多级油烟净化装置设想,经可行性分析表明其能够有效吸附微小颗粒,但对过滤材料要求极高;文献[2]采用窄带物联网(narrow band Internet of things,NB-IoT)技术,由前端、传输网络和云平台组成油烟监测系统,功耗低、覆盖范围广、成本低等优点,但推广率依旧不高,主要原因是上传数据丢失,监测不准以致商家抵制安装。
本文提出基于信息融合的无线监测系统,遗传算法(genetic algorithm,GA)优化的反向传播(back propagation,BP)神经网络用于将多个传感器的数据融合,提高系统效率,解决了精度不高及数据丢失的问题[3]。
1 整体系统设计
相关文献表明饮食油烟能被检测到300多种成分,通过分类检测油烟成分可有效防止坏境污染。由整体系统架构图 1可知,设备终端由油烟参数采集模块、嵌入式控制中心、计算单元、无线传输单元组成。数据采集模块由TGS2600油烟传感器、MQ—7一氧化碳(CO)传感器、MS1100甲苯、甲醛传感器组成,电压检测单元主要检测风机净化器的工作状态。以上传感器监测范围基本覆盖油烟污染所涉及的范围,具有优良的感知性能、易于应用。嵌入式控制中心选用STM32F103ZET6芯片,最高可达72 MHz工作频率,拥有丰富的IO接口资源;计算中心选用i.MX287芯片,高效的运算处理能力,能够满足本系统的BP运算任务需求。无线通信单元选用SIM900A,利用通用无线分组业务(GPRS)功能上传数据至应用层,以便数据实现可视化应用。
图1 饮食油烟监测系统架构
2 硬件设计
系统硬件框图如图 2所示,由油烟参数采集模块、边缘计算模块、通信模块组成。
图2 系统硬件框图
2.1 油烟参数采集模块
1)甲醛传感器:MS1100甲醛传感器对甲醛、甲苯等挥发性气体具有很高的灵敏度,用于油烟监测,测试体积分数范围(1~1 000)×10-3。通过输出模拟信号至STM32的A/D模数转换通道获取实测甲醛、甲苯体积分数。
2)一氧化碳传感器:选用MQ—7一氧化碳传感器模块,其工作原理和TGS2600相似,气敏材料在清洁空气中电导率低,随着敏感气体体积分数上升,气敏材料的导电率也随之提高。监测范围(0~1 000)×10-3,输出模拟电压供STM32采集处理[4,5]。
3)油烟传感器:TGS2600通过加热器使得待测气体依附于半导体材料表面来改变电阻值,如果存在大量的敏感气体,遇氧发生氧化反应增加电子数目,电阻值反而降低;否则氧原子得到电子,降低半导体的导电性,呈现高阻态。用简单的电路将半导体的导电率转换为气体体积分数的值进行输出。
将传感器模块密封,只需探头上表面接触油烟气体,首先将传感器模块放置在清新的空气中至少通电30 min,测得AOUT输出电压值,利用式(1)计算R0
R0=Vcc×RL/VRL-RL
(1)
式中 供电电压Vcc=5 V,RL=2 kΩ,VRL=AOUT,能够计算R0。当检测到目标气体时,测得AOUT的值,用式(2)计算RS
(2)
注意此时VRL为检测到敏感气体后的值,比式(1)中的VRL大,Vcc和RL与上式相同,得到R0,RS值之后,通过灵敏度特性曲线RS/R0换算成气体的具体体积分数值。
4)电压监测:电压检测电路如图3所示,交流电接入L,N端子,经过150 kΩ电阻降低电流,通过MB6S桥式整流器转换为直流电,接入光电耦合器PC817使上下级电路完全隔离,最后通过放大电路进行信号放大接入STM32的输入引脚采集风机净化器的通电状态。
图3 风机净化器电压监测电路
2.2 无线通信模块
经过边缘设备计算处理之后信息量大大降低,本系统采用SIM900A无线通信模块,板载SIMCOM的工业级双频GSM/GPRS模块,支持工作频段为900/1 800 MHz,能够实现与RS—232和TTL对接。可以低功耗实现数据传输的功能。通过串口发送AT指令设置SIM900A为无线通信模式,实时向云服务器传递油烟监测数据。
3 软件设计
本系统软件设计分为两部分,数据采集程序设计如图4(a)所示和计算单元程序设计如图4(b)所示。
图4 软件设计
油烟参数采集程序包括驱动传感器初始化子程序、接收存储数据子程序、风机净化开关状态子程序、RS—232协议发送子程序。数据采集模块对甲醛、甲苯、CO、苯类化合物进行采集、存储、传输到计算单元。
计算单元软件设计包括RS—232接收子程序、GA优化BP神经网络子程序、数据存储子程序以及无线通信子程序。通过RS—232接收的数据输入BP神经网络,获取权值和阈值作为GA的输入数据,通过选择、交叉、变异筛选出最优权值和阈值,赋值给BP神经网络,油烟数据经过此时训练神经网络对比实际油烟体积分数,输出误差继续作为GA的适应度函数,直至输出误差趋近于零。最后将监测结果(超标警告、风机净化器状态)通过GPRS上传服务器。
4 GA优化BP神经网络
GA[6]是根据生物自然进化原理进行全局搜索最优解的算法,通过选择、交叉、变异繁殖下一代,保持群体的稳定性、优良性。
BP神经网络[7]是一种误差反向传播的多层前馈网络,训练规则使用Trainlm训练函数以最快速度寻找一组最优权值和阈值,使得网络误差最小。BP神经网络的容错性、信息的并行处理以及解决非线性问题的优越性等特点备受关注。但由其收敛性差、易陷入局部极值等局限性。通过遗传算法改进BP神经网络搜索最优权值和阈值以改善网络的收敛性,防止陷入局部极小值。
4.1 BP神经网络
理论上只要隐含层节点数目足够多的三层BP神经网络能够解决绝大部分问题[8],因此本文采用三层BP神经网络。输入层的输入信号为油烟样本数据,隐含层通过对数据复杂变换作为输出层的输出。BP网络的步骤如下:
1)确定BP神经网络的拓补结构,初始化输入层(I)到隐含层(H)的权值vij,隐含层(H)到输出层(O)的权值wij,H层和O层的阈值分别为h,H。
2)隐含层(H)的输出
(3)
式中ai为输入层的输入信号;bi为隐含层第i个神经元输出;hj为隐含层第j个神经元的阈值;vij为输入层第i个神经元到隐含层第j个神经元的权值,隐含层激活函数为f(x)=(1+e-x)-1。
3)输出层的输出
(4)
式中yi为输出层第i神经元的输出;Hj为输出层第j个神经元的阈值;wij为隐含层第i个神经元到输出层第j个神经元的权值;输出层激活函数为f(x)=x。
4)神经元的输出误差
输出层误差
dj=yj(1-yj)(Oj-yj),j=1,2,…,p
(5)
式中dj为输出层神经元第j个的误差;Oj为第j个神经元的标准输出。
隐含层误差
(6)
式中ei为隐含层第i个神经元的输出误差。
5)修正隐含层与输出层的连接权值与输出层的阈值
Δwji=αbidj,i=1,2,…,n,j=1,2,…,p
(7)
ΔHj=adj,j=1,2,…,p
(8)
式中 0<α<1为常数,用于控制学习效率;Δwji,ΔHj分别为输出层第j个神经元至隐含层第i个神经元修正权值的差值、阈值的差值。
6)调整输入层与隐含层的权值与隐含层的阈值
vij=βajei,j=1,2,…,m,i=1,2,…,n
(9)
Δhi=βei,i=1,2,…,m
(10)
式中 0<β<1用于控制学习效率;Δvij,Δhi分别为隐含层第i个神经元至输出层第j个神经元修正权值的差值、阈值的差值。
7)重复步骤(2),直到误差di→0为止。
BP神经网络拥有极强的非线性函数映射能力以及自我学习机制,主要应用于修复图像、语言处理、模式识别以及非线性分类等领域。但由于学习效率低、解决非线性问题并不能总有解,且伴随着训练过程漫长。必须通过其他算法改进。
4.2 GA优化BP神经网络的实现
GA是一种全局寻求最优的搜索算法,通过选择、交叉、变异处理,保持群体的鲁棒性、全局最优性,避免陷入局部极值的风险,同时能够优化BP神经网络的权值和阈值,极大提高BP神经网络的训练速度。
其实现过程如下:1)将BP神经网络初步训练的权值和阈值作为GA的初始种群,对个体进行编码,并初始化选择、交叉、变异概率。2)将BP神经网络的误差(di)作为GA的适应度函数,然后按式(11)根据适应度值计算父代进入子代的概率ps。3)根据适应度选择较优个体进行交叉、变异操作,产生新的子代并计算新种群的适应度值。4)判断新生个体是否满足择优条件,若满足则继续下一过程,若不满足则返回步骤(2)。5)解码最优个体得到全局最佳权值和阈值,同时以此替换BP神经网络的权值和阈值。6)返回BP神经网络步骤(4)计算误差,并继续执行直至结束。式(11)如下
ps=fi/∑i=1fi
(11)
式中fi为第i代个体的适应度值。
5 系统测试
反映油烟状况的因素为甲醛、甲苯、CO、苯类的体积分数,作为BP神经网络的输入量,所以输入层神经元个数为4,输出层神经元个数为1;经过反复测试确定隐含层神经元数为7。
利用MATLAB的工具包对GA-BP网络模型进行训练,隐层、输出层的激活函数分别为Sigmoid函数、Purelin函数,训练算法为Trainlm函数,训练次数设置为2 000,训练目标误差值为0.005,学校效率为0.1。GA的参数设置:适应度函数为Fitness,种群大小为50,终止函数为maxGenTerm,最大遗传代数为100代,选择、交叉、变异的参数分别为0.08,2,[2 100 3]。选用长度为100的样本进行训练,为方便测试将数据归一化到[0,1]范围内。
5.1 训练结果
将样本数据输入BP神经网络,训练后得到如图 5所示的均方误差分析图。GA优化后的BP网络训练至第9代时,达到误差水平线以下,GA-BP优化和Trainlm训练的独特性保证了神经网络的快速收敛性。收敛的最小误差为0.000 549 97,且最小误差值和期望误差值相差很小,达到了预期的效果。
图5 GA优化后的神经网络训练
5.2 测试结果
利用另两组实测数据进行测试,结果如图 6所示,改进后的BP网络预测输出油烟浓度为虚线所示,与实线显示的实际浓度高度吻合,通过GA优化以及使用Trainlm函数训练之后不仅提高了BP神经网络收敛速度还降低了误差,提高餐饮油烟系统的预测能力,达到了优化算法的目的。
图6 两个周期实际数据与BP网络拟合对比
6 结 论
针对餐饮企业油烟排放超标监测不力的问题,本文提出基于信息融合的餐饮企业监测系统设计,通过对终端设计的阐述了解本系统感知层的组成,通过优化之后的信息融合算法对数据处理,不仅降低了系统的响应时间还提高了系统监测能力,达到了预期的目的。