一种基于改进标签平滑算法的葡萄物候期识别方法及系统与流程

文档序号:30096180发布日期:2022-05-18 10:56阅读:155来源:国知局
一种基于改进标签平滑算法的葡萄物候期识别方法及系统与流程

1.本发明涉及葡萄图像识别领域,特别涉及一种基于改进标签平滑算法的葡萄物候期识别方法及系统。


背景技术:

2.葡萄果树随着气候的变化,具有一定的生长发育规律,这种周期性的生命活动通常称作葡萄物候期。葡萄物候期包括萌动期、萌芽期、23叶期、花生长期、疏花前期、开花坐果期、果实膨大期等,不同的葡萄物候期对应的植保、营养供应、农事操作也有所不同,因此,葡萄物候期的准确判定与否直接影响葡萄生产管理的各个环节。
3.传统的葡萄物候期判定方法依赖人工肉眼观察、当前气候条件、往年栽培经验等因素,难以形成规范标准。近年来,随着计算机视觉技术的发展,基于图像分类、目标检测等人工智能算法可实现葡萄物候期的快速识别,但目前的识别算法通常采用交叉熵损失函数进行监督训练,原始的交叉熵损失函数利用0和1的one-hot标签对物候期标签进行编码,促使神经网络往正确标签和错误标签差值最大的梯度方向学习,容易造成模型过度自信,且在训练数据较少的情况下导致模型过拟合。标签平滑算法通过对标签加入噪声的方式可缓解one-hot标签带来的问题,但原始的标签平滑算法采用均匀分布的方式增加噪声,对于葡萄物候期识别效果提升有限。


技术实现要素:

