掌桥专利:专业的专利平台
掌桥专利
首页

蟹味菇识别方法、装置、计算机设备和存储介质

文献发布时间:2024-04-18 19:58:30


蟹味菇识别方法、装置、计算机设备和存储介质

技术领域

本申请涉及图像识别技术领域,特别是涉及一种蟹味菇识别方法、装置、计算机设备和存储介质。

背景技术

蟹味菇(Hypsizygus marmoreus),作为一种具有高营养价值和独特口感的食用菌,已经在许多国家成为重要的农业和食品工业产品。然而,在蟹味菇的生产和质量管理过程中,对每一颗蟹味菇进行快速、精准的识别检测,能够及时预估蟹味菇的产量,提高生产管理水平。国内外学者在对食用菌不同种类识别分类等问题上做了大量的研究,罗奇等,采用一种降梯度卷积训练模型,改善了神经网络在训练过程中的空间冗余等问题,提高了对蘑菇图像的识别分类性能。沈若兰等,提出了一种基于Xception与ResNet50网络的识别模型,对九类蘑菇图像进行识别分类,精度分别达到93.46%、95.10%。肖杰文等,提出了一种基于轻量级ShuffleNetV2网络的深度学习模型,实验表明相较于其他CNN模型,改进后模型在蘑菇分类识别上精度达到93.55%。倪博文等,提出了一种基于多特征融合的双孢蘑菇褐斑病分类与识别的方法。该方法融合双胞蘑菇表面的颜色、形状以及纹理,并通过SVM分类器进行分类,最终在双孢蘑菇褐斑病分类识别上精度达到94%。然而在对单颗食用菌进行数量统计识别问题上研究相对较少,在过去,对单颗蟹味菇的数量统计往往采用人工观察计数等方式,效率低、准确率差,同时由于蘑菇在生长过程中,会出现相互遮挡的问题,因此识别难度相对较大。

发明内容

基于此,提供一种蟹味菇识别方法、装置、计算机设备和存储介质,能够解决对蟹味菇识别时因相互遮挡导致的数量统计效率低、准确率差的技术问题。

一方面,提供一种蟹味菇识别方法,所述方法包括:

蟹味菇图像获取步骤,其为在适合的拍摄环境下调整光源,然后进行对蟹味菇拍摄采集蟹味菇图像;

图像预处理步骤,其为对采集的蟹味菇图像中的蟹味菇进行标注,对标注的蟹味菇设置锚框尺寸参数,并分类为训练集、验证集与测试集;

设置网络模型参数步骤,其为对YOLOv8模型设置输入图像尺寸大小及训练参数数值;

添加CBAM注意力机制步骤,其为在所述YOLOv8模型的骨干网Backbone中添加CBAM注意力机制;

训练网络模型步骤,其为将训练集输入至添加CBAM注意力机制的YOLOv8模型中进行迭代训练直至收敛,采用验证集验证模型精度满足预设阈值后形成训练后的YOLOv8模型;

识别精度检测步骤,其为运用训练后的YOLOv8模型对测试集中待检测的蟹味菇图像依次进行检测,并得到识别精度结果。

在其中一个实施例中,所述蟹味菇图像获取步骤包括:

将采集的蟹味菇图像按照Pascal VOC数据集的格式进行命名,同时创建存放图像标注文件、存放蟹味菇图像文件、存放图像参数设置信息的三个文件夹。

在其中一个实施例中,所述图像预处理步骤包括:

图像标记步骤,其为在采集的蟹味菇图像中,运用图像标注工具LabelImg对图像中的蟹味菇进行标记,并分类为训练集、验证集与测试集;

设置蟹味菇图像的锚框参数步骤,其为使用K-means算法进行聚类得到适合蟹味菇数据集使用的锚框尺寸参数值;

划分数据集步骤,其为将蟹味菇数据集划分为训练集、验证集与测试集。

在其中一个实施例中,所述划分数据集步骤包括:

训练集、验证集与测试集的占比分别为70%、20%、10%,训练集、验证集与测试集之间无交叉。

