基于深度学习的食用菌分类研究
2023-11-07官飞,许韬
官 飞,许 韬
(福建林业职业技术学院智能制造系,福建 南平 353000)
食用菌具有重要的经济价值和食用价值,准确快速地识别和分类食用菌对于保证食品安全和推动产业发展具有重要意义。但由于食用菌种类繁多,且很多有毒菌与无毒菌形态相似,传统的提取特征图像识别分类方法主要依赖人工观察和鉴别,不仅耗时、耗力,而且准确性受限于专家经验。因此,对食用菌进行准确的分类至关重要。近年来,随着计算机技术的不断发展,深度学习方法在图像识别等领域取得了显著进展,为食用菌的自动分类提供了新的思路。本文将结合深度学习方法来进一步探讨食用菌分类新方法,并与食用菌传统分类法进行对比,以使人们能快速准确地对食用菌进行分类。
1 基于传统提取特征的食用菌分类方法
基于传统提取特征的食用菌分类方法主要是在对已有特征进行分析的基础上,提出的一种基于图像特征的提取方法。目前的传统提取特征分类法只是利用局部二值模式LBP(Local Binary Patterns)[1]特征和支持向量机SVM(Support Vector Machin)分类器的方法[2],在食用菌分类任务中实现一定程度的分类。但这种方法[3]仍然受限于手动特征提取的局限性,无法充分利用图像中的信息。本文以选择局部二值模式LBP 作为特征提取方法[4]为例,介绍传统的提取特征图像识别分类方法。具体步骤如下。
1.1 图像预处理
图像预处理需要对图像进行预处理,以提高图像质量并减少计算复杂度。建立如式(1)所示的扩散函数式。
式中,k1、k2和k3为不同的梯度阈值;ut为图像噪声估计参数,∇ut为图像梯度。
函数g( |∇ut|)是一个扩散函数,函数求解结果即为扩散强度,一般情况下g( | ∇ut|)是非负光滑单调下降函数其中,k1、k2和k3表示不同的梯度阈值。
1.2 特征提取
本项目拟采用LBP 对可食用真菌进行特征提取。LBP特征提取是一种纹理特征提取方法,通过将食用菌像素点的邻域像素值与该像素点的值进行比较,来构建新的二值图像。对整个图像重复此过程,计算直方图作为食用菌的特征。
1.3 分类器
在提取了食用菌图像中的LBP 特征之后,利用支持向量机SVM(Support Vector Machin)作为分类器来对特征进行分类。SVM 是一种监督学习模型,通过寻找最大间隔超平面对数据进行分类。
2 基于深度学习的食用菌分类方法
深度学习是一种基于多层网络的食用菌图像特征的自动学习方法[5],克服了传统的基于人工特征提取方法的局限。本项目拟利用卷积神经网络CNN(Convolutional Neural Networks)对食用菌进行深度分类[6]。
卷积神经网络的局部特征提取、权重共享特性以及池特性使其能够从图像中有效地提取局部特征。CNN 由多个卷积层、池化层和全连接层组成,用正向传播和反向传播算法来训练[7]。为了适应食用菌分类任务,使用VGG16 的网络结构,食用菌图像采用ReLU 激活函数和交叉熵损失函数优化模型[8]。激活函数见图1。
图1 激活函数Fig.1 Activation function
在本研究中,采用CNN作为基于深度学习的食用菌分类方法。CNN 特别适用于图像分类任务的神经网络结构,可以自动学习图像特征并进行分类。以下是具体步骤。
式中:N为图像中像素的个数;p为像素块的中间像素值。
2.1 数据预处理
与传统方法相似,本文提出的新的食用菌图像检测方法主要包括图像的缩放、归一化和数据增强。首先,对蘑菇图像进行尺度调整,使其与CNN模型输入尺度相匹配;其次,通过归一化助于加快模型的收敛速度;最后,通过旋转、翻转、剪切等数据增强方式增加模型的泛化能力。
2.2 CNN模型构建
CNN 模型构建包括构造卷积层、激活函数、池化层、完全连接层、输出层、输出层。其中,卷积层主要完成对蘑菇图像局部特征的提取。在激励函数中引入了非线性项,提高了模型的表现力,在此基础上,提出了一种基于稀疏表示的稀疏表示方法。完全连接层将前一种特征向输出空间映射,然后在输出层中给出最后的类别概率分布。一个典型的卷积层、激活函数、池化层,最终与整个连接层和输出层相连。
2.3 测试与评估
在训练与验证过程完成后,使用测试集评估模型的最终性能。通过准确率指标,可以对模型在食用菌分类任务上的性能进行定量评估。
3 实验分析与数据对比
为了评估新旧两种分类法在食用菌分类上的性能,收集了一个包含来自不同环境和光照条件下(以增加试验的泛化能力)多个食用菌种类(如香菇、金针菇、平菇、杏鲍菇、黑木耳等)的图像数据集。为了保证数据集的质量,通过裁剪、缩放和旋转等对图像进行了预处理,使图像具有相同的尺寸和分辨率。数据集包含3 000张食用菌图像,每种食用菌各300张。将数据集划分为训练集、验证集和测试集,其中验证数据集包含300 张食用菌图像,用于调整模型参数和防止过拟合;测试集包含600张食用菌图像,用于评估模型在未知数据上的性能;训练集包含2 100 张食用菌图像,用于训练模型。食用菌数据集检测结果见图2。
图2 食用菌数据集检测结果Fig.2 Results of edible fungi data set
在传统的提取特征图像识别分类方法中,对图像进行预处理后,先利用LBP 提取图像的特征,然后利用SVM 对其进行分类。
在深度学习方法中,采用一种经典的CNN 结构(见图3)进行操作。该网络先通过一个训练集合来训练,再通过另一个验证集合来评价该网络的性能。使用随机梯度下降算法进行学习,在训练过程中,通过监控验证集上的性能来调整学习率、正则化项等超参数优化模型。
图3 网络结构Fig.3 Network structure
实验结果表明:深度学习方法在食用菌分类任务上取得了较高的准确率,明显优于传统的提取特征图像识别分类方法。
传统方法和深度学习方法在总体准确率以及各个类别(如类别A、类别B等)准确率上的情况见表1。
表1 传统方法和深度学习方法在食用菌分类任务上的性能对比Tab.1 The performance of LBP feature extraction and SVM classifier comparedwith deep learning method in edible fungi classification task单位:%
由表1可知,传统方法在测试集上的准确率为78%,而深度学习方法的准确率达到了95%;深度学习方法在各个类别上的分类性能也均优于传统方法。试验结果表明:深度学习方法在食用菌分类任务上有较高的准确率、更强的泛化能力,明显优于传统的提取特征图像识别分类方法。
4 结语
综上所述,利用深度学习技术对食用菌进行分类,具有更高的精度和更强的泛化能力,可以在一定程度上克服传统方法中手动特征提取的局限性,有助于提高食用菌产业的技术水平和安全性。但深度学习方法的训练通常需要大量的计算资源和数据集,这也是需要在实际应用中权衡的一个因素,未来可以尝试更多的深度学习模型和技术,进一步提高食用菌分类的准确性和鲁棒性。