混合气体的检测识别广泛地被用于环境保护、化工控制、厂房环境检测、家用报警等领域. 在化学物品繁杂环境中,混合气体检测显得尤为重要. 国内外有关混合气体检测识别的研究较多,气体识别率也较理想,但实验气体种类较少,单一气体识别一般不超过4种,混合气体组份也不超过两种[1]. 气体识别算法主要有K-近邻法(KNN),支持向量机(SVM)[2]、人工神经网络[3]及诸如遗传算法(GA)与人工神经网络相结合的多模式识别算法[4]等等,对特定气体识别率都在70%以上. 如上海交通大学汪丹等[5]利用支持向量机算法并结合4个气体传感器对3种不同体积分数的有机溶剂乙醇、丙酮、乙二醇进行定性识别,识别率在80%以上. 吉林大学石春燕等[6]将6个气体传感器与BP神经网络算法结合对甲烷、氢气、一氧化碳3种气体进行定量检测,预测误差控制在10%以内. 韩国庆北大学Cho等[7]结合模糊自适应共振映射分类器与基于模糊自适应谐振理论的浓度估计器,对氨气、硫化氢气体及其混合气体进行定性识别和定量估计,定性识别率达到100%,定量估计精度也很高. Chowdhury等[8]利用5个气体传感器并结合前馈多层感知器算法对印度东部及东北部两个不同地区采摘的红茶香味进行定性识别,识别率达70%以上. Siadat等[9]利用5个气体传感器并用人工神经网络对有无酒精的啤酒进行定性识别,识别率达100%[9].
国内外在机器人嗅觉功能方面的研究有很多,但集成度不高. 如瑞典厄勒布鲁大学的Loutfi等[10]教授为Pippi机器人研制了一个立体电子鼻,用一个Cyranose320电子鼻来识别乙醇、己醇、芳香醇、氨气和洁净空气5种气体,并用2个测距传感器、1个固定色CCD照相机以确定味源. 日本早稻田大学的WE-4仿人头机器人能识别酒精、氨气和香烟烟雾3种气体[11],其“人工肺”是利用丝杠螺母机构实现气缸抽气和排气运动. 本文作者在专利文献[12]中提出的仿人头像机器人用“人工肺”也是利用丝杠螺母传动实现呼吸. 但以上这些“人工肺”体积较大,难以集成在仿人头像机器人中.
本文面向仿人头像机器人系统集成化,设计一种体积小、质量轻的仿人主动呼吸人工肺-嗅觉系统,对多种单一及混合气体识别方法及算法进行实验研究. 由于KNN算法运算速度较慢,抗干扰能力差,而SVM难以实施大规模的样本训练,且解决多分类问题存在困难,因此本文从人工神经网络着手进行混合气体气味识别算法研究.
1 人工肺-嗅觉系统硬件设计与集成 1.1 集成化的人工肺-嗅觉系统人工肺-嗅觉系统硬件由电动微型真空泵、嗅觉传感器集成体系统、电源和“呼吸道”导气管组成. 其中真空泵为VM6005型真空泵,实现嗅觉系统的抽排气,抽气速率为5 L/min;嗅觉传感器集成体系统集成有酒精/硫化氢/氨气/烟雾/甲烷5种分立嗅觉传感器和单片机及多路A/D转换器、电压转换模块等器件,选择日本费加罗公司TGS系列5种传感器TGS822、TGS825、TGS826、TGS2600、TGS2611分别作为酒精、硫化氢、氨气、烟雾、甲烷传感器. 但这些传感器对不同气体存在交叉响应,即对每种气体都有响应甚至于相近难以区分,集成在一起时给准确识别对应气体带来难度. 图 1为设计的人工肺-嗅觉系统实物图,依靠真空泵主动呼吸,仿人头像机器人从鼻孔处实现对象气体的吸入,使其进入嗅觉传感器集成体系统的进气口1,流经内部的传感器检测部后由2口流出至真空泵进气口3,最后由4口排出. 嗅觉传感器集成体系统结构如图 2所示,包括安装在电路板上的5种嗅觉传感器、集气容腔壳体、两块电路板及端盖;其内部的单片机通过RS232串口实现与上位机(仿人机器人主控计算机)通信. 真空泵所需电源电压为12 V,传感器集成体系统所需电源电压为5 V. 图 3所示为嗅觉系统部件实物图.
选用STC12C5A60S2单片机实现嗅觉系统的数据采集及控制,其内置8路10位精度的ADC模块,最高转换速度可达25万次/s. 各气体传感器工作时需要进行加热,且其采样端的电阻值随气体浓度增加而减小,测量电路如图 4(a)所示为分压电路,满量程输出5 V电压. 传感器信号经过测量电路后送入模/数转换器ADC,再通过程序控制将生成的数字信号经RS232串口传给上位机. 由于通讯的异步电路和单片机芯片的电平不一致,因此采用多通道RS232驱动/接收器MAX3232芯片进行电平转换. 上位机通过串口接收单片机采集上传数据,并在MATLAB中进行数据处理,信号采集系统组成如图 4(b)所示.
5种实验用气体中,除香烟烟雾自制外,其余4种均为购置的体积分数为1%的气体产品,实验气体与空气以随机比混合,由人工肺主动吸入嗅觉系统. 在实验室条件下针对酒精/硫化氢/氨气/烟雾/甲烷5种单一气体及其4种混合气体(共9种气体)各做30次实验(每次5种传感器响应为1组数据),共得到270组数据. 图 5所示为各气体传感器对实验气体的响应数据曲线(此处仅列3种).
为书写简便起见,作如下约定:分别取单一气体全称第一个字母作为混合气体名称组合,如硫化氢-甲烷记为硫-甲,以此类推. 嗅觉系统实验数据的处理方法对气味识别结果的影响很大. 经串口传输的十六进制采样数据转化为十进制数后经卷积滤波器滤波后得到实验曲线(如图 5所示). 由于实验气体在人工肺腔壁、管道内有附着残留现象(如烟雾),因此未通入实验气体时传感器采样值不为0,其大小受残留气体种类和浓度的影响.
滤波原理:对各实验气体产生响应的每个传感器实验数据进行7个连续数值取加权平均运算,采样前3个值和后3个值不变. 下面仅对甲烷、硫-烟混合、硫-烟-甲混合3种气体各随机抽取1组实验曲线进行分析.
由聚类分析及训练识别结果易知,甲烷几乎不与其它8种气体交叉,而硫-烟混合气体与硫-烟-甲混合气体交叉比较严重,从数据曲线也可看出这种现象. 硫化氢传感器对甲烷气体有响应,最大电压在2~3 V;而对硫-烟混合气体和硫-烟-甲混合气体响应的最大电压均在4~5 V. 同理,酒精传感器和烟雾传感器对甲烷气体响应的最大电压值也比另外两种气体小. 因此,很容易从其它气体中将甲烷气体识别出来. 由于硫-烟混合气体和硫-烟-甲混合气体有两种相同的组份硫化氢和烟雾,因此,所有传感器响应曲线的趋势都是一致的. 交叉比较严重,需要通过有效的模式识别算法利用特征值来区分.
在选用合适的模式识别算法之前,需要进行特征值提取和特征值归一化. 经过比较,本文选取最能代表气体传感器对实验气体的响应电压随时间变化曲线特征的两个值(最大值和最大微分值)作为特征值. 最大值体现各传感器对各对象气体响应的最大限度,而最大微分值体现各传感器对各对象气体响应的最大灵敏度.
特征值归一化法是利用神经网络预测前对数据常用的一种处理方法,它将所有数据都转换为[0,1]之间的数,目的是取消各维数据间的数量级差别,避免因输入输出数据间的数量级相差较大而影响网络预测精度. 特征值归一化方法选择应用广泛的最大最小法. 表 1为氨气实验数据在特征值归一化后的样本数据,共30组. 本文并未严格控制实验气体的浓度和体积,实验数据相对比较离散.
首先利用统计学的K-均值聚类分析方法对5种单一气体的各15组实验数据进行分析,目标种类设为5类. 用SPSS 19.0软件对实验结果进行K-均值聚类分析的分析结果如表 2所示.
从聚类结果可知,除甲烷气体外,其他4种气体均相互交叉,尤其是酒精气体和硫化氢气体. 对于5种单一气体,K-均值聚类分析方法是无效的,如果将该方法运用于9种气体,结果会更不理想. 因此,需要采用更适合、更智能的模式识别算法来进行气体识别.
3.2 单一气体气味识别的GA+BP神经网络算法目前,气体识别的模式识别方法中应用最广泛的是BP神经网络算法,但其有学习收敛速度慢、易陷入局部极小点等缺陷[13]. 此外,网络的初始权值和阈值的选择对网络训练的影响很大,但是又无法准确获得. 而遗传算法(GA)全局搜索能力强,局部搜索能力弱[14]. 因此可利用GA对BP-ANN进行优化,训练时先用GA对网络的权值和阈值进行寻优,将搜索范围缩小后,再利用BP-ANN来精确求解. 使算法既有神经网络的学习能力和鲁棒性,又有遗传算法的全局搜索能力[15].
根据遗传算法和BP神经网络理论,在MATLAB环境中利用相关功能函数编程. 针对5种单一气体(氨气、酒精、硫化氢、烟雾、甲烷),训练识别参数设置如下:
1) 遗传算法参数设置. 种群大小50,最大遗传100代,个体长度10,代沟0.95,交叉概率0.7,变异概率0.01. 编码方式为二进制编码.
2) BP神经网络参数设置. 选定隐含层数为1. 输入层神经元数等于因子数,5个传感器的5条电压响应曲线都有2个特征值. 因此,输入层神经元数为10. 输出层神经元数为输出量数,有5种目标气体则输出层神经元数为5. 隐含层神经元数为21(根据经验公式:n=2×m+1,其中m为输入层神经元数,n为隐含层神经元数). 因此,BP神经网络结构为10-21-5. 在训练过程中设置最大迭代次数为100万次,目标误差为0.01.
3.3 混合气体气味识别的GA+3级BP神经网络算法由于9种气体(5种单一气体和4种混合气体)气体种类较多,且4种混合气体中气体组份重合,仅运用GA与BP神经网络相结合的算法得到的识别结果中氨气、硫化氢、硫-烟混合、硫-甲混合、硫-烟-甲混合这5种气体的识别正确率较低,其中硫化氢和硫-烟混合识别正确率只有50%. 此外,虽然烟-甲混合气体识别正确率高,但其它8种气体中有4种气体被误识别为烟-甲混合气体. 因此将氨气、硫化氢、硫-烟混合、硫-甲混合、烟-甲混合、硫-烟-甲混合这6种气体的训练样本输入第2级BP神经网络中进行训练,然后将第1级和第2级神经网络级联起来,得出9种气体的识别结果. 再将识别率略低的氨气、硫-烟混合、硫-甲混合和硫-烟-甲混合这4种气体的训练样本输入到第3级BP神经网络中进行训练识别,这3级神经网络级联起来的识别结果比较理想. 因此,本文对于混合气体气味识别采用GA与3级级联BP神经网络相结合的算法,图 6为所设计3级级联神经网络的结构.
在MATLAB环境中利用相关功能函数编程实现级联神经网络设计. 第1级遗传算法与BP神经网络算法相结合,第2级、第3级为BP神经网络算法,即GA+BP+BP+BP简记为GA+3BP算法. 图 7所示为级联神经网络气体识别流程图. 参与第1级神经网络训练的有9种气体,参与第2级神经网络训练的有6种气体(氨气、硫化氢、硫-烟混合、硫-甲混合、烟-甲混合、硫-烟-甲混合),参与第3级神经网络训练的有4种气体(氨气、硫-烟混合、硫-甲混合、硫-烟-甲烷混合).
各级算法参数设置:
1) 第1级GA+BP神经网络. 遗传算法的种群大小为50,最大遗传代数100,个体长度10,代沟0.95,交叉概率0.7,变异概率0.01. 编码方式为二进制编码;BP神经网络的结构为10-21-9,最大迭代次数250万次,目标误差为0.01.
2) 第2级BP神经网络. 结构为10-21-6,最大迭代次数200万次,目标误差为0.01.
3) 第3级BP神经网络. 结构为10-21-4,最大迭代次数160万次,目标误差为0.01.
4 实验结果及评价 4.1 单一气体实验结果5种单一气体每种气体做30组实验,随机选择其中20组为训练样本,10组为测试样本. 因此,网络总的训练样本数为5×20=100,测试样本数为5×10=50. 网络训练完成后,逐次输入各测试样本进行测试. 表 3列出氨气、酒精、硫化氢、烟雾、甲烷5种气体在GA-BP算法下的识别结果.
分别取4种混合气体(硫-烟混合、硫-甲混合、烟-甲混合、硫-烟-甲混合)各做30组实验,20组作为训练样本,10组为测试样本. 结合5种单一气体,训练样本、测试样本总数分别为180、90.
表 4列出9种气体在单级神经网络算法下的识别结果. 由表 4及其识别错误统计可知:9种气体中酒精、烟雾、甲烷和烟-甲混合气体识别率较高,本不必参与第2级神经网络训练,但由于其它气体易错识别为烟-甲混合气体(5组),致使烟-甲混合气体识别结果受到影响. 因此,烟-甲混合气体也参与第二级神经网络训练.
参与到第2级神经网络的气体有氨气、硫化氢、硫-烟混合、硫-甲混合、烟-甲混合,硫-烟-甲混合6种气体,且网络总训练样本数为6×20=120,测试样本数为6×10=60. 将两个神经网络联接起来进行识别,表 5为9种气体在两级级联神经网络(GA+BP+BP,即GA+2BP)下的气体识别结果. 对表 5中9种气体进行识别错误统计:氨气错识别为酒精(1组),错识别为硫-烟-甲混合(2组);烟雾错识别为酒精(1组);硫-烟混合错识别为烟-甲混合(1组),错识别为硫-烟-甲混合(2组);硫-甲混合错识别为烟-甲混合(1组),错识别为硫-烟-甲混合(3组);烟-甲混合错识别为硫-甲混合(1组);硫-烟-甲混合错识别为烟雾(1组),错识别为硫-烟混合(1组),错识别为硫-甲混合(2组).
为进一步提高气体识别率,识别率低的氨气、硫-烟混合、硫-甲混合和硫-烟-甲混合4种气体参与第3级神经网络训练. 第3级神经网络总的训练样本数为4×20=80,测试样本数为4×10=40. 将这3个神经网络联接起来进行识别,表 6为9种气体在3级级联神经网络(GA-BP+BP+BP,即GA+3BP)训练下的识别结果. 由识别结果可知:仅有硫-烟混合气体识别率为70%,其余气体识别率均为90%或100%,具有较高可信度;随着级联神经网络级数增加,气体识别率逐渐提高,证明了多级级联神经网络算法是有效的.
与其它研究结果相比,级联神经网络识别率至少相当,但实验气体有所不同且种类(包括单一气体5种和混合气体4种共9种)及混合气体组份(3种气体混合)多于现有研究.
5 结 论1) 研制了一种仿人机器人用集成化人工肺-嗅觉系统HAL&OS-I型软硬件系统,该系统集成了作为人工肺的微型真空泵、集酒精/硫化氢/氨气/烟雾/甲烷5种气体传感器及其单片机数据采集软硬件为一体的“电子鼻”,可对这5种单一气体及硫化氢-烟雾、硫化氢-甲烷、烟雾-甲烷、硫化氢-烟雾-甲烷等4种混合气体进行有效识别.
2) 用遗传算法与神经网络结合的GA+BP算法对酒精/硫化氢/氨气/烟雾/甲烷5种单一气体进行识别实验,结果表明识别率为90%或100%.
3) 用遗传算法与多级级联BP神经网络模式识别算法GA+3BP对酒精/硫化氢/氨气/烟雾/甲烷5种单一气体和硫化氢-烟雾、硫化氢-甲烷、烟雾-甲烷、硫化氢-烟雾-甲烷等4种混合气体共9种气体进行识别实验,除硫化氢-烟雾混合气体识别率为70%外,其余混合气体识别率为90%或100%,识别结果理想,具有较高的可信度.
[1] |
孔春胜. 基于混合阵列的气敏电子鼻系统研究及其在气体定量分析中的应用[D].杭州:浙江大学,2015:17-25.
KONG Chunsheng. Study on gas electronic nose system based on mixing array and its application in gas quantitative determination[D]. Hangzhou: Zhejiang University, 2015: 17-25. |
[2] | BEDOUI S, SAMET H, SAMET M, et al. Gases identification with Support Vector Machines technique (SVMs)[C]// International Conference on Advanced Technologies for Signal and Image Processing. Piscataway: IEEE Press, 2014:271-276. DOI:10.1109/ATSIP.2014.6834620. |
[3] | ZHANG L,TIAN F. A novel chaotic sequence optimization neural network for concentration estimation of formaldehyde by an electronic nose[C]// Fourth International Conference on Computational Intelligence and Communication Networks (CICN). Piscataway: IEEE Press, 2012:856-859. DOI:10.1109/CICN.2012.28. |
[4] | WU B, WU S, LIU X. Optimization on GA-BP neural network of coal and gas outburst hazard prediction[C]// International Conference on Bio-Inspired Computing: Theories and Applications (Bic-Ta 2010). Piscataway: IEEE Press, 2010: 673-678. DOI:10.1109/BICTA.2010.5645206. |
[5] |
汪丹, 张亚非. 基于支持向量机算法的气体识别研究[J].
传感器技术, 2005, 24 (2) : 19-21.
WANG Dan, ZHANG Yafei. Research of gas identification based on support vector machines[J]. Journal of Transducer Technology, 2005, 24 (2) : 19-21. |
[6] |
石春燕, 王剑钢. 混合气体定量检测系统的研究[J].
测控技术, 2004, 23 (8) : 5-6.
SHI Chunyan, WANG Jiangang. Research on multi-gas quantitative analysis system[J]. Measurement & Control Technology, 2004, 23 (8) : 5-6. |
[7] | CHO J H, KIM Y W, NA K J, et al. Wireless electronic nose system for real-time quantitative analysis of gas mixtures using micro-gas sensor array andneuro-fuzzy network[J]. Sensors & Actuators B Chemical, 2008, 134 (1) : 104-111. DOI: 10.1106/j.snb.2008.04.019 |
[8] | CHOWDHURY S S, TUDU B, BANDYOPADHYAY R, et al. Portable electronic nose system for aroma classification of black tea[C]// IEEE Region 10 and the Third international Conference on Industrial and Information Systems. Piscataway: IEEE Press, 2008:1-5. DOI:10.1109/ICIINFS.2008.4798403. |
[9] | SIADAT M, LOSSON E, GHASEMI-VARNAMKHASTI M, et al. Application of electronic nose to beer recognition using supervised artificial neural networks[C]// International Conference on Control, Decision and Information Technologies, Codit 2014. Piscataway: IEEE Press, 2014:640-645. DOI:10.1109/CoDIT.2014.6996971. |
[10] | LOUTFI A, CORADESCHI S. Odor recognition for intelligent systems[J]. IEEE Intelligent Systems, 2008, 23 (1) : 41-48. DOI: 10.1109/MIS.2008.11 |
[11] | MIWA H,OKUCHI T, TAKANOBU H, et al. Development of a new human-like head robot WE-4[C]// Ieee/rsj International Conference on Intelligent Robots and Systems. Piscataway: IEEE Press, 2002:2443 - 2448. DOI:10.1109/IRDS.2002.1041634. |
[12] | 吴伟国. 具有人机交互功能的仿人头像机器人装置及行为控制方法: ZL200910072405.5 [P].2010-01-06. |
[13] | CHENG L M, MAK H L, CHENG L L. Structured backpropagation network[C]// IEEE International Joint Conference on Neural Networks. Piscataway: IEEE Press, 1991:1641-1646. |
[14] | MAN K F, TANG K S, KWONG S. Genetic algorithms: concepts and applications[J]. IEEE Transactions on Industrial Electronics, IEEE, 1996, 43 (5) : 519-534. DOI: 10.1109/41.538609 |
[15] | YUAN L, WANG Y. Quantitative detection for gas mixtures based on the adaptive genetic algorithm and BP network[C]// International Conference on Industrial Control and Electronics Engineering. Piscataway: IEEE Press, 2012:1341-1344. DOI:10.1109/ICICEE 2012.355 |