一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种花卉识别分类方法及装置

2022-11-19 07:19:56 来源:中国专利 TAG:


1.本技术涉及图像识别技术领域,尤其涉及一种花卉识别分类方法及装置。


背景技术:

2.在花卉农业领域,自动化培育首先需要对花卉进行识别分类,以便进一步检测花卉生长状况,依靠专业人员指导进行大量重复性花卉分类工作会造成大量人力物力成本的耗费。因此,利用人工智能技术对花卉进行自动化识别和分类存在着巨大的需求和实际的应用价值。
3.在花卉图像分类领域,传统的分类方法多数是基于特定图像处理算法提取出相应的特征,再利用分类器对特征进行数学分析得出分类结果。然而现有方法大多采用卷积方式提取图像局部特征,难以同时关注到局部和全局的关键特征,特征提取能力不完善,难以实现准确分类。


技术实现要素:

4.本技术提供了一种花卉识别分类方法及装置,用于解决现有的分类方法采用卷积方式提取图像局部特征,难以同时关注到局部和全局的关键特征,特征提取能力不完善,导致分类不准确的技术问题。
5.为解决上述的技术问题,本技术第一方面提供了一种花卉识别分类方法,包括:
6.采集待识别的花卉图像;
7.对所述花卉图像进行预处理;
8.将预处理后的所述花卉图像输入预设的花卉识别模型进行识别与分类,以获得分类结果,其中,所述花卉识别模型为基于transformer结构的机器学习模型,且所述花卉识别模型具体由一个线性映射层、多个conv-trans模块、多个resmlp模块和一个分类器组成;
9.所述conv-trans模块用于通过多头自注意力机制,对所述图像块序列进行空间域特征融合,再通过卷积运算方式对所述图像块序列进行通道域特征融合;
10.所述resmlp模块用于通过resmlp处理方式,对所述图像块序列的通道域特征和空间域特征进行整合处理;
11.所述分类器为基于由知识蒸馏训练方式得到的学生网络模型进行构建得到的。
12.优选地,所述卷积处理的公式具体为:
[0013][0014]
式中,zi表示图像块序列经过conv-trans模块的输出,xi为输入的图像块序列,σ为gelu激活函数,n为图像块序列长度,t表示矩阵转置,w1代表基于第一卷积核的卷积运算,w2代表基于第二卷积核的卷积运算。
[0015]
优选地,所述resmlp模块的公式定义具体为
[0016]
yi=xi w3·
σ
·
(w4·
layernorm(x)i)
[0017]
i=1,2,3,

,n
[0018]
式中,yi表示图像块序列经过resmlp模块的输出,xi为输入的图像块序列,σ为gelu激活函数,n为图像块序列长度,w3代表基于第三卷积核的卷积运算,w4代表基于第四卷积核的卷积运算。
[0019]
优选地,所述知识蒸馏训练方式具体为软蒸馏训练方式。
[0020]
优选地,所述分类器的目标函数具体为:
[0021]
l
total
=(1-λ)l
ce
(ψ(zs),y) λt2l
kl
(ψ(zs,t),ψ(z
t
,t))
[0022]
式中,l
total
是总的损失;l
ce
()是交叉熵损失函数;l
kl
()是kl散度损失函数;ψ()是软目标函数;zs和z
t
分别是学生模型和教师模型输出的类别分类概率;t则是温度系数,λ是蒸馏系数,y是分类标签;
[0023]
所述软目标函数具体为:
[0024][0025]
式中,qi为函数的软目标输出,zi是学生模型或教师模型输出的类别分类概率。
[0026]
本技术第二方面提供了一种花卉识别分类装置,包括:
[0027]
图像采集单元,用于采集待识别的花卉图像;
[0028]
预处理单元,用于对所述花卉图像进行预处理;
[0029]
模型分类处理单元,用于将预处理后的所述花卉图像输入预设的花卉识别模型进行识别与分类,以获得分类结果,其中,所述花卉识别模型为基于transformer结构的机器学习模型,且所述花卉识别模型具体由一个线性映射层、多个conv-trans模块、多个resmlp模块和一个分类器组成;
[0030]
所述conv-trans模块用于通过多头自注意力机制,对所述图像块序列进行空间域特征融合,再通过卷积运算方式对所述图像块序列进行通道域特征融合;
[0031]
所述resmlp模块用于通过resmlp处理方式,对所述图像块序列的通道域特征和空间域特征进行整合处理;
[0032]
所述分类器为基于由知识蒸馏训练方式得到的学生网络模型进行构建得到的。
[0033]
优选地,所述卷积处理的公式具体为:
[0034][0035]
式中,zi表示图像块序列经过conv-trans模块的输出,xi为输入的图像块序列,σ为gelu激活函数,n为图像块序列长度,t表示矩阵转置,w1代表基于第一卷积核的卷积运算,w2代表基于第二卷积核的卷积运算。
[0036]
优选地,所述resmlp模块的公式定义具体为
[0037]
yi=xi w3·
σ
·
(w4·
layernorm(x)i)
[0038]
i=1,2,3,

