CN116597224A - 基于改进yolo v8网络模型的马铃薯缺陷检测方法 - Google Patents

基于改进yolo v8网络模型的马铃薯缺陷检测方法 Download PDF

Info

Publication number
CN116597224A
CN116597224A CN202310609352.6A CN202310609352A CN116597224A CN 116597224 A CN116597224 A CN 116597224A CN 202310609352 A CN202310609352 A CN 202310609352A CN 116597224 A CN116597224 A CN 116597224A
Authority
CN
China
Prior art keywords
convolution
network model
potato
data set
model
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202310609352.6A
Other languages
English (en)
Inventor
征伟杰
吴键
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nanjing University of Science and Technology
Original Assignee
Nanjing University of Science and Technology
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nanjing University of Science and Technology filed Critical Nanjing University of Science and Technology
Priority to CN202310609352.6A priority Critical patent/CN116597224A/zh
Publication of CN116597224A publication Critical patent/CN116597224A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/764Arrangements for image or video recognition or understanding using pattern recognition or machine learning using classification, e.g. of video objects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/0464Convolutional networks [CNN, ConvNet]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/0002Inspection of images, e.g. flaw detection
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/74Image or video pattern matching; Proximity measures in feature spaces
    • G06V10/761Proximity, similarity or dissimilarity measures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/82Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Evolutionary Computation (AREA)
  • Computing Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • Software Systems (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Artificial Intelligence (AREA)
  • Health & Medical Sciences (AREA)
  • Databases & Information Systems (AREA)
  • Medical Informatics (AREA)
  • Multimedia (AREA)
  • Data Mining & Analysis (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • Molecular Biology (AREA)
  • General Engineering & Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Quality & Reliability (AREA)
  • Image Analysis (AREA)

Abstract

本发明公开了一种基于改进YOLO V8网络结构的马铃薯缺陷检测方法,该方法对YOLO v8模型进行了改进,增加了深度可变形卷积和A2Attention注意力机制,提高了YOLO v8模型对小目标和形状差异大的缺陷的识别能力;为了提高模型的精度和鲁棒性,加入了Wise IoU损失函数;为了降低模型的参数量,采用了分组式卷积。本发明为解决当前马铃薯缺陷检测中的常见问题提供了理论和实践基础,并且该模型在精度和计算成本方面具有优势,能够满足农业工业化的需求。

Description

基于改进YOLO V8网络模型的马铃薯缺陷检测方法
技术领域
本发明涉及神经网络技术领域,尤其涉及一种基于改进YOLO V8网络模型的马铃薯缺陷检测方法。
背景技术
深度学习模型已被广泛应用于缺陷检测的各种应用中,作为最具代表性的深度学习算法之一,卷积神经网络(CNN)是解决当前图像检测问题的最佳方案。卷积神经网络(Convolutional Neural Network,CNN)通常由输入层、卷积层、池化层、全连接层、输出层和激活函数组成。其中,卷积层的作用是使用卷积核对输入图像进行卷积运算,提取图像的特征,并将提取出的特征输出到下一层进行处理。池化层对卷积层的输出进行降采样,减小特征图的尺寸,同时提取图像的局部不变特征。全连接层的作用是将已经提取的特征进行特征的整合,得到卷积神经网络提取到的图片特征。激活函数层是利用输入和输出的非线性映射,使模型的鲁棒性提高,避免发生过拟合的现象。
目前,在现有的研究中,已经提出了许多有效的深度卷积神经网络结构来对缺陷进行检测。主要使用自建的马铃薯一种或多种缺陷的数据集,例如:通过改进的粒子群算法优化BP神经网络检测马铃薯外部缺陷,结合SIFT与K-mean聚类算法建立了SK-MPSO-BP神经网络的马铃薯外部缺陷识别模型;使用改进的卷积神经网络和支持向量(SVM)模检测马铃薯表面缺陷,通过CNN自动提取马铃薯图片深度特征,利用特征向量训练SVM得到分类器,此外采用dropout正则化技术,能有效减小模型过拟合;加入1×1卷积层,加快模型运算时间;使用层数为15层的复杂卷积神经网络,加入卷积核大小1×1的卷积层来对数据进行降维,并采用局部响应归一化与梯度下降算法完成最终的分类,并使用迁移学习的方法,训练出更高精度的模型。在最新的研究中,越来越多的大型深度学习模型被提出。
通过对上述研究过程的分析,缺陷检测主要分为,图像处理、缺陷特征提取,输入机器学习进行分类,或者使用卷积神经网络对深层次的缺陷特征进行识别提取。虽然上述研究在缺陷检测方面取得了良好的进展。但相关研究关注较多的事考虑单个场景数据集的准确性,忽视了模型在实际生产中需要考虑的存储规模、推理时间、部署成本和应用环境。具体来说分为以下几个方面的不足:
(1)计算成本高:随着神经网络的不断发展,图像分类任务需要一个参数量庞大而复杂的网络来实现更高的精度;通常,训练庞大参数量网络模型将会需要强大的计算机能力和数据存储能力,然而,极其昂贵的计算成本和内存极大地阻碍了CNN在资源范围广泛的有限平台上的部署,特别是对于频繁执行的任务或实时应用程序。面向农业应用场景,应注重受限于野外自然环境以及低成本部署、简单易用等要求。
(2)方法通用性低,大多数方法没有评估它们在看不见的图像上的性能,因为数据集已经很小;当对看不见的数据进行测试时,任何模型的版本都可以标记为良好。
(3)训练周期长:当深度学习模型投入生产环境时,使用经典神经网络模型或者使用Two-stage类模型在对数据集训练时,由于其模型参数量大,或由于需要先计算RegionProposal,而导致反向传播计算缓慢,且开发成本太高,维护和扩展困难,难以在移动设备上部署。
发明内容
本发明的目的在于提供一种基于改进YOLO V8网络模型的马铃薯缺陷检测方法,从而解决现有技术中存在的前述问题。
为了实现上述目的,本发明采用的技术方案如下:第一方面,本发明提供一种基于改进YOLO V8网络模型的马铃薯缺陷检测方法,包括以下步骤:
S1,通过引入Wise IoU损失函数、A2Attention注意力机制、分组式卷积、深度可变形卷积构建基于改进YOLO V8的深度神经网络模型;
S2,获取马铃薯病害图片数据,经过对缺陷图片的筛、扩充后获得数据集;
S3,对数据集中的马铃薯病害图像进行预处理,并将预处理之后的数据集分为训练集、测试集和验证集;
S4,采用训练集对构建的基于改进YOLO V8的深度神经网络模型进行训练,获取基于改进YOLO V8的深度神经网络模型的各个参数指标,得到训练后的基于改进YOLO V8的深度神经网络模型;
S5,采用验证集对训练后的基于改进YOLO V8的深度神经网络模型进行验证,对测试结果的精度进行评价。
第二方面,本发明提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如第一方面所述的方法的步骤。
第三方面,本发明提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如第一方面所述的方法的步骤。
与现有技术相比,本发明的有益效果为:本发明提供了一种基于改进YOLO V8网络结构的马铃薯缺陷检测方法,为了更好地识别马铃薯表面形状不一的缺陷,对YOLO v8模型进行了改进,增加了深度可变形卷积(DCNV2)和A2Attention注意力机制,提高了YOLO v8模型对小目标和形状差异大的缺陷的识别能力;为了提高模型的精度和鲁棒性,加入了WiseIoU损失函数;为了降低模型的参数量,采用了分组式卷积(Gconv);本发明使用深度学***均12.5毫秒的推理时间,具有高效性,为解决当前马铃薯缺陷检测中的常见问题提供了理论和实践基础,并且该模型在精度和计算成本方面具有优势,能够满足农业工业化的需求。
附图说明
图1是实施例中提供的基于改进的YOLO V8网络模型的马铃薯缺陷检测方法技术路线图。
图2是实施例中采用的YOLO V8网络模型结构图。
图3是实施例中采用深度可变形卷积(DCNV2)流程图。
图4是实施例中采用分组式卷积(Gconv)流程示意图。
图5是实施例中的IOU示意图。
图6是实施例中采用的注意力机制流程示意图。
图7是box_loss、cls_loss、dfl_loss曲线以及recall、precision、mAP50和mAP50-95曲线图。
图8是缺陷标签统计图。
图9是马铃薯表面缺陷混淆矩阵示意图。
图10是马铃薯缺陷测试实验图。
具体实施方式
如图1所示,一种基于改进YOLO V8网络模型的马铃薯缺陷检测方法,包括以下步骤:
S1,通过引入Wise IoU损失函数、A2Attention注意力机制、分组式卷积(GConv)、深度可变形卷积(DCNV2)构建基于改进YOLO V8的深度神经网络模型;
S2,获取马铃薯病害图片数据,经过对缺陷图片的筛、扩充后获得数据集;
S3,对数据集中的马铃薯病害图像进行预处理,并将预处理之后的数据集分为训练集、测试集和验证集;
S4,采用训练集对构建的基于改进YOLO V8的深度神经网络模型进行训练,获取基于改进YOLO V8的深度神经网络模型的各个参数指标,得到训练后的基于改进YOLO V8的深度神经网络模型;
S5,采用验证集对训练后的基于改进YOLO V8的深度神经网络模型进行验证,对测试结果的精度进行评价。
优选的,步骤S1中采用的深度可变形卷积具体内容如下:
在传统卷积操作的基础上引入可学习的偏移量,从而使卷积核可以更好地适应物体的形状变化;其中,调节的计算公式如公式1所示:
其中p是真实的像素坐标,pk是卷积核位置,Δpk是学习到的偏移,Δmk是调节标量,介于0-1之间,y(p)是输出特征映射y上的位置,wk表示卷积核对应位置的权重,x(p+pk+Δpk)表示对应位置的元素值。
优选的,步骤S1中的分组式卷积(Gconv)过程包括以下内容:
分组式卷积(Gconv)与传统卷积不同的是将卷积的过程分成了两步,第一步是利用深度可分离卷积,首先通过平面卷积生成与通道数量一致的特征图,然后通过立体卷积核,通常大小为1×1,将结果加权求和得到最后的特征图。若一张图片的特征图尺寸为H×W×N,卷积核的尺寸为K×K×N,那么传统卷积后的参数数量与分组式卷积(Gconv)的参数数量的比值如下:
采用Shufflenetv2进行降维处理,从而减少模型参数和计算量。ShuffleNetV2是一种轻量级的神经网络,其基本组件是ShuffleUnit。在ShuffleUnit中,DWConv代表深度卷积层,PWConv代表点卷积层,BN表示批量归一化,Conv表示普通卷积层,Channel Split表示通道拆分,Channel Shuffle表示特征图在通道维度上的随机重组,Concat表示特征图在通道方向上的拼接。ShuffleUnit参考了ResNet的设计,首先进行通道拆分,分为两个分支;右侧分支由三个卷积层组成;右侧分支的卷积确保输入和输出特征矩阵的通道数相等,从而最小化MAC值;最后,在通道维度上对特征图进行随机重组,实现两个分支间的特征信息融合。当步长为2时,不进行通道拆分。ShuffleNetV2网络的计算量和参数量较小,有利于实现网络轻量化。使用ShuffleNetV2代替第二个和第三个CSPLayer_2Conv模来压缩模型的参数量。
优选的,步骤S1中的采用Wise IOU损失函数过程具体包括:
锚框为目标框为/>x、y、w、h表示为锚框的坐标以及宽度和高度,xst、yst、wst、hst表示为目标框的坐标以及宽度和高度。/>用于度量目标检测任务中目标框与锚框的重叠程度,定义为:
其中Wi、Hi表示重叠部分的宽度和高度。
因为马铃薯数据集中包含了低质量的示例所以如距离、纵横比之类的几何度量都会加剧对低质量示例的惩罚从而使模型的泛化性能下降。好的损失函数应该在锚框与目标框较好地重合时削弱几何度量的惩罚,不过多地干预训练将使模型有更好的泛化能力。在此基础上,我们根据距离度量构建了距离注意力,得到了注意力机制公式如下:
其中,Ws、Hs表示锚框和目标框总和区域的最大宽度和高度。
这将显著放大普通质量锚框的/>这将显著降低高质量锚框的/>并在锚框与目标框重合较好的情况下显著降低其对中心点距离的关注。
优选的,步骤S1中的采用的注意力机制过程具体包括:将输入特征图进行线性变换,以便于计算注意力分数。使用输入特征图的变换结果计算注意力分数。注意力分数可以通过加法来计算。通过softmax函数对计算得到的注意力分数进行归一化。使用归一化后的注意力分数对输入特征图进行加权求和。最后输出注意力特征图。
优选的,步骤S2中获取马铃薯缺陷图片数据,经过筛选、扩充后获得数据集具体包括:
构建马铃薯缺陷数据集,根据腐烂、机械损伤、发芽、青皮、疮痂病、黑痣病、虫伤将马铃薯缺陷数据集中的图片分成7类,分别进行如下的数据增强处理,以扩充数据集:
1),对数据集中的图片进行随机旋转0°、90°、180°或270°;
2),以0.3随机概率改变数据集中图像的亮度、对比度、饱和度,以此来模拟图像在不同时间段拍摄照片差异;
3),在图像中随机添加中值滤波或者均值滤波,以模拟实际拍摄环境下的图像,随机概率值为0.3;
4)将数据集中的图像随机添加Gaussian noise或者Salt and pepper noise噪声;
对经过以上增强处理步骤的图像通过填充0像素将图像的分辨率扩展或缩放为640×640像素,由此获得扩充后的数据集。
优选的,步骤S3中对扩充后的数据集进行预处理具体包括:从图像的色相、饱和度、明度与结构四个方面度量图像相似性,使用Structural Similarity Index算法,设置相似度阈值为0.94,过滤掉相似度高于0.94的图像,获得预处理后的数据集;
将预处理后的数据集划分为训练集、验证集和测试集的比例具体为:7:2:1。优选的,步骤S5中的精度评价指标采用准确率、精确率、meanAveragePrecision(mAP)召回率、平均正确率(AP)、交并比(IOU),具体计算过程如下:
IoU交并比:两个矩形框相交面积和相并面积之间的比值。这里表示预测框与实际框之间的重合度,当IoU等于1时,预测框和真实框重合。公式如下:
其中,A、B分别为预测框和真实框。
准确率:预测正确的个数占总样本的比值,公式如下:
其中,TP表示真实标签为正例,模型预测为正例的样本数;FP表示真实标签为反例,模型预测为正例的样本数;TN表示真实标签为反例,模型预测为正例的样本数;FN表示真实标签为反例,模型预测为正例的样本数。
精确率:无缺陷的马铃薯被预测为无缺陷的马铃薯占所有预测为无缺陷的马铃薯的比值,公式如下:
召回率:无缺陷的马铃薯被预测为无缺陷的马铃薯占所有无缺陷的马铃薯的比值,公式如下:
F1Score:准确率和精确率不能满足客观的评价模型性能,因此引入了F1Score指标,公式如下:
[email protected]:0.95、AP(Average Precision)、mAP(mean Average Precision)
AP的值为以召回率为横坐标,精确率为纵坐标,所作曲线围成的面积,公式如下:
其中p(r)表示对应召回率下的精确率的值。
mAP指的是多个类别的AP的平均值。[email protected]:0.95指的是在不同的交并比下的mAP的平均值。IoU按步长为0.05,从0.5取到0.95。
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施方式仅仅用以解释本发明,并不用于限定本发明。
实施例
本实施例提供一种基于改进YOLO V8网络模型的马铃薯病害识别方法,如图1所示,包括以下步骤:
S1,通过引入Wise IoU损失函数、A2Attention注意力机制、分组式卷积(GConv)、深度可变形卷积(DCNV2)构建基于改进YOLO V8的深度神经网络模型;
S2,获取马铃薯病害图片数据,经过对缺陷图片的筛、扩充后获得数据集;
S3,对数据集中的马铃薯病害图像进行预处理,并将预处理之后的数据集分为训练集、测试集和验证集;
S4,采用训练集对构建的基于改进YOLO V8的深度神经网络模型进行训练,获取基于改进YOLO V8的深度神经网络模型的各个参数指标,得到训练后的基于改进YOLO V8的深度神经网络模型;
S5,采用验证集对训练后的基于改进YOLO V8的深度神经网络模型进行验证,对测试结果的精度进行评价。
本实施例中的深度神经网络模型包括YOLO V8s、YOLO V8m、YOLO V8n模型,均采YOLO V8框架,主要包括骨干网络、Neck部分和Head部分。这些部分在整个模型中扮演着不同的角色,共同完成对图像的特征提取和处理任务。简单来说,backbone(骨干网络)负责从输入图像中提取基本特征,neck(颈部网络)对提取的特征进行进一步整合和处理,而head(头部网络)根据处理后的特征执行具体任务(如分类、检测等)。主要结构如图2所示。YOLOv8对YOLOv5的C3模块进行了改进,CSPLayer_2Conv模块参考了YOLOv7ELAN设计思想,将YOLOv5的C3结构换成了梯度流更丰富的CSPLayer_2Conv结构,并对不同尺度模型调整了不同的通道数,属于对模型结构精心微调,不再是无脑一套参数应用所有模型,大幅提升了模型性能。但是也使用了split操作,会增加内存的消耗,降低计算效率。同时YOLOv8依旧使用了YOLOv5等架构中使用的SPPF模块。YOLOv8的Neck跟YOLOv5的一样使用了一个称为PANet(Path Aggregation Network)的结构。PANet结构旨在有效地融合主干网络中的不同尺度特征图。它首先对特征图进行自上而下的传播,然后再进行自下而上的传播,以捕获各种空间分辨率的特征信息。这种方式使得模型能够更好地检测不同尺寸的物体。Neck部分将C3模块和RepBlock模块替换为了CSPLayer_2Conv模块,同时可以发现,相对于YOLOv5和YOLOv6,YOLOv8选择将上采样之前的1×1卷积去除了,将Backbone不同阶段输出的特征直接送入了上采样操作。Head部分相比YOLOv5改动较大,换成了目前主流的解耦头结构,将分类和检测头分离,同时也从Anchor-Based换成了Anchor-Free。Loss计算方面采用了Task-Aligned Assigner正样本分配策略,现代目标检测器大部分都会在正负样本分配策略上面做文章,典型的如YOLOX的simOTA、TOOD的Task Aligned Assigner和RTMDet的DynamicSoft Label Assigner,这类Assigner大都是动态分配策略,而YOLOv5采用的依然是静态分配策略。考虑到动态分配策略的优异性,YOLOv8算法中则直接引用了TOOD的Task AlignedAssigner。这是一种用于目标检测算法中的新型样本分配策略任务对齐分配器首先计算每个锚框与真实目标框之间的任务特定损失(例如分类损失和/或回归损失)。然后,根据计算出的损失值为每个锚框分配最匹配的目标框。这种基于任务损失的分配策略可以确保模型在训练过程中更关注于具有挑战性的样本,从而提高检测性能。
本实施例中所采用的深度可变形卷积过程如图3所示,具体包括:使用DCNV2后改进后的CSPLayer_2Conv模块为Cf2_DCN。深度可变形卷积只对3×3的卷积核有效,因此只对Darknet Bottlenect模块进行改进。YOLOv8的主干网络连续使用了3个CSPLayer_2Conv模块与ConvModule的组合,通过这些模块,可以对图片上的信息进行提取,本文使用Cf2_DCN代替第一个CSPLayer_2Conv模块,能够提取图片上更多的图像特征。
本实施例中所采用的分组式卷积(Gconv)过程如图4所示,具体包括:使用ShuffleNetV2代替第二个和第三个CSPLayer_2Conv模来压缩模型的参数量。
本实施例中采用Wise IOU损失函数实现方式具体是:
将原YOLO v8回归损失为CIOU Loss替换为Wise IOU,目标框和锚框的位置关系如图5所示。
本实施例中采用注意力机制过程实现方式具体是:
图6为A2Attention的实现流程,在主干网络SPPF后添加A2Attention注意力机制。
本实施例中构建数据集一部分通过zed2i相机完成了对35个有缺陷的的马铃薯和29个无缺陷的马铃薯在不同角度下图像的采集,共采集图片282张。图片的分辨率为640*480,保存的格式为JPG。一部分采用网络爬虫的方法,在图像收集阶段,我们对网络爬虫获取的图像进行质量筛选,剔除低分辨率、过度模糊或严重损坏的图像。这有助于确保训练数据集的质量。数据清洗:我们对图像数据进行去重处理,删除重复或非常相似的图像,以减少冗余信息。同时,检查并修复图像标注,确保标注的准确性和一致性。数据平衡:为了防止类别不平衡问题,我们对各个类别的图像数量进行平衡处理。在数据收集阶段,我们根据需要增加或减少特定类别的图像数量。这有助于模型在所有类别上获得更好的性能。最终一共获得马铃薯缺陷图片1023幅,按马铃薯缺陷种类,将马铃薯缺陷划分为7类。
本实施例中的马铃薯缺陷数据集包含1023缺陷图像数据,图像的尺寸主要集中在长为500,宽为500附近,大多为尺寸较小的图片,主要包括了腐烂、机械损伤、发芽、青皮、疮痂病、黑痣病、虫伤7种缺陷。按如下方式扩充数据集。
1.Spin:将图片随机旋转0°、90°、180°、270°,模拟自然条件下拍摄角度的随机性,不会改变作物患病与健康特征的相对位置。
2.Color jitter马铃薯缺陷识别受环境的影响,以0.3随机概率改变图像的亮度、对比度、饱和度来模拟图像在不同时间段拍摄照片差异。
3.Blur:在图像中添加中值滤波或者均值滤波,以模拟实际拍摄环境下的图像,随机概率值为0.3。
4.Noise:将图像添加Gaussian noise或者Salt and pepper noise噪声,以泛化多个图像,屏蔽图像采集设备、自然环境因素等诸多因素的差异。
5.Resize:对经过以上步骤的图像,通过填充0像素将图像的分辨率扩展或缩放为640×640像素。
经过扩充后的数据集数量为7984张。
本实施例中步骤S3中对数据集进行预处理的过程,具体如下:
马铃薯缺陷数据集样本中存在较多的人为标注数据,这部分数据可能存在重复的样本,从而导致模型求解的最终结果会偏向于降低这部分样本的训练误差,而牺牲其他样本的训练误差,即OverSampling。本实施例从图像的色相、饱和度、明度与结构四个方面度量图像相似性,使用Structural Similarity Index(SSIM)算法,相似度阈值为0.94(最大值为1),过滤掉相似的图像,考虑到相似性图像样本会影响模型的泛化性,对低于相似度阈值每一类图像本文进行保留。最终,去重后的数据集总计为6188张。,按照7:2:1划分训练集、验证集、测试集。
本实施例中所采用的操作***为windows10,CPU为Intel(R)Core(TM)[email protected],GPU为NVIDIAGeForceGTX960、16G运行内存。训练环境使用Google的Colab服务器进行训练,环境配置为Python 3.11、PyTorch 1.17与Tor-ch Vision0.12人工神经网络库。同时,采用CUDA12深度神经网络加速库。
采用图2所示YOLOV8网络对马铃薯缺陷数据集训练,全局损失函数使用BC ELoss,优化器使用SGD,batch size为16,输入图像尺寸为640,学习率初始化为0.003,最终为0.13,动量参数为0.753,重量衰减设置为0.00046,并使用预热参数5.0保证模型对数据具有一定的先验知识。其他参数保持默认,进行500个epochs预训练
本实施例中的精度评价采用准确率、精确率、mean Average Precision(mAP)召回率、平均正确率(AP)、交并比(IOU),结果如图7所示。图中box_loss用于衡量模型预测的边界框(bounding box)与实际边界框之间的差距;cls_loss用于衡量模型预测的目标类别与实际类别之间的差异;dfl_loss目的是最小化类别和边界框预测之间的相关性。recall、precision、mAP50、mAP-95都已介绍。可以看出模型在训练到150个epoch时开始收敛,在200个epoch时收敛完成。在训练集上损失函数的收敛表现出稳定的下降趋势,在验证集上的下降趋势也十分明显。召回率、精确率都表现出稳定上升的趋势,mAP50的值达到了0.95,mAP50-95的值达到了0.61。
从标签相关图8,我们注意到标签FY出现的频率远高于其他标签。这可能导致数据集的不平衡,进而影响模型在较少出现的类别(如标签LP和标签JXSS)上的性能。为了解决这个问题,我们可以考虑采用数据增强、重新采样等技巧来平衡数据集,从而提高模型在所有类别上的表现。标签的大小都较小,因此模型更需要注重小目标物体的识别。
为了进一步验证模型在不同算法中的表现,将目前主流的单阶段算法和二阶段算法与本文改进的算法进行比较,主要有经典的Faster-RCNN、SSD算法,相同系列的YOLOv3、YOLOv5、YOLOv4-tiny、YOLOv5-mobileNet,在验证集上测试的性能如表1所示。
表1对比实验
除此之外,为了进一步比较本文提出的提升精度的方法,本文使用消融实验的方式来处理分类任务。在YOLOv8的基础上进行了消融实验,设置了实验一、二、三、四、五、六,其中实验一采用原来的YOLOv8,实验二采用YOLOv8+DCNV2,实验三采用YOLOv8+GCONV,实验四采用YOLOv8+WiseIoU,实验五采用YOLOv8+A2A,实验六采用YOLOv8+全部,实验结果如表2所示。
表2消融实验
由表2可知,DCNV2与注意力机制对模型的影响大于新的损失函数和GCONV的影响。在加入DCNV2之后误检数下降了43,加入A2A之后误检数下降了35,因此,本文改进的模型在精度和性能上都有一定的优势。
为了验证模型的有效性,选取380张图片进行马铃薯表面缺陷的检测,如图9所示。发芽:模型在这个类别上的表现较好,共有90个样本被正确地分类为发芽,但有5个发芽样本被误分类为机械损伤。另外,有3个机械损伤样本被误分类为发芽。机械损伤:模型在这个类别上的表现也相对较好,共有85个样本被正确地分类为机械损伤。然而,3个样本被误分类为发芽,另外3个样本被误分类为黑痣病。黑痣病:在这个类别上,模型的表现非常出色,共有95个样本被正确地分类为黑痣病。虫伤:只有1个样本被误分类为虫伤,2个样本被误分类为机械损伤。疮痂病:这个类别的表现也很好,共有97个样本被正确地分类为虫伤。然而,有1个样本被误分类为黑痣病,1个样本被误分类为疮痂病。青皮:模型在这个类别上的表现良好,共有95个样本被正确地分类为疮痂病。但有2个样本被误分类为虫伤,2个样本被误分类为青皮。腐烂:模型在这个类别上的表现非常出色,共有98个样本被正确地分类为腐烂。仅有2个样本被误分类为青皮。
总体来看,模型在所有缺陷类别上的表现都相对较好,如图10所示。大多数样本都被正确地分类,误分类的样本数量较少。然而,在某些类别之间,例如发芽与机械损伤、疮痂病与青皮等,仍存在一定程度的误分类。这可能是因为这些类别之间的特征较为相似,模型难以完全区分它们。为了改进模型的性能,可以尝试采用数据增强、更深的网络结构或者引入更强的网络模型。
通过采用本发明公开的上述技术方案,得到了如下有益的效果:
本发明提出了一种快速、高效、适用范围广的工业级马铃薯缺陷图像分类任务解决方案,通过对大量马铃薯图像的采集和数据集的构建,我们使用训练集、验证集和测试集对改进的目标检测模型进行训练和评估。在模型设计方面,我们针对马铃薯的特点和需求,对现有的YOLOv8算法进行了改进,包括引入wiseIoU损失函数、A2Attention注意力机制、分组式卷积(GConv)等策略。这些改进有助于提高模型在处理马铃薯缺陷检测任务时的性能。在实验结果方面,我们通过分析box_loss、cls_loss、dfl_loss曲线以及recall、precision、mAP50和mAP50-95等指标,评价了改进后的模型在验证集和测试集上的性能。实验结果显示,所提出的改进模型在马铃薯缺陷检测任务上取得了良好的性能,相较于原始YOLOv8模型有显著的提升。有效地解决了当前农业图像缺陷检测中常见的问题,对精准农业具有广阔的应用前景,提升农业工业效率。未来,这方面的研究将扩展到更复杂的农业场景中。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视本发明的保护范围。