在其中一个实施例中,所述设置网络模型参数步骤包括:

选取YOLOv8模型步骤,其为在YOLOv8模型中的YOLOv8n、YOLOv8s、YOLOv8m、YOLOv8l、YOLOv8x版本中选取一个;

设置输入图像尺寸大小步骤,其为设置输入选取的YOLOv8模型的图像的宽度及高度最大值;

设置训练参数数值步骤,其为对选取的YOLOv8模型设置训练参数数值,所述训练参数包括训练权重、批处理个量(Batch)、工作线程数(workers)、优化器(optimizer)、学习率、最大的迭代次数。

在其中一个实施例中,所述设置网络模型参数步骤中,设置批处理个量为2-32,工作线程数为8或16,优化器为随机梯度下降(SGD)优化器,图像的宽度及高度最大值均为640,学习率为0.01,最大的迭代次数为500-1000。

在其中一个实施例中,所述添加CBAM注意力机制步骤包括:

设置CBAM注意力机制步骤,其为设置CBAM注意力机制由通道注意力模块(CAM)和空间注意力模块(SAM)构成,其中所述通道注意力模块(CAM)用于在训练YOLOv8模型过程中关注图像的前景以及全局上下文和两级注意力(gt区域),所述空间注意力模块(SAM)用于在训练YOLOv8模型过程中关注富含上下文信息的位置;

添加CBAM注意力机制步骤,其为获取所述YOLOv8模型的骨干网(Backbone)、颈部网(Neck)、头部网(Head),在所述骨干网(Backbone)中添加CBAM注意力机制,用于在YOLOv8模型进行特征学习时增加相互遮挡蟹味菇特征区域权重,减少背景特征权重。

另一方面,提供了一种蟹味菇识别装置,所述装置包括:

蟹味菇图像获取模块,用于在适合的拍摄环境下调整光源,然后进行对蟹味菇拍摄采集蟹味菇图像;

图像预处理模块,用于对采集的蟹味菇图像中的蟹味菇进行标注,对标注的蟹味菇设置锚框尺寸参数,并分类为训练集、验证集与测试集;

设置网络模型参数模块,用于对YOLOv8模型设置输入图像尺寸大小及训练参数数值;

添加CBAM注意力机制模块,用于在所述YOLOv8模型的骨干网Backbone中添加CBAM注意力机制;

训练网络模型模块,用于将训练集输入至添加CBAM注意力机制的YOLOv8模型中进行迭代训练直至收敛,采用验证集验证模型精度满足预设阈值后形成训练后的YOLOv8模型;

识别精度检测模块,用于运用训练后的YOLOv8模型对测试集中待检测的蟹味菇图像依次进行检测,并得到识别精度结果。

再一方面,提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现以下步骤:

蟹味菇图像获取步骤,其为在适合的拍摄环境下调整光源,然后进行对蟹味菇拍摄采集蟹味菇图像;

图像预处理步骤,其为对采集的蟹味菇图像中的蟹味菇进行标注,对标注的蟹味菇设置锚框尺寸参数,并分类为训练集、验证集与测试集;

设置网络模型参数步骤,其为对YOLOv8模型设置输入图像尺寸大小及训练参数数值;

添加CBAM注意力机制步骤,其为在所述YOLOv8模型的骨干网Backbone中添加CBAM注意力机制;

训练网络模型步骤,其为将训练集输入至添加CBAM注意力机制的YOLOv8模型中进行迭代训练直至收敛,采用验证集验证模型精度满足预设阈值后形成训练后的YOLOv8模型;

识别精度检测步骤,其为运用训练后的YOLOv8模型对测试集中待检测的蟹味菇图像依次进行检测,并得到识别精度结果。

又一方面,提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:

蟹味菇图像获取步骤,其为在适合的拍摄环境下调整光源,然后进行对蟹味菇拍摄采集蟹味菇图像;

图像预处理步骤,其为对采集的蟹味菇图像中的蟹味菇进行标注,对标注的蟹味菇设置锚框尺寸参数,并分类为训练集、验证集与测试集;

