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

一种结合CNN和Transformer的烤烟烟叶图像分级方法与流程

2022-12-07 00:42:28 来源:中国专利 TAG:

一种结合cnn和transformer的烤烟烟叶图像分级方法
技术领域
1.本发明涉及计算机视觉和图像处理技术领域,尤其指一种结合cnn和transformer的烤烟烟叶图像分级方法。


背景技术:

2.烟叶是我国一项重要的农业支柱产业,烟叶分级是对烟叶质量、特点、优劣程度的等级划分,是烟叶生产工作中最重要的一环。烟叶分级的合理性对烟农最终的经济效益有很大影响。我国虽然制定了相对完善的烟叶分级标准,但在目前的烟叶分级收购过程中仍然以人工分级为主,依靠分级人员的感官和经验进行烟叶分级。这种传统的人工分级方法不仅存在劳动强度大、工作效率低、人工成本高等缺陷,还会受不同分级人员经验、感官、主观评价等因素的影响,难以保证烟叶分级的客观性,影响分级的准确率。故烟叶分级方法的研究具有重要的科研意义和实际应用价值。
3.随着图像类科学技术的发展逐步成熟,数字图像处理技术越来越多的应用到烟叶分级中。传统的烟叶图像分级算法是通过提取图像的多种特征进行烟叶分级,这类分级方法不仅需要凭借经验对烟叶特征有深入的了解,还需要通过大量测试去验证所提取特征的精确性和其与烟叶分级的相关性。另外,对于如烟叶身份、油分这类通过图像难以量化提取的特征,仅凭借传统图像算法实现烟叶分级十分困难。近些年来,深度学习取得了巨大的发展,在人脸识别、目标检测、语义分割等众多领域中都有着广泛的应用,计算机视觉在烟叶图像处理领域也取得了重大突破。通过卷积神经网络(cnn)可以提取烟叶图像中更高层的抽象特征,以解决传统的图像处理算法在参数提取中难以解决的问题。因此,采用计算机技术来替代传统的人工烟叶分级方法将成为烟草分级的主流发展趋势。
4.计算机视觉中的图像分类任务分为粗粒度分类和细粒度分类。粗粒度分类指类与类之间差异比较大的分类,而细粒度分类是对类别进行更细致的子类划分,如鸟的品种,车的型号等。细粒度分类的特点是:不同类别的图像非常相似,不同类别图像之间的区别几乎与同一类别图像之间的区别一样小,甚至更小,这也是细粒度分类的难点。为了寻找强判别区域以增强细粒度视觉分类,方法可分为三类。第一种方法是通过区域建议网络(regionproposalnetwork)来查找,第二种方法是通过注意力机制增强特征图,第三种方法是使用自注意力机制来增强细粒度视觉分类。前两种方法主要基于cnn,而第三种方法是基于vision transformer来实现细粒度视觉。vision transformer是完全基于transformer的图像识别模型,没有任何标准的卷积层。但是这种纯transformer需要用特别大的数据集进行预训练,否则由于缺少cnn的归纳偏置特性以及像dropout等这样的强约束,会使得模型不能很好的泛化、容易过拟合。


技术实现要素:

