1.本发明涉及食用菌识别技术领域,特别是涉及一种基于改进权重衰减方法的食用菌自动识别方法。
背景技术:2.我国目前能够人工种植的食用菌达到60余种,并且该生产需求还在不断增长,食用菌是我国部分地区的重要栽培种类之一。其产业发展遍及大江南北,从山区到平原,为农民增效、增收起到了重要作用。截止到2019年我国食用菌总产量达到3961.91万吨,其中香菇、平菇、金针菇、草菇、黑木耳、银耳、滑菇等产量均居世界第一。通过在常规蔬菜市场及大中型超市中调研,发现中国食用菌消费市场主要集中在家庭日常消费和餐馆酒楼等食品行业。根据《2020-2026年中国食用菌行业市场行情监测及发展前景展望报告》中提供的市场销售额、整体价格和机器手持采摘的成本等数据,挑选出最具经济价值的28类常见食用菌品种(香菇、双孢蘑菇、糙皮侧耳、金针菇、黑木耳、银耳、猴头菇、毛头鬼伞、姬松茸、茶薪菇、真姬菇、灰树花、滑菇、刺芹侧耳、盖襄侧耳、毛木耳、竹荪、金顶侧耳、大杯蕈、北冬虫夏草、牛肝菌、松茸、鸡枞、羊肚菌、榛蘑、鸡油菌、红菇、青冈菌等)。
3.由于食用菌品种类别复杂,称重时大多以传统手工称重交易为主,需要专门的工作人员进行人工打标定价。然而,仅靠人工识别菌种大大降低了交易效率,因此有必要研究一种针对食用菌图像进行识别的算法,帮助人工进行食用菌快速识别分类,降低人力消耗、节省资源成本。目前现有的国际国内技术都是使用传统的机器学习方法对食用菌模型进行优化,通常只能通过浅层网络对食用菌进行识别,且只针对有毒和无毒食用菌进行分类,实验数据非常少,不适用于现在的大型卷积神经网络训练。因此,设计一种基于改进权重衰减方法的食用菌自动识别方法是十分有必要的。
技术实现要素:4.本发明的目的是提供一种基于改进权重衰减方法的食用菌自动识别方法,能够提高模型权重衰减训练的准确率,便于调整模型的参数,能够实现食用菌的自动识别,减少人工识别的时间成本,提高了工作效率,降低了劳动强度。
5.为实现上述目的,本发明提供了如下方案:
6.一种基于改进权重衰减方法的食用菌自动识别方法,包括如下步骤:
7.步骤1:建立食用菌品种名录,根据食用菌品种名录采集不同环境下各品种食用菌的图像,建立食用菌数据集;
8.步骤2:对食用菌数据集进行划分,得到划分后的数据集;
9.步骤3:构建食用菌分类模型,通过改进权重衰减方法对食用菌分类模型进行约束,得到约束后的食用菌分类模型;
10.步骤4:通过划分后的数据及对约束后的食用菌分类模型进行训练,得到训练后的食用菌分类模型,将模型加载至物联网智能溯源秤,进行食用菌图像自动识别。
11.可选的,步骤1中,建立食用菌品种名录,根据食用菌品种名录采集不同环境下各品种食用菌的图像,建立食用菌数据集,具体为:
12.进行市场调研,选定食用菌品种总类别个数,建立食用菌品种名录,根据食用菌品种名录采集不同环境下各品种食用菌的图像,且每个品种的食用菌的图像数量均为2000张,每个品种的食用菌均分为干品食用菌及新鲜食用菌,其中,干品食用菌及新鲜食用菌的图像采集比例为4:6,根据采集的不同环境下各品种食用菌的图像,建立食用菌数据集。
13.可选的,步骤2中,对食用菌数据集进行划分,得到划分后的数据集具体为:
14.对食用菌数据集中的图像进行图像增强,将图像增强后的食用菌数据集根据8:1:1的比例进行划分,其中,80%的食用菌数据集随机分配为训练集,10%的食用菌数据集随机分配为验证集,10%的食用菌数据集随机分配为测试集,将训练集、验证集及测试集的图像文件及对应的标签标签文件转换成hdf5格式,并存储在固定文件夹中。
15.可选的,步骤3中,构建食用菌分类模型,通过改进权重衰减方法对食用菌分类模型进行约束,具体为:
16.构建食用菌分类模型,其中,食用菌分类模型为efficientnet网络模型,对食用菌分类模型进行约束,包括有效学习率约束及权重范数约束,其中,有效学习率约束为:对模型的所有层进行归一化,维持权重方向的步长保持不变,控制有效学习率;
17.权重范数约束为:通过权重归一的全连接层代替模型的初始全连接层,在模型卷积层中,将权重范数固定为一个常数λ,通过yweight方法定义初始化速率v0为0,总的训练步数用t表示,初始值为0,训练样本表示为x,对应的标签表示为y,计算t+1步的速率为:
[0018][0019]
式中,μ为动量momentum,τ为交叉熵损失函数,λ取0,定义一个随机的初始化权重向量w0,其中,初始学习率用lr表示,得到t+1步的权重向量为:
[0020]wt+1
=w
t-lr
×
η
t
×vt+1
ꢀꢀꢀ
(2)
[0021]
计算下一次的卷积层权重调整公式为:
[0022][0023]
其中,权重归一的全连接层结构为:
[0024][0025]
定义τ函数为:
[0026][0027]
式中,表示pi第i类的概率,k表示label标签类,j表示其他类,g为 normal-fc的权值,si表示第i类的log值为:
[0028]
[0029]
对τ函数进行求偏导变形得到:
[0030][0031]
在特征空间中,权重向量w的梯度为x,wj表示其他类别向量,wk表示标签类向量,方向从wj到wk,其偏角大小由pj和g决定,且pj也通过 softmax函数依赖于g,设定上限值a限制g的大小,使用规范化不同数量类别的上限,得到改进的权重归一的全连接层结构为:
[0032][0033]
可选的,步骤4中,通过划分后的数据及对约束后的食用菌分类模型进行训练,得到训练后的食用菌分类模型,将模型加载至物联网智能溯源秤,进行食用菌图像自动识别,具体为:
[0034]
通过python、tensorflow及keras软件,在数据集上通过进行食用菌分类模型模型的训练,其中,设置batch size为16,使用一个周期的余弦退火策略,使学习率按照周期变化,且前四轮训练选用线性预热来进行学习率的优化,使用了标签平滑为0.1的正则化策略,通过soft one-hot来加入噪声,减少真实样本标签的类别在计算损失函数时的权重,通过对学习率超参数进行调整,进行训练,得到训练后的食用菌分类模型,将模型加载至物联网智能溯源秤中,通过物联网智能溯源秤上设置的摄像头对食用菌进行自动识别。
[0035]
根据本发明提供的具体实施例,本发明公开了以下技术效果:本发明提供的基于改进权重衰减方法的食用菌自动识别方法,该方法包括建立食用菌品种名录,根据食用菌品种名录采集不同环境下各品种食用菌的图像,建立食用菌数据集,对食用菌数据集进行划分,得到划分后的数据集,构建食用菌分类模型,通过改进权重衰减方法对食用菌分类模型进行约束,得到约束后的食用菌分类模型,通过划分后的数据及对约束后的食用菌分类模型进行训练,得到训练后的食用菌分类模型,将模型加载至物联网智能溯源秤,进行食用菌图像自动识别;该方法建立了食用菌数据集,便于模型训练,该方法能够对模型参数进行优化,在权衡准确率和运行速率的同时,提高模型收敛速度。
附图说明
[0036]
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
[0037]
图1为本发明实施例基于改进权重衰减方法的食用菌自动识别方法流程框图;
[0038]
图2为食用菌数据集划分流程图;
[0039]
图3为数据集部分数量分布示意图;
[0040]
图4为conv layers和weight decay通过网格搜索后的top-1精度示意图;
[0041]
图5为特征空间中训练和测试的偏移示意图;
[0042]
图6为验证集损失函数变化曲线示意图。
具体实施方式
[0043]
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0044]
本发明的目的是提供一种基于改进权重衰减方法的食用菌自动识别方法,能够提高模型权重衰减训练的准确率,便于调整模型的参数,能够实现食用菌的自动识别,减少人工识别的时间成本,提高了工作效率,降低了劳动强度。
[0045]
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。
[0046]
如图1所示,本发明实施例提供的基于改进权重衰减方法的食用菌自动识别方法,包括如下步骤:
[0047]
步骤1:建立食用菌品种名录,根据食用菌品种名录采集不同环境下各品种食用菌的图像,建立食用菌数据集;
[0048]
步骤2:对食用菌数据集进行划分,得到划分后的数据集;
[0049]
步骤3:构建食用菌分类模型,通过改进权重衰减方法对食用菌分类模型进行约束,得到约束后的食用菌分类模型;
[0050]
步骤4:通过划分后的数据及对约束后的食用菌分类模型进行训练,得到训练后的食用菌分类模型,将模型加载至物联网智能溯源秤,进行食用菌图像自动识别。
[0051]
如图2所示,步骤1中,建立食用菌品种名录,根据食用菌品种名录采集不同环境下各品种食用菌的图像,建立食用菌数据集,具体为:
[0052]
根据各大蔬菜市场售卖的可食用菌种类,确定要采集的菌类品种、图像大小、干品与新鲜食用菌的采集比例,以及制定具体的采集设备(手机、数码相机、平板电脑等)。在观察常规大型蔬菜市场对于食用菌的需求量以及消费者对于每种食用菌类型的购买偏好后,选定食用菌数据集的总类别个数,并根据菌类的学名确定英文名称,以此建立食用菌品种名录,如下表所示:
[0053]
表1 常见食用菌品种名录(中英文对照)
[0054]
[0055]
[0056][0057]
参考fungi数据集,制定严格的采集标准(图像尺寸、图像背景、干湿比例、光照强度、不同成熟度等),根据食用菌品种名录采集不同环境下各品种食用菌的图像,且每个种类的数据集数量都尽量均衡、个体种类要具有多样性,每个品种的食用菌的图像数量可选用约2000张,能够取得较好的训练效果,本发明的每个品种的食用菌的图像数量约为1764张,其中毛头鬼伞图片样本量最少,糙皮侧耳图片样本量最多,分别为969张和2578张,每个品种的食用菌均分为干品食用菌及新鲜食用菌,其中,干品食用菌及新鲜食用菌的图像采集比例为4:6,根据采集的不同环境下各品种食用菌的图像,建立食用菌数据集,示意图如图3所示。
[0058]
步骤2中,对食用菌数据集进行划分,得到划分后的数据集具体为:
[0059]
对食用菌数据集中的图像进行图像增强,将图像增强后的食用菌数据集根据8:1:1的比例进行划分,其中,80%的食用菌数据集随机分配为训练集(本发明约39966幅图像),10%的食用菌数据集随机分配为验证集(本发明约4996 幅图像),10%的食用菌数据集随机分配为测试集(本发明约4996幅图像),将训练集、验证集及测试集的图像文件及对应的标签标签文件转换成hdf5格式,并存储在固定文件夹中。
[0060]
步骤3中,构建食用菌分类模型,通过改进权重衰减方法对食用菌分类模型进行约束,具体为:
[0061]
构建食用菌分类模型,其中,食用菌分类模型为efficientnet网络模型,其中,输入图片大小为600*600,通过复合模型扩张方法对图像的宽度、高度、分辨率等进行缩放,然后使用7个mbconv模块进行堆叠,最后使用池化和全连接层对输出图像进行控制。其中模型使用到的复合模型扩张方法即保持维度按固定系数缩放。通过对不同维度的研究和对单个维度对模型的影响进行分析,使用该方法平衡网络的所有维度后可以使模型性能提高10倍以上。首先通过网格搜索方法找到不同缩放维度在基线网络(baseline)中的关系,然后固定不同维度之间的比例系数,最后对模型的深度、宽度和分辨率等系数进行缩放,使模型能够提高精度和运行效率,对不同系数的权衡如下:
[0062]
depth:d=α
φ
ꢀꢀꢀ
(1)
[0063]
wipth:w=β
φ
ꢀꢀꢀ
(2)
[0064]
resolution:r=γ
φ
ꢀꢀꢀ
(3)
[0065]
其中,α、β、γ是使用网格搜索出来的常量,α
·
β2·
γ2≈2且α≥1,β≥1,γ≥1,通过这些参数可以衡量网络的深度、宽度和分辨率,φ是自定义系数,用来约束和控制模型的扩增;
[0066]
通过改进权重衰减方法对食用菌分类模型进行约束具体为:
[0067]
(1)有效学习率的控制
[0068]
因为学习率对模型训练的收敛状态有直接影响,因此要考虑如何选择在各个训练阶段学习率的衰减策略,首先当批归一化应用在线性层之后,输出通道的权重向量范数保持不变,用ω和来表示通道的权重向量,x表示通道输入大小,则使用欧几里得范数进行批归一化后如下式所示:
[0069][0070]
当线性层的输出通道权重向量范数保持不变时,梯度按缩放,则:
[0071][0072]
当模型缩放尺度保持不变时,权重向量的关键特征就只需要考虑其方向性。当权重随着step为t、learning rate为η的随机梯度下降进行更新时,下一次step的通道权重向量即为:
[0073][0074]
权重向量在方向上的step大小按比例变化,如下式所示:
[0075][0076]
基于上述公式可以得出:当对所有层使用权重衰减然后进行归一化时,可以防止权重范数的无限增长,从而维持权重方向的步长保持不变,以此提高有效学习率。因此,对
模型的所有层进行归一化,维持权重方向的步长保持不变,控制有效学习率。
[0077]
(2)权重范数的控制
[0078]
根据公式7可以看出,卷积层的权重衰减主要是通过约束权重向量范数来完成的。为了研究在训练期间权重向量范数的变化,不考虑卷积层的权重衰减,在imagenet上使用efficientnet-b0上进行训练100轮,在卷积层中将权重范数固定为一个常数λ=0.0001,而在权重衰减中并不使用定权范数,两者的最佳学习率选择也有所不同,通过使用网格搜索(grid search)来确定学习率保证最佳性能。如图4所示,两者达到了同样的top-1精度,这些结果表明批归一化后的卷积层可以忽略权重衰减的影响;
[0079]
调整卷积层的权重范数是通过yweight方法定义初始化速率为0,用v0表示。总的训练步数用t表示,初始值为0。用x表示训练样本,用y表示对应的标签,动量momentum用μ表示,τ表示交叉熵损失函数,如下式所示:
[0080][0081]
定义一个随机的初始化权重向量w0,初始学习率用lr表示,则有:
[0082]wt+1
=w
t-lr
×
η
t
×vt+1
ꢀꢀꢀ
(9)
[0083]
下一次的卷积层权重调整公式即为:
[0084][0085]
(3)全连接层使用权重衰减的影响
[0086]
为研究权重衰减在全连接层中的作用,需要对上述卷积层权重衰减方法进行改进,首先保持其具有尺度不变性,使用应用了权重归一化的全连接层来代替原先的全连接层,其次设置λ原先的0.0001变为0,最后使用w
conv+fc
来代替原先的w
conv
,如下式所示:
[0087][0088]
原先的全连接层与替换后维持尺度不变性的全连接层进行对比,结构如公式12、13所示。
[0089]
fc(x;w
fc
)=x
twfc
ꢀꢀꢀ
(12)
[0090][0091]
最后将softmax交叉熵损失函数和公式3-10结合起来用τ表示,如公式 14所示。其中,用表示第i类的log值,用pi表示第i类的概率,k表示label标签类,j表示其他类,g为normal-fc的权值,则对其进行求偏导变形后如公式15所示。
[0092][0093]
[0094]
在特征空间中,权重向量w的梯度为x,wj表示其他类别向量,wk表示标签类向量,方向从wj到wk,其偏角大小由pj和g决定,并且pj也通过 softmax函数依赖于g。当x是正确的分类时,g会持续增长,pj会迅速减小使函数值趋于0,并且梯度减弱,使x更容易偏向于wj和wk之间的交叉分类边界(cross-boundary),这种不明确的特征空间容易在训练和测试之间发生偏移,导致泛化性不好。如图5所示。
[0095]
基于以上分析,需要给定一个上限值α来限制g的大小,用yweight-fc表示,使用来规范化不同数量类别的上限,如公式16所示。
[0096][0097]
使用限制了权值大小的yweight-fc层代替normal-fc层,不改变其他超参数,通过权值选择α的大小。总体来说,可以发现权重衰减通过约束全连接层的权重范数来影响cross-boundary risk,即通过减小x偏向交叉分类边界的风险来影响模型的泛化性能。通过使用yweight-fc层可以恢复常规权重衰减的训练的准确率。
[0098]
简单来说,本发明所需要实现的权重范数约束为:通过权重归一的全连接层代替模型的初始全连接层,在模型卷积层中,将权重范数固定为一个常数λ,通过yweight方法定义初始化速率v0为0,总的训练步数用t表示,初始值为 0,训练样本表示为x,对应的标签表示为y,计算t+1步的速率为:
[0099][0100]
式中,μ为动量momentum,τ为交叉熵损失函数,λ取0,定义一个随机的初始化权重向量w0,其中,初始学习率用lr表示,得到t+1步的权重向量为:
[0101]wt+1
=w
t-lr
×
η
t
×vt+1
ꢀꢀꢀ
(18)
[0102]
计算下一次的卷积层权重调整公式为:
[0103][0104]
其中,权重归一的全连接层结构为:
[0105][0106]
定义τ函数为:
[0107][0108]
式中,表示pi第i类的概率,k表示label标签类,j表示其他类,g为normal-fc的权值,si表示第i类的log值为:
[0109][0110]
对τ函数进行求偏导变形得到:
[0111][0112]
在特征空间中,权重向量w的梯度为x,wj表示其他类别向量,wk表示标签类向量,方向从wj到wk,其偏角大小由pj和g决定,且pj也通过 softmax函数依赖于g,设定上限值a限制g的大小,使用规范化不同数量类别的上限,得到改进的权重归一的全连接层结构为:
[0113][0114]
步骤4中,通过划分后的数据及对约束后的食用菌分类模型进行训练,得到训练后的食用菌分类模型,将模型加载至物联网智能溯源秤,进行食用菌图像自动识别,具体为:
[0115]
通过python、tensorflow及keras软件,在数据集上通过进行食用菌分类模型模型的训练,其中,设置batch size为16,使用一个周期的余弦退火策略,使学习率按照周期变化,且前四轮训练选用线性预热来进行学习率的优化,使用了标签平滑为0.1的正则化策略,通过soft one-hot来加入噪声,减少真实样本标签的类别在计算损失函数时的权重,通过对学习率超参数进行调整,进行训练,得到训练后的食用菌分类模型,将模型加载至物联网智能溯源秤中,通过物联网智能溯源秤上设置的摄像头对食用菌进行自动识别。
[0116]
本发明的实施例为:在python版本为3.6.13,tensorflow版本为2.0,keras 版本为2.3.1的windows10操作系统上,在数据集上进行模型的训练。设置 batch size为16,使用一个周期的余弦退火策略,使学习率按照周期变化。由于学习率是神经网络训练中最重要的超参数之一,并且刚开始训练模型时初始化权重是随机的,若选择了一个较大的学习率可能会导致模型震荡,因此前4 轮选用线性预热来进行学习率的优化,在预热的较小学习率下使模型慢慢趋于稳定。除此之外,还使用了标签平滑为0.1的正则化策略,通过soft one-hot 来加入噪声,防止过拟合现象,减少真实样本标签的类别在计算损失函数时的权重。通过对学习率等超参数进行调整,使用基于改进权重衰减的efficientnet 模型训练250轮,找到当初始学习率为0.4,权重范数为16时,模型在食用菌数据集上能够达到最好的精度(79.82%的top-1准确率,78.49%的f值);其损失函数变化曲线如图4所示;
[0117]
将模型输入到物联网智能溯源秤中,通过携带的传感器(摄像头)对称重食用菌进行图像识别,在显示器上自动显示出该食用菌的种类以及价格,根据称重算出总金额,并打印凭条,使商家能够准确快速的打标定价,自动称重,其中,物联网智能溯源秤可选用现有技术中的常规物联网智能溯源秤,能够实现图像采集、图像处理及模型搭载等附加功能即可。
[0118]
常见的食用菌种类繁多,数据集收集量大。首先由于深度学习需要大量的数据作为支撑,没有现有的适合食用菌类图像分类的公开的大型数据集,需要自行收集28类食用菌图片,每种大约2000张左右,分为干品食用菌和新鲜食用菌两种。收集完成后还需要进行人工的图像标签分类及图像预处理,任务量比较大。本发明的数据集公开后将为后续该领域学者提供实验基础,能够达到缩短研究者采集时间及减少工作量的目的。
[0119]
实验环境的复杂性。模型训练所需的图片是在不同的光照条件、不同的图像背景下拍摄的,且存在摄像头被遮挡、食用菌被食品袋或保鲜膜包装起来的情况,菌类可能只会
被拍摄到一部分或图像有些模糊,复杂的实验环境也为实验增加了很多难度。因此在拍摄时尽量选择背景符合实验室要求的图像进行特征学习,人工筛选删除不符合条件的图像,减少噪声干扰。通过本发明的方法筛选后的数据集使模型训练不会过拟合,能够达到较好的精度。
[0120]
权衡计算效率与准确率。现有的流行网络模型结构具有多样性,不能单一的选择某一网络模型结构,需要同时考虑到模型运行的计算效率及其准确率,对多个网络进行实验对比,选取最符合实验要求的最优模型。并且大型数据集的训练以及模型使用时的推演都需要一定的硬件支持,考虑到成本及嵌入式计算效率的因素,需要在计算效率和准确率之间进行权衡。通过本发明提出的改进权重衰减方法,能够对模型参数进行优化,在权衡准确率和运行速率的同时,提高模型收敛速度。
[0121]
本发明构建了共28类的ymushroom食用菌图像分类数据集,总计49958 张图像。每种大约2000张左右,分为干品食用菌和新鲜食用菌两种;
[0122]
本发明与贝叶斯优化方法做对比,提出了一种改进的权重衰减方法,通过控制学习率和权重范数影响模型的准确率;
[0123]
本发明对多个网络进行实验对比,选取最符合实验要求的最优模型,构建了符合食用菌图像分类的efficientnet模型,实现了食用菌的精细分类;
[0124]
目前在食用菌识别领域,大多都是使用传统的机器学习方法或者是层数较少的浅层神经网络来进行图像识别,例如vgg16、alexnet等。本发明使用的 mobilenet以及efficientnet均为较深层的卷积神经网络,使用改进权重衰减机制后对模型的参数和模型收敛速度的控制相比原网络都有一定的提升,在该领域具有较先进的意义;
[0125]
本发明提出一种yweight权重衰减方法,研究全连接层权重衰减的机制,通过约束权重范数来控制有效学习率,通过控制cross-boundary来影响模型的泛化性能,使用网格搜索来确定学习率和权重向量对top-1精度的影响;
[0126]
本发明解决食用菌识别通常依靠具有人工种植经验的蔬农进行肉眼判断这种传统方法从而造成的效率低下的问题,能够准确的分辨出每个菌种的名称及所属类别;
[0127]
原有的卷积神经网络中的参数都是通过正则化等单一函数进行处理,并且没有考虑到全连接层使用权重衰减对模型的影响,本发明构造的函数通过控制变量对网络模型中的各层进行研究,并对结果进行了对比分析。
[0128]
本发明提供的基于改进权重衰减方法的食用菌自动识别方法,该方法包括建立食用菌品种名录,根据食用菌品种名录采集不同环境下各品种食用菌的图像,建立食用菌数据集,对食用菌数据集进行划分,得到划分后的数据集,构建食用菌分类模型,通过改进权重衰减方法对食用菌分类模型进行约束,得到约束后的食用菌分类模型,通过划分后的数据及对约束后的食用菌分类模型进行训练,得到训练后的食用菌分类模型,将模型加载至物联网智能溯源秤,进行食用菌图像自动识别;该方法建立了食用菌数据集,便于模型训练,该方法能够对模型参数进行优化,在权衡准确率和运行速率的同时,提高模型收敛速度。
[0129]
本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处。综上所述,本说明书内容不应理解为对本发明的限制。
技术特征:1.一种基于改进权重衰减方法的食用菌自动识别方法,其特征在于,包括如下步骤:步骤1:建立食用菌品种名录,根据食用菌品种名录采集不同环境下各品种食用菌的图像,建立食用菌数据集;步骤2:对食用菌数据集进行划分,得到划分后的数据集;步骤3:构建食用菌分类模型,通过改进权重衰减方法对食用菌分类模型进行约束,得到约束后的食用菌分类模型;步骤4:通过划分后的数据及对约束后的食用菌分类模型进行训练,得到训练后的食用菌分类模型,将模型加载至物联网智能溯源秤,进行食用菌图像自动识别。2.根据权利要求1所述的基于改进权重衰减方法的食用菌自动识别方法,其特征在于,步骤1中,建立食用菌品种名录,根据食用菌品种名录采集不同环境下各品种食用菌的图像,建立食用菌数据集,具体为:进行市场调研,选定食用菌品种总类别个数,建立食用菌品种名录,根据食用菌品种名录采集不同环境下各品种食用菌的图像,每个品种的食用菌均分为干品食用菌及新鲜食用菌,其中,干品食用菌及新鲜食用菌的图像采集比例为4:6,根据采集的不同环境下各品种食用菌的图像,建立食用菌数据集。3.根据权利要求2所述的基于改进权重衰减方法的食用菌自动识别方法,其特征在于,步骤2中,对食用菌数据集进行划分,得到划分后的数据集具体为:对食用菌数据集中的图像进行图像增强,将图像增强后的食用菌数据集根据8:1:1的比例进行划分,其中,80%的食用菌数据集随机分配为训练集,10%的食用菌数据集随机分配为验证集,10%的食用菌数据集随机分配为测试集,将训练集、验证集及测试集的图像文件及对应的标签标签文件转换成hdf5格式,并存储在固定文件夹中。4.根据权利要求3所述的基于改进权重衰减方法的食用菌自动识别方法,其特征在于,步骤3中,构建食用菌分类模型,通过改进权重衰减方法对食用菌分类模型进行约束,具体为:构建食用菌分类模型,其中,食用菌分类模型为efficientnet网络模型,对食用菌分类模型进行约束,包括有效学习率约束及权重范数约束,其中,有效学习率约束为:对模型的所有层进行归一化,维持权重方向的步长保持不变,控制有效学习率;权重范数约束为:通过权重归一的全连接层代替模型的初始全连接层,在模型卷积层中,将权重范数固定为一个常数λ,通过yweight方法定义初始化速率v0为0,总的训练步数用t表示,初始值为0,训练样本表示为x,对应的标签表示为y,计算t+1步的速率为:式中,μ为动量momentum,τ为交叉熵损失函数,λ取0,定义一个随机的初始化权重向量w0,其中,初始学习率用lr表示,得到t+1步的权重向量为:w
t+1
=w
t-lr
×
η
t
×vt+1
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(2)计算下一次的卷积层权重调整公式为:
其中,权重归一的全连接层结构为:定义τ函数为:式中,表示p
i
第i类的概率,k表示label标签类,j表示其他类,g为normal-fc的权值,s
i
表示第i类的log值为:对τ函数进行求偏导变形得到:在特征空间中,权重向量w的梯度为x,w
j
表示其他类别向量,w
k
表示标签类向量,方向从w
j
到w
k
,其偏角大小由p
j
和g决定,且p
j
也通过softmax函数依赖于g,设定上限值a限制g的大小,使用规范化不同数量类别的上限,得到改进的权重归一的全连接层结构为:5.根据权利要求4所述的基于改进权重衰减方法的食用菌自动识别方法,其特征在于,步骤4中,通过划分后的数据及对约束后的食用菌分类模型进行训练,得到训练后的食用菌分类模型,将模型加载至物联网智能溯源秤,进行食用菌图像自动识别,具体为:通过python、tensorflow及keras软件,在数据集上通过进行食用菌分类模型模型的训练,其中,设置batch size为16,使用一个周期的余弦退火策略,使学习率按照周期变化,且前四轮训练选用线性预热来进行学习率的优化,使用了标签平滑为0.1的正则化策略,通过soft one-hot来加入噪声,减少真实样本标签的类别在计算损失函数时的权重,通过对学习率超参数进行调整,进行训练,得到训练后的食用菌分类模型,将模型加载至物联网智能溯源秤中,通过物联网智能溯源秤上设置的摄像头对食用菌进行自动识别。
技术总结本发明提供了一种基于改进权重衰减方法的食用菌自动识别方法,包括:建立食用菌品种名录,根据食用菌品种名录采集不同环境下各品种食用菌的图像,建立食用菌数据集,对食用菌数据集进行划分,得到划分后的数据集,构建食用菌分类模型,通过改进权重衰减方法对食用菌分类模型进行约束,得到约束后的食用菌分类模型,通过划分后的数据及对约束后的食用菌分类模型进行训练,得到训练后的食用菌分类模型,将模型加载至物联网智能溯源秤,进行食用菌图像自动识别。本发明提供的基于改进权重衰减方法的食用菌自动识别方法,能够提高模型权重衰减训练的准确率,便于调整模型的参数,能够实现食用菌的自动识别,减少人工识别的时间成本,降低了劳动强度。降低了劳动强度。降低了劳动强度。
技术研发人员:姚芷馨 张太红 冯向萍
受保护的技术使用者:新疆农业大学
技术研发日:2022.07.25
技术公布日:2022/11/1