设置网络模型参数步骤,其为对YOLOv8模型设置输入图像尺寸大小及训练参数数值;

添加CBAM注意力机制步骤,其为在所述YOLOv8模型的骨干网Backbone中添加CBAM注意力机制;

训练网络模型步骤,其为将训练集输入至添加CBAM注意力机制的YOLOv8模型中进行迭代训练直至收敛,采用验证集验证模型精度满足预设阈值后形成训练后的YOLOv8模型;

识别精度检测步骤,其为运用训练后的YOLOv8模型对测试集中待检测的蟹味菇图像依次进行检测,并得到识别精度结果。

上述蟹味菇识别方法、装置、计算机设备和存储介质,通过对标注的蟹味菇设置锚框尺寸参数能得到更适合蟹味菇图像数据集的锚框参数值,并在YOLOv8模型的骨干网中添加CBAM注意力机制能够对蟹味菇识别时设置相互遮挡位置锚框来提升蟹味菇数量统计的准确率,且提升了蟹味菇数量统计的效率。

附图说明

为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本申请一个实施例中蟹味菇识别方法的流程示意图;

图2为本申请一个实施例中图像预处理步骤的流程示意图;

图3为本申请一个实施例中设置网络模型参数步骤的流程示意图;

图4为本申请一个实施例中添加CBAM注意力机制步骤的流程示意图;

图5为本申请一个实施例中蟹味菇识别装置的结构框图;

图6为本申请一个实施例中计算机设备的内部结构图。

具体实施方式

为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。

在本申请实施例中,如图1所示,提供了一种蟹味菇识别方法,包括以下步骤:

步骤S1,蟹味菇图像获取步骤,其为在适合的拍摄环境下调整光源,然后进行对蟹味菇拍摄采集蟹味菇图像;

步骤S2,图像预处理步骤,其为对采集的蟹味菇图像中的蟹味菇进行标注,对标注的蟹味菇设置锚框尺寸参数,并分类为训练集、验证集与测试集;

步骤S3,设置网络模型参数步骤,其为对YOLOv8模型设置输入图像尺寸大小及训练参数数值;

步骤S4,添加CBAM注意力机制步骤,其为在所述YOLOv8模型的骨干网Backbone中添加CBAM注意力机制;

步骤S5,训练网络模型步骤,其为将训练集输入至添加CBAM注意力机制的YOLOv8模型中进行迭代训练直至收敛,采用验证集验证模型精度满足预设阈值后形成训练后的YOLOv8模型;

步骤S6,识别精度检测步骤,其为运用训练后的YOLOv8模型对测试集中待检测的蟹味菇图像依次进行检测,并得到识别精度结果。

其中,YOLOv8是Ultralytics公司推出的基于对象检测模型的YOLO最新系列,它能够提供截至目前最先进的对象检测性能。YOLOv8系列有5种模型,YOLOv8 Nano(YOLOv8n)是最小的模型,但是最快速;YOLOv8 Extra Large(YOLOv8x)是最精确的模型,但是速度却是最慢的。

CBAM:通道注意力和空间注意力的集成者。CBAM(Concentration-BasedAttention Module)注意力机制,是在卷积神经网络中提升感受野的方法之一,通过在特征图的不同维度上计算不同的注意力权重,从而使得网络模型可以更好地感知和理解图像。

CBAM注意力机制主要包含两个方面的内容:

1、通道注意力(Channel Attention)。通过对每个通道进行加权和归一化的处理,选择出最重要的通道特征,从而增强整个网络的特征表达能力。

2、空间注意力(Spatial Attention)。通过计算每个像素点的权重,增强图像局部区域的表征能力,使得网络可以准确捕捉到目标物体的位置和尺度。

本实施例进行蟹味菇识别时,采用改进的YOLOv8网络结构对蟹味菇数据集进行训练,得到的模型能够更加精确地识别目标,同时改进后的网络提高了模型训练中的特征提取能力,降低了原模型的漏检、错检率,有识别精度高、速度快等特点,能够满足对蟹味菇的精准识别,及时对产量进行预估。

