一种基于CNN和ViT的细粒度花卉图像分类方法

文档序号:39501393发布日期:2024-09-27 16:31阅读:18来源:国知局
一种基于CNN和ViT的细粒度花卉图像分类方法

本发明涉及图像识别,尤其是一种基于cnn和vit的细粒度花卉图像分类方法。


背景技术:

1、随着社会生产力的提高,人们的生活水平稳步上升,对于花卉等美好事物的需求逐渐增加。因此对花卉进行细粒度分类的研究逐渐受到关注。细粒度图像分类重点是在于物种之间更加细致的划分,能够有效的区分同一物种之间的不同类别。考虑到人工分类成本过于高昂,有必要借助计算机开发高效准确的细粒度花卉图像分类方法。

2、近年来,机器视觉发展的日益成熟,作为其领域内重要研究内容之一的细粒度图像分类技术也得到相应的发展,目前针对细粒度图像识别任务已经提出了模型或网络vision transformer,但是vision transformer模型(vit模型)在图像局部特征提取的过程中表现不尽人意,导致细粒度图像的识别精度较低,任务分类的准确性较差。


技术实现思路

1、本发明要解决的技术问题是:克服现有技术中之不足,提供一种基于cnn和vit的细粒度花卉图像分类方法,本发明识别方法花卉细粒度图像的识别精度高,任务分类的准确性好。

2、本发明解决其技术问题所采用的技术方案是:

3、一种基于cnn和vit的细粒度花卉图像分类方法,具体包括如下步骤:

4、步骤s1、准备花卉细粒度数据集,对花卉郁金香、向日葵、玫瑰、蒲公英、雏菊五种类型图像进行分类;

5、步骤s2、图像预处理,对分类好的五种花卉类型图像进行数据集划分、图像裁剪、高斯模糊处理;

6、步骤s3、构建cnn-vit细粒度分类模型,进一步增强对图像特征信息的提取,便于提高后续图像分类准确率;

7、步骤s4、训练网络模型,将预处理后的图像输入到网络模型中进行训练,并保存在模型验证过程中识别精度最高的权重;

8、步骤s5、加载花卉数据集训练好的权重,对其测试集进行测试,计算出测试集的识别准确率。

9、进一步地,所述步骤s2具体包括如下步骤:

10、步骤s21、数据划分,将准备好的花卉细粒度数据集按照6:4的比例划分数据集与测试集;

11、步骤s22、图像剪裁,对输入的花卉图像进行随机裁剪,将图像裁剪至224×224像素的大小;随机裁剪具体为:在训练过程中,对输入的图像进行随机裁剪操作,从而生成多个不同的训练样本;这样做的目的是引入数据的多样性,增加模型对不同尺度和位置的物体的识别能力;

12、步骤s23、高斯模糊处理,针对细粒度花卉测试集图像通过高斯模糊方法来降低整体的图像噪声,使用高斯函数作为模板与输入图像进行卷积运算,去除图像的高频分量,使图像变得模糊,为了更精确计算图像梯度及边缘幅值,高斯模糊采用正态分布计算图像中的每个像素的变换,二维空间正态分布g(u,v)方程如下式表示:

13、

14、r2=u2+v2;

15、其中u、v分别是距起始像素点的水平和垂直距离,r是模糊半径,σ是正态分布的标准偏差。

16、在二维空间中,生成的曲面的等高线是从中心开始呈正态分布的同心圆。分布不为0的像素组成的卷积矩阵与原始图像做变换。每个像素点的像素值都是周围相邻像素值的加权平均。原始的像素值有最大的高斯分布值,所以权重最大,相邻像素随着原始像素距离不断增大,其权重逐渐减小。

17、进一步地,所述步骤s3中,由于现有技术中vit模型中对局部信息提取的效果不好,本发明设计出卷积参数共享注意力模块csa代替vit模型中的多头自注意力模块msa;csa模块的核心结构为共享卷积块,共享卷积模块首先通过深度可分离卷积对输入编码器的2d特征进行卷积处理,再将卷积后输出的2d特征向量转换为1d序列的特征向量l为:

18、l=flatten(dwconv2d(xi,s,s));