,n
[0039]
式中,yi表示图像块序列经过resmlp模块的输出,xi为输入的图像块序列,σ为gelu激活函数,n为图像块序列长度,w3代表基于第三卷积核的卷积运算,w4代表基于第四卷积核的卷积运算。
[0040]
优选地,所述知识蒸馏训练方式具体为软蒸馏训练方式。
[0041]
优选地,所述分类器的目标函数具体为:
[0042]
l
total
=(1-λ)l
ce
(ψ(zs),y) λt2l
kl
(ψ(zs,t),ψ(z
t
,t))
[0043]
式中,l
total
是总的损失;l
ce
()是交叉熵损失函数;l
kl
()是kl散度损失函数;ψ()是软目标函数;zs和z
t
分别是学生模型和教师模型输出的类别分类概率;t则是温度系数,λ是蒸馏系数,y是分类标签;
[0044]
所述软目标函数具体为:
[0045][0046]
式中,qi为函数的软目标输出,zi是学生模型或教师模型输出的类别分类概率。
[0047]
从以上技术方案可以看出,本技术实施例具有以下优点:
[0048]
本技术提供的方案拍摄花卉获取图像,或者通过相册直接选择获取图像;然后进行预处理,对图像进行预处理后得到花卉对象;最后,将预处理完成的花卉图像通过花卉识别模型得到最终的分类结果,而本技术的花卉识别模型采用transformer架构设计模型,利用其自注意力机制从图像全局提取特征,将注意力集中于花卉部分而忽略复杂的背景,从而实现准确提取花卉特征,进而实现准确分类,解决了现有的分类方法采用卷积方式提取图像局部特征,难以同时关注到局部和全局的关键特征,特征提取能力不完善,导致分类不准确的技术问题。
附图说明
[0049]
为了更清楚地说明本技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其它的附图。
[0050]
图1为本技术提供的一种花卉识别分类方法的整体系统框架示意图。
[0051]
图2为本技术提供的一种花卉识别分类方法的一个实施例的流程示意图。
[0052]
图3为知识蒸馏框架图。
[0053]
图4为本技术提供的一种花卉识别分类装置的一个实施例的结构示意图。
具体实施方式
[0054]
本技术实施例提供了一种花卉识别分类方法及装置,用于解决现有的分类方法采用卷积方式提取图像局部特征,难以同时关注到局部和全局的关键特征,特征提取能力不完善,导致分类不准确的技术问题。
[0055]
为使得本技术的发明目的、特征、优点能够更加的明显和易懂,下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,下面所描述的实施例仅仅是本技术一部分实施例,而非全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本技术保护的范围。
[0056]
如图1所示,本技术以下文提供的花卉识别模型为基础,本实施例的花卉识别方法
可以通过一个基于移动端的花卉识别系统实现。此系统可分为移动客户端和云服务器端,采用客户端-服务器(c/s)模型。移动客户端设备可采用手机或者单片机等嵌入式设备。
[0057]
移动客户端主要负责花卉图像采集、图片预处理和运行小规模网络模型进行花卉图像分类。具体的操作流程是:首先,利用手机移动端的摄像头拍摄花卉获取图像,或者通过相册直接选择获取图像;然后,进行预处理,对图像进行裁剪或者翻转等操作,利用交互框选包含花卉对象的正方形区域,从而得到花卉对象;最后,将预处理完成的花卉图像通过网络模型得到最终的分类结果。
[0058]
服务器端主要的功能是训练网络模型,并与移动端进行信息交互。
[0059]
请参阅图2,本技术第一个实施例提供了一种花卉识别分类方法,包括:
[0060]
步骤101、采集待识别的花卉图像。
[0061]
步骤102、对花卉图像进行预处理。
[0062]
步骤103、将预处理后的花卉图像输入预设的花卉识别模型进行识别与分类,以获得分类结果,其中,花卉识别模型为基于transformer结构的机器学习模型,且花卉识别模型具体由一个线性映射层、多个conv-trans模块、多个resmlp模块和一个分类器组成。
[0063]
本实施例提供的系统模型设计利用1
×
1卷积核代替线性层,既可增加网络的灵活性,也可增强网络的非线性表达能力。线性全连接层要求输入的张量的大小是固定的,而卷积则可以任意调整输入张量的大小。而且线性全连接层会破坏特征图的空间结构,卷积运算则保留了二维特征图的空间特性。模型与卷积神经网络金字塔架构不一样,每一层的输入都是固定大小的,这一点与vit一致。不同的是vit在输入的图像块序列中加入一个分类标志块作为最后分类输出的依据,而本模型没有加入分类标志块,最后分类输出的依据是图像块序列的输出平均值。
[0064]
需要说明的是,其中,conv-trans模块用于通过多头自注意力机制,对图像块序列进行空间域特征融合,再通过卷积运算方式对图像块序列进行通道域特征融合。
[0065]
conv-trans模块设计,conv-trans模块包括一个多头自注意力、两个卷积层和一个非线性层。同时,在模块中加入跳层连接和层归一化。
[0066]
该模块在多头自注意力后接上卷积运算操作,输入x大小为c
×h×
w的图像(其中h为高度,w为宽度,c为通道数),经过线性层后得到每个尺寸为c
×
p
×
p的图像块序列,形成了一个图像块序列x(x1,x2,

,xn),长度为n,n=h
·
w/p2,p为每个图像小块长和宽,通常选择图像小块的尺寸为16
×
16或32
×
32,其中图像小块的尺寸越小,序列越长。序列经过多头自注意力机制后大小不变,但是需要将序列的维度进行转置后再进行卷积运算。卷积运算部分具体公式定义如下:
[0067][0068]
其中zi表示图像块序列经过conv-trans模块的输出,xi为输入,σ为gelu激活函数,n为图像块序列长度,t表示转置,w代表的是卷积运算,而w对应的下标代表的是不同的卷积核,即,w1代表基于第一卷积核的卷积运算,w2代表基于第二卷积核的卷积运算。
[0069]
resmlp(residual multi-layer perceptron)模块用于通过resmlp处理方式,对图像块序列的通道域特征和空间域特征进行整合处理。
[0070]
需要说明的是,本实施例的resmlp模块设计,包括两个全连接层和一个非线性层,
并且在每个全连接层和非线性层之间加入dropout层。为了提高网络的性能,每一个resmlp模块都加入了层归一化,并且引入了残差网络的思想,在每一个resmlp模块之间都加入跳层连接。模块的具体公式定义如下:
[0071]
yi=xi w3·
σ
·
(w4·
layernorm(x)i)
[0072]
i=1,2,3,

