基于高光谱和频谱特征的注水肉识别方法
2019-12-06於海明徐佳琪刘浩鲁张大成陈坤杰
於海明 徐佳琪 刘浩鲁 刘 超 张大成 陈坤杰
(1.南京农业大学工学院, 南京 210031; 2.农业农村部南京农业机械化研究所, 南京 210014)
0 引言
猪肉是我国居民的主要消费肉品,2016年的总消费量达到5.27×107t,位居世界第一。我国生猪养殖规模较小,屠宰较为分散。有不法分子采用宰杀前或者宰杀后给猪肉注水的方式获得非法利益[1]。当过多水分注入到猪的体内之后,会严重影响猪肉品质,进而危害消费者健康。因此,必须对注水肉进行检测识别,以维护市场秩序、保证肉品的安全。
目前,传统的注水肉检测方法主要有感官检验法、试纸检验法和实验室检验法,普遍存在耗费时间长、检测效率低、肉品会受到破坏且识别准确率不高等问题[2]。因此,研究注水肉的快速、准确、经济且无损的检测方法具有实际意义。近年来,高光谱分析技术广泛应用于农业工程诸多领域[3-7],因其具有分析速度快、不破坏样本、操作方便等特点,已成为无损检测技术的重要方向。一些学者通过高光谱成像技术对肉品的含水率、蛋白含量、脂肪含量、嫩度和新鲜度等进行定量和定性分析[8],也有学者将高光谱分析技术用于肉品表面污染程度和细菌总数的安全评价等方面[8]。但利用高光谱分析技术进行注水猪肉的检测识别,目前还未见研究报道。
本文利用358~1 021 nm波段的高光谱成像系统,采集正常猪肉和注水猪肉的光谱信息,基于光谱信息研究注水肉分类识别模型,以实现对注水猪肉进行快速精准识别。
1 材料与方法
1.1 样本的获取与制备
选择当天宰杀的冰鲜新淮猪里脊肉作为试验样本,用保鲜袋包装好后置于实验室冷藏柜保存。试验前,先切去肉品表面脂肪和肌膜,将每个样本切成质量大约100 g的方形肉块,共计84个,其中45个样本使用规格为5 mL的注射器从猪肉样本的中心和4个侧面向肉内注入不同量水分,注射完毕后,将样本放入保鲜袋密封,放在室温(20℃)下静置2 h左右,使水分在肉块中扩散,以保证肉块各个部位的含水率均匀相同,用于后续试验。其余39个为正常肉样本,作为对照。
1.2 光谱采集
采用Hyper SIS 型高光谱成像仪进行样本的光谱采集,光谱仪主要技术参数如表1所示[9]。
表1 高光谱成像仪技术参数Tab.1 Parameters of high spectral image
参照文献[10-12]方法,在每一次测量开始之前,先进行高光谱仪预热,再利用黑白板进行图像校正,公式为
(1)
式中I——经过白板校正后图像反射率
I0——初始图像反射率
Ia——黑板图像反射率
Iw——白板图像反射率
1.3 感兴趣区域提取
光谱采集时是将整块肉样本都进行仪器扫描,因为不同部位的肉其光谱参数值不同,为了能够避开被测样品的脂肪和结缔组织区域,通过ENVI 5.1软件,采用人工手动工具去除脂肪和结缔组织,并将脂肪和结缔组织以外的所有区域都设为感兴趣区域(Region of interest,ROI),这样感兴趣区域内得出的平均光谱参数值更具有代表性,如图1所示。
图1 猪肉样本感兴趣区域提取Fig.1 Extraction of ROI from original pork samples
1.4 特征波长提取
为剔除多余信息、降低高光谱数据维数,采用回归系数权重法进行特征波长提取[13]。该方法是根据波长与含水率之间的相关性,将回归系数作为选择波长的指标,通过给出对应波长点在模型中重要性的近似度量[14]来确定特征波长,回归系数公式为
(2)
(3)
(4)
式中m——波长的点数
n——校正集的样品数
xi,j——光谱参数yi——含水率
1.5 频谱特征参数提取
通过傅里叶变换[15],对高光谱曲线进行频谱分析,以提取高光谱曲线的频谱特征。对于连续波长信号f(t),进行傅里叶变换
(5)
式中t——时间ω——频域
(6)
通过式(6)可以计算出任意频点的傅里叶变换值,假设F(ω)的主要取值区间位于[ω1,ω2],要计算区间均匀抽样的k个值,则有
(7)
其中
式中 Δω——频域抽样间隔[16]
1.6 分类识别模型的建立
1.6.1支持向量机模型
支持向量机(SVM)是在最小结构风险的理论基础上来对学习机的学习能力进行改良的算法,其决策规则是使用一定的训练样本得到的,能够使单个的预测集有较高的准确性。图2(图中x表示输入信息)为SVM网络构造,其主要原理是利用SVM核函数把样品的光谱信息投射到高维特性的空间,在这种特殊空间中建造出有最大分类间隔特点的超平面,进而精确地区分出类别不同的样品,实现分类的要求[17]。
图2 支持向量机网络结构示意图Fig.2 Schematic of support vector machine network structure
1.6.2神经网络分类法
人工神经网络算法可以对任何正态的、随机的数据进行分析与推算[18]。图3为模拟神经细胞结构,该模型可对非线性的映射关系进行阐述。
图3 神经元结构模型Fig.3 Neuron structure model
图3中,x1,x2,…,xn是输入信息。a1,a2,…,an表示互联的强度,也就是权值。经过权值与输入信息的计算,得到神经细胞的输入,比较输入与阈值θi,利用作用函数h来进行转换,最后产生输出信息yi。神经元的输入-输出公式为
yi=h(aijxj+θi)
(8)
1.7 模型的评价
采用误差矩阵即混淆矩阵对分类模型进行评价。它通过对已经进行归类的某种类型样品数量与实际记录的这个类型样本数量进行比较的方法,来对模型的分类结果进行评价,适合对样品分类的准确度进行测评。通过模型进行分类而产生的类别信息被当作混淆矩阵中的行,实际的数据信息被当作混淆矩阵中的列,表2为典型的混淆矩阵的形式。
表2 混淆矩阵Tab.2 Confusion matrix
表2中,大小为m×m的方阵是混淆矩阵的主体部分,m代表高光谱图像上物体类别的数量,Xi,j指的是在混淆矩阵第i行第j列的样本数量,Xi+指的是被划分为类型i的样本总个数,X+j指的是在实际数据里类型j的样本总个数。
生产者精度(Product’s accuracy, PA)指特定类别中被正确归类的样本数量与此类别的总个数之比;用户精度(User’s accuracy, UA)指样品归类完成后,在特定类别中被正确归类的样本数量与分为此类别的总数量之比[19],其计算方程为
(9)
(10)
总体分类精度[20](Overall accuracy,OA)是指分类结果中被正确分类的样本数与各类别样本总数的比值,反映了分类结果与真实参考类型一致的概率。由混淆矩阵中主对角元素和总体样本的个数N计算得到,公式为
(11)
2 结果与分析
2.1 注水肉与正常肉的光谱分析
按上述方法对每一个样本进行高光谱扫描,图4为所有样本感兴趣区域(ROI)的反射率光谱曲线。为更清晰地对注水肉与正常肉光谱进行观察和分析,分别计算并绘制出注水肉和正常肉的平均反射光谱曲线,结果如图5所示。
图4 样本的反射光谱曲线Fig.4 Reflectance spectrum of sample
图5 平均光谱曲线Fig.5 Average spectral curves
从图4可以观察到,虽然注水肉和正常肉在358~1 021 nm波段内有着相似的曲线趋势,都是在370、480、680、810 nm附近有显著的波峰。但从图5可以看出,二者之间也有十分明显的区分性,即总体而言,注水肉的反射率要明显高于正常肉的反射率。这很可能是由于注水肉的含水率高,造成反射强度大。由于含水率的差异性,光谱曲线呈现出显著的差异性,为实现通过光谱对注水肉进行识别提供了科学依据。
2.2 特征波段的提取及频谱特征参数的计算
采用相关系数权重法进行特征波长提取,得到波长与相关系数的变化曲线如图6所示。
图6 相关系数随波长变化曲线Fig.6 Regression coefficient diagram
信息含量多的部分多表现在各波段对应的相关系数绝对值大的部分,因此,选择相关系数曲线的极大值点为特征波长点,得到40个特征波长,分别为359、366、368、370、388、392、396、405、408、507、511、540、567、700、702、706、711、715、718、720、727、730、740、784、786、789、807、810、813、814、816、819、821、834、866、918、1 006、1 009、1 013、1 018 nm。
对每个样本数据采用多元散射校正方法预处理后进行频谱分析,计算出每个样本的频谱特征参数,得到正常猪肉和注水猪肉两种肉类的频谱图如图7所示。
图7 频谱分析图Fig.7 Spectral analysis diagram
从两幅频谱分析图可以看出,正常肉的幅值主要在0.2~0.8之间,注水肉的幅值则主要分布在0.2~0.5之间,二者之间有一定的差异,但差别并不明显。
将358~1 021 nm之间的616个波长进行等间隔分段,以28个波长为1段,一共分为22段。然后进行每一段波长频谱特征参数的最小值、最大值、平均值和标准差的统计计算,得到22个波段内的88个特征参数。再将图7中每个样本在各个频率段内的幅值进行求和,得到每个样本的频谱特征参数。所有特征集合如表3所示。
表3 样本的特征集合Tab.3 Set of features of sample
2.3 分类模型建立
2.3.1支持向量机法
将试验样本按3∶1的比例分为标准训练集和测试集。分别将616个全光谱、40个特征光谱和88个频谱特征参数输入SVM模型,对模型进行训练后,再以测试集对模型进行验证,计算出分类精度,结果如表4所示。
表4 SVM模型的识别结果Tab.4 SVM model recognition results
从表4可以看出,基于频谱特征参数建立的支持向量机分类识别模型具有最优的分类识别效果,正确识别率可达96.4%。而采用全光谱的分类效果最差,正确识别率只有84.5%。
2.3.2神经网络模型分类结果
由于样本数量不足,采用K折交叉验证法BP神经网络进行模型训练和验证,用K个结果的平均值来衡量模型的好坏。本试验将样本随机分成7份,每次选择6份作为训练集,剩下的1份作为测试集,共进行7次轮回后算出平均识别结果作为该模型的最终识别结果,如表5所示。
从表5可以看出,不论是全光谱输入、特征光谱输入还是频谱特征输入,BP神经网络模型都有较好的分类结果,其中,基于频谱特征参数建立的BP神经网络分类识别模型具有最优的分类识别效果,正确识别率可达98.8%,明显优于支持向量机分类识别模型。
表5 BP神经网络模型识别结果Tab.5 BP model recognition results
3 结论
(1)在3种基于高光谱分析的注水肉识别方法中,利用频谱特征分析进行注水肉识别的效果优于其他处理方法,说明频谱特征是区别注水肉和正常肉的主要特征。
(2)在2个分类识别模型中,与SVM模型的分类精度相比,BP模型的识别效果更好,以频谱特征参数为输入的BP神经网络模型,可以达到最佳分类识别效果。因此,可采用基于频谱特征参数的BP模型对注水猪肉进行快速检测识别。