在本实施例中,所述蟹味菇图像获取步骤包括:

将采集的蟹味菇图像按照Pascal VOC数据集的格式进行命名,同时创建存放图像标注文件、存放蟹味菇图像文件、存放图像参数设置信息的三个文件夹。具体创建名为Annotations、ImageSets、JPEGImages的三个文件夹,Annotations文件夹中存放图像标注文件,JPEGImages文件夹中存放蟹味菇图像文件,ImageSets文件夹中存放相关的图像参数设置信息。

如图2所示,在本实施例中,所述图像预处理步骤包括:

步骤S21,图像标记步骤,其为在采集的蟹味菇图像中,运用图像标注工具LabelImg对图像中的蟹味菇进行标记,并分类为训练集、验证集与测试集;

步骤S22,设置蟹味菇图像的锚框参数步骤,其为使用K-means算法进行聚类得到适合蟹味菇数据集使用的锚框尺寸参数值;

步骤S23,划分数据集步骤,其为将蟹味菇数据集划分为训练集、验证集与测试集。

在本实施例中,所述划分数据集步骤包括:

训练集、验证集与测试集的占比分别为70%、20%、10%,训练集、验证集与测试集之间无交叉。

如图3所示,在本实施例中,所述设置网络模型参数步骤包括:

步骤S31,选取YOLOv8模型步骤,其为在YOLOv8模型中的YOLOv8n、YOLOv8s、YOLOv8m、YOLOv8l、YOLOv8x版本中选取一个;

步骤S32,设置输入图像尺寸大小步骤,其为设置输入选取的YOLOv8模型的图像的宽度及高度最大值;

步骤S33,设置训练参数数值步骤,其为对选取的YOLOv8模型设置训练参数数值,所述训练参数包括训练权重、批处理个量(Batch)、工作线程数(workers)、优化器(optimizer)、学习率、最大的迭代次数;其中Batch是指单次传递给程序用以训练的数据个数,workers是指数据装载时中央处理器所使用的线程数,optimizer是指优化器,即用来求取模型的最优解的优化算法。

在常用YOLOv8的5个版本模型中,精度从低至高依次为YOLOv8n、YOLOv8s、YOLOv8m、YOLOv8l、YOLOv8x、我们选用精度最高的模型YOLOv8x,对yolov8x.yaml的配置文件进行设置,根据计算机内存、显存的大小,设置输入模型的相关图像尺寸大小、训练权重、Batch分批处理、workers计算、optimizer优化模块、学习率、最大的迭代次数,各项参数均调整成适合用户数据集。

在本实施例中,所述设置网络模型参数步骤中,设置批处理个量为2-32,工作线程数为8或16,优化器为随机梯度下降(SGD)优化器,图像的宽度及高度最大值均为640,学习率为0.01,最大的迭代次数为500-1000。

其中,批处理个量优选为16,优化器为SGD、SGDM、Adagrad、RMSProp、Adam中的任一种。

如图4所示,在本实施例中,所述添加CBAM注意力机制步骤包括:

步骤S41,设置CBAM注意力机制步骤,其为设置CBAM注意力机制由通道注意力模块(CAM)和空间注意力模块(SAM)构成,其中所述通道注意力模块(CAM)用于在训练YOLOv8模型过程中关注图像的前景以及全局上下文和两级注意力(gt区域),所述空间注意力模块(SAM)用于在训练YOLOv8模型过程中关注富含上下文信息的位置;

步骤S42,添加CBAM注意力机制步骤,其为获取所述YOLOv8模型的骨干网(Backbone)、颈部网(Neck)、头部网(Head),在所述骨干网(Backbone)中添加CBAM注意力机制,用于在YOLOv8模型进行特征学习时增加相互遮挡蟹味菇特征区域权重,减少背景特征权重。

将CBAM注意力机制模块运用于YOLOv8网模型,具体为对原YOLOv8模型的modules.py、tasks.py、yolov8x.yaml进行添加CBAM注意力机制改进。YOLOv8模型添加CBAM注意力机制使得网络对小尺寸的蟹味菇更加敏感,降低模型的错检、漏检率,将CBAM注意力机制添加于SPPF网络后,改善了蟹味菇在识别检测过程中的相互遮挡问题,能够最大程度的对单颗蟹味菇数量进行统计。