,n
[0073]
其中yi表示图像块序列经过resmlp模块的输出,xi为输入,σ为gelu激活函数,n为图像块序列长度,w3代表基于第三卷积核的卷积运算,w4代表基于第四卷积核的卷积运算。
[0074]
分类器为基于由知识蒸馏训练方式得到的学生网络模型进行构建得到的。
[0075]
需要说明的是,知识蒸馏方法,将一个较大规模的预训练模型学习到的知识迁移到较小的网络模型。本实施例所用的花卉数据集都属于小规模的数据集,如果直接用于训练大型网络,则容易使模型过拟合,且泛化能力差。而花卉图像分类属于细粒度图像分类,不同种花卉存在一定的相似性,利用知识蒸馏的训练方式能够更好地利用软目标(soft target),软目标比硬目标(hard target)拥有更高的熵值,也蕴含了更多信息量,包括了花卉不同种类间的关系。
[0076]
而且,利用知识蒸馏能够将大规模网络学习到的知识迁移到学习能力较差的小规模网络上。小规模轻量级网络更易于部署到边缘嵌入式设备,使人工智能自动化技术得以真正落地实现。
[0077]
软目标(soft target)如下公式所示:
[0078][0079]
其中:t为温度参数,控制输出概率的软化程度,当t=1时,输出就是softmax的类概率,当t趋向无穷时,该公式相当于网络输出的逻辑单元;zi为softmax函数输出分类类别的概率;qi为函数的软目标输出。
[0080]
知识蒸馏可以分为软蒸馏和硬蒸馏,两者的区别就在于利用的是教师网络输出的软目标还是硬目标,硬目标即是教师网络输出的预测标签。本实施例优选采用的是软蒸馏,其框架流程如图3所示,软蒸馏的目的是最小化教师模型的softmax输出和学生模型的softmax输出之间的kl散度(kullback

leibler divergence),软知识蒸馏的损失函数如下:
[0081]
l
total
=(1-λ)l
ce
(ψ(zs),y) λt2l
kl
(ψ(zs,t),ψ(z
t
,t))
[0082]
其中:l
total
是总的损失;l
ce
()是交叉熵损失函数;l
kl
()是kl散度损失函数;ψ()是软目标函数;zs和z
t
分别是学生模型和教师模型输出的类别分类概率;t则是温度系数。
[0083]
本技术提供的方案在现有的vit(vision transformer)网络的基础上,利用其自注意力机制准确提取花卉特征,再引入双卷积层以及残差结构的rsemlp(residual multi-layer perceptron)全连接层,提升模型对花卉的特征提取和识别能力。双卷积层使模型的注意力机制更加集中和准确,这进一步增强模型的特征提取能力。在此基础上,为了进一步提高模型的分类精度,引入resmlp模块到本文提出的模型中。其次,在验证评估模型时,除了使用公开数据集之外,还使用了自制的更为复杂的细粒度数据集,以解决数据集局限的问题。最后,提出利用知识蒸馏的方法压缩大规模网络模型,大规模网络模型具备更好的学习能力,利用知识蒸馏能够将大规模网络学习到的知识迁移到学习能力较差的小规模网络
上。小规模轻量级网络更易于部署到边缘嵌入式设备,使人工智能自动化技术得以真正落地实现。
[0084]
以上内容便是本技术提供的一种花卉识别分类方法实施例的详细说明,下面为本技术提供的一种花卉识别分类装置实施例的详细说明。
[0085]
请参阅图4,本技术第二方面提供了一种花卉识别分类装置,包括:
[0086]
图像采集单元201,用于采集待识别的花卉图像;
[0087]
预处理单元202,用于对花卉图像进行预处理;
[0088]
模型分类处理单元203,用于将预处理后的花卉图像输入预设的花卉识别模型进行识别与分类,以获得分类结果,其中,花卉识别模型为基于transformer结构的机器学习模型,且花卉识别模型具体由一个线性映射层、多个conv-trans模块、多个resmlp模块和一个分类器组成;
[0089]
conv-trans模块用于通过多头自注意力机制,对图像块序列进行空间域特征融合,再通过卷积运算方式对图像块序列进行通道域特征融合;
[0090]
resmlp模块用于通过resmlp处理方式,对图像块序列的通道域特征和空间域特征进行整合处理;
[0091]
分类器为基于由知识蒸馏训练方式得到的学生网络模型进行构建得到的。
[0092]
进一步地,卷积处理的公式具体为:
[0093][0094]
式中,zi表示图像块序列经过conv-trans模块的输出,xi为输入的图像块序列,σ为gelu激活函数,n为图像块序列长度,t表示矩阵转置。
[0095]
进一步地,resmlp模块的公式定义具体为
[0096]
yi=xi w3·
σ
·
(w4·
layernorm(x)i)
[0097]
i=1,2,3,

