CN117011301A - 一种基于yolo模型的缺陷检测方法及装置 - Google Patents
一种基于yolo模型的缺陷检测方法及装置 Download PDFInfo
- Publication number
- CN117011301A CN117011301A CN202311283756.7A CN202311283756A CN117011301A CN 117011301 A CN117011301 A CN 117011301A CN 202311283756 A CN202311283756 A CN 202311283756A CN 117011301 A CN117011301 A CN 117011301A
- Authority
- CN
- China
- Prior art keywords
- module
- model
- defect detection
- yolo
- defect
- 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
Links
- 230000007547 defect Effects 0.000 title claims abstract description 117
- 238000001514 detection method Methods 0.000 title claims abstract description 108
- 238000000034 method Methods 0.000 claims abstract description 47
- 238000012549 training Methods 0.000 claims abstract description 38
- 238000012795 verification Methods 0.000 claims abstract description 17
- 230000006870 function Effects 0.000 claims description 28
- 238000004364 calculation method Methods 0.000 claims description 13
- 238000003860 storage Methods 0.000 claims description 12
- 230000004927 fusion Effects 0.000 claims description 11
- 238000005070 sampling Methods 0.000 claims description 11
- 238000004590 computer program Methods 0.000 claims description 6
- 238000010276 construction Methods 0.000 claims description 3
- 238000010586 diagram Methods 0.000 description 15
- 238000004891 communication Methods 0.000 description 7
- 238000012545 processing Methods 0.000 description 7
- 230000008569 process Effects 0.000 description 6
- 230000002829 reductive effect Effects 0.000 description 6
- 238000004422 calculation algorithm Methods 0.000 description 5
- 238000000605 extraction Methods 0.000 description 5
- 230000009286 beneficial effect Effects 0.000 description 3
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000005259 measurement Methods 0.000 description 3
- 230000007246 mechanism Effects 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 230000006798 recombination Effects 0.000 description 3
- 238000005215 recombination Methods 0.000 description 3
- 230000008859 change Effects 0.000 description 2
- 230000006835 compression Effects 0.000 description 2
- 238000007906 compression Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000036961 partial effect Effects 0.000 description 2
- 238000011176 pooling Methods 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 230000003044 adaptive effect Effects 0.000 description 1
- 230000002776 aggregation Effects 0.000 description 1
- 238000004220 aggregation Methods 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000006378 damage Effects 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 230000000593 degrading effect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000000802 evaporation-induced self-assembly Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000009776 industrial production Methods 0.000 description 1
- 238000007689 inspection Methods 0.000 description 1
- 230000000670 limiting effect Effects 0.000 description 1
- 239000002184 metal Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003121 nonmonotonic effect Effects 0.000 description 1
- 238000012805 post-processing Methods 0.000 description 1
- 238000011897 real-time detection Methods 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
- 230000011218 segmentation Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000001629 suppression Effects 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
- 238000010200 validation analysis Methods 0.000 description 1
- 238000003466 welding Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/0002—Inspection of images, e.g. flaw detection
- G06T7/0004—Industrial image inspection
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/0464—Convolutional networks [CNN, ConvNet]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/10—Image acquisition modality
- G06T2207/10004—Still image; Photographic image
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20081—Training; Learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20084—Artificial neural networks [ANN]
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Biophysics (AREA)
- Evolutionary Computation (AREA)
- Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Artificial Intelligence (AREA)
- Biomedical Technology (AREA)
- Software Systems (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Mathematical Physics (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Quality & Reliability (AREA)
- Image Analysis (AREA)
Abstract
本发明提供一种基于YOLO模型的缺陷检测方法及装置,方法包括以下步骤:获取充电头的缺陷数据集,并将缺陷数据集划分为训练集与验证集;基于YOLO模型构建初始缺陷检测模型,包括:将YOLO模型中Neck网络的Conv模块替换为GSConv模块;根据所述GSConv模块,在所述Neck网络中搭建改进型的Tiny‑VoVGSCSP模块;利用训练集对初始缺陷检测模型进行模型训练,得到最终缺陷检测模型;将验证集输入最终缺陷检测模型,并输出检测结果。该检测方法可提高对小目标缺陷样本的检测精度。
Description
技术领域
本发明属于缺陷检测技术领域,具体涉及一种基于YOLO模型的缺陷检测方法及装置。
背景技术
由于加工工艺的影响,生产产品(如各类充电头)的外观表面缺陷形态呈现多种状态,这给产品表面缺陷检测带来很大的难度。随着市场的产品质量标准不断提高,生产厂商对产品的外观品质提出了更高的要求。对于这种高精度的产品质量检测,人工检测难以适用。因此机器视觉检测就成为检测工业生产产品的表面缺陷的重要手段和依据。
随着人工智能技术的不断发展,机器视觉检测由计算机视觉领域的基于深度学习的目标检测算法来实现。当前主流的目标检测算法主要分为两类:一种是以RCNN系列为代表的两阶段目标检测算法;另一种是以YOLO系列为代表的端到端的一阶段目标检测算法。其中,一阶段目标检测算法具有更好的实时检测性能,被广泛应用于工业场景中,但对于目标尺寸小、特征较少的充电头表面缺陷目标,仍缺少针对性的检测方法来准确识别。
因此,需提供一种新的缺陷检测方法,以提高对小目标缺陷的检测精度。
发明内容
本发明针对现有的缺陷检测方法中,对于充电头中目标尺寸小、特征较少的表面缺陷的检测精度有待提高的问题,提供一种基于YOLO模型的缺陷检测方法及装置。
第一方面,提供一种基于YOLO模型的缺陷检测方法,包括以下步骤:
获取充电头的缺陷数据集,并将缺陷数据集划分为训练集与验证集;
基于YOLO模型构建初始缺陷检测模型,包括:将YOLO模型中Neck网络的Conv模块替换为GSConv模块;利用训练集对初始缺陷检测模型进行训练,得到最终缺陷检测模型;
将验证集输入最终缺陷检测模型,并输出检测结果。
可选的,所述基于YOLO模型构建第一缺陷检测模型还包括:
在所述Neck网络中搭建VoVGSCSP模块;
将VoVGSCSP模块中的Conv模块替换为DWConv模块,得到Tiny-VoVGSCSP模块;
将Neck网络中的C2f模块替换为Tiny-VoVGSCSP模块。
可选的,所述基于YOLO模型构建第一缺陷检测模型还包括:
利用CARAFE上采样算子替代YOLO模型的原上采样方式。
可选的,在将YOLO模型中Neck网络的Conv模块替换为GSConv模块之前,还包括构造多种尺度的特征融合检测层;所述YOLO模型为YOLOv8模型。
可选的,所述基于YOLO模型构建初始缺陷检测模型还包括,将解耦检测头分为两个同样的分支,每个分支由两个CBS模块和一个Conv模块组成,其中一个分支负责计算分类损失,另一个分支用于计算边框回归损失。
可选的,计算边框回归损失的损失函数为WIOU损失函数,WIOU损失函数公式如下:
;
;
;
式中,bi表示第i个目标的目标框坐标,gi表示第i个目标的真实框坐标;IOU(bi,gi)表示第i个目标框与第i个真实框的IOU重叠度;Wg和Hg分别表示目标框和真实框的最小外接矩形框的宽和高;上标*表示Wg和Hg是从计算图中分离出来的;x和y为边界框的中心点坐标;β为边界框的离群度;r为梯度增益;xgt为真实框中心点的横坐标,ygt为真实框中心点的纵坐标,δ为惩罚超参数,为带有动量的指数运行均值,/>为单调聚焦系数。
第二方面,提供一种基于YOLO模型的缺陷检测装置,包括:
缺陷数据集获取模块,其用于将获取缺陷数据集,并将缺陷数据集划分为训练集与验证集;
模型构建模块,其用于将YOLO模型中Neck网络的Conv模块替换为GSConv模块;并根据所述GSConv模块,在所述Neck网络中搭建VoVGSCSP模块;
模型训练模块,其利用训练集对初始缺陷检测模型进行模型训练,得到最终缺陷检测模型;
检测结果输出模块,其用于将验证集输入最终缺陷检测模型,并输出检测结果。
可选的,所述模型构建模块还用于将VoVGSCSP模块中的Conv模块替换为DWConv模块,得到Tiny-VoVGSCSP模块;将Neck网络中的C2f模块替换为Tiny-VoVGSCSP模块。
第三方面,提供一种电子设备,所述电子设备包括:
处理器;
用于存储所述处理器可执行指令的存储器;
所述处理器,用于从所述存储器中读取所述可执行指令,并执行所述可执行指令以实现上述第一方面所述的方法。
第四方面,提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序用于执行上述第一方面所述的方法。
有益效果:本发明提供一种基于YOLO模型的缺陷检测方法及装置,在Neck网络中引入轻量级卷积的GSConv模块替换原有的标准卷积的Conv模块,可在不引入过多计算量的同时提升Neck网络的特征提取能力,因此该方法可提高模型对小目标缺陷样本的检测精度。
附图说明
下面结合附图和具体实施例对本发明作出进一步详细说明。
图1为本实施例提供的一种基于YOLO模型的缺陷检测方法的流程图。
图2为本实施例提供的另一种基于YOLO模型的缺陷检测方法的流程图。
图3a为本实施例提供的Tiny-VoVGSCSP模块的结构示意图。
图3b为本实施例提供的Tiny-VoVGSCSP模块中GSbottleneck模块的结构示意图。
图3c为本实施例提供的GSConv模块的结构示意图。
图4为本实施例提供的最终缺陷检测模型的结构示意图。
图5为本实施例提供的一种基于YOLO模型的缺陷检测装置的结构示意图。
图6为本实施例提供的一种电子设备的示意图。
图7为本实施例提供的一种计算机可读介质的示意图。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施方式。虽然附图中显示了本公开的示例性实施方式,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施方式所限制。相反,提供这些实施方式是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
需要注意的是,除非另有说明,本申请使用的技术术语或者科学术语应当为本申请所属领域技术人员所理解的通常意义。
另外,术语“第一”和“第二”等是用于区别不同对象,而不是用于描述特定顺序。此外,术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。
实施例1
如图1所示,本实施例提供一种基于YOLO模型的缺陷检测方法,包括以下步骤:
S11、获取充电头的缺陷数据集,并将缺陷数据集划分为训练集与验证集;
S12、基于YOLO(You Only Look Once)模型构建初始缺陷检测模型,所述YOLO模型为YOLOv8模型,具体构建步骤包括:
S121、构造多种尺度的特征融合检测层。
S1221、将YOLO模型中Neck(颈部)网络的Conv(标准卷积)模块替换为GSConv(轻量级卷积)模块;根据所述GSConv模块,在所述Neck网络中搭建VoVGSCSP(跨阶段局部)模块;
S1222、将VoVGSCSP模块中的Conv模块替换为DWConv(深度可分离卷积)模块,得到Tiny-VoVGSCSP(轻量级跨阶段局部)模块;将Neck网络中的C2f(Cross stage partialfeature fusion,跨阶段局部特征融合)模块替换为Tiny-VoVGSCSP模块。
S1223、利用CARAFE(Content-Aware ReAssembly of Features,特征感知内容重组)上采样算子替代YOLO模型的原上采样方式。
S123、将解耦检测头分为两个同样的分支,每个分支由两个CBS(Cross BinaryStage,跨二值阶段)模块和一个Conv模块组成,其中一个分支负责计算分类损失,另一个分支用于计算边框回归损失。
计算边框回归损失的损失函数为WIOU(Wise Intersection over Union,智慧交并比)损失函数,WIOU损失函数的公式为:
;
;
;
式中,bi表示第i个目标的目标框坐标,gi表示第i个目标的真实框坐标;IOU(bi,gi)表示第i个目标框与第i个真实框的IOU重叠度;Wg和Hg分别表示目标框和真实框的最小外接矩形框的宽和高;中的上标*表示Wg和Hg是从计算图中分离出来的;x和y为边界框的中心点坐标;β为边界框的离群度;r为梯度增益;xgt为真实框中心点的横坐标,ygt为真实框中心点的纵坐标,δ为惩罚超参数,/>为带有动量的指数运行均值,/>为单调聚焦系数。
S13、利用训练集对初始缺陷检测模型进行模型训练,得到最终缺陷检测模型;
S14、将验证集输入最终缺陷检测模型,并输出检测结果。
本实施例提供一种基于YOLO模型的缺陷检测方法,在Neck网络中引入轻量级卷积的GSConv模块替换原有的标准卷积的Conv模块,可在不引入过多计算量的同时提升Neck网络的特征提取能力,从而可提高对小目标缺陷样本的检测精度。
实施例2
如图2所示,本实施例提供一种基于YOLO模型的缺陷检测方法,用于对各类充电头的表面缺陷进行检测,如手机充电头、笔记本电脑充电头等,具体包括以下步骤。
S21、获取充电头的缺陷数据集,并将缺陷数据集划分为训练集与验证集。
利用工业相机采集手机充电头的表面缺陷图片,利用标注软件将表面缺陷图片制作为缺陷数据集,按照预定比例划分为训练集和验证集,此实施例中,预定比例为8:2。将缺陷数据集中的缺陷类型进行分类,具体分为脏污、焊点、无螺纹、螺纹、划伤、刀纹、金属丝和点伤,一共八类。
S22、基于YOLO模型构建初始缺陷检测模型,YOLO模型在此实施例中为YOLOv8模型,构建初始缺陷检测模型具体包括:
S221、构造多种尺度的特征融合检测层,尺度优选为4种以上,此实施例中为4种,4种尺度分别为20×20、40×40、80×80、160×160,分别用于检测大、中、小、更小的4种不同尺度目标。将缺陷数据集中的缺陷图像传入Backbone(骨干)网络中提取4种不同尺度的特征图,4种不同尺度的特征图分别传入到Neck模块中通过多尺度特征融合结构加强特征提取,在第15层之后继续对特征图进行上采样处理扩大特征图,同时在第20层时,将得到的160×160的特征图与Backbone网络中第2层特征图进行concat融合,以此获取更大尺度的特征图进行缺陷小目标检测,解决随着网络层的加深不断卷积提取特征的过程中,小目标特征信息丢失的问题。
S222、将YOLO模型中Neck网络的3个Conv模块分别替换为GSConv模块。
用轻量级卷积的GSConv模块替换原标准卷积的Conv模块,可在不引入过多计算量的同时提升Neck网络的特征提取能力。通常为了加速预测的计算,CNN中的传送图像几乎必须在Backbone网络中经过空间信息逐步向通道传输的转换过程,并且每次特征图的空间,即宽度和高度的压缩及通道扩展都会导致语义信息的部分丢失。GSConv模块尽可能地保留了这些连接,但是如果在YOLO模型的所有阶段都使用它,YOLO模型的网络层会更深,深层网络会加剧对数据流的阻力,显著增加推理时间。当这些特征图传到 Neck网络时,它们的通道维度达到最大,宽高维度达到最小,不再需要进行变换。因此,此实施例中仅在Neck网络中使用GSConv模块,在这个阶段使用GSConv模块处理特征图拼接则刚刚好,冗余重复信息少且不需要压缩。GSConv模块采用DWConv模块和shuffle(混洗)模块组合成了一个新卷积,减轻了Neck网络的复杂度并保持准确性,在Neck网络中使用GSConv模块的准确率更接近原始模型,同时降低了计算成本。
S223、根据所述GSConv模块,在所述Neck网络中搭建Tiny-VoVGSCSP模块,具体为将原始VoVGSCSP模块中的Conv模块替换为DWConv模块,得到Tiny-VoVGSCSP模块;再将Neck网络中的C2f模块替换为Tiny-VoVGSCSP模块。Tiny-VoVGSCSP模块的结构示意图如图3a所示,Tiny-VoVGSCSP模块中的GSbottleneck(轻量级瓶颈)模块如图3b所示,GSbottleneck模块中的GSConv模块如图3c所示。通过一次性聚合方法来设计的跨阶段局部网络模块。此实施例中对VoVGSCSP模块进行了改进,主要将其中的标准卷积的Conv模块替换为深度可分离卷积的DWConv模块,并命名为Tiny-VoVGSCSP模块。如图3a,输入的特征图经过第一个DWConv模块提取特征后,沿两条分支分别进行卷积,一条沿着直线经过GSbottleneck模块对残差特征进行学习,另一条经过跨层连接的DWConv模块进一步提取特征,并在Concat层(Concatenation,拼接层)进行拼接得到语义信息更丰富的特征图,接着再经过下一个DWConv模块继续卷积提取特征。通过该方法有效降低了计算和网络结构的复杂性,同时保持了足够的精度。此实施例中,利用Tiny-VoVGSCSP模块分别替换掉原有的6个C2f模块。
由于在卷积的过程中,经常会出现个别特征图存在卷积核的值相近的重复通道,若使用标准卷积计算会耗费大量的算力。而如果先使用标准卷积获得一部分通道,再在该部分通道上使用DWConv模块获得另一部分通道,则在减少模型计算量的同时,也避免了类似通道的出现。
两种卷积方式的参数量对比,假设输入通道数为Cin,输出通道数为Cout,卷积核大小为K,则:
Conv模块:Cin×K×K×Cout;
DWConv模块:Cin×K×K+ Cin×1×1×Cout = Cin×(K×K+Cout);
由此可知,将VoVGSCSP模块中的Conv模块替换为DWConv模块可有效减少计算量。
S224、利用CARAFE上采样算子替代YOLO模型的原上采样方式。
CARAFE上采样算子利用底层的上下文信息来预测重组内核,由于这些信息,它可以在网络中不同的位置使用自适应和优化的重组核,有效地实现比主流的上采样操作(如常用的插值等方法)更好的性能。该采样方式可以在一个大的感受野中聚合上下文信息,解决传统上采样无法充分利用特征图的上下文语义信息的缺点;并且引入的计算开销小,能够很容易地集成到现有的网络架构中。
S225、将YOLO模型中Head网络的CIOU(Complete Intersection over Union,全交并比)损失函数替换为WIOU损失函数。
具体来说,解耦检测头分为两个同样的分支,每个分支由两个CBS模块和一个Conv模块组成,其中一个分支负责计算分类损失,另一个分支用于计算边框回归损失,计算边框回归损失的损失函数为WIOU损失函数,即将YOLO模型中Head(头部)网络的CIOU损失函数替换为WIOU损失函数。
如图2,根据聚焦机制的思想改进损失函数。WIOU损失函数为:
;
;
;
式中,bi表示第i个目标的目标框坐标,gi表示第i个目标的真实框坐标;IOU(bi,gi)表示第i个目标框与第i个真实框的IOU重叠度;Wg和Hg分别表示目标框和真实框的最小外接矩形框的宽和高;中的上标*表示Wg和Hg是从计算图中分离出来的;x和y为边界框的中心点坐标;β为边界框的离群度;r为梯度增益;xgt为真实框中心点的横坐标,ygt为真实框中心点的纵坐标,δ为惩罚超参数。
由于缺陷数据集中难免会存在低质量的目标框样本,距离、纵横比的几何度量计算都会加剧对这类样本的惩罚从而使模型的泛化性能下降。为解决该问题,WIOU损失函数根据距离度量构建了基于注意力的边框损失,并通过构造梯度增益 (聚焦系数) 的计算方法来附加聚焦机制,削弱了几何度量的惩罚,使初始缺陷检测模型具有更好的泛化性能。由于WIOU损失函数中没有引入距离、纵横比和长宽比等度量参数,有效地缓解了阻碍模型收敛的因素;另外,WIOU损失函数引入了离群度来衡量目标框的质量,通过分配一个小的梯度增益将边框回归集中在质量一般的目标框上,动态的目标框质量划分标准使得WIOU可以在每个时刻做出最符合当前情况的梯度增益分配策略。
S23、利用训练集对初始缺陷检测模型进行模型训练,得到最终缺陷检测模型。该步骤为训练阶段,最终缺陷检测模型的结构示意图如图4所示,图4中,SPPF(SpatialPyramid Pooling Fast)模块为快速空间金字塔池化模块。
利用官方预训练权重对初始缺陷检测模型的参数进行初始化,设置SGD优化器、余弦学习率衰减、矩形训练、输入训练尺寸为1024、迭代训练300次;将训练集输入到改进型初始缺陷检测模型中进行迭代训练,并得到最佳的权重文件;模型训练中使用了图像旋转、复制等增强方法增加小目标样本数量,提升模型对缺陷小目标的识别能力。训练完后得到最终缺陷检测模型。
S24、将验证集输入最终缺陷检测模型,并输出检测结果,该步骤为测试阶段。
其中,测试阶段的后处理过程采用NMS非极大值抑制剔除大于iou阈值且小于置信度得分的冗余预测框,最终缺陷检测模型输出验证集中缺陷目标的定位和分类的预测结果。
在相同软硬件和实验环境下,相较于原始的YOLOv8模型,本实施例中的最终缺陷检测模型对充电头表面缺陷图像检测的平均精度均值mAP提高了约2%,而检测速度下降幅度不大。
此实施例中,构造多种尺度的特征融合检测层,尺度优选为4种以上,分别用于检测不同大小的多种目标,减少小目标的漏检情况。在Neck网络中引入轻量级卷积的GSConv模块替换原有的标准卷积的Conv模块,引入Tiny-VoVGSCSP模块替换原有的C2f模块,可加强模型提取小目标特征的能力;在Neck网络中使用GSConv模块,其准确率接近原始模型,同时可以降低计算成本;Tiny-VoVGSCSP模块中引入DWConv模块,DWConv模块通过分割特征提取和通道融合可显著减少网络参数,能更好地平衡检测速度和精度。CARAFE上采样算子解决传统的最近邻插值上采样无法获取全局特征的问题,CARAFE模块具有较大的感受野,能更好地利用目标周围的上下语义信息,且引入的计算量较少。
本实施例中,根据动态非单调的聚焦机制的思想,原损失函数CIOU损失函数由WIOU损失函数替代,改进原损失函数中计算的坐标误差,避免图像中缺陷目标大小不一的情况,提升了检测模型对小目标的检测精度。
在模型训练时,采用不同的数据增强方法,如复制粘贴、旋转、平移等扩充小目标样本数量,让模型训练的小目标缺陷具有更多的有效特征,解决小目标缺陷形态变化大难识别的问题,能在工业生产产品(如手机充电头)的表面检测出缺陷并正确识别出缺陷的类别。
实施例3
请参考图5,其示出了本申请的一些实施方式所提供的一种装置的示意图。由于装置实施例基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。下述描述的装置实施例仅仅是示意性的。
如图5所示,装置900可以包括:
在本申请实施例的一些实施方式中,缺陷数据集获取模块901用于:将获取缺陷数据集,并将缺陷数据集划分为训练集与验证集。
模型构建模块902用于:将YOLO模型中Neck网络的Conv模块替换为GSConv模块;并根据所述GSConv模块,在所述Neck网络中搭建VoVGSCSP模块;将VoVGSCSP模块中的Conv模块替换为DWConv模块,得到Tiny-VoVGSCSP模块;将Neck网络中的C2f模块替换为Tiny-VoVGSCSP模块。
模型训练模块903用于:利用训练集对初始缺陷检测模型进行模型训练,得到最终缺陷检测模型。
检测结果输出模块904用于:将验证集输入最终缺陷检测模型,并输出检测结果。
在本申请实施例的一些实施方式中本申请实施例提供的装置900,与本申请前述实施例提供的方法出于相同的发明构思,具有相同的有益效果。
本申请实施方式还提供一种与前述实施方式所提供的方法对应的电子设备,所述电子设备可以是用于服务端的电子设备,例如服务器,包括独立的服务器和分布式服务器集群等,以执行上述方法;所述电子设备也可以是用于客户端的电子设备,例如手机、笔记本电脑、平板电脑、台式机电脑等,以执行上述方法。
请参考图6,其示出了本申请的一些实施方式所提供的一种电子设备的示意图。如图6所示,所述电子设备40包括:处理器400,存储器401,总线402和通信接口403,所述处理器400、通信接口403和存储器401通过总线402连接;所述存储器401中存储有可在所述处理器400上运行的计算机程序,所述处理器400运行所述计算机程序时执行本申请前述方法。
其中,存储器401可能包含高速随机存取存储器(RAM:Random Access Memory),也可能还包括非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器。通过至少一个通信接口403(可以是有线或者无线)实现该系统网元与至少一个其他网元之间的通信连接,可以使用互联网、广域网、本地网、城域网等。
总线402可以是ISA总线、PCI总线或EISA总线等。所述总线可以分为地址总线、数据总线、控制总线等。其中,存储器401用于存储程序,所述处理器400在接收到执行指令后,执行所述程序,前述本申请实施例任一实施方式揭示的方法可以应用于处理器400中,或者由处理器400实现。
处理器400可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器400中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器400可以是通用处理器,包括中央处理器(Central Processing Unit,简称CPU)、网络处理器(Network Processor,简称NP)等;还可以是数字信号处理器(DSP)、专用集成电路(ASIC)、现成可编程门阵列(FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本申请实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器401,处理器400读取存储器401中的信息,结合其硬件完成上述方法的步骤。
本申请实施例提供的电子设备与本申请实施例提供的方法出于相同的发明构思,具有与其采用、运行或实现的方法相同的有益效果。
本申请实施方式还提供一种与前述实施方式所提供的方法对应的计算机可读介质,请参考图7,其示出的计算机可读存储介质为光盘50,其上存储有计算机程序(即程序产品),所述计算机程序在被处理器运行时,会执行前述方法。
需要说明的是,所述计算机可读存储介质的例子还可以包括,但不限于相变内存(PRAM)、静态随机存取存储器 (SRAM)、动态随机存取存储器 (DRAM)、其他类型的随机存取存储器 (RAM)、只读存储器 (ROM)、电可擦除可编程只读存储器 (EEPROM)、快闪记忆体或其他光学、磁性存储介质,在此不再一一赘述。
本申请的上述实施例提供的计算机可读存储介质与本申请实施例提供的方法出于相同的发明构思,具有与其存储的应用程序所采用、运行或实现的方法相同的有益效果。
需要说明的是,附图中的流程图和框图显示了根据本申请的多个实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上各实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述各实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的范围,其均应涵盖在本申请的权利要求和说明书的范围当中。
Claims (10)
1.一种基于YOLO模型的缺陷检测方法,其特征在于,包括以下步骤:
获取充电头的缺陷数据集,并将缺陷数据集划分为训练集与验证集;
基于YOLO模型构建初始缺陷检测模型,包括:将YOLO模型中Neck网络的Conv模块替换为GSConv模块;
利用训练集对初始缺陷检测模型进行模型训练,得到最终缺陷检测模型;
将验证集输入最终缺陷检测模型,并输出检测结果。
2.根据权利要求1所述的一种基于YOLO模型的缺陷检测方法,其特征在于,所述基于YOLO模型构建第一缺陷检测模型还包括:
在所述Neck网络中搭建VoVGSCSP模块;
将VoVGSCSP模块中的Conv模块替换为DWConv模块,得到Tiny-VoVGSCSP模块;
将Neck网络中的C2f模块替换为Tiny-VoVGSCSP模块。
3.根据权利要求2所述的一种基于YOLO模型的缺陷检测方法,其特征在于,所述基于YOLO模型构建第一缺陷检测模型还包括:
利用CARAFE上采样算子替代YOLO模型的原上采样方式。
4.根据权利要求3所述的一种基于YOLO模型的缺陷检测方法,其特征在于,在将YOLO模型中Neck网络的Conv模块替换为GSConv模块之前,还包括构造多种尺度的特征融合检测层;所述YOLO模型为YOLOv8模型。
5.根据权利要求3所述的一种基于YOLO模型的缺陷检测方法,其特征在于,所述基于YOLO模型构建初始缺陷检测模型还包括,将解耦检测头分为两个同样的分支,每个分支由两个CBS模块和一个Conv模块组成,其中一个分支负责计算分类损失,另一个分支用于计算边框回归损失。
6.根据权利要求5所述的一种基于YOLO模型的缺陷检测方法,其特征在于,计算边框回归损失的损失函数为WIOU损失函数,WIOU损失函数公式如下:
;
;
;
式中,bi表示第i个目标的目标框坐标,gi表示第i个目标的真实框坐标;IOU(bi, gi)表示第i个目标框与第i个真实框的IOU重叠度;Wg和Hg分别表示目标框和真实框的最小外接矩形框的宽和高;中的上标*表示Wg和Hg是从计算图中分离出来的;x和y为边界框的中心点坐标;β为边界框的离群度;r为梯度增益;xgt为真实框中心点的横坐标,ygt为真实框中心点的纵坐标,δ为惩罚超参数,/>为带有动量的指数运行均值,/>为单调聚焦系数。
7.一种基于YOLO模型的缺陷检测装置,其特征在于,包括:
缺陷数据集获取模块,其用于将获取缺陷数据集,并将缺陷数据集划分为训练集与验证集;
模型构建模块,其用于将YOLO模型中Neck网络的Conv模块替换为GSConv模块;并根据所述GSConv模块,在所述Neck网络中搭建VoVGSCSP模块;
模型训练模块,其利用训练集对初始缺陷检测模型进行模型训练,得到最终缺陷检测模型;
检测结果输出模块,其用于将验证集输入最终缺陷检测模型,并输出检测结果。
8.根据权利要求7所述的一种基于YOLO模型的缺陷检测装置,其特征在于,所述模型构建模块还用于将VoVGSCSP模块中的Conv模块替换为DWConv模块,得到Tiny-VoVGSCSP模块;将Neck网络中的C2f模块替换为Tiny-VoVGSCSP模块。
9.一种电子设备,其特征在于,所述电子设备包括:
处理器;
用于存储所述处理器可执行指令的存储器;
所述处理器,用于从所述存储器中读取所述可执行指令,并执行所述可执行指令以实现上述权利要求1至6中任一项所述的方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,所述计算机程序用于执行上述权利要求1至6中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311283756.7A CN117011301A (zh) | 2023-10-07 | 2023-10-07 | 一种基于yolo模型的缺陷检测方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311283756.7A CN117011301A (zh) | 2023-10-07 | 2023-10-07 | 一种基于yolo模型的缺陷检测方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117011301A true CN117011301A (zh) | 2023-11-07 |
Family
ID=88567626
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311283756.7A Pending CN117011301A (zh) | 2023-10-07 | 2023-10-07 | 一种基于yolo模型的缺陷检测方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117011301A (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114548363A (zh) * | 2021-12-29 | 2022-05-27 | 淮阴工学院 | 一种基于YOLOv5的无人车辆搭载摄像头目标检测方法 |
CN115331172A (zh) * | 2022-08-18 | 2022-11-11 | 江苏大学 | 一种基于监控视频的车间危险行为识别报警方法及系统 |
CN116468716A (zh) * | 2023-04-26 | 2023-07-21 | 山东省计算中心(国家超级计算济南中心) | 一种基于YOLOv7-ECD的钢材表面缺陷检测方法 |
CN116468730A (zh) * | 2023-06-20 | 2023-07-21 | 齐鲁工业大学(山东省科学院) | 基于YOLOv5算法的航拍绝缘子图像缺陷检测方法 |
CN116721091A (zh) * | 2023-06-21 | 2023-09-08 | 华侨大学 | 一种布匹瑕疵检测方法、装置及可读介质 |
CN116844109A (zh) * | 2023-06-26 | 2023-10-03 | 湖北工业大学 | 一种改进YOLOv7和融合双向路由注意力机制的火焰检测方法 |
-
2023
- 2023-10-07 CN CN202311283756.7A patent/CN117011301A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114548363A (zh) * | 2021-12-29 | 2022-05-27 | 淮阴工学院 | 一种基于YOLOv5的无人车辆搭载摄像头目标检测方法 |
CN115331172A (zh) * | 2022-08-18 | 2022-11-11 | 江苏大学 | 一种基于监控视频的车间危险行为识别报警方法及系统 |
CN116468716A (zh) * | 2023-04-26 | 2023-07-21 | 山东省计算中心(国家超级计算济南中心) | 一种基于YOLOv7-ECD的钢材表面缺陷检测方法 |
CN116468730A (zh) * | 2023-06-20 | 2023-07-21 | 齐鲁工业大学(山东省科学院) | 基于YOLOv5算法的航拍绝缘子图像缺陷检测方法 |
CN116721091A (zh) * | 2023-06-21 | 2023-09-08 | 华侨大学 | 一种布匹瑕疵检测方法、装置及可读介质 |
CN116844109A (zh) * | 2023-06-26 | 2023-10-03 | 湖北工业大学 | 一种改进YOLOv7和融合双向路由注意力机制的火焰检测方法 |
Non-Patent Citations (1)
Title |
---|
BOWEN XING ET AL.: "A Lightweight Model for Real-Time Monitoring of Ships", 《ELECTRONICS》, pages 1 - 17 * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Kamal et al. | Automatic traffic sign detection and recognition using SegU-Net and a modified Tversky loss function with L1-constraint | |
CN113807355B (zh) | 一种基于编解码结构的图像语义分割方法 | |
CN111028217A (zh) | 一种基于全卷积神经网络的图像裂缝分割方法 | |
CN111696110B (zh) | 场景分割方法及系统 | |
CN113610822B (zh) | 一种基于多尺度信息融合的表面缺陷检测方法 | |
CN114897779A (zh) | 基于融合注意力的宫颈细胞学图像异常区域定位方法及装置 | |
CN112418212A (zh) | 一种基于EIoU改进的YOLOv3算法 | |
CN114708437B (zh) | 目标检测模型的训练方法、目标检测方法、装置和介质 | |
US11619593B2 (en) | Methods and systems for detecting a defect of a film | |
CN111768415A (zh) | 一种无量化池化的图像实例分割方法 | |
CN113158789B (zh) | 一种遥感图像的目标检测方法、系统、装置及介质 | |
CN112215079B (zh) | 一种全局多阶段目标跟踪方法 | |
Li et al. | Gated auxiliary edge detection task for road extraction with weight-balanced loss | |
CN116030237A (zh) | 工业缺陷检测方法、装置及电子设备、存储介质 | |
CN111598844B (zh) | 一种图像分割方法、装置、电子设备和可读存储介质 | |
Bacea et al. | Single stage architecture for improved accuracy real-time object detection on mobile devices | |
CN113744280A (zh) | 图像处理方法、装置、设备及介质 | |
CN117274355A (zh) | 一种基于加速引导区域卷积神经网络和并行多尺度统一网络的排水管道流量智能测量方法 | |
CN116861262A (zh) | 一种感知模型训练方法、装置及电子设备和存储介质 | |
CN116740145A (zh) | 一种多目标跟踪方法、装置、车辆及存储介质 | |
CN117011301A (zh) | 一种基于yolo模型的缺陷检测方法及装置 | |
CN116543295A (zh) | 一种基于退化图像增强的轻量化水下目标检测方法及系统 | |
CN115376195A (zh) | 训练多尺度网络模型的方法及人脸关键点检测方法 | |
Murata et al. | Segmentation of Cell Membrane and Nucleus using Branches with Different Roles in Deep Neural Network. | |
CN114444597B (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 |