本发明涉及计算机图像处理,具体地,涉及一种使用空间对齐与多尺度融合增强的基于记忆存储的图像异常检测方法、系统、终端及介质。
背景技术:
1、图像异常检测是计算机图像处理的一个热门研究领域,其在工业产品缺陷检测这一现实生产场景中具有重要的应用前景。
2、由于工业产品种类众多,且迭代速度快,工业异常检测算法需要能够实现快速建模,因此,这类算法通常使用固定的在大型数据集上预训练的编码器提取特征,不对其针对任务进行专门的调整,更关注于如何使用提取出的特征完成异常检测的任务。通常在正常样本上提取出的特征放入记忆存储(memory bank)中,形成一个正常图像的原型,检测时通过测试图像的特征与原型的相似度计算异常分数,继而进行异常的判断和分割。cohen,n.等提出spade方法,将编码器不同层级的特征储存在一个memory bank中,基于knn算法进行异常的检测与分割;defard,t.等提出的padim方法使用预训练的卷积神经网络对图像进行编码,并使用多变量的高斯分布获取正常样本的概率表征。roth,k.等以上述异常检测算法的思想为基础,解决了上述算法存在的测试速度慢等问题,提出了patchcore算法,仅使用编码器2、3层级的特征构建memory bank,并压缩采样得到核心集,在此基础上检测与定位异常。
3、然而,在上述这些方法中,提取出的特征被放入了一个统一的memory bank当中,在这一过程中,不同位置的特征被等同地收集起来,其中的位置信息就因此而流失了。因此,如字母错印这类的语义错误就难以被检测出,因为错印字母上提取出的特征本身在memory bank当中是存在的,在进行检测时可以找寻到相似的特征,导致得到的异常分数偏低。
4、经过检索发现:
5、公开号为cn116862894a的中国发明专利申请《一种基于图像恢复的工业缺陷检测方法》,将编码器输出的特征与经过块金字塔记忆模块过滤掉异常的多尺度特征有效地融合,增强恢复图像的细节信息;此外,本发明提出的分割子网络提取异常图像和恢复图像的多尺度特征,并完成对应尺度特征的级联操作,为异常区域的定位提供更有效的信息。最后使用具有代表性的异常检测数据集进行实验,证明了本发明方法较其他异常检测方法具有更好的检测效果。该方法基于图像恢复,达到投入实际生产中检测需要的训练样本数较大,训练时间较长,无法在出现新类别的产品的检测需求时,进行快速建模继而直接投入使用。
技术实现思路
1、本发明针对现有技术中存在的上述不足,提供了一种使用空间对齐与多尺度融合增强的基于记忆存储的图像异常检测方法、系统、终端及介质,属于一种检测并分割图像异常区域的无监督深度学习技术。
2、根据本发明的一个方面,提供了一种基于记忆存储的图像异常检测方法,包括:
3、提供一个正常样本作为参考样本,提供一组正常样本作为训练样本,提供一组测试样本,将所述训练样本与所述测试样本均以所述参考样本为参考进行空间对齐;
4、分别基于所述对齐后的训练样本和测试样本建立图像金字塔,并按照位置将所述图像金字塔分割成不同的图像块;
5、利用一预训练的残差网络分别提取所述图像块的特征;
6、基于不同的尺度与位置对训练样本的图像块的特征分别建立特征的记忆存储,并下采样得到对应的核心集;
7、检测所述测试样本的图像块的特征在所述对应的核心集中近邻的距离,计算相应图像块的异常分数与异常分布图,得到图像块异常检测模型;
8、对所述图像块的异常分布图进行拼接,得到金字塔各层异常分布图,并选取所述金字塔各层异常分布图的最大值,分割出最终的图像异常区域;
9、基于所述图像块异常检测模型,提供一预训练的卷积网络;将所述图像块的异常分布图输入所述预训练的卷积网络获取各异常分数的权重,对所述异常分数进行加权计算,得到最终的图像异常分数,完成图像异常检测。
10、优选地,所述将所述训练样本与所述测试样本均以所述参考样本为参考进行空间对齐,包括:
11、采用orb特征点检测器分别获取所述参考样本与所述训练样本和所述测试样本的特征点,并进行匹配配对;
12、根据匹配程度排序,保留前设定阈值的匹配配对,得到配对点;
13、根据所述配对点的位置,计算单应性矩阵;
14、基于所述单应性矩阵对所述训练样本和所述测试样本进行变换,得到对齐后的图像,实现空间对齐。
15、优选地,所述建立图像金字塔,并按照位置将所述图像金字塔分割成不同的图像块,包括:
16、对大小为(h,w)的样本建立n层的图像金字塔,其中第i层的大小为(h2i-1,w2i-1);
17、对每一层的图像均等分割为(22)i-1个图像块,每个图像块大小为(h2n-1,w2n-1),得到共i=1n(22)i-1=4n-13个图像块。
18、优选地,所述对所述图像块的异常分布图进行拼接,以及所述选取所述金字塔各层异常分布图的最大值,分割出最终的图像异常区域,包括:
19、对于每一层的(22)i-1个图像块的异常分布图,分别按照原对应位置,拼接得到n个完整的异常分布图;
20、将所述n个完整的异常分布图均缩放至(h,w)大小;
21、对于缩放后的异常分布图中的每一个位置,选取n个异常值中的最大值作为最终异常分布图对应该位置的值;
22、大于设定阈值的异常值对应的区域被分割为最终的图像异常区域。
23、优选地,所述获取各异常分数的权重,对所述异常分数进行加权计算,得到最终的图像异常分数,包括:
24、将各图像块的异常分布图作为输入,通过一预训练的卷积网络计算对应异常分数的权重;
25、基于所述权重,对各个图像块的异常分数加权求和,得到最终的图像异常分数。
26、根据本发明的另一个方面,提供了一种基于记忆存储的图像异常检测系统,包括:
27、样本获取模块,该模块用于提供一个正常样本作为参考样本,提供一组正常样本作为训练样本,提供一组测试样本,将所述训练样本与测试样本均以所述参考样本为参考进行空间对齐;
28、图像分割模块,该模块用于分别基于所述对齐后的训练样本和测试样本建立图像金字塔,并按照位置将所述图像金字塔分割成不同的图像块;
29、图像块异常获取模块,该模块利用一预训练的残差网络分别提取所述图像块的特征,基于不同的尺度与位置对训练样本的图像块的特征分别建立特征的记忆存储,并下采样得到所对应的核心集,检测所述测试样本的图像块的特征在对应的核心集中近邻的距离,计算相应图像块的异常分数与异常分布图,得到图像块异常检测模型;
30、异常区域获取模块,该模块用于对所述图像块的异常分布图进行拼接,得到金字塔各层异常分布图,并选取所述金字塔各层异常分布图的最大值,分割出最终的图像异常区域;
31、异常分数获取模块,该模块基于所述图像块异常检测模型,提供一预训练的卷积网络;将所述图像块的异常分布图输入所述预训练的卷积网络获取各异常分数的权重,对所述异常分数进行加权计算,得到最终的图像异常分数,完成图像异常检测。
32、根据本发明的第三个方面,提供了一种计算机终端,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,该处理器执行该计算机程序时可用于执行本发明上述中任一项所述的方法,或,运行本发明上述中所述的系统。
33、根据本发明的第四个方面,提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时可用于执行本发明上述中任一项所述的方法,或,运行本发明上述中所述的系统。
34、由于采用了上述技术方案,本发明与现有技术相比,具有如下至少一项的有益效果:
35、本发明提供的基于记忆存储的图像异常检测方法、系统、终端及介质,通过将原图像按不同位置进行分割,基于位置分别建立记忆存储,使不同的记忆存储包含了图像的位置信息,并且采用空间对齐确保了位置信息的准确性,通过位置信息的辅助,解决了通常的基于记忆存储的异常检测方法容易忽略语义异常的问题,能够有效地检测出图像中的语义异常。
36、本发明提供的基于记忆存储的图像异常检测方法、系统、终端及介质,采用多尺度融合增强,从多个不同的尺度在不同的位置分别对检测样本进行观察,保证不同尺度的缺陷均能在检测过程中的多次观察中,至少一次能够占据较大的观察视野,进而能够有效地检测出小尺度的缺陷,并准确地分割异常区域。
1.一种基于记忆存储的图像异常检测方法,其特征在于,包括:
2.根据权利要求1所述的基于记忆存储的图像异常检测方法,其特征在于,所述将所述训练样本与所述测试样本均以所述参考样本为参考进行空间对齐,包括:
3.根据权利要求1所述的基于记忆存储的图像异常检测方法,其特征在于,所述建立图像金字塔,并按照位置将所述图像金字塔分割成不同的图像块,包括:
4.根据权利要求1所述的基于记忆存储的图像异常检测方法,其特征在于,所述对所述图像块的异常分布图进行拼接,以及所述选取所述金字塔各层异常分布图的最大值,分割出最终的图像异常区域,包括:
5.根据权利要求1所述的基于记忆存储的图像异常检测方法,其特征在于,所述预训练的卷积网络,包括:
6.根据权利要求5所述的基于记忆存储的图像异常检测方法,其特征在于,所述获取正常样本并进行基于berlin噪声生成器的异常生成,包括以下步骤:
7.根据权利要求1所述的基于记忆存储的图像异常检测方法,其特征在于,所述获取各异常分数的权重,对所述异常分数进行加权计算,得到最终的图像异常分数,包括:
8.一种基于记忆存储的图像异常检测系统,其特征在于,包括:
9.一种计算机终端,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,该处理器执行该计算机程序时可用于执行权利要求1-7中任一项所述的方法,或,运行权利要求8所述的系统。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时可用于执行权利要求1-7中任一项所述的方法,或,运行权利要求8所述的系统。