5.本发明所要解决的技术问题是提供一种提高烟叶分类能力的结合cnn和transformer的烤烟烟叶图像分级方法。
6.为了解决上述技术问题,本发明采用如下技术方法:一种结合cnn和transformer的烤烟烟叶图像分级方法,包括以下步骤:
7.步骤s1,实地拍照采集烤烟烟叶图像,建立烤烟烟叶数据集;
8.步骤s2,将烤烟烟叶数据集进行预处理;
9.步骤s3,构建包括基于cnn的定位模块以及基于cnn和transformer的分类模块的烤烟烟叶图像分类模型;
10.步骤s4,将经过预处理后的烤烟烟叶数据集输入至烤烟烟叶图像分类模型中进行分类训练,训练时,所述烤烟烟叶数据集中的烟叶图像先经过定位模块的定位处理得到目标位置,进而确定烟叶图像的关键局部区域,并由定位模块计算烟叶图像的原始损失,再根据该原始损失将梯度反向传播进行烤烟烟叶图像分类模型参数的更新,接着将关键局部区域经过分类模块的处理得到分类结果,并由分类模块计算关键局部区域的分类损失,且根据该分类损失将梯度反向传播进行烤烟烟叶图像分类模型参数的再次更新,从而得到优化后的烤烟烟叶图像分类模型;
11.步骤s5,将待分类的烤烟烟叶图像输入至已优化训练好的烤烟烟叶图像分类模型中,输出烟叶的分类结果。
12.进一步地,在步骤s2中,将烤烟烟叶数据集进行预处理时,先将烟叶图像随机反转,再裁切为224x224大小。
13.进一步地,在步骤s4中,所述定位模块将烤烟烟叶数据集中的烟叶图像经过如下定位处理得到烟叶图像的目标位置:
14.所述定位模块先通过其cnn对烤烟烟叶数据集中的烟叶图像进行特征提取,得到特征图,再聚合通道维度上的特征图,得到一个激活图f,如下表达式(1):
[0015][0016]
其中,fi为第i个通道的特征图,c为图像通道数;
[0017]
然后根据激活图f求得平均值如下表达式(2):
[0018][0019]
其中,w为图像宽度,h为图像高度,x、y分别为特征图上某一位置的横坐标值和纵坐标值;
[0020]
接着将该平均值作为阈值来判断激活图f中每个位置的元素是否属于目标物体;
[0021]
最后根据如下表达式(3)得到一个粗糙的掩模图掩模图中包含最大连接区域的最小边框即为烟叶图像的目标位置;
[0022][0023]
更进一步地,步骤s4中,在得到烟叶图像的目标位置后,先根据目标位置的坐标确定烟叶图像的关键局部区域,再利用采样函数将关键局部区域的图像裁切到指定大小。
[0024]
更进一步地,所述分类模块的cnn采用efficient net网络。
[0025]
更进一步地,步骤s4中,所述分类模块将关键局部区域依次经过efficient net网络、transformer的处理得到烟叶的分类结果,其中:
[0026]
efficient net网络:对采样到指定大小的关键局部区域的图像进行特征提取;
[0027]
transformer:先通过patch embedding的一个普通卷积对efficient net网络得到的特征图进行升维,再经过flatten将升维后的特征图转换为二维数据,接着拼接上可训练参数class token,同时再拼接上位置信息position embedding,最后经过多个堆叠的transformer encoder之后,利用mlp head对class token进行提取,得到烟叶的分类结果。
[0028]
再进一步地,所述transformer encoder的数量为六个,所述transformer encoder包括前馈神经网络ffn和多头自注意力层msa。
[0029]
再进一步地,步骤s4中,所述分类模块计算的分类损失包括由efficient net网络计算的损失以及由transformer计算的损失,所述定位模块计算原始损失、efficient net网络计算损失以及transformer计算损失时均采用交叉熵损失函数,所述交叉熵损失函数如下表达式(4):
[0030][0031]
其中,x为烟叶分类的预测值,class为烟叶分类的真实值,j为烟叶类别数目。
[0032]
优选地,步骤s4中,将经过预处理后的烤烟烟叶数据集输入至烤烟烟叶图像分类模型中进行分类训练的次数为200轮。
[0033]
优选地,步骤s4中,根据原始损失将梯度反向传播进行烤烟烟叶图像分类模型参数更新时,以及根据分类损失将梯度反向传播进行烤烟烟叶图像分类模型参数再次更新时,均采用sgd优化算法。
[0034]
本发明提供的结合cnn和transformer的烤烟烟叶图像分级方法,主要是利用一种新颖的cnn和transformer相结合的烤烟烟叶图像分类模型来对烟叶进行分类。本发明的烤烟烟叶图像分类模型包括定位模块和分类模块两个部分,其中,定位模块通过cnn提取烟叶图像特征,得到特征图,并依次形成激活图、掩模图,以定位到图像的关键局部区域,即烟叶,该关键局部区域为细粒度区域,分类模块利用其自身cnn固有的归纳偏置特性和transformer处理高层视觉信息的优点来提取细粒度区域信息的特征,也即进一步提取烟叶图像特征,以预测烟叶的分类结果。这两个模块协同工作,充分利用烟叶图像的局部信息和全局信息,能显著提升模型的分类效果。因此,本发明提供的结合cnn和transformer的烤烟烟叶图像分级方法有效、可靠,分类效果好。
附图说明
[0035]
图1为本发明所涉结合cnn和transformer的烤烟烟叶图像分级方法的流程图;
[0036]
图2为本发明所涉结合cnn和transformer的烤烟烟叶图像分级方法中烤烟烟叶图像分类模型训练时的示意图;
[0037]
图3为本发明所涉结合cnn和transformer的烤烟烟叶图像分级方法中定位模块的工作示意图;
[0038]
图4为本发明所涉结合cnn和transformer的烤烟烟叶图像分级方法中分类模块的工作示意图。
具体实施方式
[0039]
为了便于本领域技术人员的理解,下面结合实施例与附图对本发明作进一步的说明,实施方式提及的内容并非对本发明的限定。
[0040]
烟叶分类属于细粒度分类的一种,《烤烟》国标按照烟叶在烟珠上的生长位置、烟叶颜色以及一些外观因素对烟叶进行分类。由于采集到的烟叶图像背景比较单一,在分类模型中为了将特征图嵌入transformer对特征图进行分割时,会得到很多没要包含目标对象的patch,于是考虑到结合定位模块先对图像中的烟叶进行定位,然后分类模块使用定位模块得到的烟叶图像细粒度区域的信息来进一步增强分类能力。鉴于此,本发明提供一种结合cnn和transformer的烤烟烟叶图像分级方法,具体如下。
[0041]
如图1所示,一种结合cnn和transformer的烤烟烟叶图像分级方法,主要包括训练和预测两个阶段。
[0042]
一、训练阶段
[0043]
1)对烟叶数据进行实地采集,在自然光照情况下对烟叶图像进行拍照采集,建立烤烟烟叶数据集,并将采集到的烟叶图像进行规整分类。
[0044]
2)数据预处理:将烤烟烟叶数据集中的烟叶图像先随机反转,再裁切为224x224大小。
[0045]
3)构建包括基于cnn的定位模块以及基于cnn和transformer的分类模块的烤烟烟叶图像分类模型。
[0046]
4)将经过预处理后的烤烟烟叶数据集输入至烤烟烟叶图像分类模型中进行分类训练,训练时,定位模块和分类模块的工作过程分别如下。
[0047]
1、定位模块
[0048]
定位模块先通过其cnn对烤烟烟叶数据集中的烟叶图像进行特征提取,得到特征图,再聚合通道维度上的特征图,得到一个激活图f,如下表达式(1):
[0049][0050]
其中,fi为第i个通道的特征图,c为图像通道数。
[0051]
然后根据激活图f求得平均值如下表达式(2):
[0052][0053]
其中,w为图像宽度,h为图像高度,x、y分别为特征图上某一位置的横坐标值和纵坐标值。
[0054]
接着将该平均值作为阈值来判断激活图f中每个位置的元素是否属于目标物体。
[0055]
最后根据如下表达式(3)得到一个粗糙的掩模图掩模图中包含最大连接区域的最小边框即为烟叶图像的目标位置,根据该目标位置的坐标可以确定烟叶图像的关键局部区域,接着利用采样函数将关键局部区域的图像裁切到指定大小,具体来说,此处的采样函数是指torch.nn.functional.interpolate()函数。
[0056][0057]
如图2和图3所示,在定位模块得到烟叶图像目标位置的同时,定位模块计算烟叶
图像的原始损失,并根据该原始损失将梯度反向传播进行烤烟烟叶图像分类模型参数的更新。
[0058]
2、分类模块
[0059]
本实施方式中分类模块的cnn采用efficient net网络,如图4所示,efficient net网络主要由倒残差结构mbconv组成,倒残差结构mbconv中采用的是深度可分离卷积,用来减少运算量以及参数量,倒残差结构mbconv包括squeeze and excitation模块,即se模块,se模块为通道注意力模块,通过该模块网络可以学习使用全局信息来选择性地强调信息特征,并抑制对当前任务作用不大的特征。
[0060]
如图4所示,分类模块先通过其efficient net网络对前述定位模块采样到指定大小的关键局部区域的图像进行特征提取,接着通过transformer中的patchembedding将efficient net网络得到的特征图转换为二维数据(具体而言,先通过patch embedding的一个普通卷积对efficient net网络得到的特征图进行升维,再经过flatten将升维后的特征图转换为二维数据),接着拼接上可训练参数class token,同时再拼接上位置信息position embedding,最后经过六个堆叠的transformer encoder(每个transformer encoder的结构都一样,均主要由前馈神经网络ffn和多头自注意力层msa组成)之后,利用mlp head对class token进行提取,得到烟叶的分类结果。
[0061]
如图2和图4所示,在分类模块得到分类结果的同时,分类模块中的efficient net网络计算自身的损失,transformer也计算自身的损失,两者的损失组合一起形成关键局部区域的分类损失,根据该分类损失将梯度反向传播进行烤烟烟叶图像分类模型参数的再次更新,从而得到优化后的烤烟烟叶图像分类模型。
[0062]
值得一提的是,定位模块计算原始损失、efficient net网络计算损失以及transformer计算损失时均调用nn.crossentropyloss()交叉熵损失函数来实现,该交叉熵损失函数如下表达式(4):
[0063][0064]
其中,x为烟叶分类的预测值,class为烟叶分类的真实值,j为烟叶类别数目。
[0065]
另外,为了增强烤烟烟叶图像分类模型的优化效果,本实施方式中对烤烟烟叶图像分类模型进行分类训练的次数为200轮,且在根据原始损失将梯度反向传播进行烤烟烟叶图像分类模型参数更新,以及根据分类损失将梯度反向传播进行烤烟烟叶图像分类模型参数再次更新时,均采用sgd优化算法来进行。
[0066]
二、预测阶段
[0067]
1)将待分类的烤烟烟叶图像输入至已优化训练好的烤烟烟叶图像分类模型中,输出烟叶的分类结果。
[0068]
相较于传统的烤烟烟叶图像分级方法,本发明的优势很明显。
[0069]
其一,利用transformer处理计算机视觉任务要将图像这种三维数据转化为二维数据,通过patch embedding实现,也就是切片,而采集到的烟叶图像的背景都比较单一,由此可知通过patch embedding获得的很多patch几乎都是不包含烟叶对象的纯色背景,而这种patch将广泛的出现在不同类别的数据中,如果将这些patch输入至transformer进行训练,易知模型的效果不会很好,相反,如果尽可能多的使用包含区分对象的patches进行训
练,模型效果能进一步提升,故本发明通过定位模块获取图像中烟叶的目标位置,然后分类模块使用定位模块得到的细粒度区域的信息可以进一步增强其分类能力。
[0070]
其二,本发明采用cnn和transformer相结合的混合结构来进行特征提取。transformer在传统的分类任务中表现出了较强的性能,它的优势在于利用注意力的方式来捕获全局的上下文信息从而对目标建立起远距离的依赖,从而提取出更强有力的特征,能够更加关注图像的全局信息。由于transformer对数据集大小要求比较高,需要用特别大的数据集训练,才能得到比较好的结果,故本发明结合cnn和transformer,利用cnn的归纳偏置特性和transformer捕获高层视觉信息的优点来对烟叶进行分类,以增强模型的泛化性能,从而提升模型的分类效果。
[0071]
上述实施例为本发明较佳的实现方案,除此之外,本发明还可以其它方式实现,在不脱离本技术方案构思的前提下任何显而易见的替换均在本发明的保护范围之内。
[0072]
为了让本领域普通技术人员更方便地理解本发明相对于现有技术的改进之处,本发明的一些附图和描述已经被简化,并且为了清楚起见,本技术文件还省略了一些其他元素,本领域普通技术人员应该意识到这些省略的元素也可构成本发明的内容。
再多了解一些

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

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

相关文献