瑕疵检测方法、电子装置及存储介质与流程

文档序号:31272785发布日期:2022-08-26 21:50阅读:73来源:国知局
瑕疵检测方法、电子装置及存储介质与流程

1.本发明涉及外观检测技术领域,尤其涉及一种瑕疵检测方法、电子装置及存储介质。


背景技术:

2.随着科学技术的发展,基于深度学习的神经网络模型,例如卷积神经网络,广泛应用于人工智能领域,可以实现各种功能的自动化,例如调制数据、图像数据等数据的自动化检测及分类。在对图像数据中的瑕疵信号进行检测时,通常需要根据数据集训练卷积神经网络,并对训练过程中的最后一层卷积层进行特征提取,然后进行后续的瑕疵信号检测。然而,当原始图像数据的相似性较高时,提取的特征的相似性也会较高而不易分类,从而降低瑕疵信号的检测准确度。


技术实现要素:

3.有鉴于此,有必要提供一种瑕疵检测方法、电子装置及存储介质,对于待检测的图像数据直接进行降维处理,并结合高斯混合模型进行瑕疵检测,以提高检测准确度。
4.本发明的第一方面提供一种瑕疵检测方法,所述方法包括:
5.将待检测的多个产品图像划分为线性图像或非线性图像;
6.根据多个降维算法对经过图像划分的所述产品图像进行降维处理而得到多个降维数据;
7.确定多个所述降维数据中的最佳降维数据;
8.将所述最佳降维数据输入高斯混合模型而得到所述产品图像的评分数据;
9.将所述评分数据与阈值进行比对,判断所述评分数据是否小于所述阈值;及
10.当所述评分数据小于所述阈值时,确定所述产品图像中存在瑕疵。
11.优选地,所述方法还包括:
12.当所述评分数据大于或等于所述阈值时,确定所述产品图像中不存在瑕疵。
13.优选地,所述将待检测的多个产品图像划分为线性图像或非线性图像包括:
14.对待检测的所述产品图像进行归一化处理;
15.将所述产品图像的像素值输入线性评分函数而得到线性图像及非线性图像的分类分值;
16.判断所述线性图像的分类分值是否大于所述非线性图像的分类分值;
17.当判定所述线性图像的分类分值大于所述非线性图像的分类分值时,将所述产品图像划分为线性图像;及
18.当所述线性图像的分类分值不大于所述非线性图像的分类分值时,将所述产品图像划分为非线性图像。
19.优选地,所述根据多个降维算法对经过图像划分的所述产品图像进行降维处理而得到多个降维数据包括:
20.当所述产品图像为线性图像时,分别采用主成分分析算法及随机投影算法对所述产品图像进行降维;及
21.当所述产品图像为非线性图像时,分别采用等度量映射算法及t分布随机邻域嵌入算法对所述产品图像进行降维。
22.优选地,所述确定多个所述降维数据中的最佳降维数据:
23.计算每种降维算法得到的多个降维数据之间的距离平均值;及
24.确定距离平均值最大的多个降维数据为所述最佳降维数据。
25.优选地,所述将所述最佳降维数据输入高斯混合模型而得到所述产品图像的评分数据包括:
26.根据待检测瑕疵的类型的数量确定所述高斯混合模型中高斯模型的数量;及
27.根据所述最佳降维数据及em算法计算所述高斯混合模型的期望值及每次迭代的模型参数值;及
28.根据每次迭代计算出的期望值及模型参数值推算出所述高斯混合模型的最佳参数作为所述评分数据。
29.优选地,所述阈值为每次迭代计算出的模型参数值的均值与三倍所述评分数据的标准差之间的差值。
30.优选地,所述方法还包括:
31.在所述产品图像上标示存在瑕疵的区域,并在显示屏上显示标示后的所述产品图像。
32.本发明的第二方面提供一种电子装置,包括:
33.处理器;以及
34.存储器,所述存储器中存储有多个程序模块,所述多个程序模块由所述处理器加载并执行上述的瑕疵检测方法。
35.本发明的第三方面提供一种存储介质,其上存储有至少一条计算机指令,所述指令由处理器并加载执行上述瑕疵检测方法。
36.上述瑕疵检测方法、电子装置及存储介质对于待检测的图像数据直接进行降维处理,并结合高斯混合模型进行瑕疵检测,在数据处理过程中无需进行卷积特征的提取,简化了运算过程,避免丢失信息,从而有效提高了瑕疵检测的准确度。
附图说明
37.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
38.图1是本发明较佳实施方式提供的电子装置的结构示意图。
39.图2是本发明较佳实施方式提供的瑕疵检测系统的结构示意图。
40.图3是本发明较佳实施方式提供的瑕疵检测方法的流程图。
41.主要元件符号说明
42.电子装置1
处理器10瑕疵检测系统100获取模块101划分模块102降维模块103确定模块104计算模块105判断模块106显示模块107存储器20计算机程序30显示屏40
43.如下具体实施方式将结合上述附图进一步说明本发明。
具体实施方式
44.为了能够更清楚地理解本发明的上述目的、特征和优点,下面结合附图和具体实施例对本发明进行详细描述。需要说明的是,在不冲突的情况下,本技术的实施例及实施例中的特征可以相互组合。
45.在下面的描述中阐述了很多具体细节以便于充分理解本发明,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
46.除非另有定义,本文所使用的所有的技术和科学术语与属于本发明的技术领域的技术人员通常理解的含义相同。本文中在本发明的说明书中所使用的术语只是为了描述具体的实施例的目的,不是旨在于限制本发明。
47.请参阅图1所示,为本发明较佳实施方式提供的电子装置的结构示意图。
48.本发明中的瑕疵检测方法应用在电子装置1中。所述电子装置1可以为安装有瑕疵检测程序的电子设备,例如个人电脑、服务器等,其中,所述服务器可以是单一的服务器、服务器集群或云端服务器等。
49.所述电子装置1所处的网络包括但不限于互联网、广域网、城域网、局域网、虚拟专用网络(virtual private network,vpn)等。
50.所述电子装置1包括,但不仅限于,处理器10、存储器20、存储在所述存储器20中并可在所述处理器10上运行的计算机程序30及显示屏40。例如,所述计算机程序30为瑕疵检测程序。所述处理器10执行所述计算机程序30时实现瑕疵检测方法中的步骤,例如图3所示的步骤s301~s309。或者,所述处理器10执行所述计算机程序30时实现瑕疵检测系统中各模块/单元的功能,例如图2中的模块101-107。
51.示例性的,所述计算机程序30可以被分割成一个或多个模块/单元,所述一个或者多个模块/单元被存储在所述存储器20中,并由所述处理器10执行,以完成本发明。所述一个或多个模块/单元可以是能够完成特定功能的一系列计算机程序指令段,所述指令段用于描述所述计算机程序30在所述电子装置1中的执行过程。例如,所述计算机程序30可以被
分割成图3中的获取模块101、划分模块102、降维模块103、确定模块104、计算模块105、判断模块106及显示模块107。各模块具体功能参见瑕疵检测系统实施例中各模块的功能。
52.本领域技术人员可以理解,所述示意图仅仅是电子装置1的示例,并不构成对电子装置1的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如所述电子装置1还可以包括输入输出设备、网络接入设备、总线等。
53.所称处理器10可以是中央处理单元(central processing unit,cpu),还可以是其他通用处理器、数字信号处理器(digital signal processor,dsp)、专用集成电路(application specific integrated circuit,asic)、现成可编程门阵列(field-programmable gate array,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者所述处理器10也可以是任何常规的处理器等,所述处理器10是所述电子装置1的控制中心,利用各种接口和线路连接整个电子装置1的各个部分。
54.所述存储器20可用于存储所述计算机程序30和/或模块/单元,所述处理器10通过运行或执行存储在所述存储器20内的计算机程序和/或模块/单元,以及调用存储在存储器20内的数据,实现所述电子装置1的各种功能。所述存储器20可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据电子装置1的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器20可以包括易失性存储器,还可以包括非易失性存储器,例如硬盘、内存、插接式硬盘,智能存储卡(smart media card,smc),安全数字(secure digital,sd)卡,闪存卡(flash card)、至少一个磁盘存储器件、闪存器件、或其他存储器件。
55.请参阅图2所示,为本发明较佳实施方式提供的瑕疵检测系统的功能模块图。
56.在一些实施方式中,瑕疵检测系统100运行于所述电子装置1中。所述瑕疵检测系统100可以包括多个由程序代码段所组成的功能模块。所述瑕疵检测系统100中的各个程序段的程序代码可以存储于电子装置1的存储器20中,并由所述至少一个处理器10所执行,以实现瑕疵检测功能。
57.本实施方式中,瑕疵检测系统100根据其所执行的功能,可以被划分为多个功能模块。参阅图2所示,所述功能模块可以包括获取模块101、划分模块102、降维模块103、确定模块104、计算模块105、判断模块106及显示模块107。本发明所称的模块是指一种能够被至少一个处理器所执行并且能够完成固定功能的一系列计算机程序段,其存储在存储器20中。可以理解的是,在其他实施例中,上述模块也可为固化于所述处理器10中的程序指令或固件(firmware)。
58.所述获取模块101用于当接收到瑕疵检测请求时,根据所述瑕疵检测请求获取待检测的产品图像。
59.在本实施方式中,所述瑕疵检测请求可以由用户触发(例如:通过预设功能按键进行触发),也可以在预设时间内自动触发。
60.在本实施方式中,所述瑕疵检测请求至少包括检测对象信息。具体的,解析所述瑕疵检测请求,以获得所述瑕疵检测请求中的检测对象信息,根据所述检测对象信息从待检测图像库中获取待检测的所述产品图像。其中,所述检测对象信息可以是产品名称、产品型
号等。
61.所述划分模块102用于将待检测的多个产品图像划分为线性图像或非线性图像。
62.在本实施方式中,所述划分模块102对待检测的所述产品图像进行归一化处理,将所述产品图像的像素值输入线性评分函数而得到线性图像及非线性图像的分类分值,判断所述线性图像的分类分值是否大于所述非线性图像的分类分值,当判定所述线性图像的分类分值大于所述非线性图像的分类分值时,将所述产品图像划分为线性图像,当所述线性图像的分类分值不大于所述非线性图像的分类分值时,将所述产品图像划分为非线性图像。
63.例如,所述线性评分函数为f(xi,w,b)=wxi+b。假设每个图像数据都被拉长为一个长度为d的列向量,大小为[d x 1]。其中,大小为[kxd]的矩阵w和大小为[kx1]列向量b为所述线性评分函数的参数,xi包含了第i个图像的所有像素信息,这些像素信息被拉成为一个[px1]的列向量,w的大小为[qxp],b的大小为[qx1]。其中,p为产品图像的像素点个数,q为类别数量。在本实施方式中,q为2。因此,p个数字(原始像素数值)输入所述线性评分函数,所述线性评分函数输出2个数字(不同分类得到的分值),然后将所述不同分类的分值进行比对。其中,参数w为权重,b被称为偏差向量。
[0064]
所述降维模块103用于根据多个降维算法对经过图像划分的所述产品图像进行降维处理而得到多个降维数据。
[0065]
在本实施方式中,当所述产品图像为线性图像时,所述降维模块103分别采用主成分分析算法(pca)及随机投影算法(random project)对所述产品图像进行降维。当所述产品图像为非线性图像时,所述降维模块103分别采用等度量映射算法(isomap)及t分布随机邻域嵌入算法(t-sne)对所述产品图像进行降维。
[0066]
具体的,采用主成分分析算法进行降维时,所述降维模块103首先将样本数据减去样本平均值,然后通过计算数据协方差矩阵计算数据的主成分,最后将数据通过转换矩阵映射到主成分上,从而实现产品图像的降维。
[0067]
采用随机投影算法进行降维时,所述降维模块103首先选择映射矩阵r∈rk×n,用随机数填充所述映射矩阵,归一化所述映射矩阵中的每一行,然后通过y=rx对数据降维。其中,x为输入数据,y降维后的数据。
[0068]
采用等度量映射算法进行降维时,所述降维模块103确定样本数据中,即产品图像像素点的k近邻,将像素点与k近邻之间的距离设置为欧氏距离,与其他点的距离设置为无穷大,采用最短路径算法计算任一两个像素点之间的距离,将所述距离作为多维标度分析算法的输入数据,通过所述多维标度分析算法输出产品图像像素点在低维空间的投影,从而获得降维的图像。
[0069]
采用t分布随机邻域嵌入算法(t-sne)进行降维时,所述降维模块103通过随机邻接嵌入(sne)将样本数据,即产品图像的像素点之间的高维欧几里得距离转换为表示相似性的条件概率,对于高维数据点xi和xj的低维对应点,计算类似的条件概率,使用梯度下降法最小化kl距离,并定义困惑度,从而获得对应的低维数据。
[0070]
所述确定模块104用于确定多个所述降维数据中的最佳降维数据。
[0071]
在本实施方式中,所述确定模块104计算每种降维算法得到的多个降维数据之间的距离平均值,确定距离平均值最大的多个降维数据为所述最佳降维数据。需要说明的是,
降维数据之间的距离越大,说明降维效果越好。在本实施方式中,所述多个降维数据之间的距离为数据点在邻接图中的距离。
[0072]
所述计算模块105用于将所述最佳降维数据输入高斯混合模型而得到所述产品图像的评分数据。
[0073]
在本实施方式中,所述计算模块105对所述最佳降维数据进行均值池化处理,得到目标向量,然后将所述目标向量输入至预先训练好的高斯混合模型中,得到所述评分数据。其中,所述高斯混合模型能够利用高斯概率密度函数(正态分布图像曲线)精确地量化目标向量对应的评分。
[0074]
具体的,所述计算模块105根据待检测瑕疵的类型的数量确定所述高斯混合模型中高斯模型的数量,根据所述最佳降维数据及em(expectation-maximum)算法计算所述高斯混合模型的期望值及每次迭代的模型参数值,及根据每次迭代计算出的期望值及模型参数值推算出所述高斯混合模型的最佳参数作为所述评分数据。在本实施方式中,所述高斯混合模型中高斯模型的数量为2。
[0075]
在本实施方式中,所述计算模块105可以将所述训练样本数据划分为训练集、测试集及验证集,然后基于最大期望算法,迭代训练所述训练集中的多个低维向量,得到学习器,然后利用所述测试集中的多个低维向量测试所述学习器,得到测试结果,当所述测试结果小于配置值时,所述计算模块105利用所述验证集中的多个低维向量调整所述学习器中的参数,得到所述预先训练好的高斯混合模型。在本实施方式中,所述计算模块105计算所述多个低维向量的数量,当所述数量小于预设数量时,利用数据增强算法增加所述多个低维向量的数量。
[0076]
所述判断模块106用于将所述评分数据与阈值进行比对,判断所述评分数据是否小于所述阈值。
[0077]
在本实施方式中,所述阈值为每次迭代计算出的模型参数值的均值与三倍所述评分数据的标准差之间的差值。
[0078]
所述确定模块104还当所述评分数据小于所述阈值时,确定所述产品图像中存在瑕疵。
[0079]
所述确定模块104还当所述评分数据大于或等于所述阈值时,确定所述产品图像中不存在瑕疵。
[0080]
所述显示模块107用于在所述产品图像上标示存在瑕疵的区域,并在显示屏上显示标示后的所述产品图像。
[0081]
请参阅图3所示,为本发明较佳实施方式提供的瑕疵检测方法的流程图。根据不同的需求,所述流程图中步骤的顺序可以改变,某些步骤可以省略。
[0082]
s301,当接收到瑕疵检测请求时,根据所述瑕疵检测请求获取待检测的产品图像。
[0083]
在本实施方式中,所述瑕疵检测请求可以由用户触发(例如:通过预设功能按键进行触发),也可以在预设时间内自动触发。
[0084]
在本实施方式中,所述瑕疵检测请求至少包括检测对象信息。具体的,解析所述瑕疵检测请求,以获得所述瑕疵检测请求中的检测对象信息,根据所述检测对象信息从待检测图像库中获取待检测的所述产品图像。其中,所述检测对象信息可以是产品名称、产品型号等。
[0085]
s302,将待检测的多个产品图像划分为线性图像或非线性图像。
[0086]
在本实施方式中,对待检测的所述产品图像进行归一化处理,将所述产品图像的像素值输入线性评分函数而得到线性图像及非线性图像的分类分值,判断所述线性图像的分类分值是否大于所述非线性图像的分类分值,当判定所述线性图像的分类分值大于所述非线性图像的分类分值时,将所述产品图像划分为线性图像,当所述线性图像的分类分值不大于所述非线性图像的分类分值时,将所述产品图像划分为非线性图像。
[0087]
例如,所述线性评分函数为f(xi,w,b)=wxi+b。假设每个图像数据都被拉长为一个长度为d的列向量,大小为[d x 1]。其中,大小为[kxd]的矩阵w和大小为[kx1]列向量b为所述线性评分函数的参数,xi包含了第i个图像的所有像素信息,这些像素信息被拉成为一个[px1]的列向量,w的大小为[qxp],b的大小为[qx1]。其中,p为产品图像的像素点个数,q为类别数量。在本实施方式中,q为2。因此,p个数字(原始像素数值)输入所述线性评分函数,所述线性评分函数输出2个数字(不同分类得到的分值),然后将所述不同分类的分值进行比对。其中,参数w为权重,b被称为偏差向量。
[0088]
s303,根据多个降维算法对经过图像划分的所述产品图像进行降维处理而得到多个降维数据。
[0089]
具体的,采用主成分分析算法进行降维时,首先将样本数据减去样本平均值,然后通过计算数据协方差矩阵计算数据的主成分,最后将数据通过转换矩阵映射到主成分上,从而实现产品图像的降维。
[0090]
采用随机投影算法进行降维时,首先选择映射矩阵r∈rk×n,用随机数填充所述映射矩阵,归一化所述映射矩阵中的每一行,然后通过y=rx对数据降维。其中,x为输入数据,y降维后的数据。
[0091]
采用等度量映射算法进行降维时,确定样本数据中,即产品图像像素点的k近邻,将像素点与k近邻之间的距离设置为欧氏距离,与其他点的距离设置为无穷大,采用最短路径算法计算任一两个像素点之间的距离,将所述距离作为多维标度分析算法的输入数据,通过所述多维标度分析算法输出产品图像像素点在低维空间的投影,从而获得降维的图像。
[0092]
采用t分布随机邻域嵌入算法(t-sne)进行降维时,通过随机邻接嵌入(sne)将样本数据,即产品图像的像素点之间的高维欧几里得距离转换为表示相似性的条件概率,对于高维数据点xi和xj的低维对应点,计算类似的条件概率,使用梯度下降法最小化kl距离,并定义困惑度,从而获得对应的低维数据。
[0093]
s304,确定多个所述降维数据中的最佳降维数据。
[0094]
在本实施方式中,计算每种降维算法得到的多个降维数据之间的距离平均值,确定距离平均值最大的多个降维数据为所述最佳降维数据。
[0095]
s305,将所述最佳降维数据输入高斯混合模型而得到所述产品图像的评分数据。
[0096]
在本实施方式中,对所述最佳降维数据进行均值池化处理,得到目标向量,然后将所述目标向量输入至预先训练好的高斯混合模型中,得到所述评分数据。其中,所述高斯混合模型能够利用高斯概率密度函数(正态分布图像曲线)精确地量化目标向量对应的评分。
[0097]
具体的,根据待检测瑕疵的类型的数量确定所述高斯混合模型中高斯模型的数量,根据所述最佳降维数据及em(expectation-maximum)算法计算所述高斯混合模型的期
望值及每次迭代的模型参数值,及根据每次迭代计算出的期望值及模型参数值推算出所述高斯混合模型的最佳参数作为所述评分数据。
[0098]
在本实施方式中,可以将所述训练样本数据划分为训练集、测试集及验证集,然后基于最大期望算法,迭代训练所述训练集中的多个低维向量,得到学习器,然后利用所述测试集中的多个低维向量测试所述学习器,得到测试结果,当所述测试结果小于配置值时,利用所述验证集中的多个低维向量调整所述学习器中的参数,得到所述预先训练好的高斯混合模型。在本实施方式中,计算所述多个低维向量的数量,当所述数量小于预设数量时,利用数据增强算法增加所述多个低维向量的数量。
[0099]
s306,将所述评分数据与阈值进行比对,判断所述评分数据是否小于所述阈值。
[0100]
在本实施方式中,所述阈值为每次迭代计算出的模型参数值的均值与三倍所述评分数据的标准差之间的差值。当所述评分数据小于所述阈值时,所述流程进入s307。当所述评分数据大于或等于所述阈值时,所述流程进入s309。
[0101]
s307,确定所述产品图像中存在瑕疵。
[0102]
s308,在所述产品图像上标示存在瑕疵的区域,并在显示屏上显示标示后的所述产品图像。
[0103]
s309,确定所述产品图像中不存在瑕疵。
[0104]
所述电子装置1集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,所述计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、u盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)等。
[0105]
本发明所提供的瑕疵检测方法、电子装置及存储介质对于待检测的图像数据直接进行降维处理,并结合高斯混合模型进行瑕疵检测,在数据处理过程中无需进行卷积特征的提取,简化了运算过程,避免丢失信息,从而有效提高了瑕疵检测的准确度。
[0106]
对于本领域技术人员而言,显然本发明不限于上述示范性实施例的细节,而且在不背离本发明的精神或基本特征的情况下,能够以其他的具体形式实现本发明。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本发明的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化涵括在本发明内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。此外,显然“包括”一词不排除其他单元或步骤,单数不排除复数。装置权利要求中陈述的多个单元或装置也可以由同一个单元或装置通过软件或者硬件来实现。第一,第二等词语用来表示名称,而并不表示任何特定的顺序。
[0107]
以上实施例仅用以说明本发明的技术方案而非限制,尽管参照较佳实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或等同替换,而不脱离本发明技术方案的精神和范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1