基于Yolov5的缺陷检测方法、装置、设备及存储介质与流程

未命名 10-09 阅读:96 评论:0

基于yolov5的缺陷检测方法、装置、设备及存储介质
技术领域
1.本技术涉及缺陷检测技术领域,具体涉及一种基于yolov5的缺陷检测方法、装置、设备及存储介质。


背景技术:

2.对于制造业来说,质检作为生产制造中保障产品质量的重要一环,关乎产品的精密度、美观度、质量把控等多个方面。如何提高产品质检的效率和精确率,已经成为制造业转型升级过程中关注的重点。
3.目前大部分制造企业主要还是依靠传统人工目检进行外观质检。而传统的人工检查方法在缺陷判别上存在个体与个体间的差异,缺陷检查结果容易受检查员个人状态的影响,这导致很多产品的微小瑕疵并不能被高效识别。此外人工质检成本高、误操作多、检测效率低、速度慢,严重制约了产量。
4.为了在不断变化和竞争愈发激烈的市场中占据优势,企业既要不断提高产品质量标准以满足客户需求,又要不断提升生产线效率以适应市场的快节奏,而基于人工智能(ai,artificial intelligence)的自动化缺陷检测方法是兼顾质量与效率的重要手段,因此从当前的发展趋势来看基于ai的自动化缺陷检测方法将逐渐取代人工检测。
5.现有技术中基于深度卷积神经网络的缺陷检测算法计算资源需求太大且内存消耗严重。而在实际的工业场景中设备的硬件资源有限,无法负担相关技术中基于深度卷积神经网络的光学缺陷检测算法对于计算资源的需求。


技术实现要素:

