李鑫星 董保平 杨铭松 张国祥 张小栓 成建红
(1.中国农业大学食品质量与安全北京实验室, 北京 100083; 2.山东省烟台市森林资源监测管理站, 烟台 264000; 3.中国农业大学烟台研究院, 烟台 264670)
三文鱼作为优质刺身原料之一,因其鲜美的肉质和极佳的口感深受消费者青睐。其冷藏保鲜方法(0~4℃)是将三文鱼的温度降低到冰点却又不使其冻结产生冰晶,能够较好地保持其品质[1]。受运输条件、销售或采购后贮藏环境的限制,水产品冷藏温度常不能控制在0~4℃之间,导致其新鲜度下降很快,极易发生变质腐败[2-3]。近年来,学者们对三文鱼品质的研究仅停留在生物、理化指标分析和保鲜方法对比方面[4-6],并未提出合理有效的三文鱼品质智能检测方法。电子鼻是一种现代仿生技术,可以通过对气味进行分析达到种类区分、新鲜度判定和品质预测等目的,在农产品、食品领域得到广泛应用[7-11]。传统的电子鼻模式识别方法对简单、线性的问题具有较好的解决效果,但当研究对象类别增多、复杂性增大,尤其是对不同冷藏温度的三文鱼新鲜度识别这种既涉及温度识别又涉及新鲜度判定的问题,传统的模式识别方法不能满足要求[12]。
模式识别方法的建立是电子鼻研究的重要内容,相较于传统的线性模式识别方法,如Fisher 判别分析法(Fisher discriminant analysis,FDA)[13]、主成分分析法(Principal component analysis,PCA)[14],核方法可以通过核函数解决低维线性不可分问题,保障更快速的学习和更高效率的研究,为模式识别提供重要的解算思路[15-16]。引入了核方法的机器学习称作核机器学习。模式识别中,核机器学习模型由两部分组成,一部分是核函数,另一部分是通用的线性学习机[17]。在众多学习机中,支持向量机(Support vector machine,SVM)是目前应用最广泛的一种,非常适合高维度和小样本数据量训练。近年来支持向量机的研究与应用快速发展,以支持向量机为学习机的核方法已成为流行且强大的模式识别工具[18-19]。
本文自主设计用于三文鱼气味指纹采集与辨识的电子鼻系统,选择支持向量机作为电子鼻模式识别的工具。考虑到三文鱼冷藏保鲜的温度要求与实际情况,设计0、4、6℃冷藏下的三文鱼气味检测实验,结合实验数据,对不同温度冷藏的三文鱼新鲜度随冷藏时间的变化进行评价。以实验所得传感器阵列响应特征量和冷藏温度作为模式识别的输入量,对三文鱼冷藏时间进行预测,为判别三文鱼新鲜度提供依据。并讨论核机器模型建立时需要调整的几个核函数及其参数,以便构建适用于该电子鼻系统预测三文鱼新鲜度的最佳核机器模型。
检测系统主要由密闭检测气室、半导体气体传感器阵列、数据采集模块、模式识别模块和显示界面等组成。多个半导体气敏传感器固定于密闭气室内,对气室内气体浓度进行实时监测并通过信号调理电路向单片机传输电压信号。STC12C5A60S2单片机自带A/D转换功能,将模拟信号转换为能够表征气体浓度的数字信号,经串口上传到上位机,数字信号在上位机经过数据预处理后进行模式识别,识别结果在显示界面输出。其中,模式识别方法采用核机器学习模型。
1.1.1传感器阵列
金属氧化物半导体式传感器灵敏度高,但是存在交叉敏感、选择性差等缺点,即单一传感器可能对待测环境中多种气体敏感。研究表明[6],三文鱼在冷藏过程中产生的挥发性成分,除了所占比例比较大的醛类、醇类、烃类外,还有脂类、酸类、胺类、酮类和其他气体等,且这些气体的挥发量变化在三文鱼由新鲜到腐败的冷藏过程中会呈现一定的规律。根据半导体传感器特点及三文鱼冷藏过程中挥发性气体变化,选择6种不同敏感特性的传感器组成传感器阵列,分别为炜盛电子科技有限公司生产的MQ136、MQ137、MQ138和费加罗电子有限公司生产的TGS2612、TGS822、TGS2600。传感器型号与敏感特性如表1所示。
表1 传感器型号与敏感特性Tab.1 Sensor model and sensitive characteristics
1.1.2检测气室设计
为了将环境因素、测量残留气体影响降到最低,需对检测气室及气路进行设计。密闭气室设计要求:检测气室应具有严格的气密性,且便于气体清洗;气室体积过大或过小会影响三文鱼样本挥发性气体在气室内达到平衡、与传感器充分接触的时间,检测气室体积应适中;传感器正常工作时,敏感元件部位温度高达200~300℃,传感器敏感元件外加有滤网防护罩,用手触摸滤网防护罩外侧有微烫感,温度为几十摄氏度,检测气室材料应选择耐热、无挥发性气味且不会与三文鱼挥发性气体产生反应的材料。
检测气室由高9 cm、直径15 cm的圆柱状可微波加热的聚丙烯保鲜盒改装,由铝箔胶密封而成,聚丙烯材料无毒、无味,具有较高的耐热性,连续使用温度可达110~120℃,与绝大多数化学药品不发生化学反应。检测气室开有进气口和出气口,可对检测气室进行洗气,进气口连接活性炭空气净化器对吸入空气进行过滤,出气口连接真空泵将气室内废气抽出并排到室外。传感器阵列敏感气体除氨气外密度均大于空气,将 6个传感器呈圆形集中排列于气室底部,待测三文鱼样本则置于检测气室顶部中央的三文鱼样本槽内。样本槽选用不锈钢大孔滤网,可由保鲜膜密封且更换方便。结构如图1所示。
图1 电子鼻检测气室Fig.1 Detection chamber of electronic nose1.样本槽 2.出气口 3.单片机 4.传感器阵列 5.进气口
图2 电子鼻软件运行流程图Fig.2 Electronic nose software running process
1.1.3软件设计
检测系统软件运行流程图如图2所示。
系统的软件设计包含串口数据采集模块和模式识别模块两个核心模块,在MyEclipse 9.0 M1平台基于Java语言开发。串口数据采集模块采用开源的RXTX串口通信API对接下位机,实现实时采集串口数据的功能,并将采集到的数据按照一定的特征量提取规则进行数据预处理,获取样本的特征值。模式识别模块采用开源的LibSVM for JAVA API库开发并构建出适用于三文鱼新鲜度检测的核机器学习模型,最终实现利用串口数据采集模块提取的特征值对三文鱼新鲜度进行智能识别。
1.1.4显示界面
人机交互通过显示界面来完成,系统运行前需要人工输入三文鱼冷藏温度,系统运行结束后在显示界面输出结果,显示界面如图3所示。
图3 电子鼻系统显示界面Fig.3 Electronic nose system display interface
1.2.1实验材料
实验用三文鱼购自烟台市东方海洋鲑鱼养殖基地。将鲜活的三文鱼处死、去刺去皮后放入加冰袋的泡沫箱内密封,在24 h内运回中国农业大学食品质量与安全北京实验室,到达实验室时,冰袋微化。将三文鱼切成30 mm×30 mm的片状样本,每个样本约30 g分别放入保鲜袋内,并随机分成A、B、C 3组,分别放入0、4、6℃的恒温箱中冷藏。制样当天起,每过24 h分别从A、B、C 3组剩余样本中随机取用3个样本进行检测。
文献[20]对不同低温下冷藏的三文鱼品质进行研究,得出-2、0、4℃下冷藏的三文鱼货架期分别为13、10、8 d;文献[21]对0℃冷藏的三文鱼新鲜度进行综合评价,得出0℃冷藏的三文鱼片货架期终点为15 d左右;文献[22]对0、4、8℃下冷藏的三文鱼分别进行了12、8、5 d的品质变化研究;结合本研究每天的实验结果,本实验对A、B、C 3组样本分别连续检测了14、9、8 d。
1.2.2实验方法
三文鱼电子鼻检测实验在温度26℃、相对湿度30%、空气质量良好的实验室环境内进行,电子鼻废气出气口通往室外。每天实验前,对传感器进行20 min预热使传感器进入正常的工作状态。检测样本前首先往检测气室内通入洁净的空气进行洗气,待5 min后传感器基线趋于稳定,即可进行样本气味检测:将待测三文鱼样本放入检测气室顶部开孔内的样本槽内,迅速用保鲜膜密封,开始气味信息采集,采集频率设置为1 Hz。连续采集6 min后结束采样。检测结束后,取出三文鱼样本和样本槽;对气室进行洗气使传感器恢复到初始的基线稳定状态,进入下一个样本的气味采样。
通过实验,获取三文鱼在3个温度冷藏过程中气味指纹变化情况,共得到91组数据(4℃和6℃最后一天检测分别只得到两组数据)。采取简单随机抽样的方法,从每3组平行实验数据中抽取1组,共抽取31组数据作为测试集,剩余60组作为训练集对核机器学习模型进行训练。
图4 传感器阵列对三文鱼挥发性气味电压响应曲线Fig.4 Response curves of sensor array to voltage of volatile odor of salmon
根据前期预实验,建立传感器阵列对三文鱼挥发性气味随时间变化的电压响应曲线图,如图4所示。各曲线与坐标轴纵轴的交点为相应传感器的基线值U0(即传感器在纯净空气中的稳定电压),每个传感器对应不同的基线值,随着时间的积累,挥发性气体不断扩散至完全充满检测气室,传感器阵列电压响应值也不断增大最终趋于稳定,放入三文鱼样本300 s时,全部传感器响应值已基本趋于稳定。为了尽量减小传感器信号波动造成误差以及实验环境的干扰,传感器特征量选为[23]
(1)
式中U——传感器特征量
Un——传感器在第n秒的电压
则可得到对应于传感器阵列的6个特征量。
三文鱼新鲜度随冷藏时间延长而变得越来越低,在不同温度下冷藏的三文鱼新鲜度及气味种类、浓度变化速度也存在明显差异。要通过辨识冷藏时间来对三文鱼新鲜度进行判断,冷藏温度是一个重要的依据。本文以冷藏温度作为1个特征量与传感器阵列响应特征量共同组成包含7个特征量的特征矩阵,对三文鱼样本冷藏时间进行模式识别,最终为三文鱼新鲜度判断提供依据。
核函数及其核参数的选取一直是核机器学习研究中的重点和难点问题,也是构建出良好核机器模型的关键[24]。针对不同问题的复杂性,需在实际实验中不断比较和调整,找到适用于解决特定问题的最佳核函数及核参数,以构建适用于特定问题的具有良好性能的核机器学习模型。目前,在核机器学习研究中可供选择的核函数有很多种,不同核函数还有其对应的不确定参数,基于LibSVM库选择了以下几种常用核函数:
(1)线性核函数
K(x,y)=xTy
(2)
式中x、y——同一特征空间的两个向量
线性核函数主要用于线性可分的问题,对于线性核函数而言,其参数少、速度快,无特定参数需要设置。
(2)径向基核函数(或称高斯核函数、RBF核函数)在SVM研究中较常用的形式为
K(x,y)=exp(-γ‖x-y‖2) (γ>0)
(3)
(3)Sigmoid核函数
K(x,y)=tanh(γxTy+c) (γ>0;c≥0)
(4)
(4)多项式核函数
K(x,y)=(γxTy+c)q(q∈N;c≥0)
(5)
其中核参数的选择采用试凑法[25],具体操作为:首先为核机器学习模型中核函数需要确定的核参数设初始值并进行模型训练与测试,然后根据精度要求及测试结果对核参数值进行重复调整、训练与测试,直到得到理想的精度为止。本研究以核参数的默认值作为初始值,经过反复调整与测试后,从较好的结果中选择最优的值作为核参数值。
针对三文鱼新鲜度辨识问题,采用有监督学习方法分别对不同核函数、不同参数情况下的模型进行训练,并对不同情况下的SVM模型进行仿真测试以判断其辨识效果。最终实验结果如表2~4所示。其中,惩罚因子C=0,平均偏差为所有测试数据中仿真结果与期望输出结果偏差的平均值,最大偏差为所有测试数据中仿真结果与期望输出结果偏差的最大值,无偏差预测正确率为仿真结果与期望输出结果完全一致的组数占测试数据总组数的百分比,允许偏差1 d预测正确率为仿真结果与期望输出结果最多偏差1 d的组数占测试数据总组数的百分比。
表2 高斯核函数实验结果Tab.2 RBF function experiment results
表3 Sigmoid核函数实验结果Tab.3 Sigmoid function experiment results
从表2~4可以看出,对于三文鱼新鲜度辨识问题来说,采用高斯核函数的核机器和采用Sigmoid核函数的核机器仿真效果相对较差,即使改变其核参数值,仿真效果也没有明显提高;采用多项式核函数的SVM核机器学习模型具有更好的仿真效果,当核函数选用多项式核函数K(x,y)=(γxTy+c)q(q∈N;c≥0),核参数q取3,γ取15,c取0时,平均偏差和最大偏差最小,无偏差预测正确率和偏差1 d预测正确率最高。即最终确定的最佳SVM核机器模型的核函数为多项式核函数,核参数q取3,γ取15,c取0。
表4 多项式核函数实验结果Tab.4 Polynomial function experiment results
图5 三文鱼样本气味检测传感器响应特征曲线Fig.5 Sensor response characteristic curves by detection of salmon samples odor
三文鱼由新鲜到腐败的变化过程中,散发出挥发性气味,且随着贮藏时间的延长气味浓度和种类都会发生很大变化,因此气味是判定三文鱼新鲜度的重要依据。图5a为0℃冷藏组三文鱼样本检测所得传感器响应特征曲线。冷藏第4天,传感器S2和S3响应特征值出现了明显的上升,传感器S1、S5和S6出现小幅度的上升,在冷藏第9天时,此5个传感器响应特征值均突然下降,之后继续回归原来的上升趋势,在第12天时,5个传感器响应特征值出现了更大幅度的上升。传感器S4在整个冷藏过程中变化并不明显,从冷藏第12天开始出现较小幅度的上升趋势。 图5b为4℃冷藏组三文鱼样本检测所得传感器响应特征曲线。传感器S1、S2和S3响应特征值在冷藏前3 d均呈现不同幅度的上升趋势,在第4天时有较小幅度的下降,之后回归上升趋势,在第7天上升趋势有所变缓,第8天呈现更大幅度的上升。传感器S5和S6在前4 d响应特征值变化并不明显,第5天出现明显的上升趋势,在冷藏第8天呈现更大幅度的上升。传感器S4响应特征值在整个冷藏过程中变化并不明显,从冷藏第5天开始出现较小幅度的上升趋势。图5c为6℃冷藏组三文鱼样本检测所得传感器响应特征曲线。传感器S1、S5和S6响应特征值变化趋势基本相同,在第4天时出现大幅度的持续上升趋势,在冷藏第7天时,传感器响应特征值均突然下降,之后回归原来的上升趋势。传感器S1和S2响应特征值在第2天有较小幅度的减小,第3天时回升,之后保持同传感器S1、S5和S6相同的变化趋势。传感器S4响应特征值变化幅度相对不大,但也基本保持与传感器S1、S5和S6相同的变化趋势。
图6 传感器响应特征值PCA分析结果Fig.6 PCA analysis results of sensor response characteristic
综合以上分析,判断第4、9、12天是0℃冷藏的三文鱼挥发性气味变化的拐点;第4、5、8天是4℃冷藏三文鱼挥发性气味变化的拐点;第2、3、7天为6℃冷藏三文鱼挥发性气味发生变化的拐点。3组不同冷藏温度的传感器响应特征值变化幅度及变化时间拐点存在差异,但整体上升趋势基本一致,说明冰鲜三文鱼新鲜度随冷藏时间的增加变得越来越差,变化受冷藏温度影响且有一定的规律性。基于传感器特征曲线对三文鱼新鲜度的分析与结论与文献[6,20-22]对三文鱼品质的研究基本一致,说明所选传感器阵列响应特征曲线能够在一定程度上体现三文鱼新鲜度变化规律。从同一图中可以看出,同一冷藏时间,不同传感器体现不同的响应特征值,同一传感器对不同的冷藏时间响应特征值存在差异;对比图5a~5c,不同冷藏温度、相同传感器对相同冷藏时间三文鱼样本响应值也是存在差异的,表明不同冷藏时间的三文鱼样本可以利用传感器响应信号及冷藏温度得到区分。
为了将建立的核机器识别模型与传统的线性识别方法进行辨识效果对比,对采集的0、4、6℃的三文鱼气味传感器响应特征值数据分别进行PCA分析,如图6a~6c所示,图例中TnDm表示n冷藏温度下第m天;对0、4、6℃的数据总集进行PCA分析,如图6d所示。4组PCA分析均强制提取第1、2个主成分,任意组第1、2个主成分累计贡献率达97%以上,能够代表原始数据的大部分信息。
图6a中,不同冷藏时间的三文鱼样本传感器响应特征数据点之间交叉重叠严重。结合图5a,0℃冷藏的三文鱼气味变化比较缓慢,虽然相近冷藏时间的三文鱼样本传感器响应特征值存在较小差异,但采用PCA分析对此种较小差异辨识能力较差。图6b中,相邻冷藏时间的样本传感器响应特征数据点之间交叉现象比较频繁,仍然存在第1天和第4天数据点交叉的现象,PCA分析对4℃下不同冷藏时间的三文鱼传感器响应特征数据有一些辨识能力,但辨识效果不理想。图6c中,存在个别相邻冷藏时间的样本传感器响应特征数据点交叉现象,但在降低识别精度要求,允许偏差1 d时,基本上能够对6℃不同冷藏时间的传感器响应特征值进行辨识。图6d中引入温度变量,对3个冷藏温度的传感器响应特征值数据总集进行PCA分析,不同冷藏温度的样本点区域之间距离较大,0℃和4℃温度区域内不同冷藏时间的样本点之间交叉重叠严重,6℃温度区域内也存在一些样本点交叉现象。这说明当引入了温度变量后,PCA分析过分地对温度进行区分,而对传感器响应特征值的辨识能力减弱。
对通过核机器学习模型试验所建立的最佳核机器学习模型辨识效果进行分析,如表5所示。3个温度中训练集和测试集无偏差预测正确率都存在很大差异,但允许偏差1 d预测正确率均保持一致。核机器学习模型对0℃冷藏的训练集和测试集三文鱼样本冷藏时间无偏差预测正确率相对于4℃和6℃偏低,这与0℃冷藏的三文鱼新鲜度下降缓慢有关;当允许偏差1 d时,训练集和测试集预测正确率均为92.86%,因温度0℃下相邻2 d三文鱼品质差异较小,所以预测误差1 d在可接受范围内。对4℃和6℃测试集的无偏差预测正确率分别为88.89%和75%;允许偏差1 d预测正确率均达到100%,说明此模型对4℃和6℃的三文鱼样本具有一定的无偏差预测能力,能够识别2 d内的三文鱼气味。
综上分析,对于PCA分析而言,当单独只对同一个温度集的三文鱼传感器阵列响应特征值进行PCA识别时,PCA分析方法无法辨识0℃冷藏的三文鱼冷藏时间,对4℃和6℃冷藏温度下的三文鱼冷藏时间有一些辨识能力;但当同时对3个温度总集进行PCA分析时,此方法对0 、4 、6℃冷藏温度下的三文鱼样本冷藏时间均无法识别。而核机器学习模型可同时对3个温度总集进行分析,能够对不同温度冷藏的三文鱼样本通过传感器响应特征值进行冷藏时间的识别,对三文鱼新鲜度具有一定的辨识能力。这说明相比于传统的线性模式识别方法PCA,采用核机器学习模型对三文鱼样本气味传感器响应特征值进行辨识具有明显优势,且当引入温度变量时具有较好的泛化能力。
表5 核机器学习模型辨识效果分析结果Tab.5 Identification result analysis of kernel-based machine learning
(1)设计了一种用于三文鱼气味指纹采集与新鲜度辨识的电子鼻系统,系统主要由密闭检测气室、半导体气体传感器阵列、数据采集模块、模式识别模块和显示界面等组成。针对研究对象,以传感器阵列为基础、STC12C5A60S2单片机为核心,进行下位机电路元件集成;在MyEclipse 9.0 M1平台基于Java语言开发上位机软件系统,串口数据采集模块采用开源的RXTX串口通信API对接下位机,采用开源的LibSVM for JAVA API库开发并构建出适用于三文鱼新鲜度检测的核机器学习模型。此系统可以实现从传感器阵列采集三文鱼样本气味到上位机识别三文鱼新鲜度的智能检测与辨识。
(2)对电子鼻模式识别部分进行重点研究,选择核机器学习方法作为模式识别方法,核机器学习模型以SVM作为学习机。基于所设计电子鼻系统气味数据采集部分设计实验,采集0、4、6℃温度下冷藏三文鱼样本的气味数据,对不同核函数及核参数的核机器学习模型进行训练,通过试凑法对核函数及核参数进行反复测试与调整,最终确定了适用于此电子鼻系统识别三文鱼新鲜度的最佳核机器学习模型:核函数选用多项式核函数,核参数q取3,γ取15,c取0。
(3)对所得模型的识别结果进行分析,此模型对0℃的测试集三文鱼样本冷藏时间允许偏差1 d预测正确率为92.86%,4℃无偏差预测正确率为88.89%、允许偏差1 d预测正确率100%,6℃无偏差预测正确率为75.00%、允许偏差1 d预测正确率100%。说明此模型对不同冷藏温度下的三文鱼新鲜度具有一定的辨识能力,可以为区分三文鱼新鲜度提供参考。
(4)将此模型识别结果与PCA分析结果进行对比,PCA分析对单个温度集4℃和6℃冷藏的三文鱼新鲜度有一定的辨识能力,但对3个温度总集进行分析时效果较差,说明本研究所得模型对不同冷藏温度下的三文鱼新鲜度辨识具有明显优势。