基于卷积神经网络的熟化鱼肉纤维程度评价方法研究
2023-11-26俞军华朱金林闫博文焦熙栋黄建联范大明
俞军华,朱金林,闫博文*,焦熙栋,黄建联,范大明
(1 江南大学食品科学与资源挖掘全国重点实验室 江苏无锡214122 2 农业农村部水产加工冷藏与调理重点实验室 福建厦门361022 3 江南大学食品学院 江苏无锡214122 4 福建省冷冻调理水产品加工重点实验室 福建厦门361022 5 安井食品集团股份有限公司 福建厦门 361022)
鱼糜制品是去除非食用部分的纯鱼肉,经擂溃,添加配料,做成一定形状后进行油炸、水煮、焙烤或烘干等加热处理而制成的高蛋白食品[1]。传统鱼糜制品加工过程中,鱼肌肉纤维受到过度破坏,肌原纤维蛋白溶出,受热发生交联,最终产品呈现胶质化口感[2]。消费者很难将没有鱼肉纤维的鱼糜制品与鱼肉联系起来。一些研究者在开发具有纤维口感的鱼糜制品方面做了初步探索,如用搅拌[3]和擂溃[4]替代斩拌,可有效减少对鱼肌肉纤维的破坏,进而生产出高品质的鱼糜制品。然而,如何评价鱼肉纤维程度这个瓶颈问题一直未得到解决。
鱼肉的纤维口感是由肌肉纤维整齐有序地排列形成的,感官评价在一定程度上可以反馈鱼肉的纤维程度,然而受到样本的相似性和感官评价者的生理状态的影响,感官评价结果的准确性较低,且无法用精确的数字表达[5],因此,该方法满足后续的开发需要。在对牛肉[6]、羊肉[7]和鸡肉[8]等肉类的研究中,肌肉切片后在显微镜下拍照,通过测量肌肉纤维直径、密度和面积等组织学特征来评价肉的品质。然而,组织学研究仅适用于评估完整的肌肉纤维。在采肉过程中,鱼肉纤维受到破坏,并成混乱排布,原有的人工标注方法与软件测量工具相结合不再适用。这意味着需要一种新的方法来识别和计算受损的肌肉纤维程度。
机器视觉技术作为一种新颖的工具,广泛用于食品行业不同部门的快速在线质量评估中[9-11]。卷积神经网络以识别图像中复杂模式的能力成为提取图像视觉特征的主流方法,其工作原理是通过卷积和池化来分析数据信息,提取数据特征,进行学习,参照人的判别标准去识别图像,进而作出优于人眼的客观评定,具有识别准确率高、速度快等特点[12]。Zhan等[13]在VGG-16 的基础上,修改了最后一个全连接层的神经元数量,利用水果图像的小样本集对模型进行微调,设计一个精度较高的水果识别系统。王博等[14]将不同的卷积神经网络模型应用于黏合碎肉和整块牛肉的图像区分中,并比较这几种模型的识别速度和准确率。为了实现基于新鲜度的鱼类图像分类,Taheri-Garavand等[15]采用VGG-16 网络结构自动提取鱼类图像的特征,然后利用下采样和全连接层构造的分类器块对鱼类图像进行分类。
鱼糜制品常以熟制品的形式存在。本研究通过对不同纤维程度的熟化样品进行微观图片采集,建立数据集,并构建4 种深度的残差网络模型(ResNet-18、ResNet-34,ResNet-50 和ResNet-101)、AlexNet、视觉几 何群网 络VGG-16 和GoogLeNet,以准确率为主要评价指标,探究网络深度及不同模型对熟化鱼肉纤维程度识别结果的影响,最后以特征图提取可视化和混淆矩阵等方式对模型的识别性能进行评估,旨在建立基于卷积神经网络搭建的评价方法,从而客观、准确地识别熟化鱼肉纤维程度。
1 材料与方法
1.1 材料与试剂
白鲢鱼购于当地欧尚超市,加冰保温并在30 min 内送至实验室。
伊红染液,福州飞净生物科技有限公司;冷冻切片包埋剂,德国徕卡公司;中性树胶,异戊烷(正丁基甲烷),国药集团化学试剂有限公司。
1.2 设备与仪器
YC-12S 台式绞肉机,巧厨娘食品机械有限公司;ZB20 型斩拌锅,上海申发机械有限公司;FD53热风循环干燥箱,德国BINDER 公司;CM1950 冷冻切片机,德国徕卡公司;A11 Basic 研磨机,德国IKA 公司;BA410E 正置显微镜,麦克奥迪实业集团有限公司;Precision7920 塔式工作站,戴尔(中国)有限公司。
1.3 试验方法
1.3.1 样品制备 白鲢鱼去头,去尾,去内脏,去皮后,取鱼背及腹部肌肉,切成块状,用清水(<10℃)冲洗干净,滤去表面水备用[3]。将部分鱼肉绞碎,烘干后制成鱼粉。鱼粉在制粉过程中纤维完全被破坏且肌原纤维蛋白已热变性无法再发生交联,故将鱼粉复水熟化后样品的纤维程度定义为0%。鱼肉充分斩拌成糜状后进行熟化,内部形成网络状结构,具有一定的弹性,将这类样品纤维程度定义成20%。将熟化后的整块鱼肉的纤维程度定义为100%,通过使用绞肉机不同孔径的孔板得到不同破碎程度的鱼碎肉样品,熟化后其纤维程度分别定义为40%,60%和80%,具体处理条件见表1。为了减少水分含量对识别结果的影响,样品水分含量控制在82%~85%。
表1 样品处理条件Table 1 Sample treatment conditions
样品在约-80 ℃的温度下(约-196 ℃的液氮包围)在异戊烷中快速冷冻,并在-80 ℃下储存[16],直到准备好进行切割为止,切片厚度为10 μm,用伊红染液染色,最后用中性树胶封片保存[17]。
1.3.2 水分含量的测定 鱼碎肉样品的水分含量使用直接干燥法[18]测定。取洁净铝制坩埚,置于105 ℃的烘箱(BINDER FD 53,德国)中,加热1 h,取出盖好,置于干燥器内冷却0.5 h,鱼肉样品使用研磨机(A 11 BS025,德国)研磨,称取5 g 样品放入此坩埚中,加盖精密称量后置于105 ℃烘箱中干燥24 h,取出,放入干燥器内冷却0.5 h 后称量。水分含量计算公式如式(1):
式中:m1——烘干前盛有样品的坩埚质量,g;m2——烘干后盛有样品的坩埚质量,g;m3——坩埚质量,g。
1.3.3 图像采集 使用带有成像系统的显微镜进行图像采集。显微镜参数设置见表2[19]。
表2 显微镜参数设置Table 2 Parameter settings of the microscope
1.3.4 图像预处理 为了更好地提取特征,对旨在用作深度神经网络分类器数据集的图像进行了对比度调整、裁剪、翻转和旋转等4 种预处理。在不改变样品图像本身属性的前提下,对比度调整使得样品图像亮度呈现出较大差异,有利于获得大量图像细节信息;经过裁剪、翻转和旋转后,改变了图像的原有位置、方向和大小,从而生成新的图像,进而增加了样本数量,避免模型过拟合,提高了模型的泛化能力[20]。
1.3.5 卷积神经网络结构 文献中已经报道了很多卷积神经网络,它们的基本结构是相似的,由3个模块组成,分别是卷积层、池化层和全连接层。卷积层的作用是从输入数据中提取特征。卷积层由许多用于计算不同特征映射的卷积核组成。卷积层进行特征提取后,输出的特征图被传递到池化层进行信息过滤和特征选择。池化层的功能是降低特征维数,压缩数据和参数的数量,减少过拟合,提高模型的容错能力。全连接层的作用是将卷积和池化得到的“分布式特征表示”映射到样本标签空间,达到分类效果;即全连接层本身并不具有特征提取能力,而是利用已提取的高阶特征来完成学习目标[21]。AlexNet[22]、VGGNet[23]、GoogLeNet[24]和ResNet[25]是近年来最流行的卷积神经网络。
1.3.6 模型预训练 迁移学习是把已训练好的模型(预训练模型)参数迁移到新的模型来帮助新模型训练。考虑到大部分数据或任务都是存在相关性的,所以通过迁移学习,已经学到的模型参数可以通过某种方式被分享给新模型从而加快并优化模型的学习效率不用像大多数网络那样从零学习。研究表明在ImageNet 上预训练的卷积神经网络训练速度快,泛化能力强[26-28]。因此,AlexNet,VGG-16,GoogLeNet 和ResNet先在ImageNet 上训练,保存预训练模型的权重和相关参数,然后在本试验数据集上进行调整训练。
1.3.7 模型性能评估 混淆矩阵常被用来评价卷积神经网络对测试数据的分类性能,本文中为6类分类器的混淆矩阵,该分类矩阵能够对分类预测结果和实际标签进行总结和比较。混淆矩阵设置成6×6 的矩阵,每一行之和是该类别的真实样本数量,每一列之和是被预测为该类别的样本数量,这样可以直接评估分类方法的有效性。字符nij中i,j 分别表示模型预测标签和实际标签。因此,除了右对角线元素(i=j)对应于正确分类的实例外,其余元素均代表错误分类的实例。对于i 类样本存在以下4 种情况:真阳性(True positive,TP)和假阳性(False positive,FP)分别是图片被正确和错误地分类为i 类样本的情况,而真阴性(True negative,TN)和假阴性(False negative,FN)是图片被正确和错误地排除为i 类样本的情况。根据混淆矩阵的值来计算准确率、精密度、敏感性/真阳性率(True positive rate,TPR)、特异性和假阳性率(False positive rate,FPR)。通过计算各阈值下的FPR 和TPR,建立以FPR 为横轴,TPR 为纵轴的受试者工作特性曲线(Receiver operator characteristic curve,ROC 曲线),并计算曲线下面积(Area under curve,AUC)。这些指标的计算方法如下:
所有与图像处理、构建模型、训练和测试模型相关的步骤都使用Python 3.7 编写脚本并在Pytorch1.6.0 的环境下运行。采用Adam 优化器[29]和交叉熵损失函数[30]对所有卷积神经网络进行训练,学习率和学习衰减率分别为0.0001 和0.98。
1.4 数据统计与分析
试验数据和图形处理分别采用Excel 2016、Origin 2018、Photoshop 2020 和Python 3.7软件进行处理。
2 结果与分析
2.1 数据集的建立
共采集到样本图片600 张,在此基础上,采用1.3 节提及的4 种图像预处理方法,最终得到3 000 张样本图片,按约8∶2 的比例[31]随机分配为训练集和测试集,其中2 400 张作为训练集,用于构建和优化试验模型,剩下的600 张作为测试集,用于测试模型的准确性。
2.2 不同模型的性能比较
损失函数(Loss 值)和准确率被用来评估模型的训练情况及其识别性能。一般情况下,Loss 值越小,准确率越高,则模型识别性能越强,研究意义也就越大,因此,在其它模型参数恒定不变的情况下,追求低Loss 值和高准确率是保证模型性能的重要方式[32]。图1a 和图1b 显示了不同深度(18,34,50 和101 层)的ResNet 在训练集上的训练结果,经过大量的迭代,每层的权重和偏差不断进行着优化。在前期迭代过程中,Loss 值和准确率快速变化,最后趋于平稳,继续增加迭代次数,对训练准确率影响不大,表明模型训练结束,因此,最终将迭代次数定为80 个Epoch。所有模型,随着网络深度的增加,模型计算量成指数倍增长,导致Loss 值和准确率达到平稳状态所消耗的训练时间延长[33]。同时也因为模型结构复杂程度的提升,Loss 值和准确率波动幅度增大。
图1 训练集Loss 值(a)、训练集准确率(b)、测试集Loss 值(c)和测试集准确率(d)在数据集上的训练趋势Fig.1 The training trend of training loss(a),training accuracy(b),testing loss(c)and testing accuracy(d)on dataset
图1c 和图1d 显示了模型在测试集上的识别结果,用来评估模型的泛化能力。模型在识别测试集时,权重和偏差等参数固定不变。网络深度由18 层增加到34 层,模型能够学习到的特征增多,准确性有所提高。但继续增加网络深度,模型在测试集上的Loss 值升高,准确率降低,当网络深度达到101 层,Loss 值和准确率波动幅度较大,这表明在熟化鱼肉纤维程度的识别任务中,模型的深度不宜过深,增加模型深度,虽然模型能够学习到的东西更多,但过多的参数和复杂的计算会导致模型出现过拟合问题[34]。这是因为当模型深度过深时,梯度弥散或梯度爆炸现象出现,求解器很难去利用多层网络拟合同等函数。
ResNet 与其它3 种经典卷积神经网络模型(AlexNet、VGG-16 和GoogLeNet)在数据集上训练好后,将其在测试集上最好的识别准确率进行比较,具体结果如图2 所示。在熟化鱼肉纤维程度的识别任务中,34 层网络深度的ResNet 模型的最好准确率最高达到96.60%,ResNet-18、ResNet-50和ResNet-101 在测试集上的最好准确率分别为95.80%,95.37%和93.97%。其它3 种经典卷积神经网络模型在熟化鱼肉纤维程度的识别任务上性能表现不如ResNet,AlexNet、VGG-16 和GoogLeNet在测试集上最好的准确率分别为90.83%,90.86%和91.21%。综合上述试验结果,最终选择ResNet-34 作为熟化鱼肉纤维程度识别任务的模型,并将最好准确率对应的ResNet-34 模型权重和偏差保存,用于识别图片中熟化鱼肉纤维程度。
图2 不同模型在测试集上的最好准确率比较Fig.2 Comparison of the best accuracy of different models on the testing dataset
2.3 提取特征性能评估
卷积神经网络是一个黑匣子,输入图片,经过模型识别后输出结果。可视化技术是打开这个“黑匣子”的钥匙,将卷积神经网络成千上万的图像训练结果展示出来,帮助我们理解模型是如何工作的,便于我们调整模型参数,找到模型失败的原因[35]。图3 显示了对于确定的输入图像,ResNet-34 模型在一些卷积层中的可视化特征图。一般来说,每个通道特征图都对应着独立的特征,但并不都是有效的,部分通道特征图为纯色图片,未提取出信息,但这类通道特征图占比较少,大部分都能提取到有效信息。大多数卷积核能同时提取颜色和纹理特征,这些特征代表着样本图像上的颜色分布不均匀。这些信息表明ResNet-34 具有基于颜色特征图和纹理特征图的图像识别能力[21],也充分证明了卷积神经网络在一定程度上模拟了人类的视觉系统[36]。为了更直观地观察ResNet-34模型对图片的识别过程,我们将每一层中的所有特征图1 ∶1 融合成整体的特征图,6 种不同纤维程度的熟化鱼肉图片的融合特征图在图4 中进行展示。泛化能力强的卷积神经网络的卷积核(感受野)靠近输入端,这些卷积层提取的是基础视觉特征,如边缘、纤维纹理和形状轮廓及分布情况。随着层数的加深,融合特征图变得越来越抽象,难以用视觉信息直观进行解释。靠近输出端的卷积层提取的是综合高级语义信息,这些信息是对底层视觉特征的综合,有利于对模型计算出识别结果。综合而言,层数越深,提取的特征越具有代表性,图像的分辨率也是越来越小的。
图3 ResNet-34 识别过程特征图可视化Fig.3 Visualization feature map in the identification process of ResNet-34
图4 不同纤维程度的熟化鱼肉图片的融合特征图可视化Fig.4 Visualization fusion feature map of cooked fish images with different fiber degrees
2.4 识别性能评估
将测试集中6 类图片的实际标签与对应的预测结果绘制在图5 的混淆矩阵中,数据结果沿混淆矩阵的主对角线分布,分类错误的结果也大都集中在实际标签的相邻类中,表明实际结果与ResNet-34 模型预测值之间有良好的兼容性[37]。表3 列出了由混淆矩阵计算得到的4 种统计参数,即准确率、精度、灵敏度和特异性,平均值分别为96.94%,91.26%,91.00%和98.13%。偏差并非在所有类别中均匀分布,而是集中在某些地区,这与实际样本数据集相吻合[38-39]。准确率即分类模型所有判断正确的结果占总观测值的比重,在所有类中均呈现高于93.83%的值。在评估精度分数时,即在那些模型预测是某一类的所有结果中,实际预测对的比重,所有类别的值都高于81.82%,纤维程度值为100%类的精度值达到了97.89%。灵敏度表示对某一特定类图片,模型预测正确的比重,所有类别的值都高于83.00%。特异度表示实际图片不属于某一类的结果中,预测结果正确的比率,所有类别的值都高于96.00%。
图5 ResNet-34 在测试集上的混淆矩阵Fig.5 Confusion matrix of ResNet-34 for the testing dataset
表3 ResNet-34 对6 类熟化鱼肉肌肉纤维程度的识别性能评估(%)Table 3 The evaluation of recognition performance of ResNet-34 for 6 classes of cooked fish muscle fibrous degree(%)
分类器的ROC 曲线如图6 所示。ROC 曲线被用来评估分类器对来自6 个纤维程度的样本的合适性能。对角线代表辨别力等于0 的一条线,也叫纯机遇线。ROC 曲线离纯机遇线越远,表明模型的辨别力越强。表3 列出了由ROC 曲线计算得到的所有类别的AUC[40],所有类别的值都高于97.51%,最高的是纤维程度为0%类,其值达到99.94%,这证明ResNet-34 具有良好的识别性能。
图6 ResNet-34 对6 类熟化鱼肉纤维程度图片预测结果绘制的ROC 曲线Fig.6 ROC curves drawn by ResNet-34 for the prediction results of 6 classes of the fiber degree for cooked fish muscle
3 结论
本研究通过对不同纤维程度的熟化鱼肉样品进行微观图片采集,建立数据集,然后基于卷积神经网络构建了熟化鱼肉纤维程度的评价方法,并将该方法应用于熟化鱼肉纤维程度的识别任务中。结果表明,进行网络深度的选择时,34 层的ResNet 模型在收敛速度和准确率上均胜出;4 种不同深度的ResNet 模型在最佳识别准确率上都优 于 AlexNet、VGG -16 和 GoogLeNet模型;ResNet-34 的准确性、精度、灵敏度、特异性和AUC,平均值分别为96.94%,91.26%,91.00%,98.13%和99.19%,证明基于ResNet-34 模型搭建的评价方法能够客观、准确地识别出熟化鱼肉纤维程度。本研究旨在提供一种建立熟化鱼肉纤维评价体系的方法,打破熟化鱼肉纤维口感无系统性评价方法的局面。未来将重点完善纤维程度的定级方式及检测算法,进一步拓展到其它肉类纤维的评价过程中。