夏 启,黄志轩,鲍 蕾,卜汉萍,陈 达
(1.天津大学精密仪器与光电子工程学院,天津 300072;2.雀巢研发(中国)有限公司雀巢食品安全研究院,北京 100016;3.中国民航大学 民航热灾害防控与应急重点实验室,天津 300300)
奶粉产品作为人类日常饮食中重要的组成部分,富含人类所需多种营养物质,对于婴幼儿成长以及中老年人健康具有重要的食用价值[1-3],其消费群体日趋庞大。我国奶粉市场体量大且发展迅猛,奶粉消费量高达数百万吨,年复合增长率稳定在14.5%左右。然而,奶粉掺杂问题一直影响我国乳制品市场的健康发展,并多次出现三聚氰胺、大头奶粉等食品安全事件[4-6],严重危及消费者的健康安全,并在相当长的一段时间内重创我国乳制品产业的消费者信心。因此,如何快速甄别奶粉原料中的掺杂问题,成为食品安全领域亟待解决的关键技术之一。
目前常用的奶粉掺杂检测方法主要依赖于色谱法[7-8]和质谱法[9-10],并按照国标[11]进行特定掺杂物的实验室分析。然而,这些常规方法往往需要繁琐的步骤、复杂的仪器,导致其单次样品检测时间长[12],难以满足数以百万吨计的奶粉掺杂检测需求。近年来,随着光谱技术的快速发展,光谱技术以其无需复杂样本制备、可实现原位检测等优点[13-16],为乳粉掺杂检测提供了高效的新手段。在各种光谱技术中,拉曼成像技术同时具备高光谱分辨率和高空间分辨率等突出优点,可以对奶粉这一非均匀体系进行空间上无偏扫描,以此准确捕捉微区的精细信息,进而为非均匀体系的掺杂检测提供精准信息。因此,拉曼成像技术在复杂的掺杂场景下具备良好的准确性和可靠性[17-19]。然而,拉曼光谱信号通常较弱,易受到噪声信号干扰[20-21],传统的拉曼成像技术通常需要较长的积分时间以提升信号的信噪比,造成拉曼成像速度慢、效率低,往往采集一张拉曼成像谱图需要几十分钟乃至数小时[21]。因此,拉曼成像速度将直接影响到相关技术在乳粉掺杂检测领域的实际应用。
为了进一步提升拉曼成像速度,其核心在于有效去除短时采样信号中存在的大量噪声干扰。常用的滤噪算法包括DWT法[22-23]、Savitzky-Golay卷积平滑滤波算法等[24],其中,DWT法通过在小波域内将信号分解为高频噪声和低频本征信号,并剔除高频信号达到提高信噪比的目的。然而,拉曼本征信号与噪声信号在小波频段下不一定完全可分,使得DWT往往易造成光谱失真问题,限制了后期乳粉掺杂检测的准确性。与此同时,SG卷积平滑滤波算法同样存在信息丢失问题。近年来,随着深度卷积神经网络算法的快速发展,相关算法被证明具有可靠的信号去噪能力[25],其在拉曼光谱去噪的应用也被尝试[26]。然而,目前已有的深度卷积神经网络算法仍不能同时兼顾保真度和去噪能力,无法满足实际乳粉掺杂检测需求。
为解决目前奶粉拉曼成像速度慢这一关键性问题,本实验创新型性提出一种自编码收缩神经网络(selfencode shrinkage neural network,SSNN)重构的奶粉掺杂快速拉曼成像检测方法。该方法通过SSNN准确地捕捉短时拉曼图像中的本征信息,进而几乎不丢失保真度地重构出高信噪比拉曼图像信号,高效完成了低信噪比拉曼成像信号的光谱预处理任务。通过SSNN重构后,本实验有机地结合多元线性回归技术对奶粉掺杂完成定量分析。计算结果表明,该算法在多种掺杂奶粉检测中均得到了理想的定量检测效果,且分析速度较传统的拉曼成像方法提升了30 倍。因此,本方法可高效满足目前市场对奶粉掺杂快速检测的实际需求,同时也为其他非均匀体系掺杂检测提供一种新方法。
正常奶粉为市场购买的20种品牌的纯净奶粉,使用的非法奶粉添加剂包括尿素、滑石粉、麦芽糖糊精、淀粉、乳清粉和三聚氰胺共6种。在每种纯净奶粉的不同区域随机抽取5 份样本,共得到纯奶粉样本100 个。将添加剂加入奶粉基质制作掺杂奶粉样本,掺杂量在1.0%~15%之间,共15 个梯度,间隔为1.0%。每个梯度下,随机选取3种奶粉作为基质,制作3 份具有不同奶粉基质的掺杂样本,共得到掺杂奶粉样本270 个,所得掺杂样本均通过在涡轮混合器进行均匀混合。
所得样本被分成3 组:训练组、测试组和独立验证组,具体分组方式见表1。实验中网络模型在训练集上进行多次训练,且每次训练迭代后在测试集上进行测试,最终所得的模型采用独立验证集验证。由表1可知,验证集中的掺杂物种类完全独立于训练集和测试集,可用于验证模型的泛化能力。
表1 样本集组成Table 1 Composition of different sample sets
采用自搭建的背向式散射拉曼光谱成像系统完成拉曼图像的采集,其中光谱仪的光谱分辨率为4 cm-1,光谱波段范围为200~2 000 cm-1,激光功率为100 mW,显微成像平台信号的最小移动步长分辨率为1 mm。
1.3.1 训练光谱集制备
首先需要建立训练数据集。由于模型的最终目标是将短积分时间拉曼光谱重构为长积分时间拉曼光谱,因此训练数据集中需要包含大量短积分时间光谱与长积分时间光谱的数据对,以引导模型进行参数优化。训练数据集的具体制备过程如下,对训练奶粉集中每个奶粉样本分别进行50 mm×50 mm区域内共2 500 点的扫描,每个样本点共进行4 次扫描,其中3 次扫描的积分时间为20 ms,一次扫描的积分时间为600 ms,600 ms积分时间光谱作为该采样点的参考光谱,参考光谱分别与对应的3 条20 ms积分时间的低信噪比光谱构成数据对。通过反复采集不同样本、不同区域数据,最终所得训练数据集共包括1 125 000 组光谱对,数据量庞大,足够支撑模型训练。
1.3.2 数据增强
鉴于实际可能存在的掺杂物种类繁多、掺杂浓度复杂,虽然本实验准备了多种常见添加物且覆盖了一定的掺杂浓度范围,但仍无法遍历实际检测中可能遇到的所有掺杂情况。为使最终模型适用于训练集之外的未知掺杂行为,具有较强的泛化能力,本方法在进行建模之前,对训练数据集进行了两种方式的数据增强:1)掺杂物特征峰强度与掺杂浓度呈正比,为模拟更多掺杂浓度下的掺杂样本光谱,对训练数据集中单条光谱的光谱强度上添加整体波动,波动值范围在其最大光谱强度的-1%~1%之间;2)不同掺杂物的拉曼特征峰位置不同,训练集中的特征峰位置模式具有一定的局限性,为使得最终模型对于不同位置的特征峰均能进行重构,将单条光谱进行波数上的随机平移,平移范围为[-100~100]波数之间,建立具有更多特征峰位置的训练数据集。值得注意的是,对于每组数据对中的两条拉曼光谱需要进行相同的随机变动以确保其对应关系,因为拉曼光谱与强度的正比关系,不同积分时间下拉曼光谱的强度按照同一比例变化不会影响其对应关系。
1.3.3 数据归一化
在所得数据集中,不同积分时间下光谱强度具有一定的差别,积分时间越长光谱整体强度越大,训练数据集中低信噪比光谱的积分时间与其参考光谱的积分时间相差30 倍,对应光谱强度比也约为30,这种差异不利于模型训练,容易导致模型训练过程难以拟合,且本身拉曼光谱强度数值较大,容易造成模型在收敛过程中的梯度爆炸,因此在进行模型训练前必须对数据集进行归一化,为避免数据集中少数异常点对归一化结果的影响,本方法采用平均值归一化法,具体过程描述如下,首先分别统计长积分时间和短积分时间下各自所得到光谱的全局平均强度(global mean intensity,GMI),记录低信噪比光谱全局平均强度为GMIlow,记录参考光谱的全局平均强度为GMIref,之后将训练集中的每条数据除以其对应的GMI,最终训练数据集被归一化到一个较小的范围且低信噪比光谱与其参考光谱数值接近。
1.3.4 重构网络
重构网络的任务是将输入的短积分时间低信噪比光谱重构为长积分时间高信噪比光谱,如图1所示,该方法将重构网络按照网络功能分两个部分:1)将低信噪比光谱映射为光谱特征的特征提取模块;2)根据光谱特征生成高信噪比光谱的生成模块。为了同时兼顾重构光谱信噪比与保真度两个重要指标,本实验采用了一种SSNN模型,通过在训练任务中加入自编码学习环节,该网络模型可以提取与长积分时间信号高度相关的本征特征,同时网络结构中采用旁路动态收缩结构,实现了噪声信号的自适应剔除,提高了模型的抗干扰能力。
图1 重构网络示意图Fig. 1 Structure of the reconstructive model
1.3.4.1 自编码训练任务
重构模型的根本任务是使经过模型映射后,得到的输出光谱与参考光谱高度相似,直接进行重构任务的训练存在一定难度,主要在于如何捕捉与长积分时间光谱高相关的特征,同时避免噪声特征的干扰。为了解决该难题,采用两步训练法对重构模型进行训练,训练方法如下所述:第1步,采用训练目标为“参考光谱-参考光谱”的自编码学习,该过程中模型的输入为参考光谱,通过编码重构过程,模型期望其输出光谱与输入光谱高度相同,自编码学习可以使得网络中的特征提取模块对学习目标的本征特征更加敏感,从而避免对光谱中噪声信号特征的学习,使得重构模型得到较好的预训练参数;第2步,在自编码学习得到的模型参数基础上,进行目标为“低信噪比光谱-参考光谱”的重构学习,该过程模型的输入为低信噪比光谱,输出为参考光谱。两步训练的目标不同,但网络结构相同,且第2步中网络继承第1步的网络参数。
1.3.4.2 收缩网络
此外,本研究采用收缩网络提高模型对噪声的抗干扰能力,收缩网络是建立在传统软阈值方法[27-28]的基础上。软阈值方法采用抑制一部分输入抑制同时激活另一部分输入的方式对输入进行收缩,软阈值函数如式(1)所示:
式中:x为软阈值函数的输入;T为软阈值的激活阈值,软阈值方法因为不存在特征空间上的阶跃效应,可以避免重构信号出现局部抖动,被证明可以提高模型对噪声的稳定性。由软阈值公式可见,软阈值将输入的整体区间向内进行了收缩,因此采用软阈值激活函数的网络被称为收缩网络。收缩神经网络结合了软阈值方法对噪声的稳健性,将软阈值作为网络的激活函数代替传统的Relu激活函数[29],Relu函数如式(2)所示,
通过对比式(1)和式(2)容易见得,软阈值激活相对Relu多了一个激活区域,实现了双边激活,且激活空间可调,使得模型表达能力更强。然而,软阈值中的激活区间难以确定,通常需要大量的实验进行优化,且确定后无法对数据进行自适应。针对该问题,采用收缩层结构(图2),其中f对应式(1)的软阈值激活,通过旁路结构结合上一层所得特征自动生成n个激活阈值T,其中n为上一层的特征个数,该结构实现了针对对输入自适应的激活过程,且各特征之间的激活区间相互独立。
图2 收缩层结构示意图Fig. 2 Structure of the shrinkage layer
1.3.5 掺杂定量模型建立
经过重构网络得到的高信噪比光谱最终被用来建立定量模型,定量模型的建立过程为首先对重构光谱采用自适应迭代重加权惩罚最小二乘法(adaptive iterative reweighted penalized least squares,airPLS)去除基线[30],之后采用偏最小二乘(partial least squares,PLS)建立去基线后的光谱与浓度之间的多元线性回归模型[31]。
实验中重构网络采用Pytorch(1.4.0)框架编写,在制备的训练集上完成网络参数训练,训练采用L1Loss函数作为loss函数,L1Loss函数如式(3)所示:
其中:ypred为模型的输出光谱;yref为参考光谱;n为样本点。训练中首先完成50 个周期的参考光谱自编码学习,之后在自编码学习得到的模型参数基础上进行重构学习,训练中均采用Adam(lr=0.01,β1=0.9)迭代器,batch_size=20。最终得到可以将低信噪比光谱重构为高信噪比光谱的SSNN,其对纯奶粉光谱的重构效果如图3所示。
图3 纯奶粉拉曼光谱Fig. 3 Raman spectra of pure milk powder
由图3可以看到,重构光谱去除了低信噪比光谱中的噪声信号,与参考光谱有高相似性,初步证明该方法可以通过短时采样光谱重构出长时采样光谱,极大缩短了奶粉的拉曼成像时间。
为对重构网络性能进行进一步合理的验证,采用得到的模型对验证集上得到的短时光谱进行重构,并对重构光谱质量评估。该网络的根本目的是提高信号的信噪比和保真度,本实验分别采用信噪比指标PSNR和重构光谱与参考光谱之间平均绝对误差(mean absolute error,MAE)对信噪比和保真度进行评价。作为对照,实验中同时采用小波变换(discrete fourier transform,DWT)方法和传统卷积网络(convolutional neural network,CNN)方法对相同光谱进行重构,其中DWT中采用db5小波,传统神经网络方法采用在本实验网络结构上去掉旁路的网络结构,激活函数为Relu激活,且不采用自编码对其进行训练。
信噪比评价指标为峰值信噪比(peak signal to noise ratio,PSNR),计算方法如式(4)所示:
20 ms积分时间下得到光谱与不同方法重构得到光谱的信噪比如表2所示。
表2 光谱PNSR对比Table 2 Comparison of the PNSR of different spectra
保真度MAE评估是在归一化后的光谱数据上进行,其计算公式如下:
20 ms积分时间下得到光谱与不同方法重构得到光谱的MAE如表3所示。
表3 MAE对比Table 3 Comparison of the MAE of different spectra
通过对比可知,SSNN在信噪比和保真度上都高于其他两种方法,且与传统神经网络的对比可知,该网络的设计也进一步提高了光谱去噪的效果。
在重构的高质量光谱数据基础上,对掺杂奶粉构建定量模型,以验证采用重构光谱进行奶粉中掺杂物定量分析的可行性。掺杂样本中分别添加三聚氰胺、乳清粉、淀粉,这3 类样本均不包含在建模数据中。在建模过程中,首先采用airPLS方法去除光谱基线,之后采用PLS方法进行建模。先后对比采用小波分解重构光谱模型和采用CNN重构光谱模型的效果,相关对比结果如表4所示。采用SSNN重构后的光谱数据在建模中得到与参考光谱几乎相同的效果,证明其最大程度地保留了与本征信号有关的光谱信息,而采用小波分解重构的光谱虽然在信噪比上得到了提高,但其定量建模效果差,证明该方法无法完全重构出本征光谱信息,丢失了保真度。此外,本实验提出的方法相对传统卷积神经网络也提升了定量分析的效果,进一步证明了通过自编码学习和收缩结构可以提高检测模型对噪声的抗干扰能力,提高了模型的定量检测准确度。在实验过程中也发现,对于乳清粉掺杂样本,采用20 ms积分时间基本无法完成定量模型的建立(R2为0.239),且经过DWT方法处理后也无法达到理想的建模效果(R2为0.434),而采用SSNN对于乳清粉的定量检测提升效果尤为显著,这是由于乳清粉与奶粉有较多相似的成分,其在拉曼光谱上与奶粉的差异较小,因此噪声对其建模影响相对更大。每种掺杂奶粉均进行了10 次重复定量分析,最终经过SSNN重构后,定量模型R2偏差为0.001。该结果再一次证明了该方法在奶粉掺杂检测中的可行性。
表4 采用不同光谱数据集建立定量模型的R2对比Table 4 Comparison of the R2 of quantitative models with different spectra sets
为验证该方法在非均匀掺杂奶粉检测中的有效性,对具有特定掺杂区域的奶粉样本进行掺杂物定位检测。分别将含有乳清粉、淀粉、滑石粉、麦芽糖糊、尿素、三聚氰胺的掺杂量为0.3%的均匀掺杂奶粉装入漏斗,并借助一定的模具在6 份正常奶粉的检测面上进行掺杂,形成具有特定形状的掺杂区域,6种不同掺杂物分别采用形如字母“A”到字母“F”的掺杂区域。采用两种方式对所得非均匀样本进行掺杂物定位分析:1)采用20 ms积分时间的原始拉曼图像直接进行掺杂物定量分析;2)使用SSNN对20 ms积分时间拉曼图像重构后进行掺杂物定量分析。根据两种方法所得的检测结果分别对样本点进行标记,其中掺杂样本点被标记为白色,正常样本点被标记为黑色,两种方法所得的检测效果对比如图4所示。在20 ms积分时间下得到的原始数据由于检测结果受到了严重的噪声干扰,基本无法复现设定的掺杂区域;而采用SSNN重构信号进行分析后,设定的掺杂区域能够被清晰地重现。对于乳清粉的掺杂物定位效果提升最为明显,该结果与均匀掺杂定量检测实验中结果一致。此结果证明了SSNN方法在非均匀奶粉检测中的可行性。另外,该实验从数据采集到结果分析的全流程耗时不到2 min,且可以通过采用更小的扫描区域进一步提升检测速度。
图4 非均匀奶粉掺杂检测效果Fig. 4 Results of detection of non-homogeneous adulterated milk powder samples
选择三聚氰胺作为典型掺杂物,对SSNN方法的重复性进行验证。取掺杂量为0.3%、0.5%、0.7%、0.9%、1.1%、1.3%和1.5%的三聚氰胺掺杂奶粉,连续7 d采用按照2.3节方法所得的三聚氰胺定量模型进行定量分析,结果如表5所示,证明SSNN方法具有良好的重复性。同时,相对于传统三聚氰胺检测方法[6],SSNN可以检测奶粉中较低含量的三聚氰胺(检出限为0.3%),且采用拉曼成像方式可以覆盖更大的样本区域,在实际检测中具有更高的可靠性。
表5 三聚氰胺定量检测重复性实验结果Table 5 Repeatability for quantitative detection of melamine
针对奶粉掺杂快速检测需求,提出并验证了一种基于自编码收缩网络驱动的奶粉掺杂快速拉曼成像检测方法。该方法借助一种新型的SSNN准确捕捉低信噪比拉曼图像中的本征信号,在几乎不丢失分析精度的同时,成功地将奶粉掺杂拉曼成像检测速度提高了近30 倍,而几乎不损失其定量精度,其对多种掺杂物所的定量检测模型R2均达到了0.95以上。实验结果表明,该方法能充分满足奶粉掺杂快速检测的实际需求,同时也为其他非均匀体系中的检测任务提供了一种超快检测方案。