添加CBAM注意力机制的步骤:

在ultralytics nmodules.py中加入CBAM函数类:

在tasks.py中加入from ultralytics.nn.modules import*,并在ultralytics/nn/tasks.py中引用:

加入CBAM注意力机制的yolov8x.yaml文件更改为:

backbone:

得到改进后的YOLOv8模型。

在训练网络模型步骤中,将改进后YOLOv8模型部署至硬件设备上,将训练集放置训练集所需文件夹中,将验证集放置验证集所需文件夹中,将测试集放置测试集所需文件夹中,并将对应的图像与标注文件分别存放至相应的位置中,根据调整好的yolov8x.yaml配置文件的相关参数,训练步长一般设置为10000步,运行train.py文件对模型进行训练,在开启训练后,对训练结果进行可视化,实时观察模型mAP曲线,实时调整Batch、Workers、学习率等配置参数,在设置的训练步长中,mAP曲线不再上升,或LOSS曲线不再收敛时,停止模型训练,当前mAP值为模型精度。

运用训练后的模型,对蟹味菇图像进行识别测试,运行Python命令行,对待检测的蟹味菇图像依次进行检测,并得到识别精度结果。

上述蟹味菇识别方法中,通过对标注的蟹味菇设置锚框尺寸参数能得到更适合蟹味菇图像数据集的锚框参数值,并在YOLOv8模型的骨干网Backbone中添加CBAM注意力机制能够对蟹味菇识别时设置相互遮挡位置锚框来提升蟹味菇数量统计的准确率,且提升了蟹味菇数量统计的效率。

上述蟹味菇识别方法中,通过改进YOLOv8网络模型,添加了CBAM注意力机制,能更好的对蟹味菇进行识别。此外,运用K-means算法进行聚类,得到更适合蟹味菇数据集的锚框参数值。与现有技术相比,本发明有以下优点:

1、提高了模型对小尺寸蟹味菇的敏感度;

2、提高了模型训练过程中的特征提取能力;

3、提高了模型最后的识别精度;

4、降低了错检、漏检率,最大程度的对单颗蟹味菇数量进行统计,自动化的蟹味菇目标检测与识别方法对产量预估。

应该理解的是,虽然图1-图4的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图1-图4中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。

在一个实施例中,如图5所示,提供了一种蟹味菇识别装置10,包括:蟹味菇图像获取模块1、图像预处理模块2、设置网络模型参数模块3、添加CBAM注意力机制模块4、训练网络模型模块5和识别精度检测模块6。

所述蟹味菇图像获取模块1用于蟹味菇图像获取,具体为在适合的拍摄环境下调整光源,然后进行对蟹味菇拍摄采集蟹味菇图像。

所述图像预处理模块2用于图像预处理,具体为对采集的蟹味菇图像中的蟹味菇进行标注,对标注的蟹味菇设置锚框尺寸参数,并分类为训练集、验证集与测试集。

所述设置网络模型参数模块3用于设置网络模型参数,具体为对YOLOv8模型设置输入图像尺寸大小及训练参数数值。

所述添加CBAM注意力机制模块4用于添加CBAM注意力机制,具体为在所述YOLOv8模型的骨干网Backbone中添加CBAM注意力机制。

所述训练网络模型模块5用于训练网络模型,具体为将训练集输入至添加CBAM注意力机制的YOLOv8模型中进行迭代训练直至收敛,采用验证集验证模型精度满足预设阈值后形成训练后的YOLOv8模型。

所述识别精度检测模块6用于识别精度检测,具体为运用训练后的YOLOv8模型对测试集中待检测的蟹味菇图像依次进行检测,并得到识别精度结果。

在本实施例中,所述蟹味菇图像获取模块1用于:

将采集的蟹味菇图像按照Pascal VOC数据集的格式进行命名,同时创建存放图像标注文件、存放蟹味菇图像文件、存放图像参数设置信息的三个文件夹。