Claims (10)

1.一种基于改进YOLO V8网络模型的马铃薯缺陷检测方法,其特征在于,包括以下步骤:
S1,通过引入Wise IoU损失函数、A2Attention注意力机制、分组式卷积、深度可变形卷积构建基于改进YOLO V8的深度神经网络模型;
S2,获取马铃薯病害图片数据,经过对缺陷图片的筛、扩充后获得数据集;
S3,对数据集中的马铃薯病害图像进行预处理,并将预处理之后的数据集分为训练集、测试集和验证集;
S4,采用训练集对构建的基于改进YOLO V8的深度神经网络模型进行训练,获取基于改进YOLO V8的深度神经网络模型的各个参数指标,得到训练后的基于改进YOLO V8的深度神经网络模型;
S5,采用验证集对训练后的基于改进YOLO V8的深度神经网络模型进行验证,对测试结果的精度进行评价。
2.根据权利要求1所述的基于改进YOLO V8网络模型的马铃薯缺陷检测方法,其特征在于,步骤S1中采用的深度可变形卷积具体内容如下:
在卷积操作的基础上引入可学习的偏移量,调节的计算公式如公式(1)所示:
其中p是真实的像素坐标,pk是卷积核位置,Δpk是学习到的偏移,Δmk是调节标量,介于0-1之间,y(p)是输出特征映射y上的位置,wk表示卷积核对应位置的权重,x(p+pk+Δpk)表示对应位置的元素值。
3.根据权利要求1所述的基于改进YOLO V8网络模型的马铃薯缺陷检测方法,其特征在于,步骤S1中,分组式卷积将卷积的过程分成两步,第一步是利用深度可分离卷积,首先通过平面卷积生成与通道数量一致的特征图,然后通过立体卷积核,大小为1×1,将结果加权求和得到最后的特征图;若一张图片的特征图尺寸为H×W×N,卷积核的尺寸为K×K×N,那么卷积后的参数数量与分组式卷积的参数数量的比值如下:
第二步是采用Shufflenetv2进行降维处理;ShuffleNetV2是一种轻量级的神经网络,其基本组件是ShuffleUnit;在ShuffleUnit中,DWConv代表深度卷积层,PWConv代表点卷积层,BN表示批量归一化,Conv表示普通卷积层,Channel Split表示通道拆分,ChannelShuffle表示特征图在通道维度上的随机重组,Concat表示特征图在通道方向上的拼接;首先进行通道拆分,分为两个分支;右侧分支由三个卷积层组成;右侧分支的卷积确保输入和输出特征矩阵的通道数相等,从而最小化MAC值;最后,在通道维度上对特征图进行随机重组,实现两个分支间的特征信息融合;当步长为2时,不进行通道拆分。
4.根据权利要求1所述的基于改进YOLO V8网络模型的马铃薯缺陷检测方法,其特征在于,步骤S1中的采用Wise IOU损失函数过程具体包括:
锚框为目标框为/>x、y、w、h表示为锚框的坐标以及宽度和高度,xst、yst、wst、hst表示为目标框的坐标以及宽度和高度;/>用于度量目标检测任务中目标框与锚框的重叠程度,定义为:
其中Wi、Hi表示重叠部分的宽度和高度;
根据距离度量构建距离注意力,得到注意力机制公式如下:
其中,Ws、Hs表示锚框和目标框总和区域的最大宽度和高度;
5.根据权利要求1所述的基于改进YOLO V8网络模型的马铃薯缺陷检测方法,其特征在于,步骤S1中的采用的注意力机制过程具体包括:将输入特征图进行线性变换;使用输入特征图的变换结果计算注意力分数;注意力分数通过加法来计算;通过softmax函数对计算得到的注意力分数进行归一化;使用归一化后的注意力分数对输入特征图进行加权求和;最后输出注意力特征图。
6.根据权利要求1所述的基于改进YOLO V8网络模型的马铃薯缺陷检测方法,其特征在于,步骤S2中获取马铃薯缺陷图片数据,经过筛选、扩充后获得数据集,具体如下:
构建马铃薯缺陷数据集,根据腐烂、机械损伤、发芽、青皮、疮痂病、黑痣病、虫伤将马铃薯缺陷数据集中的图片分成7类,分别进行如下的数据增强处理,以扩充数据集:
1)对数据集中的图片进行随机旋转0°、90°、180°或270°;
2)以0.3随机概率改变数据集中图像的亮度、对比度、饱和度,以此来模拟图像在不同时间段拍摄照片差异;
3)在图像中随机添加中值滤波或者均值滤波,以模拟实际拍摄环境下的图像,随机概率值为0.3;
4)将数据集中的图像随机添加Gaussian noise或者Salt and pepper noise噪声;
对经过以上增强处理步骤的图像通过填充0像素将图像的分辨率扩展或缩放为640×640像素,由此获得扩充后的数据集。
7.根据权利要求1所述的基于改进YOLO V8网络模型的马铃薯缺陷检测方法,其特征在于,步骤S3中对扩充后的数据集进行预处理具体包括:从图像的色相、饱和度、明度与结构四个方面度量图像相似性,使用Structural Similarity Index算法,设置相似度阈值为0.94,过滤掉相似度高于0.94的图像,获得预处理后的数据集;将预处理后的数据集划分为训练集、验证集和测试集的比例具体为:7:2:1。
8.根据权利要求1所述的基于改进YOLO V8网络模型的马铃薯缺陷检测方法,其特征在于,步骤S5中的精度评价指标包括准确率、精确率、mAP、召回率、平均正确率AP、交并比IoU,计算过程如下:
交并比IoU:两个矩形框相交面积和相并面积之间的比值,表示预测框与实际框之间的重合度,当IoU等于1时,预测框和真实框重合;公式如下:
其中,A、B分别为预测框和真实框;
准确率:预测正确的个数占总样本的比值,公式如下:
其中,TP表示真实标签为正例,模型预测为正例的样本数;FP表示真实标签为反例,模型预测为正例的样本数;TN表示真实标签为反例,模型预测为正例的样本数;FN表示真实标签为反例,模型预测为正例的样本数;
精确率:无缺陷的马铃薯被预测为无缺陷的马铃薯占所有预测为无缺陷的马铃薯的比值,公式如下:
召回率:无缺陷的马铃薯被预测为无缺陷的马铃薯占所有无缺陷的马铃薯的比值,公式如下:
F1Score:准确率和精确率不能满足客观的评价模型性能,因此引入了F1Score指标,公式如下:
其中p为精确率,R为召回率;
AP的值为以召回率为横坐标,精确率为纵坐标,所作曲线围成的面积,公式如下:
其中p(r)表示对应召回率下的精确率的值;
mAP为多个类别的AP的平均值;[email protected]:0.95为不同的交并比下的mAP的平均值,IoU按步长为0.05,从0.5取到0.95。
9.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1-8中任一所述的方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1-8中任一所述的方法的步骤。
CN202310609352.6A 2023-05-25 2023-05-25 基于改进yolo v8网络模型的马铃薯缺陷检测方法 Pending CN116597224A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310609352.6A CN116597224A (zh) 2023-05-25 2023-05-25 基于改进yolo v8网络模型的马铃薯缺陷检测方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310609352.6A CN116597224A (zh) 2023-05-25 2023-05-25 基于改进yolo v8网络模型的马铃薯缺陷检测方法

