发明内容
基于此,有必要针对上述技术问题,提供一种能够提高产品缺陷识别精度的对象缺陷检测方法、装置、计算机设备、计算机可读存储介质和计算机程序产品。
第一方面,本申请提供了一种对象缺陷检测方法。所述方法包括:
获取待检测图像对应的特征图;所述待检测图像为对目标对象进行拍摄得到的图像;所述目标对象为需要进行缺陷检测的对象;
对所述特征图进行区域划分,得到所述待检测图像中各像素点对应的第一子特征图;
将各所述第一子特征图输入至一一对应的第一目标区域分类器中,得到所述待检测图像对应的第一缺陷类型概率;所述第一缺陷类型概率包括所述待检测图像中各像素点针对各缺陷类型的归属概率;
将所述特征图输入至目标全局分类器,得到所述待检测图像对应的第二缺陷类型概率;所述第二缺陷类型概率包括所述待检测图像中各像素点针对各所述缺陷类型的归属概率;
根据所述第一缺陷类型概率以及所述第二缺陷类型概率确定所述目标对象对应的缺陷类型。
在其中一个实施例中,所述将各所述第一子特征图输入至一一对应的第一目标区域分类器中,得到所述待检测图像对应的第一缺陷类型概率,包括:
将各所述第一子特征图输入至一一对应的所述第一目标区域分类器中,得到各所述第一子特征图对应的缺陷类型概率;
按照各所述第一子特征图的空间顺序,对各所述第一子特征图进行拼接,得到拼接后的第一子特征图;
根据各所述拼接后的第一子特征图对应的缺陷类型概率,确定所述特征图对应的缺陷类型概率;所述特征图对应的缺陷类型概率包括所述特征图中各像素点针对各所述缺陷类型的归属概率;
根据所述特征图对应的缺陷类型概率,确定所述第一缺陷类型概率。
在其中一个实施例中,所述根据所述第一缺陷类型概率以及所述第二缺陷类型概率确定所述目标对象对应的缺陷类型,包括:
将所述第一缺陷类型概率与所述第二缺陷类型概率相加,得到所述待检测图像对应的目标缺陷类型概率;所述目标缺陷类型概率包括所述待检测图像中各像素点针对各所述缺陷类型的目标归属概率;
根据所述待检测图像中各像素点针对各所述缺陷类型的目标归属概率,确定所述目标对象对应的缺陷类型。
在其中一个实施例中,所述根据所述待检测图像中各像素点针对各所述缺陷类型的目标归属概率,确定所述目标对象对应的缺陷类型,包括:
在所述待检测图像中各像素点针对各所述缺陷类型的目标归属概率中,确定所述待检测图像中各像素点对应的最大目标归属概率;
将各所述最大目标归属概率对应的缺陷类型,作为所述待检测图像中各像素点对应的缺陷类型;
根据所述待检测图像中各像素点对应的缺陷类型,确定所述目标对象对应的缺陷类型。
在其中一个实施例中,所述方法还包括:
对所述特征图进行至少一次不同尺度下的区域划分,得到所述待检测图像在至少一个尺度下对应的第二子特征图;所述第二子特征图的尺寸大于所述第一子特征图的尺寸,且小于所述特征图的尺寸;
将各所述第二子特征图输入至一一对应的第二目标区域分类器中,得到所述待检测图像对应的至少一个第三缺陷类型概率;所述至少一个第三缺陷类型概率包括所述待检测图像中各像素点在对应的尺度下,针对各所述缺陷类型的归属概率;
将所述第一缺陷类型概率、所述第二缺陷类型概率与所述至少一个第三缺陷类型概率相加,得到所述目标缺陷类型概率。
在其中一个实施例中,所述方法还包括:
获取待训练的区域分类器;所述待训练的区域分类器包括不同尺度对应的局部分类器;
通过梯度反向传播算法对所述待训练的区域分类器进行训练,得到训练完成的第一区域分类器;
和/或,
通过指数滑动平均算法对所述待训练的区域分类器进行训练,得到训练完成的第二区域分类器;
根据所述第一区域分类器和/或所述第二区域分类器,得到目标区域分类器;所述目标区域分类器包括所述第一目标区域分类器、所述目标全局分类器以及所述第二目标区域分类器。
在其中一个实施例中,所述目标全局分类器包括向量相似度确定模块和缺陷类型概率确定模块;所述将所述特征图输入至目标全局分类器,得到所述待检测图像对应的第二缺陷类型概率,包括:
将所述特征图输入至所述向量相似度确定模块,得到所述待检测图像中各像素点对应的特征向量与各所述缺陷类型对应的特征向量间的目标相似度;其中,所述待检测图像中各像素点对应的特征向量的维度与各所述缺陷类型对应的特征向量的维度相等;
将所述目标相似度输入至所述缺陷类型概率确定模块,得到所述第二缺陷类型概率;所述第二缺陷类型概率为通过所述缺陷类型概率确定模块将所述目标相似度输入至归一化多分类函数得到的。
第二方面,本申请还提供了一种对象缺陷检测装置。所述装置包括:
获取模块,用于获取待检测图像对应的特征图;所述待检测图像为对目标对象进行拍摄得到的图像;所述目标对象为需要进行缺陷检测的对象;
划分模块,用于对所述特征图进行区域划分,得到所述待检测图像中各像素点对应的第一子特征图;
第一输入模块,用于将各所述第一子特征图输入至一一对应的第一目标区域分类器中,得到所述待检测图像对应的第一缺陷类型概率;所述第一缺陷类型概率包括所述待检测图像中各像素点针对各缺陷类型的归属概率;
第二输入模块,用于将所述特征图输入至目标全局分类器,得到所述待检测图像对应的第二缺陷类型概率;所述第二缺陷类型概率包括所述待检测图像中各像素点针对各所述缺陷类型的归属概率;
确定模块,用于根据所述第一缺陷类型概率以及所述第二缺陷类型概率确定所述目标对象对应的缺陷类型。
第三方面,本申请还提供了一种计算机设备。所述计算机设备包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
获取待检测图像对应的特征图;所述待检测图像为对目标对象进行拍摄得到的图像;所述目标对象为需要进行缺陷检测的对象;
对所述特征图进行区域划分,得到所述待检测图像中各像素点对应的第一子特征图;
将各所述第一子特征图输入至一一对应的第一目标区域分类器中,得到所述待检测图像对应的第一缺陷类型概率;所述第一缺陷类型概率包括所述待检测图像中各像素点针对各缺陷类型的归属概率;
将所述特征图输入至目标全局分类器,得到所述待检测图像对应的第二缺陷类型概率;所述第二缺陷类型概率包括所述待检测图像中各像素点针对各所述缺陷类型的归属概率;
根据所述第一缺陷类型概率以及所述第二缺陷类型概率确定所述目标对象对应的缺陷类型。
第四方面,本申请还提供了一种计算机可读存储介质。所述计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:
获取待检测图像对应的特征图;所述待检测图像为对目标对象进行拍摄得到的图像;所述目标对象为需要进行缺陷检测的对象;
对所述特征图进行区域划分,得到所述待检测图像中各像素点对应的第一子特征图;
将各所述第一子特征图输入至一一对应的第一目标区域分类器中,得到所述待检测图像对应的第一缺陷类型概率;所述第一缺陷类型概率包括所述待检测图像中各像素点针对各缺陷类型的归属概率;
将所述特征图输入至目标全局分类器,得到所述待检测图像对应的第二缺陷类型概率;所述第二缺陷类型概率包括所述待检测图像中各像素点针对各所述缺陷类型的归属概率;
根据所述第一缺陷类型概率以及所述第二缺陷类型概率确定所述目标对象对应的缺陷类型。
第五方面,本申请还提供了一种计算机程序产品。所述计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现以下步骤:
获取待检测图像对应的特征图;所述待检测图像为对目标对象进行拍摄得到的图像;所述目标对象为需要进行缺陷检测的对象;
对所述特征图进行区域划分,得到所述待检测图像中各像素点对应的第一子特征图;
将各所述第一子特征图输入至一一对应的第一目标区域分类器中,得到所述待检测图像对应的第一缺陷类型概率;所述第一缺陷类型概率包括所述待检测图像中各像素点针对各缺陷类型的归属概率;
将所述特征图输入至目标全局分类器,得到所述待检测图像对应的第二缺陷类型概率;所述第二缺陷类型概率包括所述待检测图像中各像素点针对各所述缺陷类型的归属概率;
根据所述第一缺陷类型概率以及所述第二缺陷类型概率确定所述目标对象对应的缺陷类型。
上述对象缺陷检测方法、装置、计算机设备、存储介质和计算机程序产品,可以应用于任意深度语义分割模型中,通过获取待检测图像对应的特征图;其中,待检测图像为对需要进行缺陷检测的目标对象进行拍摄得到的图像;然后,对特征图进行区域划分,得到待检测图像中各像素点对应的第一子特征图;将各第一子特征图输入至一一对应的第一目标区域分类器中,得到待检测图像对应的第一缺陷类型概率;其中,第一缺陷类型概率包括待检测图像中各像素点针对各缺陷类型的归属概率;同时,将特征图输入至目标全局分类器,得到待检测图像对应的第二缺陷类型概率;其中,第二缺陷类型概率包括待检测图像中各像素点针对各缺陷类型的归属概率;根据第一缺陷类型概率以及第二缺陷类型概率确定目标对象对应的缺陷类型;如此,通过将待检测图像中各像素点对应的第一子特征图输入至一一对应的第一目标区域分类器中,使得待检测图像中每个像素点都有对应的一个第一目标区域分类器进行缺陷类型分类,从而可以充分且有效地利用待检测图像的局部细节信息对待检测图像中的目标对象进行缺陷类型识别,得到待检测图像对应的第一缺陷类型概率;通过将特征图直接输入至目标全局分类器,可以充分利用待检测图像的全局信息对目标对象进行缺陷类型识别,得到待检测图像对应的第二缺陷类型概率;最终,通过待检测图像对应的第一缺陷类型概率和第二缺陷类型概率确定目标对象对应的缺陷类型,可以防止仅使用第一缺陷类型概率进行缺陷类型识别时,由于过度关注待检测图像的局部信息,当目标对象表面缺陷较大的时候,无法有效完整地定位到缺陷位置,导致无法准确识别缺陷类型的情况发生;也可以防止仅使用第二缺陷类型概率进行缺陷类型识别时,由于无法充分且有效地利用待检测图像的局部信息,导致无法准确识别目标对象缺陷类型的情况发生;进而充分结合上述两种情况的优点,提高了对目标对象进行缺陷类型识别的精度。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
需要说明的是,本公开的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本公开的实施例能够以除了在这里图示或描述的那些以外的顺序实施。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
在一个实施例中,如图1所示,提供了一种对象缺陷检测方法,该方法可以应用于任意深度语义分割模型。本实施例以该方法应用于服务器进行举例说明,可以理解的是,该方法也可以应用于终端,还可以应用于包括终端和服务器的***,并通过终端和服务器的交互实现。本实施例中,该方法包括以下步骤:
步骤S110,获取待检测图像对应的特征图。
其中,待检测图像为对目标对象进行拍摄得到的图像。
其中,目标对象为需要进行缺陷检测的对象。
具体实现中,服务器可以获取到对需要进行缺陷检测的目标对象进行拍摄得到的待检测图像,将待检测图像输入至训练完成的深度语义分割模型中,该深度语义分割模型中的特征提取模块通过特征提取函数对待检测图像进行特征提取,输出特征图。
实际应用,特征提取函数可以为G,若输入的待检测图像为I,特征提取模块输出的特征图为X,计算公式如下:
X=G(I)
其中,特征图X的尺寸为[h,w,d],h表示特征图的高,w表示特征图的宽,d表示特征图的特征通道数。
步骤S120,对特征图进行区域划分,得到待检测图像中各像素点对应的第一子特征图。
具体实现中,服务器可以对特征图进行区域划分,得到到待检测图像中各像素点对应的第一子特征图。
实际应用中,若特征图X被划分为H*W个独立的区域,每一个区域对应的子特征图为Xi,i∈[1,2,…,H*W],每一个Xi的尺寸为[kh,kw,d],kh表示子特征图的高,kw表示子特征图的宽,d表示子特征图的特征通道数;则H=h/ kh,W=w/ kw,待检测图像中各像素点对应的第一子特征图Xi中,kh=1,kw=1。
步骤S130,将各第一子特征图输入至一一对应的第一目标区域分类器中,得到待检测图像对应的第一缺陷类型概率。
其中,第一缺陷类型概率包括待检测图像中各像素点针对各缺陷类型的归属概率。
其中,实际应用中,第一目标区域分类器也可以命名为区域感知原型。
具体实现中,本方案的深度语义分割模型使用的目标分类器P,尺寸为[H*W,n,d],n表示待预测的缺陷类型数量,即有n种缺陷类型。特征图被划分为H*W个独立区域后,目标分类器P中每一个区域独有的目标区域分类器Pi(i∈{1,2,…,H*W})在特征图中所进行缺陷类型预测的区域是一个尺寸为[kh,kw,d]的区域;其中,Pi尺寸为[1,n,d]。
服务器将各第一子特征图输入至一一对应的第一目标区域分类器中,通过各第一目标区域分类器输出的各第一子特征图对应的缺陷类型概率,可以得到待检测图像对应的第一缺陷类型概率,该第一缺陷类型概率包括待检测图像中各像素点针对各缺陷类型的归属概率。
步骤S140,将特征图输入至目标全局分类器,得到待检测图像对应的第二缺陷类型概率。
其中,第二缺陷类型概率包括待检测图像中各像素点针对各缺陷类型的归属概率。
具体实现中,服务器可以将特征图直接输入至全局共享的目标全局分类器,得到目标全局分类器针对特征图输出的缺陷类型概率,从而可以基于该缺陷类型概率得到待检测图像对应的第二缺陷类型概率,该第二缺陷类型概率包括待检测图像中各像素点针对各缺陷类型的归属概率。
步骤S150,根据第一缺陷类型概率以及第二缺陷类型概率确定目标对象对应的缺陷类型。
具体实现中,服务器可以根据第一缺陷类型概率以及第二缺陷类型概率确定待检测图像对应的目标缺陷类型概率,该目标缺陷类型概率包括了待检测图像中各像素点针对各缺陷类型的目标归属概率,从而服务器可以基于待检测图像中各像素点针对各缺陷类型的目标归属概率,确定目标对象对应的缺陷类型。
具体的,目标对象对应的缺陷类型可以是目标对象的表面缺陷类型,如开裂、银纹、纹道、波纹、波痕和脆化等缺陷类型。
上述对象缺陷检测方法中,可以应用于任意深度语义分割模型中,通过获取待检测图像对应的特征图;其中,待检测图像为对需要进行缺陷检测的目标对象进行拍摄得到的图像;然后,对特征图进行区域划分,得到待检测图像中各像素点对应的第一子特征图;将各第一子特征图输入至一一对应的第一目标区域分类器中,得到待检测图像对应的第一缺陷类型概率;其中,第一缺陷类型概率包括待检测图像中各像素点针对各缺陷类型的归属概率;同时,将特征图输入至目标全局分类器,得到待检测图像对应的第二缺陷类型概率;其中,第二缺陷类型概率包括待检测图像中各像素点针对各缺陷类型的归属概率;根据第一缺陷类型概率以及第二缺陷类型概率确定目标对象对应的缺陷类型;如此,通过将待检测图像中各像素点对应的第一子特征图输入至一一对应的第一目标区域分类器中,使得待检测图像中每个像素点都有对应的一个第一目标区域分类器进行缺陷类型分类,从而可以充分且有效地利用待检测图像的局部细节信息对待检测图像中的目标对象进行缺陷类型识别,得到待检测图像对应的第一缺陷类型概率;通过将特征图直接输入至目标全局分类器,可以充分利用待检测图像的全局信息对目标对象进行缺陷类型识别,得到待检测图像对应的第二缺陷类型概率;最终,通过待检测图像对应的第一缺陷类型概率和第二缺陷类型概率确定目标对象对应的缺陷类型,可以防止仅使用第一缺陷类型概率进行缺陷类型识别时,由于过度关注待检测图像的局部信息,当目标对象表面缺陷较大的时候,无法有效完整地定位到缺陷位置,导致无法准确识别缺陷类型的情况发生;也可以防止仅使用第二缺陷类型概率进行缺陷类型识别时,由于无法充分且有效地利用待检测图像的局部信息,导致无法准确识别目标对象缺陷类型的情况发生;进而充分结合上述两种情况的优点,提高了对目标对象进行缺陷类型识别的精度。
在一个实施例中,如图2所示,步骤S130包括:
步骤S210,将各第一子特征图输入至一一对应的第一目标区域分类器中,得到各第一子特征图对应的缺陷类型概率。
具体实现中,服务器在将各第一子特征图输入至一一对应的第一目标区域分类器中,得到待检测图像对应的第一缺陷类型概率的过程中,服务器可以将各第一子特征图输入至一一对应的第一目标区域分类器中,首先得到各第一目标区域分类器输出的各第一子特征图对应的缺陷类型概率。
其中,
表示子特征图中各像素点(在本实施例中,为第一子特征图)针对各缺陷类型的归属概率,尺寸为[kh,kw,n],softmax为归一化多分类函数,f表示相似度计算函数,用于确定特征图划分后的各子特征图(本实施例中为各第一子特征图)对应的d维度特征向量与各缺陷类型对应的d维度特征向量间的相似度,相似度计算方式可以为任意向量相似度计算方式,如向量直接点乘、向量间的余弦相似度等,在此不做限制。
步骤S220,按照各第一子特征图的空间顺序,对各第一子特征图进行拼接,得到拼接后的第一子特征图。
具体实现中,服务器得到各第一目标区域分类器输出的各第一子特征图对应的缺陷类型概率后,服务器可以按照各第一子特征图的空间顺序,对各第一子特征图进行拼接,得到拼接后的第一子特征图。
步骤S230,根据各拼接后的第一子特征图对应的缺陷类型概率,确定特征图对应的缺陷类型概率。
其中,特征图对应的缺陷类型概率包括特征图中各像素点针对各缺陷类型的归属概率。
具体实现中,服务器在得到拼接后的第一子特征图后,可以根据各拼接后的第一子特征图对应的缺陷类型概率,确定特征图对应的缺陷类型概率,该特征图对应的缺陷类型概率包括了特征图中各像素点针对各缺陷类型的归属概率。
步骤S240,根据特征图对应的缺陷类型概率,确定第一缺陷类型概率。
具体实现中,由于深度语义分割模型输出的特征图与输入的原始图像(即待检测图像)宽高尺寸一致,因此,服务器在得到特征图对应的缺陷类型概率后,可以根据特征图中各像素点针对各缺陷类型的归属概率,确定待检测图像中各像素点针对各缺陷类型的归属概率,得到第一缺陷类型概率。
本实施例的技术方案,通过将各第一子特征图输入至一一对应的第一目标区域分类器中,得到各第一子特征图对应的缺陷类型概率;按照述第一子特征图的空间顺序,对各第一子特征图进行拼接,得到拼接后的第一子特征图;根据各拼接后的第一子特征图对应的缺陷类型概率,确定特征图对应的缺陷类型概率;其中,特征图对应的缺陷类型概率包括特征图中各像素点针对各缺陷类型的归属概率;最后,根据特征图对应的缺陷类型概率,确定第一缺陷类型概率;如此,通过将待检测图像中各像素点对应的第一子特征图输入至一一对应的第一目标区域分类器中,使得待检测图像中每个像素点都有对应的一个第一目标区域分类器进行缺陷类型分类,从而可以充分且有效地利用待检测图像的局部细节信息对待检测图像中的目标对象进行缺陷类型识别,提高目标对象缺陷类型识别过程中的局部细节捕捉能力。
在一个实施例中,根据第一缺陷类型概率以及第二缺陷类型概率确定目标对象对应的缺陷类型,包括:将第一缺陷类型概率与第二缺陷类型概率相加,得到待检测图像对应的目标缺陷类型概率;根据待检测图像中各像素点针对各缺陷类型的目标归属概率,确定目标对象对应的缺陷类型。
其中,目标缺陷类型概率包括待检测图像中各像素点针对各缺陷类型的目标归属概率。
具体实现中,服务器在根据第一缺陷类型概率以及第二缺陷类型概率确定目标对象对应的缺陷类型的过程中,服务器可以将第一缺陷类型概率与第二缺陷类型概率相加,得到待检测图像对应的目标缺陷类型概率,该目标缺陷类型概率包括待检测图像中各像素点针对各缺陷类型的目标归属概率;然后,根据待检测图像中各像素点针对各缺陷类型的目标归属概率,可以确定目标对象对应的缺陷类型。
实际应用中,第一缺陷类型概率可以为
,第二缺陷类型概率可以为
,目标缺陷类型概率可以为y,则:
本实施例的技术方案,通过将第一缺陷类型概率与第二缺陷类型概率相加,得到待检测图像对应的目标缺陷类型概率;其中,目标缺陷类型概率包括待检测图像中各像素点针对各缺陷类型的目标归属概率;根据待检测图像中各像素点针对各缺陷类型的目标归属概率,确定目标对象对应的缺陷类型;如此,可以防止仅使用第一缺陷类型概率进行缺陷类型识别时,由于过度关注待检测图像的局部信息,当目标对象表面缺陷较大的时候,无法有效完整地定位到缺陷位置,导致无法准确识别缺陷类型的情况发生;也可以防止仅使用第二缺陷类型概率进行缺陷类型识别时,由于无法充分且有效地利用待检测图像的局部信息,导致无法准确识别目标对象缺陷类型的情况发生;进而充分结合上述两种情况的优点,提高了对目标对象进行缺陷类型识别的精度。
在一个实施例中,根据待检测图像中各像素点针对各缺陷类型的目标归属概率,确定目标对象对应的缺陷类型,包括:在待检测图像中各像素点针对各缺陷类型的目标归属概率中,确定待检测图像中各像素点对应的最大目标归属概率;将各最大目标归属概率对应的缺陷类型,作为待检测图像中各像素点对应的缺陷类型;根据待检测图像中各像素点对应的缺陷类型,确定目标对象对应的缺陷类型。
具体实现中,服务器在根据待检测图像中各像素点针对各缺陷类型的目标归属概率,确定目标对象对应的缺陷类型的过程中,服务器可以在待检测图像中各像素点针对各缺陷类型的目标归属概率中,确定待检测图像中各像素点对应的最大目标归属概率,从而可以将各最大目标归属概率对应的缺陷类型,作为待检测图像中各像素点对应的缺陷类型,并根据待检测图像中各像素点对应的缺陷类型,可以确定待检测图像中组成目标对象的各像素点对应的缺陷类型,进而可以确定目标对象的缺陷类型。
本实施例的技术方案,通过在待检测图像中各像素点针对各缺陷类型的目标归属概率中,确定待检测图像中各像素点对应的最大目标归属概率;将各最大目标归属概率对应的缺陷类型,作为待检测图像中各像素点对应的缺陷类型;根据待检测图像中各像素点对应的缺陷类型,确定目标对象对应的缺陷类型;如此,通过将待检测图像中各像素点对应的最大目标归属概率所归属的缺陷类型,作为待检测图像中各像素点对应的缺陷类型;从而可以根据组成目标对象的各像素点对应的缺陷类型,准确确定目标对象对应的缺陷类型,提高了目标对象缺陷类型的识别准确度。
在一个实施例中,方法还包括:对特征图进行至少一次不同尺度下的区域划分,得到待检测图像在至少一个尺度下对应的第二子特征图;将各第二子特征图输入至一一对应的第二目标区域分类器中,得到待检测图像对应的至少一个第三缺陷类型概率;至少一个第三缺陷类型概率包括待检测图像中各像素点在对应的尺度下,针对各缺陷类型的归属概率;将第一缺陷类型概率、第二缺陷类型概率与至少一个第三缺陷类型概率相加,得到目标缺陷类型概率。
其中,第二子特征图的尺寸大于第一子特征图的尺寸,且小于特征图的尺寸。
具体实现中,服务器在确定待检测图像对应的目标缺陷类型概率过程中,服务器还可以对特征图进行至少一次不同尺度下的区域划分,得到待检测图像在至少一个尺度下对应的第二子特征图,且该第二子特征图的尺寸大于第一子特征图的尺寸,且小于特征图的尺寸。
实际应用中,至少一个尺度下对应的每一个第二子特征图Xi的尺寸为[kh,kw,d],kh,kw取值可以为2,4,8等数值,该取值需与项目实际情况相关联,需大于第一子特征图的尺寸(kh=1,kw=1)且小于特征图的尺寸(kh=h,kw=w),本方案对此不做具体限制。
然后,将各第二子特征图输入至一一对应的第二目标区域分类器中,得到不同尺度下对应的各第二目标区域分类器输出的缺陷类型概率
,从而得到待检测图像对应的至少一个第三缺陷类型概率,上述至少一个第三缺陷类型概率包括待检测图像中各像素点在对应的尺度下,针对各缺陷类型的归属概率;最后,服务器将第一缺陷类型概率、第二缺陷类型概率与不同尺度下对应的第三缺陷类型概率相加,可以得到待检测图像对应的目标缺陷类型概率。
本实施例的技术方案,通过对特征图进行至少一次不同尺度下的区域划分,得到待检测图像在至少一个尺度下对应的第二子特征图;其中,第二子特征图的尺寸大于第一子特征图的尺寸,且小于特征图的尺寸;将各第二子特征图输入至一一对应的第二目标区域分类器中,得到待检测图像对应的至少一个第三缺陷类型概率;其中,至少一个第三缺陷类型概率包括待检测图像中各像素点在对应的尺度下,针对各缺陷类型的归属概率;将第一缺陷类型概率、第二缺陷类型概率与至少一个第三缺陷类型概率相加,得到目标缺陷类型概率;如此,通过对特征图进行多尺度划分,并将划分后的子特征图输入至一一对应的第二目标区域分类器中,通过各第二目标区域分类器的输出结果得到特征图在不同尺度下对应的第三缺陷类型概率,并将第三缺陷类型概率与充分利用了特征图局部信息的第一缺陷类型概率和充分利用特征图全局信息的第二缺陷类型概率相加,得到目标缺陷类型概率;从而实现了分类器的语义内容可以根据不同区域的特征图内容的变化而变化,可以充分提取和融合不同尺寸特征图上的特征信息,丰富了待检测图像中目标对象的特征细节,进而可以通过待检测图像对应的目标缺陷类型概率,准确识别目标对象的缺陷类型,增强了分类器对每张待检测图像不同区域的自适应感知能力。
在一个实施例中,方法还包括:获取待训练的区域分类器;通过梯度反向传播算法对待训练的区域分类器进行训练,得到训练完成的第一区域分类器;和/或,通过指数滑动平均算法对待训练的区域分类器进行训练,得到训练完成的第二区域分类器;根据第一区域分类器和/或第二区域分类器,得到目标区域分类器。
其中,待训练的区域分类器包括不同尺度对应的局部分类器。
其中,目标区域分类器包括第一目标区域分类器、目标全局分类器以及第二目标区域分类器。
具体实现中,服务器还可以获取特征图在不同尺度下对应的待训练的区域分类器,通过梯度反向传播算法对所述待训练的区域分类器进行训练,得到训练完成的第一区域分类器,该第一区域分类器包括了各缺陷类型对应的d维特征向量表示。
实际应用中,第一区域分类器可以为
,将待训练的区域分类器定义为可学习的参数,让网络自行优化得到可以得到训练完成的第一区域分类器
。在每次训练迭代中,
的更新是通过梯度反向传播(back-propagation)来更新。
服务器还可以通过指数滑动平均(Exponential Moving Average)算法对待训练的区域分类器进行训练,得到训练完成的第二区域分类器
,该第二区域分类器包括了各缺陷类型对应的d维特征向量表示。
其中,ti表示样本特征图中第i个[kh,kw,d]区域Xi对应的缺陷类型样本标签,ti尺寸为[kh,kw,n],包括n个缺陷类型的独热向量(one mask) ;M表示一个特征处理函数,它的作用为通过掩膜池化(mask pooling)将Xi处理成尺寸为[1,n,d]的特征向量;
表示本次训练输出的预测值,
表示样本特征图中第i个区域对应的通过指数滑动平均得到的区域分类器;γ为滑动平均的权重,可以为0.999。
最后,服务器可以根据第一区域分类器和/或第二区域分类器,得到目标区域分类器;该目标区域分类器包括第一目标区域分类器、目标全局分类器以及第二目标区域分类器。
实际应用中,可以根据第一区域分类器
得到目标区域分类器Pi,即Pi=
;也可以根据第二区域分类器得到目标区域分类器Pi,即Pi=
;优选地,可以通过第一区域分类器和第二区域分类器得到目标区域分类器Pi,即
。
实际应用中,目标区域分类器可以为目标深度语义分割模型中最后一层1x1卷积层或者是全连接层。
本实施例的技术方案,通过获取特征图在不同尺度下对应的待训练的区域分类器;通过梯度反向传播算法对待训练的区域分类器进行训练,得到训练完成的第一区域分类器;和/或,通过指数滑动平均算法对待训练的区域分类器进行训练,得到训练完成的第二区域分类器;根据第一区域分类器和/或第二区域分类器,得到目标区域分类器;如此,可以通过多种方法训练得到目标区域分类器,结合了多种方法的优点,可以提升目标区域分类器对缺陷类型识别的准确性,同时使得获取目标区域分类器的方式更加多样化。
在一个实施例中,目标全局分类器包括向量相似度确定模块和缺陷类型概率确定模块;将特征图输入至目标全局分类器,得到待检测图像对应的第二缺陷类型概率,包括:将特征图输入至向量相似度确定模块,得到待检测图像中各像素点对应的特征向量与各缺陷类型对应的特征向量间的目标相似度;将目标相似度输入至缺陷类型概率确定模块,得到第二缺陷类型概率。
其中,待检测图像中各像素点对应的特征向量的维度与各缺陷类型对应的特征向量的维度相等。
其中,第二缺陷类型概率为通过缺陷类型概率确定模块将目标相似度输入至归一化多分类函数得到的。
具体实现中,目标全局分类器包括向量相似度确定模块和缺陷类型概率确定模块;服务器在将特征图输入至目标全局分类器,得到待检测图像对应的第二缺陷类型概率的过程中,服务器可以将特征图输入至向量相似度确定模块,得到待检测图像中各像素点对应的特征向量与各缺陷类型对应的特征向量间的目标相似度;其中,待检测图像中各像素点对应的特征向量的维度与各缺陷类型对应的特征向量的维度相等;并通过将目标相似度输入至缺陷类型概率确定模块,得到第二缺陷类型概率;其中,第二缺陷类型概率为通过缺陷类型概率确定模块将目标相似度输入至归一化多分类函数得到的。
实际应用中,目标全局分类器可以为C,特征图可以为X,第二缺陷类型概率为
,则:
其中,f表示相似度计算函数,用于确定特征图中每个像素点对应的d维特征向量与各缺陷类型对应的d维特征向量间的目标相似度,相似度计算方式可以为任意向量相似度计算方式,如向量直接点乘、向量间的余弦相似度等,在此不做限制;softmax为归一化多分类函数。
其中,当将目标深度语义分割模型的最后一层1x1卷积层视为分类器时,目标全局分类器C的尺寸为[n,d],代表n种缺陷类型中每种缺陷类型分别用一个d维的特征向量表示;
的尺寸为[h,w,n],表示每个像素点针对各缺陷类型的归属概率。
本实施例的技术方案,通过将特征图输入至向量相似度确定模块,得到待检测图像中各像素点对应的特征向量与各缺陷类型对应的特征向量间的目标相似度;将目标相似度输入至缺陷类型概率确定模块,得到第二缺陷类型概率;如此,当目标对象的表面缺陷较大时,通过目标全局分类器可以有效完整地定位缺陷位置,并通过输出的第二缺陷类型概率,准确识别出目标对象对应的缺陷类型。
在另一个实施例中,如图3所示,提供了一种对象缺陷检测方法,以该方法应用于服务器为例进行说明,包括以下步骤:
步骤S302,获取待检测图像对应的特征图。
步骤S304,对特征图进行区域划分,得到待检测图像中各像素点对应的第一子特征图。
步骤S306,将各第一子特征图输入至一一对应的第一目标区域分类器中,得到各第一子特征图对应的缺陷类型概率。
步骤S308,按照各第一子特征图的空间顺序,对各第一子特征图进行拼接,得到拼接后的第一子特征图。
步骤S310,根据各拼接后的第一子特征图对应的缺陷类型概率,确定特征图对应的缺陷类型概率。
步骤S312,根据特征图对应的缺陷类型概率,确定待检测图像对应的第一缺陷类型概率。
步骤S314,将特征图输入至向量相似度确定模块,得到待检测图像中各像素点对应的特征向量与各缺陷类型对应的特征向量间的目标相似度。
步骤S316,将目标相似度输入至缺陷类型概率确定模块,得到待检测图像对应的第二缺陷类型概率。
步骤S318,将第一缺陷类型概率与第二缺陷类型概率相加,得到待检测图像中各像素点针对各缺陷类型的目标归属概率。
步骤S320,根据待检测图像中各像素点针对各缺陷类型的目标归属概率,确定目标对象对应的缺陷类型。
需要说明的是,上述步骤的具体限定可以参见上文对一种对象缺陷检测方法的具体限定。
应该理解的是,虽然如上所述的各实施例所涉及的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,如上所述的各实施例所涉及的流程图中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
基于同样的发明构思,本申请实施例还提供了一种用于实现上述所涉及的对象缺陷检测方法的对象缺陷检测装置。该装置所提供的解决问题的实现方案与上述方法中所记载的实现方案相似,故下面所提供的一个或多个对象缺陷检测装置实施例中的具体限定可以参见上文中对于一种对象缺陷检测方法的限定,在此不再赘述。
在一个实施例中,如图4所示,提供了一种对象缺陷检测装置,包括:获取模块410、划分模块420、第一输入模块430、第二输入模块440和确定模块450,其中:
获取模块410,用于获取待检测图像对应的特征图;所述待检测图像为对目标对象进行拍摄得到的图像;所述目标对象为需要进行缺陷检测的对象。
划分模块420,用于对所述特征图进行区域划分,得到所述待检测图像中各像素点对应的第一子特征图。
第一输入模块430,用于将各所述第一子特征图输入至一一对应的第一目标区域分类器中,得到所述待检测图像对应的第一缺陷类型概率;所述第一缺陷类型概率包括所述待检测图像中各像素点针对各缺陷类型的归属概率。
第二输入模块440,用于将所述特征图输入至目标全局分类器,得到所述待检测图像对应的第二缺陷类型概率;所述第二缺陷类型概率包括所述待检测图像中各像素点针对各所述缺陷类型的归属概率。
确定模块450,用于根据所述第一缺陷类型概率以及所述第二缺陷类型概率确定所述目标对象对应的缺陷类型。
在其中一个实施例中,所述第一输入模块430,具体用于将各所述第一子特征图输入至一一对应的所述第一目标区域分类器中,得到各所述第一子特征图对应的缺陷类型概率; 按照各所述第一子特征图的空间顺序,对各所述第一子特征图进行拼接,得到拼接后的第一子特征图;根据各所述拼接后的第一子特征图对应的缺陷类型概率,确定所述特征图对应的缺陷类型概率;所述特征图对应的缺陷类型概率包括所述特征图中各像素点针对各所述缺陷类型的归属概率;根据所述特征图对应的缺陷类型概率,确定所述第一缺陷类型概率。
在其中一个实施例中,所述确定模块450,具体用于将所述第一缺陷类型概率与所述第二缺陷类型概率相加,得到所述待检测图像对应的目标缺陷类型概率;所述目标缺陷类型概率包括所述待检测图像中各像素点针对各所述缺陷类型的目标归属概率;根据所述待检测图像中各像素点针对各所述缺陷类型的目标归属概率,确定所述目标对象对应的缺陷类型。
在其中一个实施例中,所述确定模块450,具体用于在所述待检测图像中各像素点针对各所述缺陷类型的目标归属概率中,确定所述待检测图像中各像素点对应的最大目标归属概率;将各所述最大目标归属概率对应的缺陷类型,作为所述待检测图像中各像素点对应的缺陷类型;根据所述待检测图像中各像素点对应的缺陷类型,确定所述目标对象对应的缺陷类型。
在其中一个实施例中,所述装置还包括:第二子特征图获取模块,用于对所述特征图进行至少一次不同尺度下的区域划分,得到所述待检测图像在至少一个尺度下对应的第二子特征图;所述第二子特征图的尺寸大于所述第一子特征图的尺寸,且小于所述特征图的尺寸;第三输入模块,用于将各所述第二子特征图输入至一一对应的第二目标区域分类器中,得到所述待检测图像对应的至少一个第三缺陷类型概率;所述至少一个第三缺陷类型概率包括所述待检测图像中各像素点在对应的尺度下,针对各所述缺陷类型的归属概率;相加模块,用于将所述第一缺陷类型概率、所述第二缺陷类型概率与所述至少一个第三缺陷类型概率相加,得到所述目标缺陷类型概率。
在其中一个实施例中,所述装置还包括:分类器获取模块,用于获取待训练的区域分类器;所述待训练的区域分类器包括不同尺度对应的局部分类器;第一训练模块,用于通过梯度反向传播算法对所述待训练的区域分类器进行训练,得到训练完成的第一区域分类器;和/或,第二训练模块,用于通过指数滑动平均算法对所述待训练的区域分类器进行训练,得到训练完成的第二区域分类器;目标区域分类器确定模块,用于根据所述第一区域分类器和/或所述第二区域分类器,得到目标区域分类器;所述目标区域分类器包括所述第一目标区域分类器、所述目标全局分类器以及所述第二目标区域分类器。
在其中一个实施例中,所述目标全局分类器包括向量相似度确定模块和缺陷类型概率确定模块;所述第二输入模块440,具体用于将所述特征图输入至所述向量相似度确定模块,得到所述待检测图像中各像素点对应的特征向量与各所述缺陷类型对应的特征向量间的目标相似度;其中,所述待检测图像中各像素点对应的特征向量的维度与各所述缺陷类型对应的特征向量的维度相等;将所述目标相似度输入至所述缺陷类型概率确定模块,得到所述第二缺陷类型概率;所述第二缺陷类型概率为通过所述缺陷类型概率确定模块将所述目标相似度输入至归一化多分类函数得到的。
上述一种对象缺陷检测装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图5所示。该计算机设备包括通过***总线连接的处理器、存储器和网络接口。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质和内存储器。该非易失性存储介质存储有操作***、计算机程序和数据库。该内存储器为非易失性存储介质中的操作***和计算机程序的运行提供环境。该计算机设备的数据库用于存储待检测图像缺陷检测处理数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种对象缺陷检测方法。
本领域技术人员可以理解,图5中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,还提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现上述各方法实施例中的步骤。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述各方法实施例中的步骤。
在一个实施例中,提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现上述各方法实施例中的步骤。
需要说明的是,本申请所涉及的用户信息(包括但不限于用户设备信息、用户个人信息等)和数据(包括但不限于用于分析的数据、存储的数据、展示的数据等),均为经用户授权或者经过各方充分授权的信息和数据。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(Read-OnlyMemory,ROM)、磁带、软盘、闪存、光存储器、高密度嵌入式非易失性存储器、阻变存储器(ReRAM)、磁变存储器(Magnetoresistive Random Access Memory,MRAM)、铁电存储器(Ferroelectric Random Access Memory,FRAM)、相变存储器(Phase Change Memory,PCM)、石墨烯存储器等。易失性存储器可包括随机存取存储器(Random Access Memory,RAM)或外部高速缓冲存储器等。作为说明而非局限,RAM可以是多种形式,比如静态随机存取存储器(Static Random Access Memory,SRAM)或动态随机存取存储器(Dynamic RandomAccess Memory,DRAM)等。本申请所提供的各实施例中所涉及的数据库可包括关系型数据库和非关系型数据库中至少一种。非关系型数据库可包括基于区块链的分布式数据库等,不限于此。本申请所提供的各实施例中所涉及的处理器可为通用处理器、中央处理器、图形处理器、数字信号处理器、可编程逻辑器、基于量子计算的数据处理逻辑器等,不限于此。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本申请专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请的保护范围应以所附权利要求为准。