19、其中,xi为卷积前的投影特征,flatten表示2d到1d特征的转换函数,dwcon2d表示深度可分离卷积操作,s表示下降率。

20、进一步地,为了能够使模型中查询特征向量q特征维数一致,所述csa模块中特征向量q不经过卷积操作,通过q-l之间的相似度生成注意力得分,用如下公式表示:

21、

22、其中,attention(q,l)表示注意力加权后的特征向量,dhead表示每个注意力头的维数,q代表csa模块中的查询特征向量,l为2d特征向量转变为1d的特征向量。

23、csa模块通过在注意力计算过程中加入卷积操作,保证模型原有全局特征提取能力的同时,进一步增强了模型对局部特征的关注度,能够有效的提升细粒度花卉图像的细节捕捉能力。

24、进一步地,所述步骤s4具体包括如下步骤:

25、步骤s41、设置网络模型参数,图像片尺寸为16寸,滑窗步长为12步长,训练参数批尺寸(batch size)每张显卡设置为2,训练总步数设置为30000,优化器采用sgd,且动量设置为0.9,权重衰减设置为1×10-4,细粒度花卉测试集的学习率设置为0.03,使用余弦退火学习率衰减策略;

26、步骤s42、将网络模型设置好网络损失函数,对网络进行训练,并保存在模型验证过程中识别精度最高的权重。

27、进一步地,所述步骤s5具体为:将模型加载验证过程中识别精度最高的权重,对其测试集进行测试,计算出测试集的识别准确率。

28、本发明的有益效果为:本发明设计合理,通过构建cnn-vit细粒度分类模型,通过设计的csa模块代替vit模型中的多头自注意力模块,使得网络能够同时捕捉全局与局部特征,进一步增强网络的特征提取能力,大大提高了识别方法花卉细粒度图像的识别精度,同时任务分类的准确性也好。



技术特征:

1.一种基于cnn和vit的细粒度花卉图像分类方法,其特征在于:具体包括如下步骤:

2.根据权利要求1所述的一种基于cnn和vit的细粒度花卉图像分类方法,其特征在于:所述步骤s2具体包括如下步骤:

3.根据权利要求1所述的一种基于cnn和vit的细粒度花卉图像分类方法,其特征在于:所述步骤s3中的构建cnn-vit细粒度分类模型采用卷积参数共享注意力模块csa,csa模块的核心结构为共享卷积块,所述csa模块中共享卷积模块首先通过深度可分离卷积对输入编码器的2d特征进行卷积处理,再将卷积后输出的2d特征向量转换为1d序列的特征向量l为:

4.根据权利要求3所述的一种基于cnn和vit的细粒度花卉图像分类方法,其特征在于:所述csa模块中包括查询特征向量q,特征向量q不经过卷积操作,通过q-l之间的相似度生成注意力得分,用如下公式表示:

5.根据权利要求1所述的一种基于cnn和vit的细粒度花卉图像分类方法,其特征在于:所述步骤s4具体包括如下步骤:

6.根据权利要求1所述的一种基于cnn和vit的细粒度花卉图像分类方法,其特征在于:所述步骤s5具体为:将模型加载验证过程中识别精度最高的权重,对其测试集进行测试,计算出测试集的识别准确率。


技术总结
本发明涉及图像识别技术领域,公开了一种基于CNN和ViT的细粒度花卉图像分类方法。该方法首先准备花卉数据集,数据集包括郁金香、向日葵、玫瑰、蒲公英、雏菊五个类别;其次对花卉图像进行数据集预处理,包括数据集划分、图像裁剪、高斯模糊处理;接着构建CNN‑ViT细粒度分类模型进一步增强对图像特征信息的提取,便于提高后续图像分类准确率;其次训练网络模型,将预处理后的图像输入到网络模型中进行训练,并保存在模型验证过程中识别精度最高的权重;将模型加载花卉数据集训练好的权重,对其测试集进行测试,计算出测试集的识别准确率。本发明设计合理,通过构建CNN‑ViT细粒度分类模型,提高了识别方法花卉细粒度图像的识别精度,同时任务分类的准确性也好。

技术研发人员:李一芒,鲁昊
受保护的技术使用者:常州大学
技术研发日:
技术公布日:2024/9/26
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1