摘要:目前频谱峰值法被广泛用于罐装食品真空度检测,其是将罐盖振动所产生声音的谱峰频率是否在合适范围作为检测依据。而实际应用中出现了部分不合格类型产品的谱峰频率也处于设定的合适范围,导致该方法做出误判。为此,将罐装食品真空度检测归结为单分类问题,提出基于非负矩阵分解的单分类算法。该算法仅需从合格品的数据学习得到分类器,用于判断被检品真空度是否合格。设计一个罐装食品真空度检测实验系统,将本文方法、传统的频谱峰值法以及典型的单分类方法进行对比实验。
关键词:罐装食品真空度;声学检测;单分类;非负矩阵分解
0 引言
三片罐是广泛应用的食品包装容器,一般要求真空,以防止储存的食品过早变质。但罐身成型时卷边不良、灌装时空气排除不充分、罐破损等情况,会造成罐装食品的密封性差或内部空气超标,从而导致罐内真空度不合格,进而威胁食品质量。因此,罐装食品真空度检测具有重要意义。
罐内真空度与其内部气压密切相关,而罐盖受迫振动所产生的声音反映了其承受的应力情况,因此可通过罐盖振动产生的声音来分析罐内真空度。近年来,声学技术在罐装食品真空度检测中得到广泛应用[1-3]。目前,基于声学的罐装食品真空度检测技术主要采用频谱峰值法[1-2],即根据罐盖振动所产生声音的谱峰频率是否在合适范围内来判断产品真空度是否合格。该方法来源于人工经验,把谱峰频率作为特征以检测罐装食品真空度。然而,物体振动发出的声音一般是由多个频率不同的分量信号融合而成的复合信号[4]。因此在罐装食品真空度检测中,仅用罐盖振动产生声音的谱峰频率特征,不足以有效判定罐装食品真空度是否合格。在实际应用中也发现,部分不合格类型罐装食品的谱峰频率与合格罐装食品的谱峰频率相近,导致频谱峰值法做出误判。
本文介绍一种单分类方法用于罐装食品真空度检测。该方法基于非负矩阵分解(non-negative matrix factorization, NMF)算法[5]构建单分类网络(OneClass- NMF),此网络仅需合格样本进行训练。训练阶段,通过持续减小合格样本数据的分解误差来训练OneClass-NMF,最终得到NMF的特征矩阵。检测阶段,在固定特征矩阵的情况下,先对测试数据进行NMF以得到相应的系数矩阵,而后重构测试数据并计算重构误差,最终据此误差判断被检对象是否合格。
1 检测方法
1.1 NMF
NMF具有将原始数据分解为直观部分表示的特性[5]。它将非负数据矩阵分解为特征矩阵和系数矩阵,并限制特征矩阵和系数矩阵也是非负的[6]。
假设有一元素非负的数据矩阵,由n个行向量组成,每行具有p维特征。NMF基本思想是在非负限制下将矩阵分解成特征矩阵和系数矩阵的乘积,使得分解误差尽可能地小,其中和中的元素非负[6]。数学模型可表示为
优化求解NMF的2个分解矩阵的代价函数为
(2)
按交替更新规则对和进行优化,更新其中一个分解矩阵时,固定另外一个分解矩阵。和的迭代更新函数为
(4)
1.2 基于OneClass-NMF的检测方法
由于实际中很难得到足够数量的不合格样本,并且不合格类型繁多,因此常用的基于卷积神经网络[7]或递归神经网络[8]的多分类器难以适用。检测罐装食品真空度的目的是判定产品是否合格,并不需要辨识具体的不合格类型。因此,本文提出将罐装食品真空度检测归结为单分类问题[9]。
在单分类任务中,训练数据集仅需由正常(如合格产品)样本的数据组成,异常(如不合格产品)样本不需要先验已知。其目的是根据正常数据学习出一个能够准确描述正常的模型,而与这个描述模型的偏差超过阈值则被认为是异常[10]。单分类方法已应用于文本分类、垃圾邮件检测、图像与视频异常检测、机器故障检测等领域[11]。典型的单分类方法有基于支持向量机的单分类[12](OneClass-SVM)、基于自动编码器的单分类[13-14](OneClass-AutoEncoder)等。
本文提出基于OneClass-NMF的罐装食品真空度声学检测方法流程图如图1所示。
图1 基于OneClass-NMF的检测方法流程图
假设罐盖振动产生的声音信号,其中()为第i个样本(1个罐装食品为1个样本)的声音数据;n为样本个数。首先将时域声音数据转换到频域并得到频谱。接着对频谱幅值按式(5)进行归一化。归一化频谱是OneClass-NMF网络的输入,用于训练或检测。
仅用合格产品的数据对OneClass-NMF进行训练,网络训练阶段如下:
1)输入合格产品的声音数据的归一化频谱;
2)初始化特征矩阵和系数矩阵,所有元素的初始值在0~1之间;
3)按式(3)和式(4)交替更新和;
4)不断执行第3)步,直到达到设定的最大迭代次数;
5)第4)步完成后结束训练阶段,输出特征矩阵。
OneClass-NMF检测阶段如下:
1)输入被检产品声音数据的归一化频谱和训练阶段得到的特征矩阵;
2)固定,按式(4)更新系数矩阵;
3)不断执行第2)步,直到达到设定的最大迭代次数;
4)第3)步完成后得到系数矩阵,再按重构测试数据,并计算重构误差RE;
5)输出检测结果,重构误差小于阀值,则被检产品是合格品,反之为不合格品。
2 罐装食品真空度检测实验
2.1 实验系统
罐装食品真空度检测实验系统示意图如图2所示。在本实验中,系统声音采集频率为48 kHz,采样精度为32 bits,每个检测对象采集的声音时长为18.67 ms。
图2 罐装食品真空度检测实验系统示意图
实验系统工作流程:当光电传感器检测到传送带上有待检罐装食品后,控制与处理模块通过电磁信号发生单元驱动电磁激励探头向罐盖施加电磁激励,使罐盖振动并产生声音;麦克风采集声音,并将声音信号输入控制与处理模块;控制与处理模块调用预先训练的检测模型(如本文提出的OneClass-NMF算法,用于对比实验的频谱峰值法、OneClass-SVM算法和OneClass-AutoEncoder算法),对声音信号进行运算并输出当前产品是否合格的判断结果。
2.2 实验数据
实验样品选用三片罐包装的凉茶,有70个合格样品和33个不合格样品。不合格类型包括漏罐、瘪罐、空罐和破损罐等。根据上述实验系统对每罐产品采集1次声音数据,最终得到实验数据如表1所示。图3显示了合格产品和不合格(泄漏)产品的声音信号和频谱。
表1 实验数据
图3 合格与不合格罐装凉茶的声音信号及频谱
2.3 实验评价指标
本文提出的OneClass-NMF算法与频谱峰值法、OneClass-SVM算法、OneClass-AutoEncoder算法等进行对比实验。实验评价指标如表2所示。RE指标仅适用于OneClass-AutoEncoder算法和OneClass- NMF算法。检测正确率Acc是评估检测系统不可或缺的指标,适用于所有检测方法。Acc评价指标为
其中,True是被检对象被正确预测的数量;Total为被检对象总数。
表2 实验评价指标
2.4 实验结果
实验训练样本数是40,NMF的最大迭代次数是50。随机抽取40个合格样本进行训练,剩余样本用于测试,重复10次。
RE指标的结果如图4所示,其中矩形框(虚线矩形框为不合格样本,实线矩形框为合格样本)表示测试样本的RE值的分布范围。合格样本的RE值应小于不合格样本的RE值;如果合格样本的RE值落入不合格样本的RE值的分布范围,则视为判断错误。
图4 RE结果
取10次实验检测正确率的平均值,作为最终的Acc结果,如表3所示。
表3 Acc结果
2.5 实验分析与讨论
与OneClass-AutoEncoder算法相比,本文提出的OneClass-NMF算法在实验结果中,合格样本与不合格样本RE值的分布范围不仅没有混叠,而且还有较为明显的差距。此外,OneClass-NMF算法得到的重构误差更小,这意味着它能充分地分解和重构原始数据。
Acc结果表明:OneClass-NMF算法获得较高的正确率。分析各算法的出错情况发现,罐盖破损和罐身瘪程度较大的样本是引起误判的主要原因。
3 结论
本文介绍一种基于NMF的单分类方法,并将该方法用于罐装食品真空度检测。先利用合格产品的数据训练OneClass-NMF,再用于判断被检产品是否合格。对比不同方法的实验结果,本方法获得较高的检测正确率,并能正确判断会引起传统方法出现误判的不合格类型。