4.为了解决上述问题,本发明提供了一种基于改进标签平滑算法的葡萄物候期识别方法及系统,具体技术方案如下:
5.一种基于改进标签平滑算法的葡萄物候期识别方法,包括以下步骤:
6.s1:数据集制作:采集葡萄各个物候期的图像,根据各个物候期名称对图像进行分类,葡萄物候期名称按照生长顺序进行编号排序,制作数据集;所述数据集包括训练集、验证集和测试集;
7.s2:构建分类模型:构建图像分类网络模型,对数据集中的葡萄物候期图像进行[-1,1]归一化,得到归一化后的训练集、验证集和测试集;
[0008]
s3:设计损失函数:采用交叉熵函数作为损失函数,并且采用改进标签平滑算法对交叉熵损失函数进行正则化;
[0009]
s4:模型训练:将步骤s2中归一化后的训练集输入步骤s2构建的图像分类网络模型,使用sgd优化器,并采用步骤s3中设计的交叉熵损失函数对图像分类网络模型进行监督训练,每训练一次得到一个对应的中间图像分类网络模型以及对应的模型参数;
[0010]
s5:模型验证:在训练过程中,同时将步骤s2中归一化后的验证集输入步骤s4中训练好的中间图像分类网络模型,判断中间图像分类网络模型的识别正确率是否大于等于预设值;
[0011]
若是该中间图像分类网络模型的识别正确率大于等于预设值,则将该中间图像分
类网络模型作为最终的训练好的图像分类网络模型输出并进行步骤s6,若该中间图像分类网络模型的识别正确率小于预设值,则调整模型参数,重复步骤s4-s5;
[0012]
s6:模型推理:将步骤s2中归一化后的测试集中葡萄各个物候期的图像输入步骤s4中训练好的图像分类网络模型进行推理得到图像的葡萄各个物候期的分类结果。
[0013]
优选地,所述步骤s1中训练集、验证集和测试集的划分比例为0.8:0.1:0.1。
[0014]
优选地,所述步骤s2中选择resnet-50网络模型作为图像分类网络模型。
[0015]
优选地,所述步骤s3中加入改进标签平滑算法的交叉熵损失函数如下:
[0016][0017]
其中,l表示损失函数,k表示葡萄物候期标签数,k表示标签编号,k∈{1,2,

,k},x表示单个训练样本,p(k|x)表示输入训练样本x经图像分类网络模型预测是标签k的概率,q(k|x,y)表示输入训练样本x,其真实标签为y,对于标签编号k进行标签平滑得到的软标签。
[0018]
优选地,所述p(k|x)为图像分类网络模型最后一层经过softmax运算输出的结果,取值范围为0~1。
[0019]
优选地,当y=1时,表示当前输入训练样本x的真实标签y是葡萄物候期的第一个标签,软标签q(k|x,y)的计算方法如下:
[0020]
为该标签y分配权重为α,第y+1个标签为相邻标签,为该标签y+1分配权重为λ,并为剩下的标签平均分配剩下的权重即:
[0021][0022]
其中,α表示当前标签的权重,满足0≤α≤1,λ为相邻标签的权重,0≤λ≤1,且0≤α+λ≤1,α>λ,k>3。
[0023]
优选地,当1<y<k时,表示当前输入训练样本x的真实标签y存在2个相邻标签,软标签q(k|x,y)的计算方法如下:
[0024]
为该标签y分配权重为α,第y-1个标签和第y+1个标签为相邻标签,为相邻标签y-1和y+1分配权重为λ,并为剩下的标签平均分配剩下的权重即:
[0025][0026]
其中,α表示当前标签的权重,满足0≤α≤1,λ为相邻标签的权重,0≤λ≤1,且0≤α+2λ≤1,α>λ,k>3。
[0027]
优选地,当y=k时,表示当前输入训练样本x的真实标签y是葡萄物候期的最后一个标签k,软标签q(k|x,y)的计算方法如下:
[0028]
为该标签y分配权重为α,第k-1个标签为相邻标签,为该标签k-1分配权重为λ,并为剩下的标签平均分配剩下的权重即:
[0029][0030]
其中,α表示当前标签的权重,满足0≤α≤1,λ为相邻标签的权重,0≤λ≤1,且0≤α+λ≤1,α>λ,k>3。
[0031]
一种基于改进标签平滑算法的葡萄物候期识别系统,包括数据集制作模块、分类模型构建模块、损失函数设计模块、模型训练模块、模型验证模块、模型推理模块;
[0032]
所述数据集制作模块用于采集葡萄各个物候期的图像并按照生长顺序进行编号排序来制作数据集;所述数据集包括训练集、验证集和测试集;
[0033]
所述分类模型构建模块用于构建图像分类网络模型以及对数据集中的葡萄物候期图像进行归一化;
[0034]
所述损失函数设计模块用于采用交叉熵函数作为损失函数,并且采用改进标签平滑算法对交叉熵损失函数进行正则化;
[0035]
所述模型训练模块用于采用数据集中的训练集对构建的图像分类网络模型进行训练,得到训练后的中间图像分类网络模型;
[0036]
所述模型验证模块用于采用数据集中的验证集对训练后的中间图像分类网络模型进行验证并判断是否需要重新训练,若不需要重新训练则输出最后得到的中间图像分类网络模型为最终训练的图像分类网络模型;
[0037]
所述模型推理模块用于采用数据集中的测试集对训练后的图像分类网络模型进行测试。
[0038]
本发明的有益效果为:本发明提供了一种基于改进标签平滑算法的葡萄物候期识
别方法,原始标签平滑算法采用均匀分布作为先验分布,不符合葡萄物候期标签的分布规律。与现有葡萄物候期识别方法相比,根据葡萄相邻物候期具有相关性的特点,为葡萄物候期的图像分类网络模型引入先验知识,葡萄物候期标签按照生长顺序进行编号排序,相邻物候期相关性较高,赋予较高权重,不相邻的物候期相关性较低,赋予较低权重,根据此先验知识,对原始标签平滑算法进行改进,避免图像分类网络模型预测结果过度自信,降低过拟合风险,提升图像分类网络模型泛化性与准确率。
附图说明
[0039]
为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍。在所有附图中,类似的元件或部分一般由类似的附图标记标识。附图中,各元件或部分并不一定按照实际的比例绘制。
[0040]
图1为本发明的方法流程示意图;
[0041]
图2为本发明的系统原理图。
具体实施方式
[0042]
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0043]
应当理解,当在本说明书和所附权利要求书中使用时,术语“包括”和“包含”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
[0044]
还应当理解,在本发明说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本发明。如在本发明说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。
[0045]
还应当进一步理解,在本发明说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
[0046]
如图1所示,本发明的具体实施方式提供了一种基于改进标签平滑算法的葡萄物候期识别方法,包括以下步骤:
[0047]
s1:数据集制作:采集葡萄各个物候期的图像,根据各个物候期名称对图像进行分类,葡萄物候期名称按照生长顺序进行编号排序,制作数据集;所述数据集包括训练集、验证集和测试集;其中训练集、验证集和测试集的划分比例为0.8:0.1:0.1。
[0048]
s2:构建分类模型:构建图像分类网络模型,对数据集中的葡萄物候期图像进行[-1,1]归一化,,得到归一化后的训练集、验证集和测试集;具体可选择resnet-50网络模型作为图像分类网络模型。归一化方法如下:
[0049][0050]
其中,p'表示归一化后的像素值,p表示原始图像像素值。
[0051]
s3:设计损失函数:采用交叉熵函数作为损失函数,并且采用改进标签平滑算法对
交叉熵损失函数进行正则化。原始标签平滑算法采用均匀分布作为先验分布,不符合葡萄物候期标签的分布规律。葡萄物候期标签可按照生长顺序进行编号排序,相邻物候期相关性较高,可赋予高权重,不相邻的物候期相关性较低,可赋予低权重,根据此先验知识,对原始标签平滑算法进行改进。
[0052]
加入改进标签平滑算法的交叉熵损失函数如下:
[0053][0054]
其中,l表示损失函数,k表示葡萄物候期标签数,k表示标签编号,k∈{1,2,

,k},x表示单个训练样本,p(k|x)表示输入训练样本x经图像分类网络模型预测是标签k的概率,q(k|x,y)表示输入训练样本x,其真实标签为y,对于标签编号k进行标签平滑得到的软标签。所述p(k|x)为图像分类网络模型最后一层经过softmax运算输出的结果,取值范围为0~1。
[0055]
当y=1时,表示当前输入训练样本x的真实标签y是葡萄物候期的第一个标签,软标签q(k|x,y)的计算方法如下:
[0056]
为该标签y分配权重为α,第y+1个标签为相邻标签,为该标签y+1分配权重为λ,并为剩下的标签平均分配剩下的权重即:
[0057][0058]
其中,α表示当前标签的权重,满足0≤α≤1,λ为相邻标签的权重,0≤λ≤1,且0≤α+λ≤1,α>λ,k>3,k为数据集中标注的葡萄物候期标签总数,葡萄物候期包括萌动期、萌芽期、23叶期、花生长期、疏花前期、开花坐果期、果实膨大期等。
[0059]
当1<y<k时,表示当前输入训练样本x的真实标签y存在2个相邻标签,软标签q(k|x,y)的计算方法如下:
[0060]
为该标签y分配权重为α,第y-1个标签和第y+1个标签为相邻标签,为相邻标签y-1和y+1分配权重为λ,并为剩下的标签平均分配剩下的权重即:
[0061]
[0062]
其中,α表示当前标签的权重,满足0≤α≤1,λ为相邻标签的权重,0≤λ≤1,且0≤α+2λ≤1,α>λ。
[0063]
当y=k时,表示当前输入训练样本x的真实标签y是葡萄物候期的最后一个标签k,软标签q(k|x,y)的计算方法如下:
[0064]
为该标签y分配权重为α,第k-1个标签为相邻标签,为该标签k-1分配权重为λ,并为剩下的标签平均分配剩下的权重即:
[0065][0066]
其中,α表示当前标签的权重,满足0≤α≤1,λ为相邻标签的权重,0≤λ≤1,且0≤α+λ≤1,α>λ。
[0067]
本发明采用改进标签平滑算法计算q(k|x,y),对于每个标签编号k进行标签平滑,不再是0或者1的硬标签。
[0068]
s4:模型训练:将步骤s2中归一化后的训练集输入步骤s2构建的图像分类网络模型,使用sgd优化器,学习率设置为0.01,并采用步骤s3中设计的交叉熵损失函数对图像分类网络模型进行监督训练,每训练一次得到一个对应的中间图像分类网络模型以及对应的模型参数;
[0069]
s5:模型验证:在训练过程中,同时将步骤s2中归一化后的验证集输入步骤s4中训练好的中间图像分类网络模型,判断中间图像分类网络模型的识别正确率是否大于等于预设值;
[0070]
若是该中间图像分类网络模型的识别正确率大于等于预设值,则将该中间图像分类网络模型作为最终的训练好的图像分类网络模型输出并进行步骤s6,若该中间图像分类网络模型的识别正确率小于预设值,则调整模型参数,重复步骤s4-s5;
[0071]
s6:模型推理:将步骤s2中归一化后的测试集中葡萄各个物候期的图像输入步骤s4中训练好的图像分类网络模型进行推理得到图像的葡萄各个物候期的分类结果。
[0072]
如图2所示,本发明的具体实施方式还提供了一种基于改进标签平滑算法的葡萄物候期识别系统,包括数据集制作模块、分类模型构建模块、损失函数设计模块、模型训练模块、模型验证模块、模型推理模块;
[0073]
所述数据集制作模块用于采集葡萄各个物候期的图像并按照生长顺序进行编号排序来制作数据集;所述数据集包括训练集、验证集和测试集;
[0074]
所述分类模型构建模块用于构建图像分类网络模型以及对数据集中的葡萄物候期图像进行归一化,得到归一化后的训练集、验证集和测试集;
[0075]
所述损失函数设计模块用于采用交叉熵函数作为损失函数,并且采用改进标签平滑算法对交叉熵损失函数进行正则化;
[0076]
所述模型训练模块用于采用数据集中归一化后的训练集对构建的图像分类网络模型进行训练,得到训练后的中间图像分类网络模型;
[0077]
所述模型验证模块用于采用数据集中归一化后的验证集对训练后的中间图像分类网络模型进行验证并判断是否需要重新训练,若不需要重新训练则输出最后得到的中间图像分类网络模型为最终训练的图像分类网络模型;
[0078]
所述模型推理模块用于采用数据集中归一化后的测试集对训练后的图像分类网络模型进行测试。
[0079]
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
[0080]
在本技术所提供的实施例中,应该理解到,单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元可结合为一个单元,一个单元可拆分为多个单元,或一些特征可以忽略等。
[0081]
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围,其均应涵盖在本发明的权利要求和说明书的范围当中。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1