在本实施例中,所述图像预处理模块2用于:

图像标记步骤,其为在采集的蟹味菇图像中,运用图像标注工具LabelImg对图像中的蟹味菇进行标记,并分类为训练集、验证集与测试集;

设置蟹味菇图像的锚框参数步骤,其为使用K-means算法进行聚类得到适合蟹味菇数据集使用的锚框尺寸参数值;

划分数据集步骤,其为将蟹味菇数据集划分为训练集、验证集与测试集。

在本实施例中,所述划分数据集步骤包括:

训练集、验证集与测试集的占比分别为70%、20%、10%,训练集、验证集与测试集之间无交叉。

在本实施例中,所述设置网络模型参数模块3用于:

选取YOLOv8模型步骤,其为在YOLOv8模型中的YOLOv8n、YOLOv8s、YOLOv8m、YOLOv8l、YOLOv8x版本中选取一个;

设置输入图像尺寸大小步骤,其为设置输入选取的YOLOv8模型的图像的宽度及高度最大值;

设置训练参数数值步骤,其为对选取的YOLOv8模型设置训练参数数值,所述训练参数包括训练权重、批处理个量(Batch)、工作线程数(workers)、优化器(optimizer)、学习率、最大的迭代次数;其中Batch是指单次传递给程序用以训练的数据个数,workers是指数据装载时中央处理器所使用的线程数,optimizer是指优化器,即用来求取模型的最优解的优化算法。

在本实施例中,所述设置网络模型参数步骤中,设置批处理个量为2-32,工作线程数为8或16,优化器为随机梯度下降(SGD)优化器,图像的宽度及高度最大值均为640,学习率为0.01,最大的迭代次数为500-1000。

在本实施例中,所述添加CBAM注意力机制模块4用于:

设置CBAM注意力机制步骤,其为设置CBAM注意力机制由通道注意力模块(CAM)和空间注意力模块(SAM)构成,其中所述通道注意力模块(CAM)用于在训练YOLOv8模型过程中关注图像的前景以及gt区域,所述空间注意力模块(SAM)用于在训练YOLOv8模型过程中关注富含上下文信息的位置;

添加CBAM注意力机制步骤,其为获取所述YOLOv8模型的骨干网(Backbone)、颈部网(Neck)、头部网(Head),在所述骨干网(Backbone)中添加CBAM注意力机制,用于在YOLOv8模型进行特征学习时增加相互遮挡蟹味菇特征区域权重,减少背景特征权重。

上述蟹味菇识别装置中,通过对标注的蟹味菇设置锚框尺寸参数能得到更适合蟹味菇图像数据集的锚框参数值,并在YOLOv8模型的骨干网Backbone中添加CBAM注意力机制能够对蟹味菇识别时设置相互遮挡位置锚框来提升蟹味菇数量统计的准确率,且提升了蟹味菇数量统计的效率。

关于蟹味菇识别装置的具体限定可以参见上文中对于蟹味菇识别方法的限定,在此不再赘述。上述蟹味菇识别装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。

在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图6所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口和数据库。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储蟹味菇识别数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种蟹味菇识别方法。

本领域技术人员可以理解,图6中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。

在一个实施例中,提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现以下步骤:

蟹味菇图像获取步骤,其为在适合的拍摄环境下调整光源,然后进行对蟹味菇拍摄采集蟹味菇图像;

图像预处理步骤,其为对采集的蟹味菇图像中的蟹味菇进行标注,对标注的蟹味菇设置锚框尺寸参数,并分类为训练集、验证集与测试集;

设置网络模型参数步骤,其为对YOLOv8模型设置输入图像尺寸大小及训练参数数值;

添加CBAM注意力机制步骤,其为在所述YOLOv8模型的骨干网Backbone中添加CBAM注意力机制;

训练网络模型步骤,其为将训练集输入至添加CBAM注意力机制的YOLOv8模型中进行迭代训练直至收敛,采用验证集验证模型精度满足预设阈值后形成训练后的YOLOv8模型;