,n
[0098]
式中,yi表示图像块序列经过resmlp模块的输出,xi为输入的图像块序列,σ为gelu激活函数,n为图像块序列长度,w3代表基于第三卷积核的卷积运算,w4代表基于第四卷积核的卷积运算。
[0099]
进一步地,知识蒸馏训练方式具体为软蒸馏训练方式。
[0100]
进一步地,分类器的目标函数具体为:
[0101]
l
total
=(1-λ)l
ce
(ψ(zs),y) λt2l
kl
(ψ(zs,t),ψ(z
t
,t))
[0102]
式中,l
total
是总的损失;l
ce
()是交叉熵损失函数;l
kl
()是kl散度损失函数;ψ()是软目标函数;zs和z
t
分别是学生模型和教师模型输出的类别分类概率;t则是温度系数,λ是蒸馏系数,y是分类标签;
[0103]
软目标函数具体为:
[0104][0105]
式中,qi为函数的软目标输出,zi是学生模型或教师模型输出的类别分类概率。
[0106]
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的终端,
装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
[0107]
在本技术所提供的几个实施例中,应该理解到,所揭露的终端,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
[0108]
本技术的说明书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本技术的实施例,例如能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
[0109]
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
[0110]
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
[0111]
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、磁碟或者光盘等各种可以存储程序代码的介质。
[0112]
以上所述,以上实施例仅用以说明本技术的技术方案,而非对其限制;尽管参照前述实施例对本技术进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本技术各实施例技术方案的精神和范围。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献