6.本技术提供一种基于yolov5的缺陷检测方法、装置、设备及存储介质,用以解决现有技术中的缺陷检测需要的计算资源过大的问题。
7.为了解决上述技术问题,第一方面,本技术提供一种基于yolov5的缺陷检测方法,应用于终端结构件,该方法包括:获取至少一张缺陷图片;将所述缺陷图片输入基于yolov5的目标缺陷检测网络,输出所述缺陷图片中的缺陷对应的目标框,和/或输出所述缺陷图片中的缺陷对应的目标缺陷类别;其中,所述目标框用于表示所述缺陷图片中的缺陷在所述缺陷图片中的位置,所述目标缺陷类别为预设的若干缺陷类别中的一个,所述目标缺陷检测网络是通过对yolov5进行通道剪枝确定的。
8.可选地,在所述将所述缺陷图片输入基于yolov5的目标缺陷检测网络之前,还包括:
9.基于预设剪枝率,对yolov5中cov层的通道进行通道剪枝,得到基于yolov5的缺陷检测网络;
10.将样本缺陷图片集按照预设比例分为训练集、测试集及验证集,将所述训练集、所述测试集及所述验证集输入所述缺陷检测网络中进行训练,其中,所述样本缺陷图片集中的图片标注有缺陷位置和缺陷类别;
11.在所述缺陷检测网络的推理时间小于第一预设阈值的情况下,和/或在所述缺陷检测网络的平均精度大于第二预设阈值的情况下,将所述缺陷检测网络确定为目标缺陷检测网络。
12.可选地,所述基于预设剪枝率,对yolov5中cov层的通道进行通道剪枝,包括:基于预设剪枝率,对yolov5中neck层和/或head层中cov层的通道进行通道剪枝。
13.可选地,所述基于预设剪枝率,对yolov5中cov层的通道进行通道剪枝,包括:基于预设剪枝率,对yolov5中不含有shortcut的cov层中的通道进行通道剪枝。
14.可选地,所述基于预设剪枝率,对yolov5中cov层的通道进行通道剪枝,包括:对yolov5中的cov层进行稀疏训练,确定稀疏训练后cov层中的bn层各通道对应的bn层系数,其中,通道对应的所述bn层系数用于表征通道的重要程度;对各通道对应的bn层系数按照从大到小进行排序,将排序位置位于后n位的bn层系数对应的通道进行通道剪枝,其中,n为预设剪枝率与cov层的通道总数的乘积。
15.可选地,在所述将所述训练集、所述测试集及所述验证集输入所述缺陷检测网络中进行训练之后,还包括:在所述缺陷检测网络的总损失低于第三预设阈值的情况下,将所述缺陷检测网络确定为目标缺陷检测网络。
16.可选地,在所述将所述训练集、所述测试集及所述验证集输入所述缺陷检测网络中进行训练之后,还包括:在所述缺陷检测网络的置信度损失低于第四预设阈值的情况下,将所述缺陷检测网络确定为目标缺陷检测网络。
17.第二方面,本技术提供一种基于yolov5的缺陷检测装置,应用于终端结构件,包括:获取模块,用于获取至少一张缺陷图片;输出模块,用于将所述缺陷图片输入基于yolov5的目标缺陷检测网络,输出所述缺陷图片中的缺陷对应的目标框,和/或输出所述缺陷图片中的缺陷对应的目标缺陷类别;其中,所述目标框用于表示所述缺陷图片中的缺陷在所述缺陷图片中的位置,所述目标缺陷类别为预设的若干缺陷类别中的一个,所述目标缺陷检测网络是通过对yolov5进行通道剪枝确定的。
18.第三方面,本技术提供一种基于yolov5的缺陷检测设备,包括存储器和处理器,其中:
19.所述存储器用于存储计算机程序;
20.所述处理器用于读取所述存储器中的程序并执行如上述第一方面提供的基于yolov5的缺陷检测方法的步骤。
21.第四方面,本技术提供一种计算机可读存储介质,其上存储有可读的计算机程序,该程序被处理器执行时实现如上述第一方面提供的基于yolov5的缺陷检测方法的步骤。
22.与现有技术相比,本技术提供的一种基于yolov5的缺陷检测方法、装置、设备及存储介质,具有以下有益效果:
23.通过对yolov5进行通道剪枝,使得剪枝后的yolov5模型相较于剪枝前的yolov5模型体积减小,进而基于剪枝后的yolov5模型所得到的目标缺陷检测网络相较于剪枝前的yolov5模型而言,由于模型体积的减小会有效节省缺陷检测网络所需要的计算资源。这样,通过缺陷检测网络所进行的缺陷检测所需要的计算资源会有效减少。
附图说明
24.为了更清楚地说明本技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术的一部分实施例,而不是全部的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,根据这些附图获得的其他的附图,都属于本技术保护的范围。
25.图1是本技术实施例提供的一种基于yolov5的缺陷检测方法的流程图;
26.图2是本技术实施例提供的另一种基于yolov5的缺陷检测方法的流程图;
27.图3是本技术实施例提供的一种基于yolov5的缺陷检测装置的结构示意图;
28.图4是本技术实施例提供的一种基于yolov5的缺陷检测设备的结构示意图;
29.图5是本技术实施例提供的一种计算机可读存储介质的结构示意图。
具体实施方式
30.为了使本技术的目的、技术方案及优点更加清楚明白,下面结合附图和具体实施例对本技术作进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本技术,并不用于限定本技术。
31.为了使本揭示内容的叙述更加详尽与完备,下文针对本技术的实施方式与具体实施例提出了说明性的描述;但这并非实施或运用本技术具体实施例的唯一形式。实施方式中涵盖了多个具体实施例的特征以及用以建构与操作这些具体实施例的方法步骤与其顺序。然而,亦可利用其它具体实施例来达成相同或均等的功能与步骤顺序。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
32.需要说明的是,本技术的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本技术的实施例能够以除了在这里图示或描述的那些以外的顺序实施。
33.在本技术实施例的描述中,除非另有说明,“/”表示或的意思,例如,a/b可以表示a或b;文本中的“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b这三种情况,另外,在本技术实施例的描述中,“多个”是指两个或多于两个,其它量词与之类似应当理解,此处所描述的优选实施例仅用于说明和解释本技术,并不用于限定本技术,并且在不冲突的情况下,本技术的实施例及实施例中的特征可以相互组合。
34.需要说明的是,本技术应用于终端结构件,用于对终端结构件进行缺陷检测。此处的终端结构件可以是移动终端的结构件,例如手机的结构件,或者便携式电脑的结构件;此处的终端结构件也可以是非移动终端的结构件,例如工业中使用的大型设备等的结构件。
35.需要说明的是,本技术为基于yolov5改进得到。而yolov5是目标检测模型,通过yolov5,只需要浏览一次就可以识别出图中的物体的类别和位置。目标检测用来在一张图篇中找到某些特定的物体,目标检测不仅要求识别这些物体的种类,同时要求标出这些物体的位置。
36.如图1所示,为本技术实施例提供的一种基于yolov5的缺陷检测方法的流程图,包
括以下步骤。
37.步骤s101:获取至少一张缺陷图片;
38.可以理解的是,本技术应用于终端结构件,此处的缺陷图片为所拍摄的终端结构件的缺陷图片。
39.此处的缺陷图片可以是包含终端结构件部分缺陷的图片,也可以是包含终端结构件全部缺陷的图片,此处并不进行具体限定。
40.步骤s015:将所述缺陷图片输入基于yolov5的目标缺陷检测网络,输出所述缺陷图片中的缺陷对应的目标框,和/或输出所述缺陷图片中的缺陷对应的目标缺陷类别。
41.其中,所述目标框用于表示所述缺陷图片中的缺陷在所述缺陷图片中的位置,所述目标缺陷类别为预设的若干缺陷类别中的一个,所述目标缺陷检测网络是通过对yolov5进行通道剪枝确定的。
42.可以理解的是,本步骤中的目标缺陷检测网络,可以是通过对大量终端结构件的缺陷图片进行模型训练得到的,进行训练的缺陷图片中可以标注有缺陷在图片中的位置以及缺陷所属的类别,进而可以通过训练得到的缺陷检测网络识别出需要进行识别的缺陷图片中的缺陷的位置以及缺陷所属的缺陷类别。
43.需要说明的是,缺陷图片中的缺陷所对应的目标框可以是通过缺陷在缺陷图片中的位置信息所确定的,而缺陷的位置信息可以通过对缺陷图片建立坐标系,进而通过缺陷在坐标系中的坐标所确定。
44.需要说明的是,预设的缺陷类别可以由相关领域的技术人员根据具体需要预先设定。例如,本技术应用的终端结构件可以是手机主板,可以预设手机主板的缺陷类别包括电源开关缺陷、耳机座缺陷、喇叭缺陷、网卡缺陷以及无线网络(wifi)模块缺陷。
45.这样,通过对yolov5进行通道剪枝,使得剪枝后的yolov5模型相较于剪枝前的yolov5模型体积减小,进而剪枝后的yolov5模型得到的目标缺陷检测网络相较于剪枝前的yolov5模型而言,由于模型体积的减小会有效节省缺陷检测网络所需要的计算资源,使得通过缺陷检测网络所进行的缺陷检测所需要的计算资源会有效减少。
46.在一种可选的实现方式中,如图2为本技术实施例所提供的另一种基于yolov5的缺陷检测方法的流程图,在步骤s105之前还包括:
47.步骤s012:基于预设剪枝率,对yolov5中cov层的通道进行通道剪枝,得到基于yolov5的缺陷检测网络。
48.需要说明的是,yolov5包括四部分,分别为输入端、主干层(backbone)、颈层(neck)以及头部(head),而在backbone层、neck层以及head层都存在cov层。yolov5中的cov层包含有卷积层、批标准化(bn,batch normalization)层以及激活层,其中激活层为激活函数。cov层具有输入通道和输出通道,可以对这些通道进行剪枝。
49.可以理解的是,剪枝率可以是相关领域的技术人员在实际应用中根据实际需要设定的,本步骤中的剪枝率指的是需要剪掉的通道数量占总通道数量的比值。
50.需要说明的是,相关领域的技术人员可以根据具体需要选择需要进行通道剪枝的层,例如可以对backbone层、neck层以及head层的cov层都进行通道剪枝,也可以对这些层中的任意一个或者任意两个进行通道剪枝。
51.需要说明的是,若需要对一个层进行通道剪枝,剪枝率可以是该层需要剪掉的通
道数量占该层通道总数的占比;若需要对多个层进行通道剪枝,剪枝率也可以在不同层设置不同值,也可以在不同层设置相同值,本步骤不对此进行具体限定,相关领域技术人员可在实际应用时根据具体需要进行设置。
52.可以理解的是,对yolov5模型进行剪枝,可以使得剪枝得到的缺陷检测网络体积大大缩小,进而可以使得得到的缺陷检测网络所需的计算资源大大减少,也使得缺陷检测网络的计算过程有效缩短,使得缺陷检测网络的推理时间缩短,从而满足对终端结构件缺陷检测的实时性。
53.步骤s013:将样本缺陷图片集按照预设比例分为训练集、测试集及验证集,将所述训练集、所述测试集及所述验证集输入所述缺陷检测网络中进行训练。
54.其中,所述样本缺陷图片集中的图片标注有缺陷位置和缺陷类别。
55.具体的,样本缺陷图片集可以是需要检测的终端结构件的各种类别的故障图片组成。
56.需要说明的是,本步骤中的预设比例可以是相关领域技术人员在具体应用时根据具体需要在模型训练前进行设置的值,此处并不进行具体限定。
57.可以理解的是,训练集图片用于对模型进行训练,得到可以对终端结构件图片进行缺陷检测的缺陷检测网络;验证集图片用于对训练得到的模型进行验证,验证训练得到的模型的可靠性,在验证训练得到的模型的可靠性低于预设阈值时,可以继续对模型继续进行训练,直至模型的可靠性达到标准;测试集图片用于对最终确定的模型进行测试,决定模型是否投入使用。
58.需要说明的是,本步骤中可以采用任意图片标注工具对样本缺陷图片集中的图片进行标注,例如cvat、vott、labelme及labelimg等图片标注工具。
59.步骤s014:在所述缺陷检测网络的推理时间小于第一预设阈值的情况下,和/或在所述缺陷检测网络的平均精度大于第二预设阈值的情况下,将所述缺陷检测网络确定为目标缺陷检测网络。
60.具体的,可以根据yolov5中的detect.py文件输出缺陷检测网络的推理时间,通过在缺陷检测网络的推理时间小于第一预设阈值时将缺陷检测网络投入使用,可以使得缺陷检测网络满足快速性、实时性的要求。
61.需要说明的是,缺陷检测网络所输出结果的平均精度(map,mean average precision)为目标检测中常用的map,这里的map指的是各类别的缺陷在不同召回率(recall)下的最高准确率/精确率(precision)均值的均值。其中,recall可以表征缺陷检测网络找到所有相关目标缺陷的能力,等于tp与tp及fn总和的比值,precision可以表征缺陷检测网络只找到相关目标缺陷的能力,等于tp与tp及fp总和的比值,而tp代表缺陷检测网络所预测出的缺陷分类结果及缺陷位置都正确的缺陷的数量,fp代表的是缺陷检测网络所预测出的缺陷分类结果错误或者缺陷位置错误的缺陷的数量,fn代表的是缺陷检测网络所预测出的缺陷位置错误的缺陷数量。
62.这样,通过将缺陷检测网络的平均精度控制在大于第二预设阈值的水平,使得目标缺陷检测网络的检测精度较高,从而提高目标缺陷检测网络对缺陷检测的准确性。
63.在一种可选的实现方式中,步骤s012包括:基于预设剪枝率,对yolov5中neck层和/或head层中cov层的通道进行通道剪枝。
64.可以理解的是,由于yolov5中backbone层中cov层的数量大于neck层以及head层中cov层的数量,为避免yolov5减去的通道过多导致模型的功能变差,可以只对neck层和/或head层中cov层的通道进行通道剪枝,从而避免通道减去的过多对缺陷检测网络造成不利影响。
65.在一种可选的实现方式中,步骤s012包括:基于预设剪枝率,对yolov5中不含有shortcut的cov层中的通道进行通道剪枝。
66.需要说明的是,yolov5中的直连(shortcut)需要保证所连接的输入通道及输出通道数量一致以保证yolov5的正常工作,若使得具有shortcut的cov层参与通道剪枝,可能会导致shortcut所连接的输入及输出通道的数量不匹配,进而影响最后得到的缺陷检测网络的缺陷检测功能,所以只对yolov5中不含有shortcut的cov层中的通道进行通道剪枝,可以避免最终得到的目标缺陷检测网络出现异常。
67.在一种可选的实现方式中,步骤s012包括:
68.步骤s0121:对yolov5中的cov层进行稀疏训练,确定稀疏训练后cov层中的bn层各通道对应的bn层系数,其中,通道对应的所述bn层系数用于表征通道的重要程度。
69.步骤s0122:对各通道对应的bn层系数按照从大到小进行排序,将排序位置位于后n位的bn层系数对应的通道进行通道剪枝,其中,n为预设剪枝率与cov层的通道总数的乘积。
70.需要说明的是,本实现方式中cov层的通道总数可以是yolov5中所有cov层的通道总数,也可以是某个cov层的通道总数,相关领域技术人员在应用时可以根据具体需要进行设置,此处并不进行具体限定。
71.可以理解的是,在对yolov5进行训练时,bn层系数通常呈正态分布,使得bn层系数并不接近于0,如果将不接近于0的bn层系数对应的通道进行通道剪枝,可能会导致一些重要的通道被剪掉,为此本实现方式引入稀疏训练,将bn层系数进行稀疏化,使得bn层系数接近0,进而确定不重要的通道。
72.具体的,bn层各通道对应稀疏训练的bn层系数可以根据下述公式得到:
[0073][0074][0075]
l=∑
(x,y)
l(f(x,w),y)+ρ∑
γ∈t g(γ)
ꢀꢀꢀ
(3);
[0076]
g(γ)=|γ|
ꢀꢀꢀ
(4);
[0077]
其中,z
out
为每个通道输出的激活值,该激活值可以用于表征该通道的重要程度,z
in
为每个通道输入的激活值,ub和σb分别为所输入的所有激活值的均值和标准差值,∑
(x,y)
l(f(x,w),y)为正常训练得到的损失函数,ρ∑
γ∈t g(γ)为稀疏训练所加入的正则约束,(x,y)分别表示训练模型时的输入值和目标值,w表示训练时设置的训练权重,ρ为正则系数,γ为bn层系数,β为bn层通道的偏差值,t为各通道的bn层系数构成的集合,∈为预设的补偿值。
[0078]
需要说明的是,z
in
、ub、σb、(x,y)、w、ρ、β、t及∈都是可以预先设定的值或者通过预先设定的值确定的,正常训练的损失函数∑
(x,y)
l(f(x,w),y)的结果是在对yolov5进行训练
时模型可以输出的结果,该损失函数的具体计算在相关领域已经较为成熟,此处并不进行详细说明,通过以上可以理解z
out
的值与bn层系数γ呈正相关,因此bn层系数γ也用于表征所对应的通道的重要程度。
[0079]
具体的,通过公式(3)可以理解,在将正常训练得到的损失函数与正则约束相加之后的损失函数l添加到yolov5的训练过程中后,yolov5训练中会改变γ的值,进而在多次进行迭代训练过程之后,会得到多个通道γ值的变化,通过对正则系数的值进行调控,可以使得多个通道的γ值稀疏化,取值趋近于0。进一步可以对得到的γ值按照从大到小进行排序,并将排序位置位于后n位的γ值对应的通道进行剪枝,这样就可以剪掉相对不重要的通道,从而使得得到的缺陷检测网络足够轻量,在进行缺陷检测时可以提高检测速度并且可以占用更少的计算资源。
[0080]
在一种可选的实现方式中,在步骤s103之后,还包括:
[0081]
在所述缺陷检测网络的总损失低于第三预设阈值的情况下,将所述缺陷检测网络确定为目标缺陷检测网络。
[0082]
具体的,缺陷检测网络的总损失为矩形框损失、分类损失以及置信度损失的总和,其中矩形框损失表征缺陷检测网络的缺陷识别结果相较于真实缺陷的大小以及位置的损失程度,分类损失表征缺陷检测网络的缺陷分类结果相较于真实缺陷分类结果的损失程度,置信度损失表征缺陷检测网络的缺陷识别结果可靠性的损失。
[0083]
需要说明的是,本实现方式中的第三预设阈值可以根据相关领域的技术人员在实际应用中的需求进行设置,此处并不进行具体限定。
[0084]
可以理解的是,缺陷检测网络的总损失值越小,缺陷检测网络检测缺陷的可靠性越高,该缺陷检测网络越值得信赖,因此,将总损失低于第三预设阈值的缺陷检测网络确定为目标缺陷检测网络,可以使得该目标缺陷检测网络检测缺陷的准确率更高。
[0085]
在一种可选的实现方式中,在步骤s103之后,还包括:
[0086]
在所述缺陷检测网络的置信度损失低于第四预设阈值的情况下,将所述缺陷检测网络确定为目标缺陷检测网络。
[0087]
需要说明的是,本实现方式中的第四预设阈值可以根据相关领域的技术人员在实际应用中的需求进行设置,此处并不进行具体限定。
[0088]
可以理解的是,将置信度损失低于第四预设阈值的缺陷检测网络确定为目标缺陷检测网络,可以使得该目标缺陷检测网络检测缺陷的可靠性更高。
[0089]
基于上述一种基于yolov5的缺陷检测方法,如图3所示,本技术实施例提供一种基于yolov5的缺陷检测装置,该装置包括获取模块310和输出模块320。
[0090]
获取模块310,用于获取至少一张缺陷图片;
[0091]
输出模块320,用于将所述缺陷图片输入基于yolov5的目标缺陷检测网络,输出所述缺陷图片中的缺陷对应的目标框,和/或输出所述缺陷图片中的缺陷对应的目标缺陷类别;
[0092]
其中,所述目标框用于表示所述缺陷图片中的缺陷在所述缺陷图片中的位置,所述目标缺陷类别为预设的若干缺陷类别中的一个,所述目标缺陷检测网络是通过对yolov5进行通道剪枝确定的。
[0093]
关于上述一种基于yolov5的缺陷检测装置中各模块实现上述技术方案的其他细
节,可参见上述申请实施例中提供的一种基于yolov5的缺陷检测方法中的描述,此处不再赘述。
[0094]
基于上述一种基于yolov5的缺陷检测方法,如图4所示,本技术实施例还提供了一种基于yolov5的缺陷检测设备的结构示意图,该识别设备包括处理器401和与该处理器401耦合的存储器402。存储器402存储有计算机程序,计算机程序被处理器401执行时,使得处理器401执行上述实施例中的基于yolov5的缺陷检测方法的步骤。
[0095]
关于上述一种基于yolov5的缺陷检测设备中处理器401实现上述技术方案的其他细节,可参见上述申请实施例中提供的一种基于yolov5的缺陷检测方法中的描述,此处不再赘述。
[0096]
其中,处理器401还可以称为cpu(central processing unit,中央处理单元),处理器401可能是一种集成电路芯片,具有信号的处理能力;处理器401还可以是通用处理器、dsp(digital signal process,数字信号处理器)、asic(application specific integrated circuit,专用集成电路)、fpga(field programmable gata array,现场可编程门阵列)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件,其中通用处理器可以是微处理器或者该处理器401也可以是任何常规的处理器等。
[0097]
如图5所示,本技术实施例还提供了一种计算机可读存储介质的结构示意图,该存储介质上存储有可读的计算机程序501;其中,该计算机程序501可以以软件产品的形式存储在上述存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本技术各个实施方式所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、磁碟或者光盘、rom(read-only memory,只读存储器)、ram(random access memory,随机存取存储器)等各种可以存储程序代码的介质,或者是计算机、服务器、手机、平板等终端设备。
[0098]
在本技术所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个模块或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或模块的间接耦合或通信连接,可以是电性,机械或其它的形式。
[0099]
所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络模块上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
[0100]
另外,在本技术各个实施例中的各功能模块可以集成在一个处理模块中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。
[0101]
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。
[0102]
所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本技术实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(dsl))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存储的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,dvd)、或者半导体介质(例如固态硬盘(solid state disk,ssd))等。
[0103]
以上对本技术所提供的技术方案进行了详细介绍,本技术中应用了具体个例对本技术的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本技术的方法及其核心思想;同时,对于本领域的一般技术人员,依据本技术的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本技术的限制。
[0104]
本领域内的技术人员应明白,本技术的实施例可提供为方法、系统、或计算机程序产品。因此,本技术可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本技术可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
[0105]
本技术是参照根据本技术的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
[0106]
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
[0107]
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
[0108]
显然,本领域的技术人员可以对本技术进行各种改动和变型而不脱离本技术的精神和范围。这样,倘若本技术的这些修改和变型属于本技术权利要求及其等同技术的范围之内,则本技术也意图包含这些改动和变型在内。

