
1.本发明涉及人工智能技术领域,尤其涉及一种产品缺陷检测方法、电子设备、存储介质及程序产品。
背景技术:2.随着自动化生产技术的发展,各种工业产品的产量也在逐年上升。而在工业产品生产过程中,产品的表面缺陷检测尤为重要,这直接影响到产品的质量以及下游的生产环节。现阶段产品外观质量检查基本由人工完成,这不但提升了人力成本,并且效率和准确率也难以保证,因此迫切需要实现产品外观缺陷的自动化检测。
技术实现要素:3.本发明提供一种产品缺陷检测方法、电子设备、存储介质及程序产品,用以解决现有技术中产品缺陷检测依赖人工,不仅提升了人力成本,并且效率和准确率也难以保证的缺陷。
4.本发明提供一种产品缺陷检测方法,包括:
5.确定待测产品图像;
6.获取产品缺陷检测结果,输入所述待测产品图像至产品缺陷检测模型,得到所述产品缺陷检测模型输出的产品缺陷检测结果;
7.其中,产品缺陷检测模型用于根据所述待测产品图像的特征图与目标特征映射中心的距离,对待测产品图像进行产品缺陷检测;所述产品缺陷检测模型是基于不同位置和/或角度的样本产品图像训练得到的。
8.根据本发明提供的一种产品缺陷检测方法,所述产品缺陷检测模型包括特征提取层,所述产品缺陷检测模型还包括图像匹配层和缺陷区域定位层;
9.其中,所述图像匹配层用于将待测产品图像的位置和/或角度,调整成与第一目标图像相同的位置和/或角度;
10.所述缺陷区域定位层用于根据所述待测产品图像的特征图与目标特征映射中心的距离构建第一距离热图,并根据所述第一距离热图获取待测产品图像的产品缺陷检测结果。
11.根据本发明提供的一种产品缺陷检测方法,所述图像匹配层包括:
12.子特征提取层,用于获取第一目标图像,并通过预设特征提取网络对所述待测产品图像和所述第一目标图像进行特征提取,分别获取与所述待测产品图像对应的第一特征图和与所述第一目标图像对应的第二特征图;
13.拼接层,用于根据所述第一特征图和第二特征图在通道维度上进行拼接,得到第三特征图;
14.最终匹配层,用于基于所述第三特征图获取几何变换参数,并根据所述几何变换参数将所述待测产品图像匹配到与所述第一目标图像相同的位置和/或角度,得到第一匹
配图像;所述几何变换参数包括水平平移量、垂直平移量以及旋转角中的至少一种。
15.根据本发明提供的一种产品缺陷检测方法,所述特征提取层用于减小所述待测产品图像中正常图像的特征到目标特征映射中心的距离,并增大待测产品图像中异常图像的特征到目标特征映射中心的距离。
16.根据本发明提供的一种产品缺陷检测方法,所述确定待测产品图像之前,还包括对所述产品缺陷检测模型进行训练的步骤,所述对所述产品缺陷检测模型进行训练,包括:
17.确定样本产品图像;
18.随机旋转和/或平移所述样本产品图像;
19.将样本产品图像的位置和/或角度,调整成与目标样品图像相同的位置和/或角度;
20.通过目标特征提取网络对所述样本产品图像进行特征提取得到目标特征图;所述目标特征提取网络用于减小所述样本产品图像中正常图像的特征到目标特征映射中心的距离,并增大所述样本产品图像中异常图像的特征到目标特征映射中心的距离;
21.根据所述样本产品图像的目标特征图的各个特征与目标特征映射中心的距离构建第二距离热图;
22.基于所述第二距离热图构建第二损失函数,基于所述第二损失函数训练所述目标特征提取网络。
23.根据本发明提供的一种产品缺陷检测方法,所述将样本产品图像的位置和/或角度,调整成与目标样品图像相同的位置和/或角度,包括:
24.获取第二目标图像,并通过预设特征提取网络对所述样本产品图像和所述第二目标图像进行特征提取,分别获取与所述样本产品图像对应的第四特征图和与所述第二目标图像对应的第五特征图;
25.根据所述第四特征图和第五特征图在通道维度上进行拼接,得到第六特征图;
26.基于所述第六特征图获取几何变换参数,根据所述几何变换参数将所述样本产品图像匹配到与所述第二目标图像相同的位置和/或角度,得到第二匹配图像;所述几何变换参数包括水平平移量、垂直平移量以及旋转角中的至少一种。
27.根据本发明提供的一种产品缺陷检测方法,所述几何变换参数通过以下公式获取:
[0028][0029]
其中,io为样本产品图像,i
t
为第二目标图像,n
p
为预设特征提取网络,n
p
(io)为第四特征图,n
p
(i
t
)为第五特征图;代表着将第四特征图和第五特征图在通道维度上的拼接过程,nr为参数回归网络,nr根据拼接后的第六特征图得到所述几何变换参数;
[0030]
所述第二匹配图像通过以下公式获取:
[0031]im
=f
geo
(io,t
x
,ty,θ);
[0032]
其中,f
geo
代表几何变换的过程,通过旋转和/或平移将样本产品图像io中的目标匹配到与第二目标图像i
t
相同的位置与角度,im为匹配后得到的第二匹配图像。
[0033]
根据本发明提供的一种产品缺陷检测方法,所述对所述产品缺陷检测模型进行训练,还包括:
[0034]
基于所述第二匹配图像和所述第二目标图像计算第一损失函数;
[0035]
根据所述第一损失函数训练所述预设特征提取网络和所述参数回归网络。
[0036]
根据本发明提供的一种产品缺陷检测方法,所述第一损失函数通过以下公式获取:
[0037][0038]
其中,l
reg
为第一损失函数,n为样本产品图像中像素点的数量。
[0039]
根据本发明提供的一种产品缺陷检测方法,所述将样本产品图像的位置和/或角度,调整成与目标样品图像相同的位置和/或角度之后,还包括:
[0040]
在所述样本产品图像中的目标区域显示异常图像,所述异常图像的亮度或纹路与所述样本产品图像中的除去目标区域之外的其它区域的亮度或纹路不同。
[0041]
根据本发明提供的一种产品缺陷检测方法,所述第二损失函数通过以下公式表示:
[0042][0043]
其中,l
map
(fm,fc)表示第二损失函数,fm是样本产品图像的目标特征图,fc为目标特征映射中心;w和h分别代表着样本产品图像的特征图的宽与高,ms是一个与样本产品图像的目标特征图fm具有相同分辨率的二值图像,代表着ms中坐标为(i,j)位置处的值,代表着对应的提取自所述异常图像的区域,而代表着对应的提取自正常图像的区域;代表第二距离热图中坐标为(i,j)位置处的值;δ表示异常图像的特征距离的上限值。
[0044]
本发明还提供一种产品缺陷检测装置,包括:
[0045]
确定模块,用于确定待测产品图像;
[0046]
检测结果获取模块,用于获取产品缺陷检测结果,输入所述待测产品图像至产品缺陷检测模型,得到所述产品缺陷检测模型输出的产品缺陷检测结果;
[0047]
其中,产品缺陷检测模型用于根据所述待测产品图像的特征图与目标特征映射中心的距离,对待测产品图像进行产品缺陷检测;所述产品缺陷检测模型是基于不同位置和/或角度的样本产品图像训练得到的。
[0048]
本发明还提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上述任一种所述产品缺陷检测方法的步骤。
[0049]
本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如上述任一种所述产品缺陷检测方法的步骤。
[0050]
本发明还提供一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现如上述任一种所述产品缺陷检测方法的步骤。
[0051]
本发明提供的产品缺陷检测方法、电子设备、存储介质及程序产品,通过确定待测产品图像;并获取产品缺陷检测结果,输入所述待测产品图像至产品缺陷检测模型,得到所述产品缺陷检测模型输出的产品缺陷检测结果;其中,产品缺陷检测模型用于根据所述待测产品图像的特征图与目标特征映射中心的距离,对待测产品图像进行产品缺陷检测;所述产品缺陷检测模型是基于不同位置和/或角度的样本产品图像训练得到的。由于待测产品图像的正常区域和缺陷区域与目标特征映射中心的距离不同,本发明通过待测产品图像的特征图与目标特征映射中心的距离,对待测产品图像进行产品缺陷检测,得到产品缺陷检测结果,从而本发明无需依赖人工,降低人力成本,且提高产品缺陷检测的效率和准确率。
附图说明
[0052]
为了更清楚地说明本发明或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单的介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0053]
图1是本发明提供的产品缺陷检测方法的流程示意图之一;
[0054]
图2是本发明进行图像匹配的示意图;
[0055]
图3是本发明的待测产品图像、第一匹配图像、缺陷区域定位结果和缺陷标注图的示意图;
[0056]
图4是本发明提供的产品缺陷检测方法的流程示意图之二;
[0057]
图5是本发明提供的产品缺陷检测方法的流程示意图之三;
[0058]
图6是本发明提供的产品缺陷检测方法的流程示意图之四;
[0059]
图7是本发明提供的产品缺陷检测方法的流程示意图之五;
[0060]
图8是本发明提供的产品缺陷检测方法的流程示意图之六;
[0061]
图9是本发明的异常样本产品图像合成示意图;
[0062]
图10是本发明进行特征提取的示意图;
[0063]
图11是本发明提供的产品缺陷检测装置的结构示意图;
[0064]
图12是本发明提供的电子设备的结构示意图。
具体实施方式
[0065]
为使本发明的目的、技术方案和优点更加清楚,下面将结合本发明中的附图,对本发明中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0066]
下面结合图1-图10描述本发明的产品缺陷检测方法。
[0067]
请参照图1,本发明提供一种产品缺陷检测方法,包括:
[0068]
步骤200、确定待测产品图像;
[0069]
通过电子设备的摄像装置获取待测产品图像,其中待测产品图像可以是各种工业产品的图像,如工业生产的清洁用品(如牙刷)、玩具、餐具(如碗)等各种工业生产的产品的
图像。
[0070]
步骤300、获取产品缺陷检测结果,输入所述待测产品图像至产品缺陷检测模型,得到所述产品缺陷检测模型输出的产品缺陷检测结果;
[0071]
其中,产品缺陷检测模型用于根据所述待测产品图像的特征图与目标特征映射中心的距离,对待测产品图像进行产品缺陷检测;所述产品缺陷检测模型是基于不同位置和/或角度的样本产品图像训练得到的。
[0072]
由于待测产品图像的缺陷区域与正常区域的亮度、图案或纹路等存在差异。所述待测产品图像的特征图的缺陷区域和正常区域分别与目标特征映射中心的距离也不同,从而根据所述待测产品图像的特征图与目标特征映射中心的距离,对待测产品图像进行产品缺陷检测。并且,本发明的产品缺陷检测模型应使得待测产品图像的特征图的缺陷区域与目标特征映射中心的距离,和正常区域与目标特征映射中心的距离差距尽可能大。例如,对于提取自正常区域的特征,希望尽可能减小其与目标特征映射中心的距离,而对于提取自缺陷区域的特征,则希望尽可能增大其与目标特征映射中心的距离。
[0073]
另外,产品缺陷检测模型是基于不同位置和/或角度的样本产品图像训练得到的。由于产品的原始图像采集条件较为理想,待测铲平的位置和/或角度基本保持一致。然而一般的生产过程中待测产品之间往往会出现平移和/或旋转等变化,在理想条件下训练得到的模型会无法适应上述复杂的环境。因此,产品缺陷检测模型是基于不同位置和/或角度的样本产品图像训练得到的,进而模拟实际检测环境中可能出现的位置和/或角度上的差异。提高产品缺陷检测模型检测产品缺陷的准确性,扩大检测产品缺陷检测的应用场景。
[0074]
在一些可行的实施例中,所述产品缺陷检测模型包括特征提取层,所述产品缺陷检测模型还包括图像匹配层和缺陷区域定位层。
[0075]
其中,所述图像匹配层用于将待测产品图像的位置和/或角度,调整成与第一目标图像相同的位置和/或角度。
[0076]
传统的产品异常检测方法往往没有考虑待测产品在位置和/或角度上存在差异的情况,往往使用同一个模型来描述这些多样化的样本,这可能会影响对一些微弱缺陷区域的定位性能。在本发明中,首先会进行图像的匹配,通过图像匹配层分析原始图像和目标图像之间的差异并尝试将待测产品调整至与目标图像相同的位置和/或角度。
[0077]
进一步的,所述图像匹配层包括:
[0078]
子特征提取层,用于获取第一目标图像,并通过预设特征提取网络对所述待测产品图像和所述第一目标图像进行特征提取,分别获取与所述待测产品图像对应的第一特征图和与所述第一目标图像对应的第二特征图。
[0079]
具体而言,请参照图2,将待测产品图像io和从训练集中随机选择的第一目标图像i
t
,先经过预设特征提取网络n
p
进行特征提取并分别得到对应的第一特征图fo和第二特征图f
t
。
[0080]
拼接层,用于根据所述第一特征图和第二特征图在通道维度上进行拼接,得到第三特征图。
[0081]
最终匹配层,用于基于所述第三特征图获取几何变换参数,并根据所述几何变换参数将所述待测产品图像匹配到与所述第一目标图像相同的位置和/或角度,得到第一匹配图像。
[0082]
根据拼接后的第三特征图可得到几何变换相关参数:例如水平平移量t
x
,垂直平移量ty以及旋转角θ。具体为:
[0083][0084]
其中,io为待测产品图像,i
t
为从训练集中随机选择的第一目标图像,n
p
为预设特征提取网络,n
p
(io)表示第一特征图、n
p
(i
t
)表示第二特征图;代表着将两个特征图在通道维度上的拼接过程,nr为参数回归网络,nr根据拼接后的特征图得到三个几何变换的参数。
[0085]
值得一提的是,对于待测产品图像与相比第一目标图像发生位置变化的情况,根据拼接后的第三特征图得到几何变换参数为水平平移量tx,垂直平移量ty;对于待测产品图像与相比第一目标图像发生旋转变化的情况,根据拼接后的第三特征图得到几何变换参数为旋转角θ;对于待测产品图像与相比第一目标图像同时发生位置变化和旋转变化的情况,根据拼接后的第三特征图得到几何变换参数为水平平移量tx,垂直平移量ty以及旋转角θ。
[0086]
请参照图2,电子设备通过旋转和平移将待测产品图像io中的目标匹配到与第一目标图像it相同的位置与角度,得到第一匹配图像im。具体为,
[0087]im
=f
geo
(io,t
x
,ty,θ);公式(2)
[0088]
其中,f
geo
代表几何变换的过程,通过旋转和平移将待测产品图像io中的目标匹配到与第一目标图像i
t
相同的位置与角度,im为匹配后得到的第一匹配图像。
[0089]
通过图像匹配层以提前消除待测产品图像中待测产品在位置和/或角度上的差异,以便后续的特征提取层的训练。
[0090]
在图像匹配层之后,本实施例首先指定了一个目标特征映射中心,在利用特征提取层进行特征提取的过程中,尽可能地减小待测产品图像中正常区域的特征到目标特征映射中心的距离,同时尽可能地增大待测产品图像中异常区域的特征到目标特征映射中心的距离。
[0091]
本实施例采用特征图为映射中心,为每一个局部图像区域都分别指定了一个目标特征映射中心点。对于提取自正常区域的特征,希望尽可能减小其与对应目标特征映射中心的距离,而对于提取自异常图像区域的特征,则希望尽可能增大其与对应目标特征映射中心的距离。
[0092]
所述缺陷区域定位层用于根据所述待测产品图像的特征图与目标特征映射中心的距离构建第一距离热图,并根据所述第一距离热图获取待测产品图像的产品缺陷检测结果。
[0093]
通过电子设备对待测产品图像中每一个图像区域都分别进行特征提取,并与目标特征映射中心fc中对应的特征向量计算余弦距离,统计所有距离值以构建第一距离热图。由于特征图和计算得到的第一距离热图的分辨率要小于待测产品图像,因此最后通过上采样的方式就能够得到缺陷区域的定位结果。
[0094]
其中,第一距离热图通过如下公式表示:
[0095][0096]
其中,fm是待测产品图像的特征图,fc为目标特征映射中心,表示待
测产品图像的特征图在坐标(i,j)位置与目标特征映射中心的余弦距离。
[0097]
在一个典型的实施例中缺陷区域定位效果如图3所示,其中从左至右分别代表着待测产品图像、第一匹配图像、缺陷区域定位结果和缺陷标注图。定位结果中越亮的区域越有可能是缺陷区域(或称异常图像区域)。本发明所提出的方法,在公开数据集中经过测试,其平均定位指标曲线下面积(area under the curve)达到了0.98,且仅需27ms就可完成224
×
224像素的图像内缺陷区域的定位。从而本发明通过待测产品图像的特征图与目标特征映射中心的距离,对待测产品图像进行产品缺陷检测,得到产品缺陷检测结果。本发明无需依赖人工,降低人力成本,且提高产品缺陷检测的效率和准确率。
[0098]
通过确定待测产品图像;并获取产品缺陷检测结果,输入所述待测产品图像至产品缺陷检测模型,得到所述产品缺陷检测模型输出的产品缺陷检测结果;其中,产品缺陷检测模型用于根据所述待测产品图像的特征图与目标特征映射中心的距离,对待测产品图像进行产品缺陷检测;所述产品缺陷检测模型是基于不同位置和/或角度的样本产品图像训练得到的。由于待测产品图像的正常区域和缺陷区域与目标特征映射中心的距离不同,本发明通过待测产品图像的特征图与目标特征映射中心的距离,对待测产品图像进行产品缺陷检测,得到产品缺陷检测结果,从而本发明无需依赖人工,降低人力成本,且提高产品缺陷检测的效率和准确率。
[0099]
在其它一些实施例中,请参照图4,步骤200、确定待测产品图像之前,还包括:
[0100]
步骤100、对所述产品缺陷检测模型进行训练的步骤,请参照图5,所述对产品缺陷检测模型进行训练,包括:
[0101]
步骤110、确定样本产品图像;
[0102]
同样的,通过电子设备的摄像装置获取样本产品图像,其中样本产品图像可以是各种工业产品的图像,如工业生产的清洁用品(如牙刷)、玩具、餐具(如碗)、布匹、医药(如胶囊)、连接件(如螺钉)等各种工业生产的产品的图像。
[0103]
值得一提的是,现有的外观缺陷检测方法,往往需要先收集大量的缺陷样本并进行人工标注,才能够进行模型的训练和参数调整。这大大增加了检测系统的研发成本与周期,也导致现有方法难以应用到产线经常更换的场景中。但是本实施例的样本产品图像可采用各种正常的无缺陷的产品图像进行训练,而不需要任何标注信息的缺陷样本图像,只需要正常样本产品图像进行训练,具有非常好的实用性和通用性。
[0104]
步骤120、随机旋转和/或平移所述样本产品图像;
[0105]
电子设备随机旋转和/或平移所述样本产品图像。本实施例通过随机旋转和/或平移所述样本产品图像的数据预处理,来模拟实际检测环境中样本产品可能出现的位置和角度上的差异,对所有的样本产品图像都进行随机的旋转和平移。
[0106]
在一些可行的实施例中,可选的,旋转的范围为正负10度,平移的范围为在上方向、下方向、左方向或右方向平移0-32个像素,通过随机旋转和/或平移所述样本产品图像以此来增加样本的多样性,更好的模拟现实中样本产品的不同位置和/或角度情况。
[0107]
步骤130、将样本产品图像的位置和/或角度,调整成与目标样品图像相同的位置和/或角度;
[0108]
电子设备首先对样本产品进行图像匹配的训练,通过分析样本产品图像和目标图像之间的差异并尝试将样本产品图像调整至与目标图像相同的位置和/或角度。
[0109]
具体的,请参照图6,步骤130、所述将样本产品图像的位置和/或角度,调整成与目标样品图像相同的位置和/或角度,包括:
[0110]
步骤131、获取第二目标图像,并通过预设特征提取网络对所述样本产品图像和所述第二目标图像进行特征提取,分别获取与所述样本产品图像对应的第四特征图和与所述第二目标图像对应的第五特征图。
[0111]
具体而言,将样本产品图像和从训练集中随机选择的第二目标图像,先经过预设特征提取网络进行特征提取并分别得到对应的第四特征图和第五特征图。
[0112]
步骤132、根据所述第四特征图和第五特征图在通道维度上进行拼接,得到第六特征图。
[0113]
步骤133、基于所述第六特征图获取几何变换参数,根据所述几何变换参数将所述样本产品图像匹配到与所述第二目标图像相同的位置和/或角度,得到第二匹配图像;所述几何变换参数包括水平平移量、垂直平移量以及旋转角中的至少一种。
[0114]
根据拼接后的第六特征图得到几何变换相关参数:例如水平平移量t
x
,垂直平移量ty以及旋转角θ。具体为:可参见公式(1)
[0115]
此时公式(1)中io为样本产品图像,i
t
为从训练集中随机选择的第二目标图像,n
p
为预设特征提取网络,n
p
(io)表示第四特征图、n
p
(i
t
)表示第五特征图;代表着将两个特征图在通道维度上的拼接过程,nr为参数回归网络,nr根据拼接后的特征图得到三个几何变换的参数。
[0116]
值得一提的是,对于样本产品图像与相比第二目标图像发生位置变化的情况,根据拼接后的第六特征图得到几何变换参数为水平平移量tx,垂直平移量ty;对于样本产品图像与相比第二目标图像发生旋转变化的情况,根据拼接后的第六特征图得到几何变换参数为旋转角θ;对于样本产品图像与相比第二目标图像同时发生位置变化和旋转变化的情况,根据拼接后的第六特征图得到几何变换参数为水平平移量tx,垂直平移量ty以及旋转角θ。
[0117]
电子设备通过旋转和/或平移将样本产品图像中的目标匹配到与第二目标图像相同的位置与角度,得到第二匹配图像。具体为可参见公式(2)。其中,f
geo
代表几何变换的过程,通过旋转和平移将样本产品图像中的目标匹配到与第二目标图像相同的位置与角度,im为匹配后得到的第二匹配图像。
[0118]
通过将样本产品图像和第二目标图像进行图像匹配,可提前消除样本产品图像中样本产品在位置和/或角度上的差异,以便后续的特征提取的训练过程。
[0119]
值得一提的是,请参照图7,步骤100、所述将样本产品图像的位置和/或角度,调整成与目标样品图像相同的位置和/或角度,还包括:
[0120]
步骤134、基于所述第二匹配图像和所述第二目标图像计算第一损失函数;
[0121]
步骤135、根据所述第一损失函数训练所述预设特征提取网络和所述参数回归网络。
[0122]
第一损失函数公式如下:
[0123]
其中,l
reg
为第一损失函数,n为第二匹配图像中像素点的数量,公式(4)通过计算
第二匹配图像im与第二目标图像i
t
之间的差异来训练预设特征提取网络n
p
和参数回归网络nr。
[0124]
本实施例的步骤130,可以将样本产品图像中的目标调整至与第二目标图像i
t
相同的位置和/或角度,大大降低后续特征提取和异常检测的难度。
[0125]
在其他一些实施例中,请参照图8,步骤130、将待测产品图像的位置和/或角度,调整成与目标样品图像相同的位置和/或角度之后,还包括:
[0126]
步骤140、在所述样本产品图像中的目标区域显示异常图像,所述异常图像的亮度或纹路与所述样本产品图像中的除去目标区域之外的其它区域的亮度或纹路不同。
[0127]
现有的异常检测方法往往都仅在正常样本上进行了训练,只学习了正常样本的相关知识,对于实际的缺陷样本的检测精度有限。本实施例自动生成了多样化的异常样本(或称缺陷样本)来提升训练效果。
[0128]
电子设备在所述样本产品图像中的目标区域显示异常图像,所述异常图像的亮度或纹路与所述样本产品图像中除去目标区域之外的其它区域的亮度或纹路不同。具体的,如图9表示异常样本产品图像合成示意图,在正常样本产品图像io经过匹配后得到的第二匹配图像im中,叠加上异常图像m最终形成一张在局部区域存在异常图形的异常样本产品图像i
m+
。这些异常样本产品图像i
m+
一定程度上模拟了真实的缺陷图像,有助于提升产品缺陷检测模型的判别能力和检测精度。
[0129]
其中异常图像可以一个图形(例如圆形,正方形,矩形,三角形或不规则图形等),异常图像也可以是一条长度、位置、角度、宽度等参数都随机的多段折线,而该折线所覆盖区域内的图像,会随机地变亮、变暗或者直接替换成来自别的数据集的图像。
[0130]
需要对于输入的异常样本产品图像i
m+
进行特征提取,通过分析提取后的特征来进行产品缺陷检测。
[0131]
步骤150、通过目标特征提取网络对所述样本产品图像进行特征提取得到目标特征图;所述目标特征提取网络用于减小所述样本产品图像中正常图像的特征到目标特征映射中心的距离,并增大所述样本产品图像中异常图像的特征到目标特征映射中心的距离;
[0132]
本发明采用特征图为目标特征映射中心,为每一个样本产品图像的局部区域都分别指定了一个目标特征映射中心点。图10展示了本发明中特征提取的示意图,其中,i
m+
为输入的异常样本产品图像,nm为目标特征提取网络,fm是样本产品图像的目标特征图,fc为目标特征映射中心。通过目标特征提取网络对所述样本产品图像进行特征提取得到目标特征图,对于提取自样本产品图像的正常区域的特征,希望尽可能减小其与目标特征映射中心的距离,而对于提取自样本产品图像的异常区域的特征,则希望尽可能增大其与目标特征映射中心的距离。
[0133]
步骤160、根据所述样本产品图像的目标特征图的各个特征与目标特征映射中心的距离构建第二距离热图;
[0134]
其中,第二距离热图通过如下公式表示:
[0135][0136]
其中,fm是样本产品图像的目标特征图,fc为目标特征映射中心,表示第二距离热图中坐标为(i,j)位置处的值。
[0137]
步骤170、基于所述第二距离热图构建第二损失函数,基于所述第二损失函数训练所述目标特征提取网络。
[0138]
具体为,所述第二损失函数通过以下公式表示:
[0139][0140][0141]
其中,l
map
(fm,fc)表示第二损失函数,fm是样本产品图像的目标特征图,fc为目标特征映射中心;w和h分别代表着样本产品图像的特征图的宽与高,ms是一个与样本产品图像的目标特征图fm具有相同分辨率的二值图像,代表着ms中坐标为(i,j)位置处的值,代表着对应的提取自所述异常图像的区域,而代表着对应的提取自正常图像的区域;代表第二距离热图中坐标为(i,j)位置处的值;δ表示异常图像的特征距离的上限值。
[0142]
需要说明的是,其中,fm=nm(i
m+
),fm表示样本产品图像io的目标特征图,nm表示图10中目标特征提取网络nm,i
m+
表示在正常样本产品图像io经过匹配后得到的第二匹配图像im中,叠加上异常图像m最终形成一张在局部区域存在异常图形的异常样本产品图像。
[0143]
公式(6)中前半部分尽可能减少正常图像的特征到对应的目标特征映射中心点的距离,而公式(6)后半部分尽可能增大异常图像的特征到目标特征映射中心点的距离。
[0144]
值得一提的是,对于公式(6)本实施例设定了一个异常区域特征距离的上限值δ,当异常区域的特征距离目标特征映射中心点足够远,即当异常区域的特征距离目标特征映射中心点足够远,即时,在max函数的作用下,公式(6)的后半部分不再参与计算,避免步骤170过多地针对步骤140中的异常样本产品图像i
m+
进行优化导致过拟合。
[0145]
通过电子设备对样本产品图像中每一个图像区域都分别进行特征提取,并与目标特征映射中心fc中对应的特征向量计算余弦距离,统计所有距离值以构建第二距离热图。由于样本产品图像的目标特征图和计算得到的第二距离热图的分辨率要小于样本产品图像,因此最后通过上采样的方式就能够得到样本产品图像的缺陷区域的定位结果。
[0146]
下面对本发明提供的产品缺陷检测装置进行描述,下文描述的产品缺陷检测装置与上文描述的产品缺陷检测方法可相互对应参照。
[0147]
请参照图11,本发明还提供一种产品缺陷检测装置,包括:
[0148]
第一确定模块201,用于确定待测产品图像;
[0149]
第一检测结果获取模块202,用于获取产品缺陷检测结果,输入所述待测产品图像至产品缺陷检测模型,得到所述产品缺陷检测模型输出的产品缺陷检测结果;
[0150]
其中,产品缺陷检测模型用于根据所述待测产品图像的特征图与目标特征映射中心的距离,对待测产品图像进行产品缺陷检测;所述产品缺陷检测模型是基于不同位置和/或角度的样本产品图像训练得到的。
[0151]
在上述各实施例的基础上,作为一种可选实施例,所述产品缺陷检测模型包括第一特征提取模块,所述产品缺陷检测模型还包括第一图像匹配模块和第一缺陷区域定位模块;
[0152]
其中,所述包括第一图像匹配模块用于将待测产品图像的位置和/或角度,调整成与第一目标图像相同的位置和/或角度;
[0153]
所述第一缺陷区域定位模块用于根据所述待测产品图像的特征图与目标特征映射中心的距离构建第一距离热图,并根据所述第一距离热图获取待测产品图像的产品缺陷检测结果。
[0154]
在上述各实施例的基础上,作为一种可选实施例,所述第一图像匹配模块包括:
[0155]
第一子特征提取模块,用于获取第一目标图像,并通过预设特征提取网络对所述待测产品图像和所述第一目标图像进行特征提取,分别获取与所述待测产品图像对应的第一特征图和与所述第一目标图像对应的第二特征图;
[0156]
第一拼接模块,用于根据所述第一特征图和第二特征图在通道维度上进行拼接,得到第三特征图;
[0157]
第一最终匹配模块,用于基于所述第三特征图获取几何变换参数,并根据所述几何变换参数将所述待测产品图像匹配到与所述第一目标图像相同的位置和/或角度,得到第一匹配图像;所述几何变换参数包括水平平移量、垂直平移量以及旋转角中的至少一种。
[0158]
在上述各实施例的基础上,作为一种可选实施例,所述第一特征提取模块用于减小所述待测产品图像中正常图像的特征到目标特征映射中心的距离,并增大待测产品图像中异常图像的特征到目标特征映射中心的距离。
[0159]
在上述各实施例的基础上,作为一种可选实施例,所述产品缺陷检测装置还包括模型训练模块,模型训练模块包括:
[0160]
第二确定模块,用于确定样本产品图像;
[0161]
几何变换模块,用于随机旋转和/或平移所述样本产品图像;
[0162]
第二图像匹配模块,用于将样本产品图像的位置和/或角度,调整成与目标样品图像相同的位置和/或角度;
[0163]
第二特征提取模块,用于通过目标特征提取网络对所述样本产品图像进行特征提取得到目标特征图;所述目标特征提取网络用于减小所述样本产品图像中正常图像的特征到目标特征映射中心的距离,并增大所述样本产品图像中异常图像的特征到目标特征映射中心的距离;
[0164]
第二距离热图构建模块,用于根据所述样本产品图像的目标特征图的各个特征与目标特征映射中心的距离构建第二距离热图;
[0165]
训练模块,用于基于所述第二距离热图构建第二损失函数,基于所述第二损失函数训练所述目标特征提取网络。
[0166]
在上述各实施例的基础上,作为一种可选实施例,所述第二图像匹配模块,包括:
[0167]
第二子特征提取模块,用于获取第二目标图像,并通过预设特征提取网络对所述样本产品图像和所述第二目标图像进行特征提取,分别获取与所述样本产品图像对应的第四特征图和与所述第二目标图像对应的第五特征图;
[0168]
第二拼接模块,用于根据所述第四特征图和第五特征图在通道维度上进行拼接,
得到第六特征图;
[0169]
第二最终匹配模块,用于基于所述第六特征图获取几何变换参数,根据所述几何变换参数将所述样本产品图像匹配到与所述第二目标图像相同的位置和/或角度,得到第二匹配图像;所述几何变换参数包括水平平移量、垂直平移量以及旋转角中的至少一种。
[0170]
在上述各实施例的基础上,作为一种可选实施例,所述几何变换参数通过以下公式获取:
[0171][0172]
其中,io为样本产品图像,i
t
为第二目标图像,n
p
为预设特征提取网络,n
p
(io)为第四特征图,n
p
(i
t
)为第五特征图;代表着将第四特征图和第五特征图在通道维度上的拼接过程,nr为参数回归网络,nr根据拼接后的第六特征图得到所述几何变换参数;
[0173]
所述第二匹配图像通过以下公式获取:
[0174]im
=f
geo
(io,t
x
,ty,θ);
[0175]
其中,f
geo
代表几何变换的过程,通过旋转和/或平移将样本产品图像io中的目标匹配到与第二目标图像i
t
相同的位置与角度,im为匹配后得到的第二匹配图像。
[0176]
在上述各实施例的基础上,作为一种可选实施例,所述模型训练模块还包括:
[0177]
第一损失函数计算模块,用于基于所述第二匹配图像和所述第二目标图像计算第一损失函数;
[0178]
第一损失函数训练模块,用于根据所述第一损失函数训练所述预设特征提取网络和所述参数回归网络。
[0179]
在上述各实施例的基础上,作为一种可选实施例,所述第一损失函数通过以下公式获取:
[0180][0181]
其中,l
reg
为第一损失函数,n为样本产品图像中像素点的数量。
[0182]
在上述各实施例的基础上,作为一种可选实施例,所述产品缺陷检测装置还包括:
[0183]
异常样本构建模块,用于在所述样本产品图像中的目标区域显示异常图像,所述异常图像的亮度或纹路与所述样本产品图像中的除去目标区域之外的其它区域的亮度或纹路不同。
[0184]
在上述各实施例的基础上,作为一种可选实施例,所述第二损失函数通过以下公式获取:
[0185][0186]
其中,l
map
(fm,fc)表示第二损失函数,fm是样本产品图像的目标特征图,fc为目标特征映射中心;w和h分别代表着样本产品图像的特征图的宽与高,ms是一个与样本产品图像的目标特征图fm具有相同分辨率的二值图像,代表着ms中坐标为(i,j)位置处的值,
代表着对应的提取自所述异常图像的区域,而代表着对应的提取自正常图像的区域;代表第二距离热图中坐标为(i,j)位置处的值;δ表示异常图像的特征距离的上限值。
[0187]
图12示例了一种电子设备的实体结构示意图,如图12所示,该电子设备可以包括:处理器(processor)810、通信接口(communications interface)820、存储器(memory)830和通信总线840,其中,处理器810,通信接口820,存储器830通过通信总线840完成相互间的通信。处理器810可以调用存储器830中的逻辑指令,以执行产品缺陷检测方法,该方法包括:确定待测产品图像;获取产品缺陷检测结果,输入所述待测产品图像至产品缺陷检测模型,得到所述产品缺陷检测模型输出的产品缺陷检测结果;其中,产品缺陷检测模型用于根据所述待测产品图像的特征图与目标特征映射中心的距离,对待测产品图像进行产品缺陷检测;所述产品缺陷检测模型是基于不同位置和/或角度的样本产品图像训练得到的。
[0188]
此外,上述的存储器830中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、磁碟或者光盘等各种可以存储程序代码的介质。
[0189]
另一方面,本发明还提供一种计算机程序产品,所述计算机程序产品包括计算机程序,计算机程序可存储在非暂态计算机可读存储介质上,所述计算机程序被处理器执行时,计算机能够执行上述各方法所提供的产品缺陷检测方法,该方法包括:确定待测产品图像;获取产品缺陷检测结果,输入所述待测产品图像至产品缺陷检测模型,得到所述产品缺陷检测模型输出的产品缺陷检测结果;其中,产品缺陷检测模型用于根据所述待测产品图像的特征图与目标特征映射中心的距离,对待测产品图像进行产品缺陷检测;所述产品缺陷检测模型是基于不同位置和/或角度的样本产品图像训练得到的。
[0190]
又一方面,本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现以执行上述各方法提供的产品缺陷检测方法,该方法包括:确定待测产品图像;获取产品缺陷检测结果,输入所述待测产品图像至产品缺陷检测模型,得到所述产品缺陷检测模型输出的产品缺陷检测结果;其中,产品缺陷检测模型用于根据所述待测产品图像的特征图与目标特征映射中心的距离,对待测产品图像进行产品缺陷检测;所述产品缺陷检测模型是基于不同位置和/或角度的样本产品图像训练得到的。
[0191]
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
[0192]
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可
借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如rom/ram、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
[0193]
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。