CN111611924B - 一种基于深度迁移学习模型的蘑菇识别方法 - Google Patents

一种基于深度迁移学习模型的蘑菇识别方法 Download PDF

Info

Publication number
CN111611924B
CN111611924B CN202010437569.XA CN202010437569A CN111611924B CN 111611924 B CN111611924 B CN 111611924B CN 202010437569 A CN202010437569 A CN 202010437569A CN 111611924 B CN111611924 B CN 111611924B
Authority
CN
China
Prior art keywords
model
mushroom
learning
data
parameters
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202010437569.XA
Other languages
English (en)
Other versions
CN111611924A (zh
Inventor
黄英来
沈若兰
孙晓芳
孙海龙
于慧伶
孟诗语
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Northeast Forestry University
Original Assignee
Northeast Forestry University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Northeast Forestry University filed Critical Northeast Forestry University
Priority to CN202010437569.XA priority Critical patent/CN111611924B/zh
Publication of CN111611924A publication Critical patent/CN111611924A/zh
Application granted granted Critical
Publication of CN111611924B publication Critical patent/CN111611924B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/214Generating training patterns; Bootstrap methods, e.g. bagging or boosting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/213Feature extraction, e.g. by transforming the feature space; Summarisation; Mappings, e.g. subspace methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/10Terrestrial scenes

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • General Physics & Mathematics (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Computation (AREA)
  • General Engineering & Computer Science (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Software Systems (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Mathematical Physics (AREA)
  • Computing Systems (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Health & Medical Sciences (AREA)
  • Evolutionary Biology (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Multimedia (AREA)
  • Medical Informatics (AREA)
  • Image Analysis (AREA)
  • Image Processing (AREA)

Abstract

本发明公开了一种基于深度迁移学习模型的蘑菇识别方法,将基于深度学习的迁移学习与蘑菇识别相融合,通过迁移学习经典模型后,挑选精确率最高模型并对其进行模型调整,提取图像数据中的向量特征得到识别结果。本发明保留图像背景等环境因素实验得到95.1%的精确率,同时通过混合矩阵图像说明了对于每类蘑菇识别率均达到了较高的水平,可以说明迁移学习对不同复杂环境处理,模型鲁棒性强的优势。本发明对提取特征进行不同维度的数据降维处理,同时引入多种机器学习方法进行分类。从训练模型时间参数与验证集精确率参数对结果进行对比分析,保证了实验对比的多样性与图像识别的可靠性。

Description

一种基于深度迁移学习模型的蘑菇识别方法
技术领域
本发明涉及一种蘑菇的种类识别方法,涉及一种基于深度迁移学习模型的蘑菇识别方法。
背景技术
蘑菇在很多省份都占据着农业的一定比例,像蘑菇大省山东省、黑龙江省等。因此蘑菇识别有其必要性,该研究的完成有利于蘑菇产业的发展,惠及大量的菇农、菌类研究者以及相关专业学生。从另外一种角度来说,每年因为误食毒蘑菇的人数逐步增加。
对于识别蘑菇种类现一般采用传统经验法,通常依赖于菌类研究者通过观察蘑菇的菌丝、形态等多方面特征进行鉴别。此识别方法对识别者要求高,需要有相应的经验作为知识支撑,并且不同蘑菇的特征各有差异,判断准确率受识别者主观影响,且误判率高。对于过往的传统机器学习,特征提取过程中由于需要人工不断的进行实验与调整模型微参数,实验趋势往往具有很大不确定性,需要花耗较大的时间计算成本。同时,目前许多现有的智能识别方法仅停留在实验阶段,缺乏与用户进行交互的应用设计。
近年来,深度学习在图像识别、语音处理等多个研究方向上有许多新的突破。从近年研究上可以看出,深度卷积神经网络可以从图像中学习出具有判别力的纹理特征,相较于传统机器学习,深度学习模型的高效性与泛化性使其成为图像识别的一种有效方法。
发明内容
为了使判断者更加快速、简单、客观的得知结果,本发明提供了一种基于深度迁移学习模型的蘑菇识别方法。该方法可以实现通过识别不同蘑菇的图片,达到蘑菇种类识别的作用。
本发明的目的是通过以下技术方案实现的:
一种基于深度迁移学习模型的蘑菇识别方法,包括如下步骤:
步骤一、蘑菇数据集获取及其预处理:
(1)根据数据集大小选择图像数据集中训练集与验证集的比例划分;
(2)采用图像数据增强的方法对蘑菇图像数据进行处理,增加原始图像数据的样本量;
步骤二、迁移学习:
(1)选择在ImageNet大规模数据上预训练的Xception、 InceptionResNetV2、Efficientnet-B3、Dense-201和ResNet50五种经典模型,将原始图像数据依次传入五个预训练的网络中,寻找到最后验证集精度最高的一个网络作为实验基准模型;
(2)网络迁移过程中,保持原模型及其权重参数不变,建立 BatchNormalization,对模型输出进行归一化处理,之后建立不同大小全连接层,激活函数设为Relu函数;
(3)搭建分类层,激活函数为Softmax函数,设置输出神经元个数;
步骤三、模型调整:
(1)添加全连接层:对步骤二中通过初步实验得到的验证集精度最高的模型进行微参数与结构调整处理,将其原最后一层对1000 种类进行分类替换为全连接层,并设置输入与输出节点参数;
(2)在全连接层中建立Dropout层,对数据进行过拟合处理,增加模型的泛化性;
(3)模型编译时,采用余弦退火函数CosineAnnealingLR调整学习率;
步骤四、模型调整实验步骤:
(1)调整模型微参数,以优化器种类、初始学习率为自变量分别进行实验;
(2)对最优模型与搭建的全连接层设置不同初始学习率进行实验;
(3)全新训练选中模型检测全新学习下实验的准确率,比较采用迁移学习模型参数的优劣性;
(4)特征降维、调整分类器:采用PCA/KPCA方式对最优模型的某层输出特征进行数据降维处理,同时引入多种机器学习方法作为分类器对经过降维处理的特征进行训练,最后采用K折交叉验证方法对机器学习分类模型的性能进行模型评价;
(5)将蘑菇图像数据进行数据增强处理,并按照上述步骤三、步骤四内容依次进行实验,寻找使得模型验证集精度最高的实验方案,同时对不同方案结果进行基于训练模型时间参数和图像验证集精度参数的对比分析;
步骤五、模型结果预测与分析
(1)绘制混淆矩阵:利用混淆矩阵对验证集数据结果进行分析,并以此为条件进行数据集的筛查与清理,同时观察不同种类数据之间的数据相关性情况;
(2)计算每种蘑菇验证集图片平均识别速度,查看最优调整后的模型对数据集中每一张图片的识别速度,并进行分类统计。
相比于现有技术,本发明具有如下优点:
1、本发明保留图像背景等环境因素实验得到95.1%的精确率,同时通过混合矩阵图像说明了对于每类蘑菇识别率均达到了较高的水平,可以说明迁移学习对不同复杂环境处理,模型鲁棒性强的优势。
2、本发明在识别蘑菇图像中,每类蘑菇平均识别时间均为0.013s,可以看出迁移学习在图像识别速度上也具有相应的优势,在识别速度上有一定的进步。
3、对于过往的传统算法,特征提取过程中由于需要人工不断的进行实验与调整模型微参数,实验趋势往往具有很大不确定性,需要花耗较大的时间计算成本。而迁移学习采用已在大型数据集上预先训练好的模型参数作为模型训练初始参数代替随机初始化参数,同时在此基础上再人工进行模型与参数调整,则可以较快速且有效的提高准确率,在有限时间内可以训练出泛化性强的模型。
4、本发明对提取特征进行不同维度的数据降维处理,同时引入多种机器学习方法进行分类。从训练模型时间参数与验证集精确率参数对结果进行对比分析,保证了实验对比的多样性与图像识别的可靠性。
附图说明
图1为九类蘑菇图像与预处理图像对比图;
图2为Xception单网络初步实验结果;
图3为Xception调整参数后实验图;
图4为PCA不同维度降维结果;
图5为混淆矩阵图;a、迁移学习,b、PCA_128+逻辑回归;
图6为系统整体框架;
图7为APP界面显示图,a、用户信息,b、上传图片,c、裁剪图片,d、返回信息;
图8为Xception完整网络结构图;
图9为实验过程。
具体实施方式
下面结合附图对本发明的技术方案作进一步的说明,但并不局限于此,凡是对本发明技术方案进行修改或者等同替换,而不脱离本发明技术方案的精神和范围,均应涵盖在本发明的保护范围中。
本发明提供了一种基于深度迁移学习模型的蘑菇识别方法,所述方法将基于深度学习的迁移学习与蘑菇识别相融合,通过迁移学习经典模型后,挑选精确率最高模型并对其进行模型调整,提取图像数据中的向量特征得到识别结果,通过APP形式返回相应蘑菇品种及对应知识。具体实施步骤如下:
步骤一、蘑菇数据集获取及其预处理:
(1)根据数据集大小选择图像数据集中训练集与验证集的比例划分;
(2)采用图像数据增强的方法对蘑菇图像数据集进行图像处理,以解决每类别数据量不足的问题,即:通过对图像数据进行随机放大、缩小以及旋转等处理,以人为的方式增加蘑菇图像的样本量,从已有的图像数据不断生成更多的图像数据,弥补图片在数量上不足的问题,减少训练过程中的过拟合现象,得到泛化能力更强的网络。
步骤二、迁移学习:
借鉴其参数与模型结构,利用在本蘑菇识别的实验中,以达到更高的准确率,具体步骤如下:
(1)选择在ImageNet大规模数据上预训练的五种经典模型,将原始数据集中的图片数据依次传入五个预训练的网络中,寻找到最后验证集精度较高的一个网络;
(2)网络迁移过程中,保持原模型及其权重参数不变,建立 BatchNormalization,对模型输出进行归一化处理,即将一批不标准数据进行统一处理,将特征值标准正态化,落入对于Relu函数变化敏感的区间,从而达到避免梯度消失、收敛更快的目的;之后建立不同大小全连接层,激活函数设为Relu函数;
(3)搭建分类层,激活函数为Softmax函数,设置输出神经元个数。
步骤三、模型调整:
调整精确率最高对应的经典模型,并调整其结构和参数,使模型达到更好的分类效果,具体步骤如下:
(1)添加全连接层:将模型原最后一层对1000种类进行分类替换为全连接层,并依据不同模型原始结构设置输入结点参数;在全连接层中建立Dropout层,通过设置Dropout中参数p的数值,数值p 代表对训练过程中的节点数进行不同比例的消除处理,达到减少数据发生过拟合的现象;
(2)模型编译时,采用余弦退火函数CosineAnnealingLR调整学习率,学习率呈余弦函数型衰减,其变化和epoch的大小相匹配,函数以余弦函数为周期以及在每个周期最大值时重新设置学习率,其公式如公式(1)所示:
Figure RE-GDA0002540240970000071
其中,ηt为当前学习率,ηmax为初始学习率,Tcur为当前实验epoch 轮次,ηmin表示学习率衰减时的最小值,默认值为0,Tmax为一个学习率周期的epoch迭代次数。
采用的损失函数为CrossEntropyLoss交叉熵函数,此函数将九类输入数据进行sigmoid函数处理将输入映射到0~1区间,输入数据越大则标签属于1的概率就越大,并通过增加负log对数求和处理转化为多类别概率输出,CrossEntropyLoss表达式如公式(2)所示:
Figure RE-GDA0002540240970000072
其中,class为该图像样本真实类别序号,x为每种类对应类别序号,j为x数组中第j+1个数值。
步骤四、模型调整实验步骤:
(1)调整模型微参数,计划以优化器种类、初始学习率为自变量分别进行实验;
(2)由于原经典模型对应各层参数已经经过预先多次实验调整,所以实验将设置对最优模型与搭建的全连接层设置不同初始学习率进行实验,以此检验此方法能否提高Top1精度,Top1精度为识别结果与标签相同的准确率;
(3)全新训练选中模型检测全新学习下实验的准确率,比较采用迁移学习模型参数的优劣性;
(4)特征降维、调整分类器:将模型指定层输出特征进行提取,并对其进行PCA、KPCA数据降维。同时引入机器学习分类器,利用不同机器学习分类器对降维数据进行模型训练,并采用K折交叉验证评估模型。同时,针对提取特征进行不同维度的降维处理,寻找综合模型训练时间和模型正确率参数最优的组合。
PCA又为主成分分析法,主要通过将高维数据转化为二维或三维数据,同时保留对方差印象较大的维数,提取出数据中的主要特征。 KPCA较PCA算法的创新为引入了非线性函数
Figure RE-GDA0002540240970000081
基于核函数,KPCA 算法将线性不可分数据映射到高维空间变成线性可分的数据,并在此空间对数据进行处理。同时KPCA引入概念,空间中的任意向量,都可由空间其他样本线性表示。K折交叉验证是常用的测试评估模型的方法,其将实验数据集图像分为K个子集,每个子集均轮流作一次测试集,其他部分作为训练集对模型进行实验,此过程迭代K次。每次迭代均会得出正确率,取K次迭代的正确率的平均值,作为模型最终的正确率。
步骤五、模型结果预测与分析
(1)绘制混淆矩阵:实验最后利用混淆矩阵对实验验证集数据结果进行分析,根据混淆矩阵可以观察每类蘑菇图像验证准确率,并可以以此为条件进行实验数据集的筛查与清理,同时观察不同种类数据之间的数据相关性情况;
(2)计算每种蘑菇验证集图片平均识别速度,查看实验模型识别速度。
步骤六、通过蘑菇识别APP形式进行用户交互设计,使用者提交本地蘑菇图片至系统,服务器端接收提交的数据并进一步提交至深度学习平台进行图像数据处理,并返回种类识别结果至服务器端。服务器端接收蘑菇名字并调用后台数据库取出此类蘑菇相关品种信息,传递至客户端进行接收并显示。
实施例:
本实施例采用GPU为GTX1080TI,显存容量为11GB。在Linux Ubuntu 16.04LTS系统下,采用python语言进行实现,基于pytorch 与keras框架,对图像进行特征提取、训练以及分类。本实施例最终的模型评价标准采用训练集以及验证集的精确率以及损失率作为结果进行评估,以及Top1准确率作为标准。Top1为识别结果与标签相同的准确率。
Xception模型结构参照图8。谷歌在2014年由Szegedy等人在 GoogleNet论文中设计了一种全新网络Inception模型,主要解决在网络深度加深时所引起的梯度消失与因参数量增大而易出现过拟合的问题。Xception模型经过实验对比,精确率相比起过往出现的VGG16 等经典网络精确率都有了一定的提升,同时根据Xception论文的实验结果,Xception虽在精度上略微低于InceptionV3,但在计算量和迁移性上都好于InceptionV3。因此,本实施例引入Xception模型进行蘑菇识别实验。
不同蘑菇的大小、颜色、菌褶等特征具有许多轮廓与细微细节上的不同,因此网络需要捕捉更多的细节特征,才能更好的识别蘑菇。本实施例收集了九类蘑菇的图片,主要包括的菌类有落叶松蕈、伞形毒菌、牛肝菌属、阿美尼亚丝膜菌、肉色粉褶蕈、绯红湿伞、乳菇、红菇、乳牛肝菌。为了得到更好的结果与更多的特征,如图9所示,采用如下方法进行实验:
(1)蘑菇数据集获取及其预处理
(1a)本发明使用数据集来源于为kaggle官网中收集的九类带有标签的蘑菇数据集数据,图片总量和为6714张,具体九类图片对应总数与其训练集与验证集图片数如表1所示。实验中抽取每类蘑菇图片的80%作为训练集,20%为验证集。
表1九类蘑菇图片数量
Figure RE-GDA0002540240970000101
Figure RE-GDA0002540240970000111
(1b)通过Transforms函数对训练集图像数据进行随机长宽裁剪、水平翻转以及图像填充并通过归一化处理将像素点0~255压缩到 -1~1区间,方便模型对输入数据进行处理。同时对验证集数据图片修改为256大小,并进行中心裁剪、图像填充以及归一化处理。由于选用ImageNet数据集预训练模型,将RGB对应三通道标准化系数设定为规定值,其中均值分别设为0.485,0.456,0.406;标准差分别对应设为0.229,0.224,0.225。在图1中,显示了每一类蘑菇数据中的一张原始图片以及其对应数据增强后图片。
(2)迁移学习:借鉴其参数与模型结构,利用在本蘑菇识别的实验中,以达到更高的准确率。
(2a)将原始数据集中的图片数据依次传入基于ImageNet大规模数据集预训练的Xception、InceptionResNetV2、Efficientnet-B3、 Dense-201和ResNet50五种常用经典神经网络中,寻找到最后验证集精度较高的一个网络。
(2b)建立BatchNormalization,对模型输出进行归一化处理,并分别建立神经元个数为256和128的全连接层,激活函数为Relu 函数,并再次进行BatchNormalization处理。
(2c)搭建分类层,激活函数为Softmax函数,设输出神经元个数为9。
(2d)编译时设定steps_per_epoch为16,迭代轮次设置为40次,训练中设定初始学习率为0.001,设定最小学习率为1e-8,优化器选为sgd。
(2e)得到综合统计于如表2所示的实验结果,选择验证集精度最高的数据为90.33%,对应于Xception模型,对应实验过程如图2。
表2各单网络实验结果
Figure RE-GDA0002540240970000121
(3)模型调整:调整Xception模型结构和参数,使模型达到更好的分类效果。
(3a)添加全连接层。将模型原最后一层对1000种类进行分类替换为全连接层,将输入结点参数设定为2048,输出结点设为9。
(3b)在全连接层中建立Dropout层进行正则化处理,舍弃率设为50%。
(3c)模型编译时,设置实验迭代轮次为100次,batch_size大小设为64,即将64个样本例作为一个batch组进行迭代,初始学习率进行不同设置,momentum动量参数设定为0.9,采用的损失函数为 CrossEntropyLoss交叉熵函数,采用余弦退火函数CosineAnnealingLR 调整学习率。
(4)模型调整步骤与实验
(4a)调整模型微参数,优化器选择常见于卷积分类模型中的 Adam、SGD优化器,同时,由于两种不同的常用优化器各有优劣, SGD能够达到全局最优但对学习率调节严格,Adam优化器使得微参数比较平稳且不需要人为进行操控,但容易对某些数据集造成学习率上升,不收敛的情况。初始学习率三个自变量设置为0.01、0.005、 0.001。
(4b)设置模型初始学习率为0.001/0.01,全连接层学习率设置为模型初始学习率不同倍数大小的0.01/0.05。
(4c)全新训练Xception模型检测全新学习下实验的准确率。
(4d)选择步骤4(a)至4(c)中验证集精确率最高的模型,对其进行模型参数与结构进行保存。将保存模型中bn4层的2048维输出特征进行PCA、KPCA数据降维处理。同时,将原softmax分类器改为九种常用机器学习分类器,分别为逻辑回归 (LogisticRegression)、决策树及其集成方法(DecisionTree、XGBoost、 LGBM)、支持向量机(SVC)、高斯朴素贝叶斯(GaussianNB)、随机森林(RandomForest)、极端随机树(ExtraTrees)、K-邻近算法(Kneighbors),并使用5折交叉验证方法对不同分类模型进行评估测试。同时计算不同分类模型的模型训练时间。
针对以上降维较好的算法(PCA或KPCA)与实验综合最优的机器学习分类器继续进行实验,对提取出的2048维特征依次进行1024、 512、256、128、64、32不同维度降维与分类实验,分析何种维度为实验数据集最优降解维度。
(4e)搭建好整体的网络架构后,将原数据集以4:1比例导入新模型同时进行数据增强技术,进行测试实验,对应如图1为九类蘑菇对应表1中标签(No.)值对应蘑菇种类原图与对应经过预处理后图片。步骤(4a)、(4b)、(4c)实验得到结果如表3所示。步骤 (4d)实验得到结果如表4和图4所示。
表3 Xception模型调整实验结果
Figure RE-GDA0002540240970000141
表4数据降维与机器学习分类器训练结果 (5)模型结果预测与分析
Figure RE-GDA0002540240970000142
(5a)绘制混淆矩阵。实验最后利用混淆矩阵对实验结果进行分析,将九类蘑菇图像的20%图像作为验证集实验数据。如图5所示的混淆矩阵,a图为步骤(4a)、(4b)、(4c)最优实验模型即表4 中实验No.3模型的混淆矩阵,b图为步骤(4d)最优实验模型即特征经过PCA降维至128维并使用逻辑回归方法进行分类的混淆矩阵,0-8分别对应了表1中标签(No.)的9个蘑菇种类,横坐标对应该图片预测种类,纵坐标代表其真实种类。图片对角线中的数字为此类蘑菇预测正确的验证集图片数量。图5中a图所示模型混淆矩阵对应如表5中的每类蘑菇图像验证集的验证准确率。同时可从矩阵中看出第 4类蘑菇检测结果相对偏低,得知其对应数据集量偏少同时数据集需要进行一定的调整,同时其蘑菇颜色等信息与其他蘑菇具有一定的相似性。并可以看本模型具有较高识别准确率。
表5各蘑菇种类对应验证集图片数量与对应正确识别率
Figure RE-GDA0002540240970000151
(5b)如图5中a图所示模型混淆矩阵对应九类蘑菇图像的识别时间如表6所示。根据结果显示,除第一类蘑菇第一张识别速度较慢以外,其他八类蘑菇第一张图像平均识别时间为0.013s 完成图像预测。总体蘑菇图像平均识别时间为0.013s左右,体现了通过迁移学习并进行微调的Xception模型具有较快的图像识别速度。
表6各蘑菇图片识别时间
Figure RE-GDA0002540240970000152
Figure RE-GDA0002540240970000161
(6)APP系统概述
总体设计目标为用户通过拍照或者上传本地蘑菇图片,上传到后台深度学习平台,后台返回相应蘑菇品种及对应知识,同时APP提供给软件用户即蘑菇学习者一个便捷的交流平台。基于Android的蘑菇识别系统主要由客户端与服务器端组成,整体系统框架如图6。
客户端功能分为两大模块:
(1)模块一为用户模块:用户端可以实现用户注册、用户登录、用户论坛发言分享、搜索查找蘑菇信息、收藏蘑菇等功能。
(2)模块二为蘑菇图像模块:用户在APP中通过摄像头采集图像或从本地相册选择图像,同时对预上传图像进行裁剪选择,将图像数据提交到服务器端进行处理与识别,并等待服务器端返回的蘑菇识别结果与相关信息。
服务器端主要功能为:接收客户端传来的图像,将图像传入深度学习平台进行分析,通过图像预处理、特征提取等图像处理后,返回得到的蘑菇种类识别结果至服务器后台。后台调用蘑菇信息数据库对此蘑菇种类进行相关信息查找,返回给客户端蘑菇名称、描述特征、蘑菇生长地等查询结果。
Android客户端的应用程序在Window10平台下基于Visual Studio code+AndroidStudio开发环境中进行开发,通过Android Studio生成.apk文件,安装设备为安卓系统手机。
客户端界面设计使用Flutter框架与Andriod Studio布局管理器进行页面搭建,并与服务器端进行交互。后端采用JAVA编程实现,与数据库进行联系并调用信息。APP界面如图7所示。
本发明基于深度学习的迁移学习方法可以广泛应用于图像分类场景中。由于不同研究实验的图像数据集不同,其最适模型也具有一定差别性,但实验步骤与实验过程大致相同,可以迁移到其它实验中使用。

Claims (2)

1.一种基于深度迁移学习模型的蘑菇识别方法,其特征在于所述方法包括如下步骤:
步骤一、蘑菇数据集获取及其预处理:
(1)根据数据集大小选择图像数据集中训练集与验证集的比例划分;
(2)采用图像数据增强的方法对蘑菇图像数据进行处理,增加原始图像数据的样本量;
步骤二、迁移学习:
(1)选择在ImageNet大规模数据上预训练的Xception、InceptionResNetV2、Efficientnet-B3、Dense-201和ResNet50五种经典模型,将原始图像数据依次传入五个预训练的网络中,寻找到最后验证集精度最高的一个网络作为实验基准模型;
(2)网络迁移过程中,保持原模型及其权重参数不变,建立BatchNormalization,对模型输出进行归一化处理,之后建立不同大小全连接层,激活函数设为Relu函数;
(3)搭建分类层,激活函数为Softmax函数,设置输出神经元个数;
步骤三、模型调整:
(1)添加全连接层:对步骤二中通过初步实验得到的验证集精度最高的模型进行微参数与结构调整处理,将其原最后一层对1000种类进行分类替换为全连接层,并设置输入与输出节点参数;
(2)在全连接层中建立Dropout层,对数据进行过拟合处理,增加模型的泛化性;
(3)模型编译时,采用余弦退火函数CosineAnnealingLR调整学习率;
步骤四、模型调整实验步骤:
(1)调整模型微参数,以优化器种类、初始学习率为自变量分别进行实验;
(2)对最优模型与搭建的全连接层设置不同初始学习率进行实验;
(3)全新训练选中模型检测全新学习下实验的准确率,比较采用迁移学习模型参数的优劣性;
(4)特征降维、调整分类器:采用PCA/KPCA方式对最优模型的某层输出特征进行数据降维处理,同时引入多种机器学习方法作为分类器对经过降维处理的特征进行训练,最后采用K折交叉验证方法对机器学习分类模型的性能进行模型评价;
(5)将蘑菇图像数据进行数据增强处理,并按照上述步骤三和步骤四依次进行实验,寻找使得模型验证集精度最高的实验方案,同时对不同方案结果进行基于训练模型时间参数和图像验证集精度参数的对比分析;
步骤五、模型结果预测与分析
(1)绘制混淆矩阵:利用混淆矩阵对验证集数据结果进行分析,并以此为条件进行数据集的筛查与清理,同时观察不同种类数据之间的数据相关性情况;
(2)计算每种蘑菇验证集图片平均识别速度,查看最优调整后的模型对数据集中每一张图片的识别速度,并进行分类统计。
2.根据权利要求1所述的基于深度迁移学习模型的蘑菇识别方法,其特征在于所述余弦退火函数的公式如公式(1)所示:
Figure FDA0002502849560000031
其中,ηt为当前学习率,ηmax为初始学习率,Tcur为当前实验epoch轮次,ηmin表示学习率衰减时的最小值,Tmax为一个学习率周期的epoch迭代次数。
CN202010437569.XA 2020-05-21 2020-05-21 一种基于深度迁移学习模型的蘑菇识别方法 Active CN111611924B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010437569.XA CN111611924B (zh) 2020-05-21 2020-05-21 一种基于深度迁移学习模型的蘑菇识别方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010437569.XA CN111611924B (zh) 2020-05-21 2020-05-21 一种基于深度迁移学习模型的蘑菇识别方法

Publications (2)

Publication Number Publication Date
CN111611924A CN111611924A (zh) 2020-09-01
CN111611924B true CN111611924B (zh) 2022-03-25

Family

ID=72205112

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010437569.XA Active CN111611924B (zh) 2020-05-21 2020-05-21 一种基于深度迁移学习模型的蘑菇识别方法

Country Status (1)

Country Link
CN (1) CN111611924B (zh)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112270341A (zh) * 2020-10-15 2021-01-26 西安工程大学 一种融合迁移学习与深度学习的口罩检测方法
CN112258496A (zh) * 2020-11-02 2021-01-22 郑州大学 一种基于全卷积神经网络的地下排水管道病害分割方法
CN112381165B (zh) * 2020-11-20 2022-12-20 河南爱比特科技有限公司 一种基于rsp模型的管道缺陷智能检测方法
CN112494063B (zh) * 2021-02-08 2021-06-01 四川大学 一种基于注意力机制神经网络的腹部淋巴结分区方法
CN113033837A (zh) * 2021-03-05 2021-06-25 国网电力科学研究院武汉南瑞有限责任公司 基于输电线路暂态波形的人工智能故障辨识系统及方法
CN113486959B (zh) * 2021-07-07 2023-06-16 漳州卫生职业学院 基于特征迁移的肺部ct图像分类方法
CN114550165A (zh) * 2022-02-21 2022-05-27 杭州睿胜软件有限公司 有毒近似物种的识别方法、系统及可读存储介质
CN114994547B (zh) 2022-08-05 2022-11-18 中汽研新能源汽车检验中心(天津)有限公司 基于深度学习和一致性检测的电池包安全状态评估方法
CN116649160B (zh) * 2023-08-01 2023-10-10 南京康之春生物科技有限公司 食用菌菌种生产监测系统及监测方法

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108182427A (zh) * 2018-01-30 2018-06-19 电子科技大学 一种基于深度学习模型和迁移学习的人脸识别方法
CN108573243A (zh) * 2018-04-27 2018-09-25 上海敏识网络科技有限公司 一种基于深度卷积神经网络的低质量人脸的比对方法
CN109508650A (zh) * 2018-10-23 2019-03-22 浙江农林大学 一种基于迁移学习的树种识别方法
CN110348399A (zh) * 2019-07-15 2019-10-18 中国人民解放军国防科技大学 基于原型学习机制和多维残差网络的高光谱智能分类方法
CN110472545A (zh) * 2019-08-06 2019-11-19 中北大学 基于知识迁移学习的航拍电力部件图像的分类方法
CN110781921A (zh) * 2019-09-25 2020-02-11 浙江农林大学 一种基于深度残差网络与迁移学习的毒蕈图像识别方法和装置

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160127402A1 (en) * 2014-11-04 2016-05-05 Patternex, Inc. Method and apparatus for identifying and detecting threats to an enterprise or e-commerce system

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108182427A (zh) * 2018-01-30 2018-06-19 电子科技大学 一种基于深度学习模型和迁移学习的人脸识别方法
CN108573243A (zh) * 2018-04-27 2018-09-25 上海敏识网络科技有限公司 一种基于深度卷积神经网络的低质量人脸的比对方法
CN109508650A (zh) * 2018-10-23 2019-03-22 浙江农林大学 一种基于迁移学习的树种识别方法
CN110348399A (zh) * 2019-07-15 2019-10-18 中国人民解放军国防科技大学 基于原型学习机制和多维残差网络的高光谱智能分类方法
CN110472545A (zh) * 2019-08-06 2019-11-19 中北大学 基于知识迁移学习的航拍电力部件图像的分类方法
CN110781921A (zh) * 2019-09-25 2020-02-11 浙江农林大学 一种基于深度残差网络与迁移学习的毒蕈图像识别方法和装置

Non-Patent Citations (5)

* Cited by examiner, † Cited by third party
Title
Image Analysis of Mushroom Types Classification by Convolution Neural Networks;Jitdumrong Preechasuk 等;《AICCC 2019》;20191231;82-99 *
卷积神经网络用于近红外光谱古筝面板木材分级;孟诗语 等;《光谱学与光谱分析》;20200131;第40卷(第1期);284-289 *
基于Xception与ResNet50模型的蘑菇分类方法;沈若兰 等;《黑河学院学报》;20200731;181-184 *
基于卷积神经网络的遥感沙漠绿地提取方法;田德宇 等;《遥感技术与应用》;20180228;第33卷(第1期);151-157 *
多网络联合识别辐射源个体的优化方法;刘英辉 等;《信号处理》;20200430;第36卷(第4期);602-610 *

Also Published As

Publication number Publication date
CN111611924A (zh) 2020-09-01

Similar Documents

Publication Publication Date Title
CN111611924B (zh) 一种基于深度迁移学习模型的蘑菇识别方法
CN108615010B (zh) 基于平行卷积神经网络特征图融合的人脸表情识别方法
CN107122375B (zh) 基于图像特征的图像主体的识别方法
CN113052211B9 (zh) 一种基于特征的秩和通道重要性的剪枝方法
CN112200211B (zh) 一种基于残差网络和迁移学习的小样本鱼识别方法及系统
CN112668630B (zh) 一种基于模型剪枝的轻量化图像分类方法、系统及设备
CN110334724B (zh) 基于lstm的遥感对象自然语言描述及多尺度矫正方法
CN113378706B (zh) 一种辅助儿童观察植物和学习生物多样性的绘画系统
CN113761259A (zh) 一种图像处理方法、装置以及计算机设备
Jassmann et al. Leaf classification utilizing a convolutional neural network
CN110689039A (zh) 一种基于四通道卷积神经网络的树干纹理识别方法
CN110991247B (zh) 一种基于深度学习与nca融合的电子元器件识别方法
CN114676769A (zh) 一种基于视觉Transformer的小样本昆虫图像识别方法
CN112232395A (zh) 一种基于联合训练生成对抗网络的半监督图像分类方法
Granwehr et al. Analysis on digital image processing for plant health monitoring
CN111310820A (zh) 基于交叉验证深度cnn特征集成的地基气象云图分类方法
CN105787045B (zh) 一种用于可视媒体语义索引的精度增强方法
CN114329031A (zh) 一种基于图神经网络和深度哈希的细粒度鸟类图像检索方法
CN111860601B (zh) 预测大型真菌种类的方法及装置
CN117058669A (zh) 一种基于深度学习的荔枝果实识别方法
Rahman et al. A CNN Model-based ensemble approach for Fruit identification using seed
CN114627496B (zh) 基于高斯过程的去偏批量归一化的鲁棒行人重识别方法
CN115690566A (zh) 一种基于深度迁移聚类学习的深海动物新物种识别方法
CN115100694A (zh) 一种基于自监督神经网络的指纹快速检索方法
Lim et al. Analyzing deep neural networks with noisy labels

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant