糖熏鸡腿颜色快速精准识别的多层卷积神经网络模型研究
2021-01-20王博杨洪遥陆逢贵陈子东曹振霞刘登勇
王博,杨洪遥,陆逢贵,陈子东,曹振霞,刘登勇,3*
1(渤海大学 食品科学与工程学院,生鲜农产品贮藏加工及安全控制技术国家地方联合工程研究中心,辽宁 锦州,121013) 2(哈尔滨商业大学 职业技术教育学院,黑龙江 哈尔滨,150028) 3(江苏省肉类生产与加工质量安全控制协同创新中心,江苏 南京,210095)
熏鸡作为一种典型的传统特色烟熏肉制品,具有色泽诱人、熏香浓郁、美味适口等特点,深受消费者喜爱[1-2]。颜色、风味等是评价烟熏肉制品的重要指标,其中颜色是影响消费者购买的最重要因素,对于消费者而言,购买时,颜色更为直观,并且在非接触状态下,颜色是消费者评判产品质量的重要依据,同时也是色、香、味、形中最先导的感官要素[3-5]。目前国内关于烟熏肉制品的研究主要集中在风味物质[6-7]和安全性评价等方面[2],对其颜色的识别研究鲜少涉及。烟熏肉制品一般使用果木作为熏材,与此相比,糖熏作为中国北方一种常用的烟熏方式,在肉制品中已有相关应用,如沟帮子熏鸡[7]。糖熏能赋予产品与木熏相似的烟熏色泽和气味,更为重要的是糖熏产品苯并芘含量更低、上色所需时间更短[8],但也因此导致了糖熏的颜色控制较为困难,不利于产品颜色的标准化控制,而对于糖熏颜色识别的研究几乎未见报道。因此,研究糖熏肉制品的颜色识别方法对于精准控制其颜色,实现标准化生产具有现实意义。
目前关于烟熏肉制品颜色的识别方法大致可以分为两类:常见的感官评价法在一定程度上可以有效识别样品的色差,但会受到样品相似度及评价员状态等因素的影响,存在主观性较强、重复性不高等问题,从而影响实验结果的准确性[3];借助精密仪器进行测定不具备成本效益,且可能存在效率不高或者污染样品等问题。而机器视觉技术,只需利用图像传感器获取样本的图像,再将图像转换成数字信息,并利用计算机模拟人的判别准则去识别图像,从而做出优于人眼的客观评定[9-11]。随着机器视觉技术的不断发展,其图像分析能力和识别技术被越来越多地应用于食品领域的科学研究[12],其中支持向量机(support vector machine,SVM)模型[13-15]和多层卷积神经网络(convolutional neural networks,CNN)模型[16-18]的应用较为广泛,且有效地解决了食品图像微观差异的识别问题。近年来,随着算法进一步的提升和模型的优化,采用精简CNN网络结构的范式(Inception[19]、ResNet[20]和Xception[21-22])来提高机器视觉模型运行效率的方法成为主流趋势,其中Google在2017年提出的Xception-CNN[23]模型,相对于Inception、ResNet等方法来说在体积大小和计算效率等方面有着较大幅度的优化。
本研究以糖熏技术获取的熏鸡腿为实验样本,基于机器视觉技术构建Xception-CNN模型,同时应用ResNet-50、Inception和传统CNN 3种网络模型识别熏鸡腿颜色,对熏鸡腿的颜色进行客观、准确、快速的识别,并以准确率为主,辅以测试时间对比分析4种模型的识别效果,验证基于机器视觉技术识别熏鸡腿颜色的可行性,为精确指导工艺参数优化,标准化生产及开发颜色快速识别技术提供指导依据。
1 材料与方法
1.1 材料与仪器
原料:鸡腿原料,辽宁沟帮子熏鸡集团,鸡品种为海兰褐蛋鸡,日龄为(450±50) d,屠宰前12 h禁食供水,鸡腿质量为(160±10) g,屠宰后冷却30 min排酸,冷冻贮藏;白砂糖,南京甘汁园糖业有限公司。
仪器:YXDT1/1型糖熏炉,河北晓进机械制造股份有限公司与渤海大学联合研制;CR-400型色彩色差计,日本Konica Minolta公司;EOS-M5型照相机,日本佳能公司;Y7000P-拯救者笔记本电脑,中国联想公司;VGA2USB型图像采集卡,加拿大艾普飞公司;LED迷你小型摄影棚,深圳市胖牛科技有限公司。
1.2 试验方法
1.2.1 熏鸡腿制备及图像采集
以沟帮子经典糖熏工艺得到不同颜色的熏鸡腿样品,通过控制熏制时间获取熏鸡腿在糖熏过程中可能出现的所有颜色,并使其分布均匀(根据预实验得出,本文糖熏工艺下熏制16 min,熏鸡腿已是不能接受的焦黑色,为此熏制时间控制为0~16 min)。
工艺流程:冻鸡腿→解冻→焯水→卤煮→焖制→烟熏→冷却→采集图像。
具体流程:冻鸡腿272个,室温下流水解冻后焯水去除泡沫;设置煮锅加热最终温度为97 ℃,加热沸腾后加入料包煮制形成卤汤;将焯水后的鸡腿放入卤汤中煮制2 h;关闭煮锅电源继续焖制2 h;设置糖盘温度为330 ℃和熏箱温度100 ℃,待实际温度达到设定值并稳定后,在272个鸡腿中随机选取16个鸡腿,设定烟熏时间为16 min,添加白砂糖开始熏制,得到熏制16 min的熏鸡腿样品;室温下冷却后去除表面的水渍和油渍,采集整鸡腿图像(每只鸡腿采集4张图像,每水平翻转90°采集一张图像),测定L*a*b*值以验证本文所用的糖熏工艺是否具有良好的稳定性。相同熏制条件下的熏鸡腿样本的色差值差异性越小,工艺越稳定;0~16 min熏制时间下的熏鸡腿样本间的颜色梯度越明显,工艺越稳定。每只鸡腿测定3组,水平放置鸡腿的前部、中部及后部3个位置,测其L*a*b*值,测定前以标注白板校正,最终结果取平均值[24],得到熏制16 min的熏鸡腿图像和L*a*b*值。按上述方法,改变熏制时间,分别得到烟熏0、1、2、3…16 min的熏鸡腿图像和L*a*b*值。
1.2.2 图像采集装置设计
为避免外界条件对实验结果的影响,减少实验误差,熏鸡腿图像样本均采集于自行设计的图像采集装置(图1)。由图1可知,该图像采集装置主要由摄影棚(含光源和哑光的白色样品板)、相机、图像采集卡及电脑组成,其中光源、相机及样品板固定在一个黑色的箱体内[25-26]。具体采集过程如下:将装置放置于水平工作平台,调整相机镜头与样品表面的距离,开启设备,采集图像,采集后的图像经由图像采集卡传入电脑,数据通过基于Python平台编写的图像处理程序进行分析。
图1 图像采集装置示意图Fig.1 Schematic diagram of image acquisition device
1.2.3 构建图像识别模型
本研究基于Xception-CNN模型处理熏鸡腿图像,其检索和分类方法和具体过程如图2所示,各层卷积的计算如公式(1)所示:
OutputSize=(ImageSize-KernelSize)/Stride+1
(1)
式中:OutputSize表示输出图像大小;ImageSize表示输入图像大小;KernelSize表示卷积核的大小;Stride表示卷积核的步长,默认为1。
图2 基于Xception-CNN模型的图像数据处理方法Fig.2 Image data processing method based on Xception-CNN model
模型最后的神经元输出经过激活函数SoftMax回归得出总和为1的概率打分,概率分数最大的节点就是测试的结果,神经元节点0代表的是熏制0 min产生的样品颜色概率;神经元节点1代表的是熏制1 min产生的样品颜色概率,以此类推。比如节点4的输出为0.70,则选取节点4作为最终结果,即该图的分类结果为熏制4 min产生的熏鸡腿颜色[27]。用于评判该神经网络测试序列与标签序列之间的距离则被称为损失函数(loss function,Loss),基础损失函数有2种,分别是用于解决分类任务的交叉熵损失函数和用于解决回归任务的均方误差损失函数(mean squared error,MSE)。MSE计算如公式(2)所示:
(2)
式中:n,一个Batch中的样本数量;y,期望输出;y′,实际输出。
1.2.4 图像预处理
在图像采集过程中可能会由于鸡腿本身的不规则性、颜色色差等问题,导致部分图像质量较差、样本不均衡,进而影响图像的识别分类效果。为尽可能避免上述问题,在Xception-CNN模型分析前,首先对熏鸡腿图像进行预处理。采用4种增强处理方式:随机对比度调整、随机亮度调整、随机旋转调整和随机缩放调整[28-29]。
1.2.5 参数设置
在利用数据对模型进行训练之前,需要对Xception-CNN模型设置超参数,Batch_size(批尺寸)为128,初始学习率设为0.000 1,使用自适应梯度优化函数作为该模型的优化方法,在训练集训练得到Loss值的变化趋势。
1.2.6 模型评估指标
评估机器视觉模型识别效果的指标主要包括测试集的准确率、误差率及所需时间等,本研究目的是对熏鸡腿颜色进行准确快速的识别,因此选取测试集的识别准确率和测试所需时间作为评估Xception-CNN、ResNet-50、Inception和传统CNN4种网络模型识别效果的主要指标。
1.3 数据处理
本研究统计分析均在Python 3.5平台上完成,使用Python扩展模块配合计算和绘图“Pylab”,“Numpy”、“Matplotlib”(数据统计模块)和“Keras”、“TensorFlow”、“OpenCV”。采用Origin 8.6和SPSS 19.0软件对数据进行统计处理。
2 结果与分析
2.1 图像采集结果
共采集样品照片1 088张,分辨率均为384×384,在此基础上,采用前文提及的4种图像预处理方法,最终得到4 352张图像,定义为数据集Smoked Chicken,按8∶2随机分配为训练集和测试集,其中3 482张作为训练集用于构建和优化实验模型,剩余的870张作为测试集用于测试模型的准确性。为美化出图效果,样品图像输出调整为圆形。
2.2 色差值结果及分析
在鸡腿的熏制过程中,影响熏鸡腿颜色变化的因素主要包括烟熏时间、烟熏温度以及熏材量等,不同工艺下,同一颜色可能出现在不同时间节点,本研究主要讨论的是本课题组的熏制工艺下的颜色变化规律。在本研究中,主要通过控制烟熏时间来控制颜色变化。如图3所示,随着熏制时间的增加,熏鸡腿表面的亮度值急剧下降,红度值急剧增加后逐渐趋于平缓,黄度值急剧增加后逐渐减少,最后趋于平缓。这是由于随着烟熏的进行,鸡腿表面逐渐由淡黄色→红棕色→棕黑色所导致。在烟熏0~16 min的过程中,相同时间节点的熏鸡腿颜色波动范围的误差值分别是L*值1.70~3.59,a*值0.61~2.17,b*值0.89~4.21。产生这种情况的原因主要是箱温变化,尽管在实验初期已设定箱温,但随着放入样品和熏材的开箱操作,箱温不可避免地在一定范围内波动。熏鸡腿的颜色变化都在可控范围,相同熏制条件下的样品颜色差异较小,不同熏制时间下样品的颜色呈现明显的梯度变化,说明工艺成熟,具有良好的稳定性。
图3 L*、a*、b*值变化图Fig.3 Change chart of L*, a* and b* values 注:同一趋势线上不同字母表示存在显著性差异(P<0.05)
2.3 图像预处理结果
为更好地展示图像预处理的效果,将预处理后的熏鸡腿图像放大后截取局部图代替鸡腿图像作为展示图。熏鸡腿局部图像经过随机对比度、亮度、旋转和缩放调整等方法预处理后,结果如图4所示。由图4可知,在不改变熏鸡腿图像本身属性的前提下,随机对比度与随机亮度调整使得熏鸡腿图像在亮度上呈现出较大差异,有利于获得大量图像细节信息;图像经过随机旋转和随机缩放调整后,改变了图像的原有位置、方向和量级,从而生成一幅新的图像,进而增加了样本的数量,有利于提升测试结果的准确率。
1-原图;2-随机对比调整;3-随机亮度;4-随机旋转; 5-随机图像缩放调整图4 熏鸡腿图像预处理结果Fig.4 Image pretreatment results of smoked chicken thighs
2.4 测试集识别结果及分析
损失函数是衡量模型在收敛过程中的重要因素,一般情况下,训练过程中的Loss值越小模型的准确率可能就越高,研究意义也就越大[30]。因此保证模型准确率最有效的方式就是在其他算法参数不变的情况下,追求较低的Loss值。基于1.2.5设定的超参数对训练集样本进行训练,模型在迭代训练过程中的Loss值变化如图5-a所示,模型在迭代训练过程中的准确率变化如图5-b所示,其准确率是指当前批次数据在神经网络的准确率。由图5可知,该模型训练轨迹的收敛性良好,可以收敛到全局最优解,即模型随着迭代次数的增加,其准确率逐渐变高,最终趋于平缓。在初始状态下,Loss值为5.48,准确率4.2%;在迭代次数为1 500时,Loss值和准确率变化趋势趋于平缓,此时,Loss值达到0.86,测试集的准确率达到了92%,模型识别效果较好;当迭代次数>1 500时,对准确率影响较小,不需要继续迭代,且继续迭代会浪费大量的时间和资源,因此将迭代次数定为1 500次。
图5 Xception-CNN模型Loss值与准确率的变化Fig.5 Loss value and accuracy of Xception-CNN model
2.5 模型识别结果与分析
将Xception-CNN模型与ResNet-50、Inception和传统CNN模型进行性能对比研究,包括识别准确率和测试所需时间对比情况。不同时间点的颜色识别准确率比较结果如图6所示,Xception-CNN模型的颜色识别准确率仅在9和12 min低于90%,其他时间节点的颜色识别准确率均在90%以上,与模型ResNet-50相比,其颜色识别准确率仅在1、2、9和16 min 表现稍差,其他13个时间节点均表现优异;与模型Inception相比,其颜色识别准确率仅在1和9 min表现稍差,在其他15个时间节点均表现优异;与模型传统CNN相比,其颜色识别准确率在所有时间点均表现优异。这说明该模型具有良好的稳定性和准确性,能够精准识别鸡腿在熏制过程中产生的所有颜色。此外结合使用线性方法描述的Xception-CNN模型对颜色识别准确率变化的大致趋势进行分析,结果表明在3、7、8和13 min前后熏制会导致样品颜色产生剧烈变化,但随着熏制时间的延长,糖熏鸡腿的颜色梯度变化效果会显著降低;且一直处于过深的状态,意味着需要进一步扩大样本量以增加模型识别的准确率。
图6 不同时间点的模型识别准确率Fig.6 Comparison of model recognition accuracy at different time points
模型的识别准确率主要由模型本身的性能、样品差异性及测试条件等因素决定,在其他因素基本恒定的情况下,样品之间的差异性是影响模型识别准确率的主要原因。因0~3 min和13~16 min产生的颜色不属于正常熏鸡应有的颜色,故分析时不作考虑,同时,结合L*值、a*值和b*值结果发现,烟熏过程中,L*值的变化最为显著,因此为简化分析过程,以糖熏4~12 min的L*值结合Xception-CNN模型的颜色识别准确率分析,采用LSD结合Duncan分析。由表1可知,糖熏4和5 min(相邻时间点间)产生的L*值不显著,说明两者之间的差异较小,在模型识别时会导致较大误差,影响最终的识别准确率,糖熏7 min与相邻时间点之间(6 min和8 min)的差异均显著,说明熏制7 min产生的颜色与相邻时间点之间的差异较大,识别准确率较高。对比图6发现,Xception-CNN模型在4、5、7 min 3个时间点的识别准确率与之相符,说明样品之间的差异性会影响到模型的识别准确率。
表1 不同熏制时间下样品的L*值Table 1 L* value of samples under different smoking time
4种模型的平均识别准确率分别为:92%(Xception-CNN),91%(ResNet-50)、89%(Inception),87%(传统CNN)。总体来说,Xception-CNN模型略优于ResNet-50模型,明显优于Inception模型和传统CNN模型。模型测试所需时间是检测模型识别效果的另一个重要指标,模型和硬件平台等都会影响到运算的速度,因此应结合不同的需求选择合适的模型。4种模型的测试所需时间分别是1.36 s(Xception-CNN),0.81 s(ResNet-50),0.98 s(Inception),2.48 s(CNN)。本文选取的Xception-CNN模型因复杂性较高,测试时间比ResNet-50模型和Inception模型多0.55和0.78 s,该差距会因为平台的运算性能提升而进一步缩小,但同传统CNN模型相比缩短了1.12 s,仅需要1.36 s即可完成识别。综上所述,Xception-CNN模型,尺寸更小,测试所需时间少,单点识别准确率及平均识别准确率均高于Inception模型、ResNet-50模型和传统CNN模型,较为轻便,更适用于熏鸡腿图像的颜色识别。
3 结论
本文将机器视觉技术引入到熏鸡腿图像的颜色识别领域中,构建了Xception-CNN模型,并将此方法应用到图像识别任务中,在自建的Smoked Chicken图像集进行实验。结果表明:在Xception-CNN、Inception、ResNet-50和传统CNN 4种模型中,Xception-CNN模型对熏鸡腿图像的颜色识别平均准确率最高,达到92%;测试时间仅需1.36 s,平均用时比ResNet-50模型和Inception模型多0.55 s和0.78 s,但比传统CNN模型缩短了1.12 s。Xception-CNN模型相较于其他3个模型,在总体性能上得到了改善,对不同颜色的熏鸡腿图像具有识别准确率高、耗时较短等优点,能够实现对鸡腿熏制过程中产生的所有颜色的快速准确识别,说明基于机器视觉技术的熏鸡腿颜色识别研究是可行的。本研究可精确指导工艺参数优化,为标准化生产及开发颜色快速识别技术提供指导依据。在实际生产中,由于相关影响因素可能无法保证颜色控制恒定,实际生产应用中该模型需要尽可能控制生产环境、工艺的稳定,进一步扩大样本量,即增加测试集的样本量,使计算机视觉能在合理范围内对可能出现的颜色误差进行精准识别。