基于深度学习的电子鼻食品新鲜度检测与识别技术研究∗
2021-10-27陈远涛熊忆舟薛莹莹张涛于伟杰张钧煜张希孙启永万浩王
陈远涛熊忆舟薛莹莹张 涛于伟杰张钧煜张 希孙启永万 浩王 平∗
(1.浙江大学生物传感器国家专业实验室,生物医学工程教育部重点实验室,生仪学院,浙江 杭州310027;2.浙江省健康智慧厨房系统集成重点实验室,浙江 宁波315336;3.宁波方太厨具有限公司,浙江 宁波315336)
人们日常饮食中常见的食品大体可分为水果、蔬菜、肉类三大类,随着储存时间变长,许多食物的品质会有不同程度的变化,误食变质的食品会引发严重的健康问题。同时,由于实际生活中食品储存的环境较为复杂,多种不同的食品常混合储存,而不同食品品质的储存变化过程不尽相同,这也给准确判断食品新鲜度造成了很大的困难。因此,食品新鲜度的准确检测评价对人们日常生活具有重要意义。
传统的食品新鲜度评估方法包括感官评价方法(国际标准化组织感官分析),物理化学评价方法(电子舌、pH、总挥发性盐基氮TVB-N)以及微生物分析法(细菌菌落总数)等[1-2]。但这些传统的食品新鲜度评估方法存在操作比较复杂,消耗时间长以及要求严格的实验室环境等缺点。随着气体传感器和模式识别技术的发展,电子鼻已成为一种快速、无创、精确的食品新鲜度评价方法。常见的三类食品——水果、蔬菜、肉类,由于在成分含量间存在较大差别,在腐败变质过程中产生变化的物质也有很大差别[3]。Eom等人[4]利用气体传感器研究了肉类腐败过程的氨气浓度变化与肉类新鲜度的关系。Abbey等人[5]利用设计的电子鼻系统对葱属植物中的香气进行检测,对葱属植物的食物特性做出了评价。徐静等人[6]使用乙醇传感器分析了不同新鲜度时草莓的气味变化,这种分析方法有望替代传统感官评价方法。除了气敏元件,模式识别算法也是电子鼻系统中不可或缺的一部分。传统的电子鼻模式识别算法包括主成分分析[7]、线性判别分析[8]、支持向量机[9-10]和人工神经网络[11]等。近年来,深度学习的快速发展使得深度学习的相关技术也被一些研究应用到了电子鼻模式识别算法中来。相比于传统方法,深度学习方法省略了人为提取特征这项费时费力的工作,同时,深度学习方法也有着更快的速度和更高的准确率。Peng P等人[12]提出了一种用于气体分类的深度卷积神经网络,该网络识别准确率高,但由于网络庞大,参数较多,计算效率欠佳。Zhao X等人[13]使用一维深度卷积神经网络来提取特征并识别气体,在二元混合气体区分任务中可取得较高的准确率。
常见的食品新鲜度检测电子鼻主要用于对某一种或几种特定的食品进行单独检测识别,但实际生活中,食品储存条件复杂,多种食品常放置于一起储存,食品新鲜度的准确检测存在巨大挑战。而如何利用深度学习的优势并提高电子鼻系统的计算效率,是实现新鲜度检测电子鼻的小型化、集成化以及提高系统实用性的关键点。因此本文提出了一种基于深度学习的食品新鲜度检测识别的电子鼻系统,通过以人为感官评价为标准,利用深度学习算法实现对多种不同储存情况下食品新鲜度的识别分类,并对系统性能进行初步验证。
1 材料与方法
1.1 实验材料
需要标定的目标气体包括氨气、硫化氢和乙醇。通过购买一定浓度的标准气体,再利用气体配气仪将标准气体稀释到所需要的浓度。本研究选择的标准气浓度分别为50×10-6的氨气和10×10-6的硫化氢气体以及50×10-6的乙醇气体。
对于单一食品新鲜度电子鼻的检测实验,新鲜的实验食品是当天从当地的市场购买的经挑选的新鲜食品。每种食品买来后,经过称重,将食品分开装入尺寸为200 mm×280 mm的加厚食品透明自封袋中,保证每份食品样品的重量保持在200 g~250 g之间,将样本于室温(20℃)下保存测试。混合食品样本中的腐败食品为新鲜食品在室温下自然腐败后得到的,且每份腐败食品重量约100 g左右,混合样本中的新鲜食品则为当天购买且同样称重100 g左右,将混合食品中每种食品装入食品自封袋中,保证每份混合食品样本总重量在300 g~350 g之间。
1.2 气体传感器
针对不同应用的电子鼻仪器,需要选择不同类型气体传感器以满足实际需求。本研究选用了具有尺寸小、寿命长、灵敏度高、价格低廉等优点的金属氧化物半导体(Metal-Oxide Semiconductor,MOS)气体传感器用于构建传感器阵列。由于MOS传感器的检测响应结果具有广谱特性,因此,电子鼻系统中通常含有多个敏感特性的气敏传感器,以提高电子鼻系统的选择性。传感器阵列传感器型号和个数选择时,既要保证传感器阵列的提供响应信息是比较全面的,同时,也需要保证整体响应信息有一定的冗余[14]。根据前期对食品腐败相关特征气体的研究,本研究将氨气、硫化氢、乙醇三种气体作为主要检测目标,在传感器选型时,为保证传感器阵列可对所有食品腐败相关气体均有响应,且目标气体均在传感器检测范围内,在综合考虑传感器检测阵列的性能、成本以及尺寸后,本文选择了对氨气,硫化氢,乙醇几类物质敏感的6种传感器,相应型号分别为:WSP7110、MP-702、TGS2600、TGS2602、TGS2603、TGS2620,表1为传感器的具体型号及其敏感气体信息。
表1 传感器型号及其响应敏感气体
1.3 电子鼻检测系统
本文设计了一种低成本、小型化的电子鼻检测系统,用于检测不同种类食品的新鲜度。该电子鼻系统主要包括以下三个部分:气体采样模块、传感器检测模块、以及上位机模块。电子鼻的采样模块主要包括检测和清洗两条气路,两条气路通过电磁阀的开闭进行切换,通过软件可控制电磁阀状态的切换;检测模块采集传感器检测到的电压信号,并将信号传输到上位机;采集的数据在上位机上进行分析处理,上位机主要对数据进行实时显示及数据存储,同时,通过建立的识别模型可对样本的新鲜度做出评价。所设计的电子鼻长宽高分别为8 cm,6 cm,6 cm,系统体积较小,便于后期集成到相关仪器设备中,提高系统实用性。电子鼻系统的整体系统框图如图1所示。
图1 检测系统整体框图
1.4 单一食品实验方法
1.4.1 单一食品感官评价
在实际生活中,许多食品常单独储存,如韭菜、鱼类等,同时,部分食品常混合储存,如不同水果混合存储,而混合食品的新鲜度与单一食品的状态密切相关,为此,我们首先对单一食品的检测与评价方法进行了研究。
对食品新鲜度的人为感官评价主要依据是食品储存过程中的颜色、气味、质地、形状大小等感官特征变化所确定的,常见食品的认为感官评价标准如表2所示。针对本研究实验涉及的三个类别,共9种代表性食品(葡萄、菠萝、梨、韭菜、豆角、芹菜、猪肉、鸡肉、鲳鱼),根据不同食品的感官特征建立相应的感官评价标准。同时,根据制定的感官评价指标,将食品按新鲜程度分为新鲜、次新鲜和腐败三个等级。实验时,选择五名训练有素的感官评价员,组成食品新鲜度感官评价小组,通过对每一种食品打分,来判断每种食品的新鲜度,评价结果将作为电子鼻系统检测结果的参考。
表2 常见食品人为感官评价标准
1.4.2 电子鼻对食品气味的检测
每次进行食品新鲜度电子鼻检测前,根据事先确定的感官评价标准对食品新鲜度进行评级,并记录下每次测试的食品新鲜度等级。电子鼻测试前,需要先上电预热0.5 h,预热过程中,微型真空泵抽取室内新鲜空气清洗传感器,以使MOS传感器阵列基线达到稳定状态。传感器预热完成后,传感器响应值稳定在基线状态,开始对实际食品样品进行测试。通过气路的切换,微型真空泵抽取食品自封袋中的食品气体进入传感器气室,传感器检测得到的数据经过MCU读取转换并进行传输,接受数据后的上位机软件记录并显示传感器的响应曲线和特征值。为了保证MOS气体传感器检测灵敏性,并提高传感器使用寿命,不宜长时间将传感器暴露在高浓度目标气体中。因此,实验中样品的检测周期2 min,检测过程中的清洗时间也为2 min,检测时采样频率为0.5 Hz,每种食品样品每次进行3个~4个检测周期,记录下每次传感器阵列响应的特征曲线,检测结束后系统关闭电磁阀抽取洁净空气,清洗传感器,以准备下一次测试。
1.5 混合食品实验方法
1.5.1 混合食品样本处理
进一步,我们对混合食品,及食品样本中含有多种同类别或不同类别食品时的检测与评价方法进行了研究。由于实际食品种类复杂、储存方法多样,在食品进行混合,本研究对测试样本条件进行了一定约束,以提高实验效率,增加实验可操作性。在进行混合测试实验时,我们规定混合食品样本中食品数量不超过3种,且混合食品至多有一种食品腐败,同时,将混合情况主要分为同类别食品混合以及不同类别食品混合两种情形。为了提高实验效率,在实际测试时,我们主要挑选了同类别食品混合、不同类别食品混合共9种混合情况进行测试,混合样本情况如表3所示,将这些数据与单一食品测试数据用之前开发的算法模型进行训练测试。在建立模型进行分类时,由于混合食品次新鲜状态难以定义,本研究将食品新鲜度识别目标是将样本分为新鲜、蔬菜腐败、水果腐败、肉类腐败4类,即在判断是否有腐败食品的情况下进一步判断腐败食品所属的食品类别。
表3 测试混合样本
1.5.2 电子鼻对混合食品气味的检测
对于混合食品新鲜度电子鼻的检测实验,新鲜食品样本当天从当地的市场经挑选购买,经过称重以后,将不同种类的新鲜食品各100 g装入食品自封袋中,腐败食品为新鲜食品腐败后得到,保证每份食品样品的重量保持在300 g~350 g之间。样品检测流程与单一食品类似,检测周期2 min,检测过程中的清洗时间也为2 min,每种食品样品每次进行3个~4个检测周期,检测结束后系统抽取洁净空气对传感器进行清洗,使传感器恢复至基线,以准备下一次测试。
1.6 数据预处理以及深度学习模型搭建
模式识别算法在电子鼻系统中具有举足轻重的作用,目前常用的模式识别算法包括判别分析、支持向量机以及人工神经网络等。其中,线性判别分析(Linear Discriminant Analysis,LDA)是一种有监督的降维分类算法,通过使用统计、模式识别和机器学习方法,找到不同类物体或事件特征的一个线性组合,从而区分它们。支持向量机(Support Vector Machine,SVM)起源于统计学习理论,通过线性和非线性核将向量映射到高维平面中,并在特征空间寻找最佳超平面,使两个类别中的最近点到该超平面的距离最大化[15]。近年来,以神经网络为基础的深度学习技术发展迅速,并在图像、语音、推荐、自然语言等领域取得了令人瞩目的成就。卷积神经网络(Convolutional Neural Network,CNN)是含有卷积层的一种深度学习神经网络,它是深度学习在计算机视觉领域取得突破性进展的基石,相较于其他深度神经网络,CNN需要考量的参数更少。本研究主要采用CNN建立食品新鲜度分类识别模型,另外,分别建立LDA、SVM模型,以与CNN模型进行比较。
由于电子鼻传感器阵列的时间序列数据原始尺寸(m×n,其中m为传感器数量,n采样点数量)不能作为图像直接送入CNN进行特征提取和计算[16],因此,需要对电子鼻传感器数据进行一定处理,使其转换为便于输入CNN中的数据尺寸,最大化提升识别准确度。传感器数据预处理过程包括:
①滑动窗口法划分样本:使用宽度为100,滑动步长为60的滑动窗口对原始数据进行划分,这样每个样本可以被划分为多个子样本(数据尺寸为6×100),保存子样本用于后续处理。划分子样本的目的在于增加样本数量,便于训练和测试。
②数据归一化:首先,将每个传感器响应值的最小值作为基线,各传感器减去相应基线;然后,将去基线后的数据除以子样本数据中的最大值,从而对传感器响应进行归一化。该步骤主要目的是减小传感器基线漂移和响应波动对结果造成的影响。
③数据尺寸转换:将归一化后的子样本数据(尺寸为6×100)转换为尺寸为24×25数据,以便后续CNN网络识别分析。
利用经过预处理后的样本数据可进行不同分类识别模型搭建。将数据尺寸转换前的子样本数据,共600个特征数据作为输入向量,输入到LDA与SVM模型进行训练。对于SVM模型,在比较和筛选后,选用三次多项式函数作为核函数建立识别模型。本研究中使用的CNN模型由2层卷积层和3层全连接层组成,其中第一层卷积层由64个3×3的卷积核组成,第二层卷积层由128个3×3的卷积核组成,全连接层中使用了dropout,比例为0.5,前4层的激活函数均使用ReLU,最后一层输出层的激活函数使用Softmax函数,损失函数使用交叉熵。训练时,网络参数优化算法使用RMSprop,初始学习率设置为0.000 1,批尺寸设置为32,训练步长设置为300,图2为CNN模型构建示意图。
图2 卷积神经网络模型结构图
2 结果与分析
2.1 传感器标定
由于在实际食品测试实验中传感器的使用环境和出厂标定的环境可能存在差异,为了验证MOS传感器阵列的功能及其对目标气体的响应,使用不同浓度的标准气体对传感器阵列进行测试。根据食品腐败过程中主要产生的特征气体,本研究选择乙醇、硫化氢和乙醇标准气体来对传感器阵列进行测试。
由于电子鼻包含6种MOS传感器,不同传感器之间敏感气体、检测范围不同,且对于部分气体,传感器存在交叉响应,根据传感器数据手册以及前期实验结果,使用乙醇气体对传感器S1、S2、S3进行测试,用高纯度氮气(>99.9%)将标准乙醇气体(50×10-6)以5×10-6作为梯度进行稀释;使用硫化氢气体对传感器S3、S4、S5进行测试,用高纯度氮气将标准硫化氢气体(10×10-6)以1×10-6为梯度进行稀释;使用氨气对传感器S1、S3、S6进行测试,使用高纯氮气将标准氨气(50×10-6)以5×10-6为梯度进行稀释。标定实验时,在每个浓度下进行三次重复测试,以研究传感器的可重复性。针对不同气体,相应传感器的标定结果如图3所示,图3(a)、3(b)、3(c)分别表示使用乙醇气体、硫化氢气体和氨气的标定曲线。通过标定结果可以看出,所选择的传感器对标定气体具有良好响应,在测试范围内标定曲线线性度较高,能区分响应不同浓度的气体,提供较为全面的响应信息。
图3 传感器阵列标定结果
2.2 单一食品新鲜度检测结果与分析
将从当地市场购买的不同种类食品——水果、蔬菜、肉类各3种,共9种食品,经称重后放入食品透明自封袋中,食品存放温度均为室温(20℃)。在食品自然腐败过程中,使用电子鼻系统以4 h为间隔,抽取食品袋中的气体进行检测;同时,每次检测前感官评价小组根据之前规定的感官评价标准对食品的新鲜度进行分级:新鲜、次新鲜、腐败。将传感器阵列的响应结果与感官评价结果进行比较,同时,取传感器在同一新鲜度下响应的多次稳定值的平均值作为传感器在该新鲜度下的响应,以分析不同新鲜度下传感器响应变化,得到的对比结果如图4所示。
图4 单一食品在不同新鲜度下传感器响应对比图
根据检测结果可知,随着食品变质,传感器阵列的响应整体呈现上升趋势,且不同食品腐败过程中,传感器阵列响应的变化并不相同,这说明不同食品在变质过程中产生的挥发物质在成分和含量都存在差别。同时,也注意到,大部分食品次新鲜状态与腐败状态传感器响应较为接近(如菠萝、葡萄、豆角),这在一定程度上加大了这两个新鲜度等级的识别难度,且考虑到在食品混合情况下,次新鲜状态较难定义,因此,在后续数据分析以及建立识别模型时,将只考虑食品新鲜与腐败两种在感官评价以及传感器响应都区别明显的状态。
2.3 基于深度学习的食品新鲜度识别分类与数据分析
将单一食品样本中的新鲜、腐败传感器测试数据以及混合食品实验的所有原始数据进行分割后,得到共456个子样本,将每个子样本以及相应标签作为输入数据,用于训练LDA、SVM、CNN模型。在测试模型识别效果时,对于每个样本都能得到若干个子样本的识别结果,在确定原始样本识别结果时,采用投票机制决定分类结果,即若子样本中有超过一半的子样本识别结果与原始样本实际类别相符,则认为样本识别正确,反之则认为错误,这样可以有效减小样本中传感器响应值波动带来的误差。
对于用于测试的20个测试样本,进行样本分割,得到共100个子样本,利用训练好的LDA、SVM、CNN模型进行预测,得到的子样本的识别准确率分别为42.00%、84.00%、86.00%;投票后,LDA、SVM、CNN模型的识别准确率分别为45.00%、85.00%、90.00%。不同模型投票前后识别结果的混淆矩阵如图5所示。
图5 不同模型投票前后识别结果混淆矩阵
统计后得到各模型对测试样本的识别准确率如表4所示。由结果可知,投票后,三种不同的识别算法的准确率都得到了提高。同时,在三种不同的算法模型中,LDA投票前后的识别结果最差,这可能与LDA采取线性分类,而在本研究中输入特征间的线性关系不明显有关;CNN投票前后的识别结果最好,且投票后的准确率可达90.00%,高于SVM投票后85.00%的准确率,但由于SVM算法对大规模训练算法难以实施,且分类增多时,SVM的分类精度将会降低,相比之下,CNN算法在大规模样本、多分类问题中存在明显优势,有较强的抗干扰能力、泛化能力。因此,CNN模型在判别不同食品储存情况下食物状态更具有优势,而基于深度学习的食品新鲜度检测电子鼻系统在实际生活中也可为容易受主观因素影响的食品感官评价方式提供一定参考。
表4 不同模型预测结果统计表
3 结论
本文提出了一种基于深度学习的食品新鲜度检测的电子鼻系统,实现了对混合食品中不同种类食品新鲜、腐败状态的识别分类。对于测试数据,以人为感官评价结果为参考,利用LDA、SVM以及CNN分别建立模型对样本进行识别,得到LDA识别准确率为45.00%、SVM识别准确率为85.00%、CNN识别准确率为90.00%。实验结果表明,CNN识别分类效果最佳,且具有更强的抗干扰能力、泛化能力,在大规模样本和多分类问题中更具有优势,而基于CNN的电子鼻系统可以对特定混合食品中的新鲜度进行判断,为感官评价提供参考。将该食品新鲜度检测电子鼻进一步小型化、智能化后可集成到冰箱、超市生鲜货柜等食品储存设备中,从而实现食品新鲜度的实时准确检测。
实际检测时,食品新鲜度检测的电子鼻常受到环境温湿度的干扰,同时,由于目前的研究还是针对特定的食品以及部分混合情况进行实验与分析,在后续的研究中,需建立更加完整的混合食品新鲜度识别数据库并结合其他检测手段。此外,用于食品新鲜度检测的深度学习神经网络相比于其他识别方法,识别效果比较依赖大量的训练数据,且其训练时间较长,可集成性较差。因此,为进一步提高深度学习网络在食品新鲜度中的实用性,需对深度学习神经网络进行优化,提高模型的可移植性,同时,也可考虑建立云端分析系统,将电子鼻检测数据上传云端进行处理分析。