识别精度检测步骤,其为运用训练后的YOLOv8模型对测试集中待检测的蟹味菇图像依次进行检测,并得到识别精度结果。

在一个实施例中,处理器执行计算机程序时还实现以下步骤:

所述蟹味菇图像获取步骤包括:

将采集的蟹味菇图像按照Pascal VOC数据集的格式进行命名,同时创建存放图像标注文件、存放蟹味菇图像文件、存放图像参数设置信息的三个文件夹。

在一个实施例中,处理器执行计算机程序时还实现以下步骤:

所述图像预处理步骤包括:

图像标记步骤,其为在采集的蟹味菇图像中,运用图像标注工具LabelImg对图像中的蟹味菇进行标记,并分类为训练集、验证集与测试集;

设置蟹味菇图像的锚框参数步骤,其为使用K-means算法进行聚类得到适合蟹味菇数据集使用的锚框尺寸参数值;

划分数据集步骤,其为将蟹味菇数据集划分为训练集、验证集与测试集。

在一个实施例中,处理器执行计算机程序时还实现以下步骤:

所述划分数据集步骤包括:

训练集、验证集与测试集的占比分别为70%、20%、10%,训练集、验证集与测试集之间无交叉。

在一个实施例中,处理器执行计算机程序时还实现以下步骤:

所述设置网络模型参数步骤包括:

选取YOLOv8模型步骤,其为在YOLOv8模型中的YOLOv8n、YOLOv8s、YOLOv8m、YOLOv8l、YOLOv8x版本中选取一个;

设置输入图像尺寸大小步骤,其为设置输入选取的YOLOv8模型的图像的宽度及高度最大值;

设置训练参数数值步骤,其为对选取的YOLOv8模型设置训练参数数值,所述训练参数包括训练权重、批处理个量(Batch)、工作线程数(workers)、优化器(optimizer)、学习率、最大的迭代次数;其中Batch是指单次传递给程序用以训练的数据个数,workers是指数据装载时中央处理器所使用的线程数,optimizer是指优化器,即用来求取模型的最优解的优化算法。

在一个实施例中,处理器执行计算机程序时还实现以下步骤:

所述设置网络模型参数步骤中,设置批处理个量为2-32,工作线程数为8或16,优化器为随机梯度下降(SGD)优化器,图像的宽度及高度最大值均为640,学习率为0.01,最大的迭代次数为500-1000。

在一个实施例中,处理器执行计算机程序时还实现以下步骤:

所述设置网络模型参数步骤包括:

设置CBAM注意力机制步骤,其为设置CBAM注意力机制由通道注意力模块(CAM)和空间注意力模块(SAM)构成,其中所述通道注意力模块(CAM)用于在训练YOLOv8模型过程中关注图像的前景以及全局上下文和两级注意力(gt区域),所述空间注意力模块(SAM)用于在训练YOLOv8模型过程中关注富含上下文信息的位置;

添加CBAM注意力机制步骤,其为获取所述YOLOv8模型的骨干网(Backbone)、颈部网(Neck)、头部网(Head),在所述骨干网(Backbone)中添加CBAM注意力机制,用于在YOLOv8模型进行特征学习时增加相互遮挡蟹味菇特征区域权重,减少背景特征权重。

关于处理器执行计算机程序时实现步骤的具体限定可以参见上文中对于蟹味菇识别的方法的限定,在此不再赘述。

在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:

蟹味菇图像获取步骤,其为在适合的拍摄环境下调整光源,然后进行对蟹味菇拍摄采集蟹味菇图像;

图像预处理步骤,其为对采集的蟹味菇图像中的蟹味菇进行标注,对标注的蟹味菇设置锚框尺寸参数,并分类为训练集、验证集与测试集;

设置网络模型参数步骤,其为对YOLOv8模型设置输入图像尺寸大小及训练参数数值;

添加CBAM注意力机制步骤,其为在所述YOLOv8模型的骨干网Backbone中添加CBAM注意力机制;