技术特征:
1.一种基于yolov5的缺陷检测方法,应用于终端结构件,其特征在于,包括:获取至少一张缺陷图片;将所述缺陷图片输入基于yolov5的目标缺陷检测网络,输出所述缺陷图片中的缺陷对应的目标框,和/或输出所述缺陷图片中的缺陷对应的目标缺陷类别;其中,所述目标框用于表示所述缺陷图片中的缺陷在所述缺陷图片中的位置,所述目标缺陷类别为预设的若干缺陷类别中的一个,所述目标缺陷检测网络是通过对yolov5进行通道剪枝确定的。2.根据权利要求1所述的基于yolov5的缺陷检测方法,其特征在于,在所述将所述缺陷图片输入基于yolov5的目标缺陷检测网络之前,还包括:基于预设剪枝率,对yolov5中cov层的通道进行通道剪枝,得到基于yolov5的缺陷检测网络;将样本缺陷图片集按照预设比例分为训练集、测试集及验证集,将所述训练集、所述测试集及所述验证集输入所述缺陷检测网络中进行训练,其中,所述样本缺陷图片集中的图片标注有缺陷位置和缺陷类别;在所述缺陷检测网络的推理时间小于第一预设阈值的情况下,和/或在所述缺陷检测网络的平均精度大于第二预设阈值的情况下,将所述缺陷检测网络确定为目标缺陷检测网络。3.根据权利要求2所述的基于yolov5的缺陷检测方法,其特征在于,所述基于预设剪枝率,对yolov5中cov层的通道进行通道剪枝,包括:基于预设剪枝率,对yolov5中neck层和/或head层中cov层的通道进行通道剪枝。4.根据权利要求2所述的基于yolov5的缺陷检测方法,其特征在于,所述基于预设剪枝率,对yolov5中cov层的通道进行通道剪枝,包括:基于预设剪枝率,对yolov5中不含有shortcut的cov层中的通道进行通道剪枝。5.根据权利要求2所述的基于yolov5的缺陷检测方法,其特征在于,所述基于预设剪枝率,对yolov5中cov层的通道进行通道剪枝,包括:对yolov5中的cov层进行稀疏训练,确定稀疏训练后cov层中的bn层各通道对应的bn层系数,其中,通道对应的所述bn层系数用于表征通道的重要程度;对各通道对应的bn层系数按照从大到小进行排序,将排序位置位于后n位的bn层系数对应的通道进行通道剪枝,其中,n为预设剪枝率与cov层的通道总数的乘积。6.根据权利要求2所述的基于yolov5的缺陷检测方法,其特征在于,在所述将所述训练集、所述测试集及所述验证集输入所述缺陷检测网络中进行训练之后,还包括:在所述缺陷检测网络的总损失低于第三预设阈值的情况下,将所述缺陷检测网络确定为目标缺陷检测网络。7.根据权利要求2所述的基于yolov5的缺陷检测方法,其特征在于,在所述将所述训练集、所述测试集及所述验证集输入所述缺陷检测网络中进行训练之后,还包括:在所述缺陷检测网络的置信度损失低于第四预设阈值的情况下,将所述缺陷检测网络确定为目标缺陷检测网络。8.一种基于yolov5的缺陷检测装置,应用于终端结构件,其特征在于,包括:获取模块,用于获取至少一张缺陷图片;
输出模块,用于将所述缺陷图片输入基于yolov5的目标缺陷检测网络,输出所述缺陷图片中的缺陷对应的目标框,和/或输出所述缺陷图片中的缺陷对应的目标缺陷类别;其中,所述目标框用于表示所述缺陷图片中的缺陷在所述缺陷图片中的位置,所述目标缺陷类别为预设的若干缺陷类别中的一个,所述目标缺陷检测网络是通过对yolov5进行通道剪枝确定的。9.一种基于yolov5的缺陷检测设备,其特征在于,包括存储器和处理器,其中:所述存储器用于存储计算机程序;所述处理器用于读取所述存储器中的计算机程序,并执行如权利要求1-7所述的任一基于yolov5的缺陷检测方法的步骤。10.一种计算机可读存储介质,其特征在于,其上存储有可读的计算机程序,该程序被处理器执行时实现如权利要求1-7所述的任一基于yolov5的缺陷检测方法的步骤。

技术总结
本申请公开了一种基于Yolov5的缺陷检测方法、装置、设备及存储介质,所述方法包括:获取至少一张缺陷图片;将所述缺陷图片输入基于Yolov5的目标缺陷检测网络,输出所述缺陷图片中的缺陷对应的目标框,和/或输出所述缺陷图片中的缺陷对应的目标缺陷类别;其中,所述目标框用于表示所述缺陷图片中的缺陷在所述缺陷图片中的位置,所述目标缺陷类别为预设的若干缺陷类别中的一个,所述目标缺陷检测网络是通过对Yolov5进行通道剪枝确定的。利用本申请公开的方法,可以实现缺陷检测所需要的计算资源有效减少。源有效减少。源有效减少。


技术研发人员:蔡传宝 唐凤英 陈高
受保护的技术使用者:深圳市长盈精密技术股份有限公司
技术研发日:2023.06.05
技术公布日:2023/10/7
版权声明

本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

飞行汽车 https://www.autovtol.com/

分享:

扫一扫在手机阅读、分享本文

相关推荐