殷 勇 葛 飞 于慧春
(河南科技大学食品与生物工程学院, 洛阳 471003)
近年来,电子鼻的应用较为广泛,在食品检测领域的应用也尤为突出。这是因为食品样品大多属于复杂样品,全面检测各种成分,或是单靠感官检验很难准确界定食品的整体质量。于是,作为整体质量分析的电子鼻被认为是检测食品最有潜力的一种方法[1-3]。电子鼻中气敏传感器往往因为老化、环境波动等因素而产生漂移现象[4-6],因此漂移是气敏传感器的固有特征。漂移问题的存在使电子鼻难以实现稳健检测。所以,消除或降低漂移影响对电子鼻的检测至关重要[7-8]。
关于漂移的研究,主要分为两类:①漂移成分校正法,其目的是找到一种合适的校正信号将漂移分离出去,如用主成分分析法[9]、独立成分分析法[10]、偏最小二乘法[11]等。②采用检测模型校正法,如径向基函数神经网络[12-13]、自组织映射神经网络[14]等模型补偿方法。前者需要大量检测数据作为先验信息,局限于被测样品本身的属性,分离出的漂移信号也具有局限性,降低了电子鼻在实际应用中的适用能力;后者不是真正意义上的去漂移方法,仅靠模型补偿漂移造成的影响,存在容易遗失记忆信息(漂移信息)等问题[15]。
针对以上不足,考虑到漂移是气敏传感器的固有行为这一特点,并参照文献[16],本文从电子鼻空载数据的小波包分解层面研究漂移机制,提出漂移剔除方法,并将该方法应用于4种白酒的鉴别中,以提升电子鼻鉴别能力。
试验用电子鼻系统是实验室自行设计的,主要由气敏传感器阵列、A/D数据采集装置、计算机模式识别分析软件等部分组成。气敏传感器阵列由14个SnO2型金属氧化物气敏传感器组成,分别是TGS800、TGS812、TGS813、TGS816、TGS821、TGS822、TGS824、TGS825、TGS826、TGS830、TGS831、TGS832、TGS842、TGS880。各型号传感器对应的敏感特征详见文献[10]。在此电子鼻系统中,每个气敏传感器加热电压均为(5.0±0.05) V,回路测量电压为(10.0±0.01) V。另外,此系统还配有温、湿度传感器来测量测试环境温、湿度的变化,以期部分补偿环境对气敏传感器的影响。温、湿度传感器的工作电压也为(10.0±0.01) V。数据采集工作由12位高精度的A/D转换装置完成。数据处理与分析基于Matlab 2014和 SPSS 19.0实现。
选定4种白酒样品为试验材料,分别为泸州老窖头曲、绵竹头曲3号、绵竹头曲6号、一滴醇醇锦。它们分属3个品牌,其中绵竹头曲品牌包含质量等级相近的2种样品,提高了电子鼻鉴别的难度,更适宜于检验空载条件下提出的漂移去除方法的有效性。4种样品分别用LZLJ、MZ3H、MZ6H、YDCJ标识,基本信息见表1。另外,由预试验可知,14个气敏传感器对4种白酒样品均能产生不同程度响应的气敏信号,因此该电子鼻的气敏信号可用来表征样品间的差异。
表1 白酒样品的基本信息Tab.1 Basic information of white spirit samples
电子鼻空载条件下的测试信号,是电子鼻在没有样品下对测量室环境的响应信息。每天随机测试4次(相当于测试4个空载样本),取它们的平均值作为当天的空载数据。采用动态测量,数据采集间隔设为1 s,每个空载样本采集1 000个数据。由于电子鼻漂移是时变信号,故空载试验从2016年11月开始,到2017年2月止,共4个月,总计测量了188个空载样本数据。期间,4种白酒样品的测试也同时进行,与空载测量隔天交替实施。4种白酒在测量日均随机取样,以避免产生样本测试结果的链式现象。
在白酒测量时,样本测量前传感器阵列先进行空采,以获得各传感器基准电压,空采时间为20 s。然后进行样本动态测量,动态采集时间为1 000 s。样本取样量为5 mL并置于蒸发皿中,然后将蒸发皿迅速放置于电子鼻的测量室内进行测量。测量结束后对各气敏传感器进行复原960 s,使各传感器恢复到基准状态,以便下一个白酒样本的测量。每个白酒样本动态测量时,数据采集间隔仍设为1 s,这样每个样本也采集1 000个数据。另外,在每个样本测量过程中,一并测试测量室的温、湿度信息。4个月内,每种样品各测试47个样本。对于每个样本,均采用传感器响应值减去对应的基准值作为该样本的测试结果,以部分减小环境温、湿度的影响,称此方法为去基准处理[17]。在后续的分析中,所用的白酒数据均是去基准后的数据。
为了描述有载样本、空载样本在测试期间的漂移现象,对每个样本(空载或有载样本)用第1 000秒的测试值来表征该样本。图1给出了TGS832对绵竹头曲6号样品在4个月内测量结果的变化情况。图2给出了4个月中TGS832空载数据的变化情况。
图2 TGS832空载数据的变化描述Fig.2 Changing representation of no-load data from TGS832
由图1和图2可知,TGS832在空载下的漂移趋势与有载样本下的漂移趋势基本一致,仅信号强度有明显的不同。这说明了漂移是气敏传感器的固有行为。因此,在空载条件下进行漂移去除方法研究是必需的。
受文献[16]的启发,采用小波包分解系数研究漂移机制,以此给出漂移阈值的构建方法和去漂移方法。
对信号进行小波包分解时,首先得到相同频宽的低频信号和高频信号;再一次分解时,又把低频信号分解为两个同样频宽的低频、高频部分,而高频部分也同样分解为高、低两部分;依次类推[18]。
小波基函数的选择是实施小波包分解的重要环节。Symlet小波是由Daubechies提出的一种近似对称的小波基函数,它是对Daubechies (db)小波的一种改进,不仅具有db小波的优点,还具有对称性,从而避免在信号分解或重构时信号失真,是一种性能优良的小波。所以选择四阶 Symlet小波作为基函数。另外,当小波包分解尺度增大,一些有用的信息可能会丢失,结合模拟计算试验,选取三尺度分解。由于漂移是一种缓慢变化的时变信息,属低频信号,隐藏于低频系数集中。所以,将低频的逼近系数集作为分析对象。
图3给出了1个空载样本信号经四阶 Symlet小波进行三尺度分解后低频系数集中第131频点下的系数变化规律,可以看出,它与图1、2给出的变换情况相一致,这又进一步说明了用空载样本的分解系数来研究漂移分离方法是合适的。
图3 TGS832空载数据小波包分解系数的变化描述Fig.3 Changing representation based on no-load wavelet packet coefficients of TGS832 signals
电子鼻测试信号经小波包分解后得到一系列的分解系数,因气敏信号与漂移信号分属不同类别的信息,所以对应于不同的分解系数。由于漂移是由传感器老化、环境波动等因素造成的一种复杂现象,不仅表现出长期缓慢的漂移现象,还存在环境波动造成传感器信号的即时变化,这种即时变化也可认为是一种“即时漂移”。理论上,在测量对象不变的情况下,气敏传感器的测试结果应在某一范围内波动。但是,因漂移(包括即时漂移)的存在,使测试结果往往超出该变动范围,那么超出变动范围之外的漂移就应被剔除。同样,信号的小波包分解系数也需此种处理。所以,对空载条件下气敏传感器信号的小波包分解系数,可通过构建阈值函数来分离漂移系数。由此可给出如下的空载信号阈值分离函数:
空载样本下阈值函数
αi1=ci-θi
(1)
空载样本上阈值函数
αi2=ci+θi
(2)
式中ci——所测空载样本在第i个小波包分解频点下分解系数的均值
θi——所测空载样本在第i个小波包分解频点下分解系数的标准差
上述阈值函数解释了空载条件下气敏传感器测试信号的限定范围,即小于αi1或大于αi2均认为是漂移类信号,应剔除。然而,由于气敏传感器是利用氧化还原反应来实现气味(体)测量的,当测量有载样本时,测量信号受样本挥发物、环境因素、老化程度等多因素交织影响,导致漂移信号的表现强度会出现变化。根据图1~3所揭示漂移规律的一致性(相近性),分析认为,可对式(1)、(2)给出的阈值函数进行修正获得有载样本的阈值函数。
有载样本下阈值函数
li1=miαi1
(3)
有载样本上阈值函数
li2=miαi2
(4)
式中mi——调节系数
当有载样本的阈值函数确定后,便可给出有载样本小波包分解系数的校正公式
(5)
式中wij——第i个小波包分解频点下第j个有载样本的分解系数
在上述校正计算中,调节系数mi的确定非常重要。考虑到有载样本与空载样本气敏传感器响应强度的差别,经过反复计算试验,mi计算公式为
(6)
式中wi——第i个小波分解频点下的对应空采期间内待分析有载样本分解系数的均值
上述小波包系数阈值处理思想是:在同一测试期间内,空载样本信号分解系数的阈值经过调节放大后得到有载样本的阈值,与直接分析有载样本的分解系数相比更能真实地反映气敏传感器本身的漂移规律。对于有载样本,当小波包分解系数在阈值范围内时,传感器采集信号体现了气敏信息,分解系数不处理;当其超出该频点下的阈值范围时,认为包含了漂移信息,用临近的阈值代替。这样做的目的是,不仅保留了该频点下真实信号的特征(不会与真实信号有明显差异),还在一定程度上去除了漂移,而且还可保障重构信号的光滑性。
电子鼻漂移剔除方法描述如下:对空载样本和有载样本信号运用四阶 Symlet小波函数进行三尺度小波包分解,分别得到相应的逼近系数集(低频系数集);根据式(1)和(2)得到空载样本的小波系数阈值;根据式(3)、(4)和(6)得到有载样本小波包系数阈值;按式(5)对有载样本的小波包分解系数进行校正,得到校正系数;对校正系数进行小波包分解逆变换,得到有载样本的重构信号。
另外,考虑到漂移与环境影响的时变性,以及统计计算的可操作性,在上述步骤实施中,采用以每个月的测量样本为处理单元,分别按月实施样本信号的校正处理,以确保信号不会出现过度校正,防止校正信号出现失真现象。
由于电子鼻中每个传感器产生的漂移信号各不相同,从空载条件下寻找漂移阈值应对各个传感器分别处理;又由于每一种白酒样品存在差异,响应信号强度不同,因此,每一种样品的数据也分别处理。以MZ6H样品为例,按照上述去漂移方法分别对每个传感器的测量样本数据进行处理,可得到14个气敏传感器对应于MZ6H样品的重构信号。
图4给出了TGS832测试结果经去漂移后的信号变化情况。从图中可以看出,漂移现象明显减小,试验期间样本测试结果的变化也变得相对平缓。
图4 TGS832对绵竹头曲6号样本去漂移后的变化描述Fig.4 Changing representation of TGS832 after drift elimination to MZ6H samples
电子鼻信号的特征提取是其检测过程中的必要环节。在进行鉴别分析时,特征选择对鉴别结果有着很大的影响。文献[19]指出,积分值(INV)特征体现了传感器对样本的总体响应情况。因此,选择该特征参量作为电子鼻信号的表征量。积分值特征计算公式为
(7)
式中S——积分值N——数据个数,取1 000xi——1个传感器对1个样本的第i个采集值或重构值
Δt——相邻两采样点的时间间隔,取1 s
另外,为了进一步补偿环境温、湿度的影响,把每个样本测试过程中对应的温、湿度积分值也分别作为模式识别系统的输入值,起到基于模型的补偿作用。
在进行鉴别分析时,选择常用的Fisher判别分析(Fisher discriminant analysis,FDA)和BP神经网络两种方法。
3.2.1 Fisher判别分析
3.2.1.1 基于SPSS19.0平台
分别对4种有载样品去漂移前、后的电子鼻信号积分值特征矩阵进行FDA分析,结果如图5所示。
图5 去漂移前后的FDA鉴别结果Fig.5 FDA results of features before and after drift elimination
由图5a可以看出,在数据去漂移前,4种酒的鉴别效果都不理想,4种样品之间重叠现象比较严重,它们的鉴别正确率只有58.0%,交叉验证率仅为38.8%。
由图5b可以看出,通过去漂移算法处理之后,3类样品都能很好地区分,尤其同一类的两种样品也能得到不错的分离,鉴别正确率达到95.20%,交叉验证率也达到了93.6%。
此FDA结果表明,该去漂移方法是有效的,极大地提高了4种样本的鉴别正确率。
图6 去漂移前训练集与测试集FDA结果Fig.6 FDA results of training set and test set before drift elimination
但此方法存在不足之处,首先它的分类模式是整体分类,按“留一法”进行交叉验证,不具有用先验信息建立的鉴别模型实现对后续样本鉴别的功能。因此,基于交叉验证的FDA结果不能真正反映去漂移方法的有效性。在实际应用中,往往需要用前阶段的样本数据进行建模,并用所建的模型完成对后期样本数据的鉴别预测。因此,应将测试样本按测试时间先后顺序分为训练集和测试集。为了实现这一目的,实验室根据FDA原理在Matlab r2014a平台上构建了适用于用训练集样本的鉴别模型来判别测试集样本的FDA程序。
3.2.1.2 基于具有测试集判别功能
分别从每种白酒样品47个样本中按测试时间先后顺序选取前37个样本来构造训练集,共148个样本,其余后期测量的10个样本形成测试集,共40个样本。基于这种数据集的模型构造方法,可揭示用先验数据构建的鉴别模型对未来样本的鉴别能力。
图6给出了基于此FDA方法的训练集、测试集去漂移前的鉴别结果。由图6可以看出,在数据去漂移前,4种酒的鉴别效果都不理想,4种样品之间重叠现象比较严重,训练集的分类正确率只有54.73%,测试集为37.50%。
图7 去漂移后训练集与测试集FDA结果Fig.7 FDA results of training set and test set after drift elimination
图7给出了基于此FDA方法的训练集、测试集去漂移后的鉴别结果。由图7可以看出,通过去漂移处理之后,4种样品分类效果仍不理想,但与去漂移前相比,训练集的分类正确率提高到78.38%,比去漂移前提高了23.65%,测试集也提高到65.00%。鉴别正确率的明显提高表明该去漂移方法是有效的。鉴别正确率不高是因为4种样品属于复杂的分类问题,线性FDA鉴别方法不能较好地解决此类问题,为此尝试了非线性的BP神经网络分类方法。
3.2.2 基于BP神经网络鉴别分析
为了进一步检验漂移去除方法的有效性,采用了BP神经网络[20]对4种样品进行鉴别分析。训练集和测试集的构造同3.2.1.2节。
选用输入层、中间层(隐层)和输出层3层BP神经网络进行模型构建。由于神经网络的输入为16个传感器的特征值(包含温、湿度传感器信号积分值),输出为4种白酒样品,所以神经网络输入层神经元个数为16,输出层神经元个数为4。当输入层神经元传递函数选为直接传递的线性函数、隐层神经元传递函数选为 sigmoid函数、输出层神经元传递函数选为 logsig函数、训练函数选为 trainscg函数时,运用训练集数据训练神经网络,学习效率设为0.001,训练精度设为0.000 005,最大迭代次数为10 000,并通过试凑法确定了隐层神经元个数为22时,训练效果较好。因此,该BP神经网络的结构为
16×22×4。
用该网络对样本数据进行分类,结果显示:训练集的鉴别正确率由去漂移前的65.5%提高到去漂移后的100%,去漂移后测试集的正确率则达到了97.5%。其中,除了1个MZ3H样本被错分为MZ6H外,其余样本完全可以得到正确鉴别。这是由于2种同类样本酒的品质接近而不易区分造成的。测试集样本神经网络的鉴别结果充分说明了所提出的漂移去除方法是有效的。
漂移是电子鼻的固有行为。漂移的存在,使电子鼻的稳健鉴别能力得不到保证。针对这一问题,从空载角度出发,提出了一种电子鼻去除漂移方法。应用此方法对4种白酒样品在4个月内的电子鼻信号进行了处理,并分别通过两种鉴别方法进行了验证。FDA的分析结果显示,样品处理后的鉴别正确率均有明显提高,最低提高值为23.65%;BP神经网络的训练集鉴别正确率由处理前的65.5%提高到处理后的100%,处理后测试集的鉴别正确率也达到了97.5%。两种鉴别方法的鉴别结果表明,该漂移去除方法显著提升了电子鼻系统的鉴别能力,说明该方法是有效的。
1 GHASEMIVARNAMKHASTI M, MOHTASEBI S S, RODRIGUEZMENDE M L, et al. Potential application of electronic nose technology in brewery [J]. Trends in Food Science & Technology, 2011, 22(4): 165-174.
2 LOUTFI A, CORADESCHI S, MANI G K, et al. Electronic noses for food quality: a review [J]. Journal of Food Engineering, 2014, 144(144): 103-111.
3 HONG X, WANG J, HAI Z. Discrimination and prediction of multiple beef freshness indexes based on electronic nose [J]. Sensors & Actuators B Chemical, 2012, 161(1): 381-389.
4 HOLMBERG M, WINQUIST F, LUNDSTRÖM I, et al. Drift counteraction for an electronic nose [J]. Sensors & Actuators B Chemical, 1996, 36(1-3): 528-535.
5 PADILLA M, PERERA A, MONTOLIU I, et al. Drift compensation of gas sensor array data by orthogonal signal correction [J]. Chemometrics & Intelligent Laboratory Systems, 2010, 99(1): 28-35.
6 ZUPPA M, DISTANTE C, SICILIANO P, et al. Drift counteraction with multiple self-organising maps for an electronic nose [J]. Sensors & Actuators B Chemical, 2004, 98(2-3): 305-317.
7 ZHANG L, TIAN F, LIU S, et al. Chaotic time series prediction of E-nose sensor drift in embedded phase space [J]. Sensors & Actuators B Chemical, 2013, 182(1): 71-79.
8 ZHANG L, ZHANG D. Domain adaptation extreme learning machines for drift compensation in E-Nose systems [J]. IEEE Transactions on Instrumentation & Measurement, 2015, 64(7): 1790-1801.
9 ZIYATDINOV A, MARCO S, CHAUDRY A, et al. Drift compensation of gas sensor array data by common principal component analysis [J]. Sensors and Actuators B Chemical, 2010, 146(2): 460-465.
10 殷勇, 吴文凯, 于慧春. 独立分量分析融合小波能量阈值的电子鼻信号去漂移方法[J]. 农业工程学报, 2014, 30(24):325-331. YIN Yong, WU Wenkai, YU Huichun. Drift elimination method of electronic nose signals based on independent component analysis coupled with wavelet energy threshold value[J].Transactions of the CSAE, 2014,30(24):325-331. (in Chinese)
11 王虎玄, 胡仲秋, 龙芳羽,等. 苹果汁中鲁氏接合酵母早期污染的电子鼻识别研究[J/OL]. 农业机械学报, 2016, 47(1): 209-214. http:∥www.j-csam.org/jcsam/ch/reader/view_abstract.aspx?flag=1&file_no=20160127.DOI:10.6041/j.issn.1000-1298.2016.01.027. WANG Huxuan, HU Zhongqiu, LONG Fangyu, et al. Research on identification of spoilage in apple juice caused byZygosaccharomycesrouxiiat early stage using electronic nose[J/OL].Transactions of the Chinese Society for Agricultural Machinery, 2016, 47 (1): 209-214. (in Chinese)
12 GÜNEY S, ATASOY A. Multiclass classification of n-butanol concentrations with k-nearest neighbor algorithm and support vector machine in an electronic nose [J]. Sensors & Actuators B Chemical, 2012,166-167(2): 721-725.
13 赵望达, 刘勇求, 贺毅. 基于RBF神经网络提高压力传感器精度的新方法[J]. 传感技术学报, 2004, 17(4):640-642. ZHAO Wangda, LIU Yongqiu, HE Yi. A new method to improve pressure sensor precision based on RBF neural network[J]. Journal of Transcluction Technology, 2004, 17(4):640-642. (in Chinese)
14 FU J, LI G, QIN Y, et al. A pattern recognition method for electronic noses based on an olfactory neural network [J]. Sensors & Actuators B Chemical, 2007, 125(2): 489-497.
15 刘涛, 黄智勇. 一种基于多重自组织图的电子鼻漂移抑制方法[J]. 仪器仪表学报, 2012, 33(6): 1287-1292. LIU Tao, HUANG Zhiyong. Drift counteraction method for electronic nose based on multiple self-organizing maps [J]. Chinese Journal of Scientific Instrument, 2012,33(6): 1287-1292. (in Chinese)
16 杨波, 夏虹, 张晓玉. 基于自适应阈值的小波包在松动部件信噪分离中的研究[J]. 原子能科学技术, 2014, 48(11): 2045-2050. YANG Bo, XIA Hong, ZHANG Xiaoyu. Research on signal-noise separation in loose parts impact signal based on autonomous adaptive threshold wavelet packets [J]. Atomic Energy Science and Technology, 2014, 48(11):2045-2050. (in Chinese)
17 刘瑜. 基于电子鼻的气体等级鉴别[D]. 重庆:重庆大学, 2006.
18 YE Z, WU B, SADEGHIAN A. Current signature analysis of induction motor mechanical faults by wavelet packet decomposition [J]. IEEE Transactions on Industrial Electronics, 2003, 50(6): 1217-1228.
19 于慧春, 褚冰, 殷勇. 食醋电子鼻检测中一种特征参量评价方法[J]. 农业工程学报, 2013, 29(3): 258-264. YU Huichun, CHU Bing, YIN Yong. Evaluation method of feature vector in vinegar identification by electronic nose[J].Transactions of the CSAE,2013,29(3):258-264. (in Chinese)
20 DING S, SU C, YU J. An optimizing BP neural network algorithm based on genetic algorithm [J]. Artificial Intelligence Review, 2011, 36(2): 153-162.