Publications (1)

Publication Number Publication Date
CN116597224A true CN116597224A (zh) 2023-08-15

Family

ID=87595334

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310609352.6A Pending CN116597224A (zh) 2023-05-25 2023-05-25 基于改进yolo v8网络模型的马铃薯缺陷检测方法

Country Status (1)

Country Link
CN (1) CN116597224A (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117079036A (zh) * 2023-08-22 2023-11-17 河南农业大学 基于YOLOv8s轻量化改进的农作物病害检测方法和***
CN117351448A (zh) * 2023-12-04 2024-01-05 长春理工大学 一种基于YOLOv8改进的偏振图像道路目标检测方法
CN117422696A (zh) * 2023-11-08 2024-01-19 河北工程大学 基于改进YOLOv8-EfficientNet的皮带磨损状态检测方法
CN117893613A (zh) * 2024-03-15 2024-04-16 泉州装备制造研究所 一种托盘位姿估计方法、***及存储介质

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117079036A (zh) * 2023-08-22 2023-11-17 河南农业大学 基于YOLOv8s轻量化改进的农作物病害检测方法和***
CN117079036B (zh) * 2023-08-22 2024-06-07 河南农业大学 基于YOLOv8s轻量化改进的农作物病害检测方法和***
CN117422696A (zh) * 2023-11-08 2024-01-19 河北工程大学 基于改进YOLOv8-EfficientNet的皮带磨损状态检测方法
CN117351448A (zh) * 2023-12-04 2024-01-05 长春理工大学 一种基于YOLOv8改进的偏振图像道路目标检测方法
CN117351448B (zh) * 2023-12-04 2024-03-08 长春理工大学 一种基于YOLOv8改进的偏振图像道路目标检测方法
CN117893613A (zh) * 2024-03-15 2024-04-16 泉州装备制造研究所 一种托盘位姿估计方法、***及存储介质

Similar Documents

Publication Publication Date Title
CN116597224A (zh) 基于改进yolo v8网络模型的马铃薯缺陷检测方法
CN114897779B (zh) 基于融合注意力的宫颈细胞学图像异常区域定位方法及装置
CN114841244B (zh) 一种基于鲁棒采样和混合注意力金字塔的目标检测方法
CN111898432B (zh) 一种基于改进YOLOv3算法的行人检测***及方法
CN111582092B (zh) 一种基于人体骨架的行人异常行为检测方法
Hu et al. Defect identification method for poplar veneer based on progressive growing generated adversarial network and MASK R-CNN model
CN109902576B (zh) 一种头肩图像分类器的训练方法及应用
CN115861210B (zh) 一种基于孪生网络的变电站设备异常检测方法和***
Avola et al. Real-time deep learning method for automated detection and localization of structural defects in manufactured products
CN115861799A (zh) 基于注意力梯度的轻量化空对地目标检测方法
CN114565842A (zh) 基于Nvidia Jetson嵌入式硬件的无人机实时目标检测方法及***
CN114332942A (zh) 基于改进YOLOv3的夜间红外行人检测方法及***
CN113628297A (zh) 一种基于注意力机制和迁移学习的covid-19深度学习诊断***
CN116958962A (zh) 一种基于改进YOLOv8s的疏果前石榴果实检测方法
CN116168240A (zh) 基于注意力增强的任意方向密集舰船目标检测方法
CN116452966A (zh) 一种水下图像的目标检测方法、装置、设备及存储介质
CN117152484A (zh) 改进YOLOv5s的小目标布匹瑕疵检测方法
Heinrich et al. Is bigger always better? Lessons learnt from the evolution of deep learning architectures for image classification
CN116385401B (zh) 一种高精度纺织品缺陷可视化检测方法
CN117079125A (zh) 一种基于改进型YOLOv5的猕猴桃授粉花朵识别方法
CN116843971A (zh) 一种基于自注意力机制的萱草病害目标检测方法及***
CN116363532A (zh) 基于注意力机制和重参数化的无人机图像交通目标检测方法
TWI728655B (zh) 應用於動物的卷積神經網路偵測方法及系統
Kulkarni et al. An Object Detection Approach for Automated Detection of Groove Line in Tube Yoke
CN113469224A (zh) 一种基于卷积神经网络与特征描述算子相融合的大米分类方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination