张珏,田海清,张丽娜,王轲,于洋
1(内蒙古农业大学 机电工程学院,内蒙古 呼和浩特,010018) 2(内蒙古师范大学 物理与电子信息学院,内蒙古 呼和浩特,010020)
察哈尔羊肉为内蒙古锡林郭勒盟特产,其肉色鲜红,脂肪呈乳白色,具有肌纤维细,口感细嫩、无膻味,是低脂肪高蛋白健康食品,深受消费者喜爱。新鲜度是衡量生鲜肉食用要求的客观标准,可综合反映产品营养性、安全性的可靠程度。传统新鲜度检测方法主要通过感官评价、理化检测或微生物实验方法确定[1],感官评价依据专业人员对肉品的色泽、气味等特性做出综合评定,检测结果存在主观性强,可重复性差,且测量误差大等缺陷。理化检测或微生物实验法通常以pH值、挥发性盐基氮(total volatile basic nitrogen,TVB-N)和菌落总数(total viable counts,TVC)等为主要检测指标,该方法准确度高、可靠性好,但操作过程繁琐,耗时费力。为提高检测效率,研究者们依据理化指标提出了一些肉品新鲜度的快速检测方法。FUNAZAKI等[2]发现L*值、a*值与原料肉的存放时间显著相关,提出利用色彩色差计L*、a*、b*系统检测原料肉的新鲜度。RUSSELL等[3]依据蛋白质分解产生游离氨基化合物与布三酮发生变色反应,提出借助布三酮显色反应法判定肉品新鲜度。新鲜、次新鲜和变质与布三酮溶液反应后分别呈现微蓝色、浅蓝色和深蓝色。栗绍文等[4]采用过氧化物酶试纸法检测肉品新鲜度,浸液在数秒内呈现蓝色为新鲜肉,3 min内无颜色反应则被判定为不新鲜肉。上述检测方法检测速度快、操作相对简便,但检测过程对样本有损、受环境条件的影响较大,且难以准确地反映肉品的新鲜度状态。
肉品腐败过程中,蛋白质、脂肪和水分含量等营养成分的变化会影响光谱的吸收、散射等光学特性。因此,透过有机物的光学特性可分析肉品内部营养成分及品质变化。高光谱成像技术以其空间信息与内部组分信息相结合的独特优势,在生鲜肉营养成分分析、安全品质鉴定、肉色及新鲜度检测等方面得到了广泛应用[5]。CRICHTON等[6-7]基于高光谱成像技术分别对pH值和CIELAB颜色空间开展了牛肉新鲜度的检测研究,取得了较好的研究效果。HE等[8-9]利用高光谱成像技术对鲑鱼等养殖鲜鱼表面乳酸菌、假单胞菌数分布和腐败程度进行了深入的研究。BARBIN等[10]利用近红外高光谱系统研究了新鲜猪肉表面微生物污染程度,分别将新鲜猪肉置于0 ℃和4 ℃的低温环境贮藏21 d,借助PLSR模型分析TVC和嗜冷菌平板计数含量,模型的分析精确度可达到86%。
上述研究表明,高光谱成像技术在肉类检测方面有很大的应用潜力,但目前多见于对猪肉、牛肉等肉类的相关报道,在羊肉新鲜度及质量分级方面的研究应用还相对较少且有待更深层次的研究。本文利用高光谱成像系统采集羊肉反射光谱信息,并采用2次S-G(Savitzky-Golay,简称S-G)平滑方法对羊肉反射光谱进行预处理。借助SPA法提取特征波长并建立基于反向人工神经网络(back propagation artificial neural network,BPANN)和分类回归决策树(classification and regression trees,CART)算法的羊肉新鲜度判别模型,并分析CART分类算法主要参数对分类精度的影响并通过参数寻优以优化CART模型。研究基于高光谱数据源的CART分类模型在羊肉新鲜度等级分类方面的适用性,以期为高光谱遥感技术在肉品新鲜度诊断方面提供参考。
试验所用样本为察哈尔羊,取羊酮体里脊肉置于低温冷藏箱运至实验室。在无菌操作台上将鲜羊肉剔除表面脂肪和肌膜,尽量保持样本表面平整,用无菌刀分割成84块,尺寸大小约为45 mm×45 mm×20 mm,自封保鲜袋密封后逐个编号,整齐无挤压地摆放在贮藏温度为4 ℃的冰箱环境中贮藏1~12 d。每隔24 h取出7个样本,于室温下静置30 min后,用滤纸吸收表面水分后对样本进行光谱采集。按照GB5009.228—2016[11]测定样本TVB-N含量并进行新鲜度类别标定,根据国家标准[12]和彭彦昆等[13]研究成果将羊肉新鲜度划分为3个等级,TVB-N≤15 mg/100g认定为“新鲜”,15 mg/100g
试验采用高光谱成像系统,台湾五铃光学(ISUZU OPTICS),包括高光谱成像仪(ImSpector N25E),焦平面阵列相机(Xeva-FPA-2.5-320)、2个150W的卤素灯、电控位移控制台、暗箱和计算机等部件。高光谱成像仪光谱范围为935~2 539 nm,光谱分辨率为8 nm。
数据采集前,打开光源和镜头盖,预热机器30 min。预实验确定系统参数,设置如下:曝光时间2.1 ms,物镜高度为40 cm,电控位移平台速度22.9 mm/s,起点和终点位置分别为165 mm和235 mm,图像分辨率选择800像素×428像素。通过高光谱图像采集软件采集样本高光谱图像。先采集反射率为99%标准白板得到全白标定图像W,然后封闭镜头采集全黑标定图像D,最后进行羊肉样本数据采集。为减弱摄像头中传感器暗电流以及光源不稳定的影响,确保光谱数据的准确性,在数据处理前对原始高光谱图像按照公式(1)进行黑白校正[14]:
(1)
式中:R为黑白校正后样本光谱反射率;Is为原始样本反射的光谱强度;ID标准校正黑板反射的光谱强度;IW为标准校正白板反射的光谱强度。
避开羊肉结缔、筋腱及反光严重的部位,将左上、左下、右上、右下、中间5个代表性位置作为感兴趣区域(region of interesting,ROI),每个区域大小设定为20像素×20像素,计算ROI内所有像素的平均值得到样本平均反射光谱,ROI选取及样本反射光谱提取过程如图1所示。除去首尾信噪比较低的波段(935~973 nm和2 457~2 539 nm),选取980~2 450 nm的光谱数据供下一步研究使用。
图1 ROI选取及样本反射光谱提取
Fig.1 ROI selection and sample reflection spectrum extraction for sample
BP人工神经网络(back propagation artificial neural network,BPANN)[15]是一种根据误差反向传播法训练的多层前馈网络,网络拓扑由输入层、隐含层和输出层组成。通过预测误差反向传播来调整网络权值和阈值,使误差函数沿相反的梯度方向移动,从而使BPANN的输出值不断逼近期望值,直到网络的输出误差降低到设定值或者计算次数达到系统预设值为止。本研究选用3层结构的BP-ANN模型建立羊肉新鲜度判别模型,模型结构见图2。k1,k2,…,ki为网络的输入层节点,r1,r2,…,rp为隐含层节点,y为神经网络的输出值。输入层、隐含层、输出层各神经元分别经权值、阈值及传递函数连接公式如公式(2)和公式(3)所示:
(2)
(3)
式中:n为输入层神经元个数;p为隐含层神经元个数;q为输出层神经元个数;f1、f2分别为隐含层和输出层的激活函数;wnp为第n个输入神经元到第p个隐含神经元的权值;wpq为第p个隐含神经元到第q个输出神经元的权值;zp为输入层到隐含层的阈值,zq为隐含层到输出层的阈值;yq为神经网络输出。
图2 羊肉新鲜度BPANN网络预测模型
Fig.2 BPANN network prediction model for lamb freshness
决策树[16]是数据挖掘中一种常用的分类方法,由根节点、内部节点、分支及叶节点组成。根节点表示一个待分类的数据类别或属性,每个叶子节点代表一种分类结果。整个决策的过程从根节点开始,从上到下,根据最优划分属性选择结果将实例划分至相应节点,依次判断,直至实例被划分至叶节点而给出分类结果。CART算法为一种非参数数据分类与回归方法,生成的决策树是结构简洁的二叉树形式。由于解释性强且分类效率高,该算法在通信运营商客户预测、多光谱影像分类、空气质量评价和交通拥堵检测[17-20]等方面有较好的应用效果。利用CART方法进行数据分类时,首先递归划分自变量区域,并在这些区域上确定预测的概率分布情况。划分区域标准是CART算法的核心,本文通过Gini指数选择最优解释变量决定最佳二分值的切分点。
在分类问题中,假设样本数据分为K类,样本点属于第k类的概率为pk,则概率分布的Gini指数定义如公式(4)所示:
(4)
对于二分类问题,若样本点属于第1个类的概率是p,则概率分布的Gini指数见公式(5):
Gini(p)=2p(1-p)
(5)
给定样本集合D的Gini系数见公式(6):
(6)
若给定分裂属性A,其某个取值将数据集D分割为D1和D2两部分,D1和D2见公式(7):
D1={(x,y)∈D|A(x)=α},D2=1-D1
(7)
则分裂属性A的Gini指数表达式见公式(8):
(8)
式中:K为数据集D的类别数;|Ck|为属于第k个类别样本的数量;|D|为数据集D的样本总量。
Gini指数反映数据集中的纯度,其值越小说明分类纯度越高。CART算法取Gini指数值最小的解释变量做出划分,用准确率来判断模型的辨识度。
CART算法分类模型构建步骤如下:
(1)设节点的校正集为D,对分裂属性A的任意可能取值a,根据样本点对A=a的分类为“是”或“否”,将集合D分割为D1和D2两部分,并计算现有解释变量Gini指数值;
(2)在所有可能的分裂属性A中,选择Gini值最小的属性作为最优特征,则对应切分点a确定为最佳切分位置;
(3)依据最优特征变量和最佳切分点,从现结点生成2个子结点,将集合D的数据分配到2个子结点中;
(4)对2个子结点递归地调用(1)~(3),直到其满足停止条件;
(5)生成CART模型。
羊肉样本原始反射光谱曲线如图3-a所示。光照强度、传感器灵敏度和环境温度等因素会影响光谱信息应用的准确性和有效性[21],致使原始光谱曲线包含较多毛刺。因此,对样本反射光谱采用2次S-G平滑预处理,先采用11点S-G对较大噪声波段进行局部平滑,其他波段保持不变,得到初步滤波结果,然后采用7点S-G进行整体平滑,最大程度上保留了光谱细节信息。预处理后光谱曲线如图3-b所示。由图3-b可知,光谱预处理后较原始光谱曲线更为平滑,减弱了系统噪声并提高了信噪比。
a-原始光谱;b-S-G预处理后光谱
图3 预处理前后样本反射光谱曲线
Fig.3 Reflection spectrum before and after pretreatment for sample
考虑到全波段光谱信息量大且存在数据冗余,这会降低模型计算效率,且不便于高光谱测量平台移植。研究选择采用连续投影法方法[22]对全波段高光谱数据进行特征波长选择。设定特征波长个数范围为5~30,步长为1,根据图4-a所示结果,随着特征波长数目的增加,(root mean squared error,RMSE)逐渐减小,当计算波长数为12时均方根误差RMSE取得最小值3.39,之后曲线变化平缓,考虑到较多的输入量会增加模型的复杂度,因此,依据RMSE最小原则选择如图4-b所示的1 024、1 112、1 194、1 213、1 440、1 497、1 648、1 685、1 899、2 131、2 175、2 363 nm共12个特征波长。分析认为,羊肉新鲜度主要与水分、蛋白质和脂肪等营养成分的分解程度有关。肉类腐败过程中,蛋白质、脂肪、糖类等化学成分改变的同时伴随组织结构中C—H、O—H、N—H等含氢基团的变化,而肉品光谱特征信息与其这些含氢基团的倍频和合频吸收有关,透过肉品光谱则可分析肉类化学成分的变化规律。由于组织结构中分子所含基团种类多且差异较大,且不同基团在近红外谱区的吸收位置及吸收强度各异,因此不同组分的分子基团都对应了特定的波长吸收组合。蛋白质主要包含—CHn、—NH等基团,1 021和1 057 nm附近为N—H基团伸缩二级倍频;1 109 nm为N—H基团的三倍频特征吸收带;1 074 nm附近存在N—H基团伸缩振动二级倍频,1 500 nm附近为N—H基团一级倍频,1 192 nm为C—H基团三倍频吸收带[23-24]。脂肪主要含—OH、—CHn等基团,1 207 nm处的吸收峰为C—H基团伸缩二级倍频;1 500 nm附近为N—H基团伸缩一级倍频;1 211 nm处的相对弱峰为C—H基团伸缩振动二级倍频;1 370和1 640 nm为CH3基团伸缩一级倍频吸收带[25-27]。水分主要含—OH基团,1 400~1 500 nm为O—H伸缩一级倍频吸收带,在974 nm和1 440 nm附近存在强吸收峰,分别为水分子O—H伸缩振动二级和一级倍频[28-29]。通过上述波长下的光谱信息可获得大量肉品品质的相关信息,也为利用特征波长下的光谱信息分析羊肉新鲜度提供了理论依据。
a-解释变量个数对应RMSE的变化;b-SPA选取最优特征波长
图4 SPA法选取特征波长过程
Fig.4 Characteristic spectral variables by SPA
2.3.1 数据集划分
84个羊肉样本中,去掉4个明显离群样本,共得到80个有效样本。按照TVB-N测定浓度值排序,采用隔三选一法[30]确定数据集,56个样本为校正集,24个为预测集。校正集和预测集差异性分析结果表明,校正集TVB-N的平均值为17.10 mg/100g,标准偏差为7.84 mg/100g,TVB-N的变化范围为8.15~38.63 mg/100g;预测集TVB-N的平均值为18.16 mg/100g,标准偏差为8.71 mg/100g,TVB-N的变化范围为8.63~40.08 mg/100g。样本集中新鲜肉31个、次鲜肉26个、变质肉23个,表1为羊肉新鲜度类别划分结果。
表1 不同新鲜度类别的样本集划分Table 1 The sample set for different freshness classes
2.3.2 BPANN模型
将SPA法优选的12个特征波长作为BPANN网络模型输入参数,校正集样本类别作为模型输出参数。隐含层节点个数根据公式(9)确定:
(9)
式中:n为输入层节点个数;m为输出层节点个数;a的取值范围为1~10。
模型中,输入量为12个特征波长,n=12;输出量为样本新鲜度类别,m=1。因此,隐含层节点个数L的取值为5~14。设定BPANN 模型训练误差为0.001,网络训练次数为2 000,多次试验调整网络结构,确定模型最佳参数如下:隐含层激活函数为logsig,输出层激活函数为tansig,训练函数为traingd,隐含层节点数为6。根据以上网络参数,建立拓扑结构为12∶6∶1的3层BPANN模型。
2.3.3 CART模型
通过调整决策树的最大深度(max depth, MD)防止“小样本”数据过拟合[31],设定叶子节点包含的最小样本数为2,分裂所需最小样本数为1,缓慢提高MD值训练模型,并计算预测集评分数据,预测集准确率随决策树深度的变化关系如图5所示。当MD值为7时建立决策树获得最高的分类精度,预测集分类得分为0.916 7,决策树结构如图6所示。由图6可知,决策树Gini指数由初始计算值0.580经多次特征属性分裂后,到第7层决策树Gini指数降为0,完成决策树构建。
图5 分类得分随决策树深度变化关系
Fig.5 The relationship between the classification score and the depth of decision tree
图6 CART模型结构图
Fig.6 Structure chart of CART model
为比较BPANN模型和CART模型分类效果,分别以SPA法提取的12个特征波长分别作为BPANN模型、CART模型的输入变量,羊肉新鲜度类别作为输出量,建立羊肉新鲜度判别模型,并对模型预测效果进行验证。
研究表明,BPANN和CART模型校正集的平均分类准确率均为100%,CART和BPANN模型预测集的测试分类结果如图7所示。对于预测集的24个样本,BPANN模型有4个样本被误判,其中第8个样本由新鲜被误判为次新鲜,第11和第18个样本由次新鲜被误判为新鲜,第20个样本由变质被误判为次新鲜;CART模型有3个样本发生误判,其中第6个样本由新鲜被误判为次新鲜,第18个样本由次新鲜被误判为新鲜,所有变质样本判别全部正确。综上所述,BPANN模型预测集平均分类准确率为83.33%,CART模型预测集平均分类准确率为91.67%,相比BPANN模型,CART模型的平均分类准确率提高了10.01%。
a-BPANN;b-CART
图7 BPANN和CART模型测试分类图
Fig.7 Classification
Figures by BPANN and CART model
BPANN、CART模型的新鲜度分类统计结果如表2所示,BPANN模型对预测集“新鲜”、“次新鲜”、“变质”3个新鲜度级别样本的识别率分别为88.89%、75%和85.71%,CART模型的识别率分别为88.89%、87.50%和100%。相比BPANN模型,CART模型对每个新鲜度级别的识别率分别提高了0%、16.67%和16.67%。上述研究表明,CART模型分类更加准确且稳定性更好,发生误判主要集中在相邻新鲜度等级之间,造成类别误判的原因可能是相邻新鲜度的样品TVB-N数值较为接近,类间差异较小所致。该模型的预测精度也略高于范中建等[32]利用SPA法提取特征波长建立的羊肉新鲜度BP神经网络判别模型,在一定程度上反映出CART算法建模的有效性。分析认为,BPANN算法需要反复调整网络结构参数,从而容易过度训练且发生“过拟合”,反而降低了模型的泛化能力。CART算法更加注重对光谱信息深层次分析和挖掘且针对性更强,分类精度较BPANN模型明显提高。该算法不是用一个决策规则把多个类别一次分开,而是综合每个子集里被评价为分类能力最好的属性变量进行逐级划分,从而在一定程度上提高了模型的泛化能力,较好地求解复杂的多输入多分类问题。
表2 模型分类结果统计Table 2 Statistics of classification results for model
为实现对羊肉新鲜度的快速、无损检测,本研究采集不同存储天数羊肉样本近红外高光谱图像,以SPA法优选的12个特征波长为自变量,分别构建羊肉新鲜度BPANN和CART算法的判别模型。与BPANN模型相比,CART模型具有更高的精确度与鲁棒性,可以很好地区分羊肉的“新鲜”、“次新鲜”、“变质”3个新鲜度类别,表明高光谱成像技术在羊肉新鲜度判别方面具有良好的应用潜力。