训练网络模型步骤,其为将训练集输入至添加CBAM注意力机制的YOLOv8模型中进行迭代训练直至收敛,采用验证集验证模型精度满足预设阈值后形成训练后的YOLOv8模型;

识别精度检测步骤,其为运用训练后的YOLOv8模型对测试集中待检测的蟹味菇图像依次进行检测,并得到识别精度结果。

在一个实施例中,计算机程序被处理器执行时还实现以下步骤:

所述蟹味菇图像获取步骤包括:

将采集的蟹味菇图像按照Pascal VOC数据集的格式进行命名,同时创建存放图像标注文件、存放蟹味菇图像文件、存放图像参数设置信息的三个文件夹。

在一个实施例中,计算机程序被处理器执行时还实现以下步骤:

所述图像预处理步骤包括:

图像标记步骤,其为在采集的蟹味菇图像中,运用图像标注工具LabelImg对图像中的蟹味菇进行标记,并分类为训练集、验证集与测试集;

设置蟹味菇图像的锚框参数步骤,其为使用K-means算法进行聚类得到适合蟹味菇数据集使用的锚框尺寸参数值;

划分数据集步骤,其为将蟹味菇数据集划分为训练集、验证集与测试集。

在一个实施例中,计算机程序被处理器执行时还实现以下步骤:

所述划分数据集步骤包括:

训练集、验证集与测试集的占比分别为70%、20%、10%,训练集、验证集与测试集之间无交叉。

在一个实施例中,计算机程序被处理器执行时还实现以下步骤:

所述设置网络模型参数步骤包括:

选取YOLOv8模型步骤,其为在YOLOv8模型中的YOLOv8n、YOLOv8s、YOLOv8m、YOLOv8l、YOLOv8x版本中选取一个;

设置输入图像尺寸大小步骤,其为设置输入选取的YOLOv8模型的图像的宽度及高度最大值;

设置训练参数数值步骤,其为对选取的YOLOv8模型设置训练参数数值,所述训练参数包括训练权重、批处理个量(Batch)、工作线程数(workers)、优化器(optimizer)、学习率、最大的迭代次数;其中Batch是指单次传递给程序用以训练的数据个数,workers是指数据装载时中央处理器所使用的线程数,optimizer是指优化器,即用来求取模型的最优解的优化算法。

在一个实施例中,计算机程序被处理器执行时还实现以下步骤:

所述设置网络模型参数步骤中,设置批处理个量为2-32,工作线程数为8或16,优化器为随机梯度下降(SGD)优化器,图像的宽度及高度最大值均为640,学习率为0.01,最大的迭代次数为500-1000。

在一个实施例中,计算机程序被处理器执行时还实现以下步骤:

所述设置网络模型参数步骤包括:

设置CBAM注意力机制步骤,其为设置CBAM注意力机制由通道注意力模块(CAM)和空间注意力模块(SAM)构成,其中所述通道注意力模块(CAM)用于在训练YOLOv8模型过程中关注图像的前景以及gt区域,所述空间注意力模块(SAM)用于在训练YOLOv8模型过程中关注富含上下文信息的位置;

添加CBAM注意力机制步骤,其为获取所述YOLOv8模型的骨干网(Backbone)、颈部网(Neck)、头部网(Head),在所述骨干网(Backbone)中添加CBAM注意力机制,用于在YOLOv8模型进行特征学习时增加相互遮挡蟹味菇特征区域权重,减少背景特征权重。

关于计算机程序被处理器执行时实现步骤的具体限定可以参见上文中对于蟹味菇识别的方法的限定,在此不再赘述。

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。

以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。

以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。

相关技术
  • 声纹识别方法、装置、计算机设备和计算机可读存储介质
  • 双层车牌识别方法、装置、计算机设备及存储介质
  • 人脸识别方法、装置、计算机设备及存储介质
  • 语音类别的识别方法、装置、计算机设备和存储介质
  • 掌纹识别方法、装置、计算机设备和存储介质
  • 一种余热回收型蟹味菇培养基高温灭菌设备
  • 一种余热回收型蟹味菇培养基高温灭菌设备
技术分类

06120116502512