CN113888538B - 一种基于内存分块模型的工业异常检测方法 - Google Patents

一种基于内存分块模型的工业异常检测方法 Download PDF

Info

Publication number
CN113888538B
CN113888538B CN202111474998.5A CN202111474998A CN113888538B CN 113888538 B CN113888538 B CN 113888538B CN 202111474998 A CN202111474998 A CN 202111474998A CN 113888538 B CN113888538 B CN 113888538B
Authority
CN
China
Prior art keywords
network
model
teacher
memory
student
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202111474998.5A
Other languages
English (en)
Other versions
CN113888538A (zh
Inventor
徐行
王甜
沈复民
申恒涛
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Chengdu Koala Youran Technology Co ltd
Original Assignee
Chengdu Koala Youran Technology Co ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Chengdu Koala Youran Technology Co ltd filed Critical Chengdu Koala Youran Technology Co ltd
Priority to CN202111474998.5A priority Critical patent/CN113888538B/zh
Publication of CN113888538A publication Critical patent/CN113888538A/zh
Application granted granted Critical
Publication of CN113888538B publication Critical patent/CN113888538B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/0002Inspection of images, e.g. flaw detection
    • G06T7/0004Industrial image inspection
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20081Training; Learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20084Artificial neural networks [ANN]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30108Industrial image inspection

Abstract

本发明涉及计算机视觉中的工业异常检测领域,公开了一种基于内存分块模型的工业异常检测方法,包括获取训练数据集和测试数据集;对训练数据集使和测试数据集使用相同的预处理方式进行预处理操作;构建教师网络的基础网络结构层,并预训练教师网络的权重,固定所述权重;获取学生网络的基础网络结构层,并获取所述基础网络结构层中每一层的两个基础模块,在两个基础模块之间放置内存分块模型;对修改后的学生网络进行参数初始化操作;将经过预处理操作的训练数据集和测试数据集输入进基于内存分块模型的教师学生网络中进行训练;使用训练好的学生网络和预训练后的教师网络权重进行工业异常检测测试,获取异常检测结果。

Description

一种基于内存分块模型的工业异常检测方法
技术领域
本发明涉及计算机视觉中的工业异常检测领域,具体地说,是一种基于内存分块模型的工业异常检测方法,用于通过引入内存分块模型,消除了图像内容空间位置的不敏感性的问题。
背景技术
工业异常检测是异常检测算法在工业数据上的应用与推广。而异常检测又称为离群点检测、新颖检测等,是找出与预期对象的行为差异较大的对象的检测过程。工业异常检测主要是针对工业图片进行异常检测,期望找到工业产物的瑕疵,剔除不符合要求的产品。可以被应用于零件生产,药物胶囊生产,电子板组装判断等等不同的工业场景,具有很强的实用意义。
随着最近几年深度学习的崛起,异常检测用于计算机视觉方面的研究开始火热。基于机器学习的图像异常检测技术不断涌现。相较于传统异常检测,针对图像需要提取更加紧凑的信息表达。传统机器学习阶段,异常检测需要人工手动的分析数据分布,设计合适的特征,然后使用传统机器学习算法(支持向量机、孤立森林等)对数据进行建模分析。相较于传统机器学习,深度学习可以自动学习到数据的特征然后在针对特征进行建模分析,具有更高的鲁棒性。计算机视觉中的异常检测方法主要有:基于重建损失差异的方法、基于分类学习的方法和基于密度估计的方法。而工业异常检测与传统的视觉异常检测存在一定的差异,两者都是使用正常的视觉数据(图像)进行训练,然后对测试数据进行一个二分类。工业异常检测在此之上还需要对异常的区域进行检测,需要准确的识别出图像中哪一部分是异常的。因此在工业异常检测方法研究上更多的是关注像素级别的异常。
工业异常检测中针对像素级定位的异常检测是需要特意设计的。其旨在于精确的分割图像的异常区域,这比图像级别得二元分类复杂得多。深度神经网络的强大表征能力促使一些研究者开始思考如何将神经网络的优势应用于图像的异常检测任务。研究者提出将大的图片分成一个个小的图片,然后使用残差网络(Resnet18)针对小图片提取特征,紧接着使用组成成分分析算法对特征进行降维,最后使用K-means聚类算法对数据进行建模。那么,不满足数据分布的小图片就会被认为是异常的。但是,这种方法需要提取大量有重叠的小图片,会极大的加大推理时间,并且定位效果不是很准确,造成了性能瓶颈。为了避免上述问题,研究人员提出使用预训练的全卷积神经网络提取特征来避免分割小图片以及加速特征提取的过程,之后使用混合高斯分布模型对数据进行建模。但是,随着问题复杂化的增加,混合高斯分布模型会变得无法表征训练数据的特征分布。最近,一种具有引导注意力的卷积对抗变分自编码器将Grad-CAM(梯度权重类别激活图)结合到变分自编码器中,使用注意力辅助损失让深度模型更多的去关注图像上的正常区域。与传统的自编码器和变分自编码器一样,该方法同样遇到一个问题——模型具有强的泛化能力使得异常的图像同样可以获得好的重建结果。研究者也开始向其它方法进行探索,有人提出使用教师学生网络,使用两个网络的特征差异进行像素级别的异常检测。同样,有研究者提出使用自监督的方式,使用某些算法将正常图片构建异常的图片,然后进行一个二分类模型训练,最终使用Grad-CAM(梯度权重类别激活图)获得像素级别的异常结果。但是仍然无法表征训练数据的特征分布。
为了解决上述技术问题,本发明提出了一种方法,不同于内存模型和自回归模型的融合,将任务的背景设定在像素级别的异常检测情况下,并针对传统的蒸馏网络结构提出了对学生网络的一种新的改进方法,通过引入内存分块模型,消除了图像内容空间位置的不敏感性的问题,克服现有技术的不足。
发明内容
本发明的目的在于提供一种基于内存分块模型的工业异常检测方法,用于通过引入内存分块模型,消除了图像内容空间位置的不敏感性的问题。
本发明通过下述技术方案实现:一种基于内存分块模型的工业异常检测方法,包括: 步骤S1.获取训练数据集和测试数据集;
步骤S2.获取对教师网络的预处理方式或对学生网络的预处理方式,对训练数据集使和测试数据集使用相同的预处理方式进行预处理操作;
步骤S3.构建教师网络的基础网络结构层,并预训练教师网络的权重,固定权重;
步骤S4.获取学生网络的基础网络结构层,并获取基础网络结构层中每一层的两个基础模块,在两个基础模块之间放置内存分块模型;
步骤S5.对修改后的学生网络进行参数初始化操作;
步骤S6.将经过预处理操作的训练数据集和测试数据集输入进基于内存分块模型的教师学生网络中进行训练;
步骤S7.使用训练好的学生网络和预训练后的教师网络权重进行工业异常检测测试,获取异常检测结果。
在本技术方案中先选择合适的训练数据集,然后为该数据集构建特定的教师学生网络的基础网络结构,修改学生网络的基本层的网络结构为基础模块+内存分块模块+基础模块,再为学生网络进行参数初始化,将数据经过预处理之后放入模型进行训练,将教师网络和学生网络的基础网络结构层输出的特征进行对比,对每一层特征计算MSE(均方误差)损失相加,并且将内存分块模型的输入输出同样计算MSE(均方误差)损失相加,以及对每一个小块内存计算权重系数的熵相加,使用梯度下降的方式进行训练,使用经过训练后的学生网络和教师网络一起进行工业异常检测。推理时,将教师网络和学生网络的基础网络结构层特征输出分别计算余弦相似度作为空间位置的差异性分数,最终经过上采样回原图片大小得到像素级的异常检测结果。
本发明的发明目的在于克服现有技术的不足,在教师学生网络的基础上,提出一种基于内存分块模型的工业异常检测方法,通过构造具有内存模型的学生网络使得学生网络在正常区域的特征表达上同教师网络更加接近,由于教师网络只是将知识部分蒸馏到学生网络,导致测试过程中异常区域的特征会出现不同的表达,以此检测工业图像上异常的区域。并且,为了克服传统教师学生网络结构对图像内容空间位置的不敏感性,本文提出一种新颖的内存模型——内存分块模型,该内存模型将特征图分成2n个小区域,然后针对每一个区域单独设计一块内存区域去存储正常特征。通过引入内存分块模型,消除了图像内容空间位置的不敏感性的问题。
其中教师学生网络作为模型的基本架构,并且教师和学生网络分别采用残差网络(Resnet18)作为基本结构。本文修改学生网络的残差网络(Resnet18)结构,针对分一层网络具有基础模块+基础模块的结构,本文修改为基础模块+内存分块模型+基础模块的结构。教师网络和学生网络都使用残差网络(Resnet18)的基本网络结构输出层的特征作为训练和最终进行像素级别异常检测的信息来源。
内存分块模型是通过2n个内存区域去保存2n个特征空间位置的特征表达,然后不属于该潜在空间的表达将被内存分块模型强行转为离该表达最近的特征表达。其中内存分块模型具有输入和输出两个不同的特征向量。本技术方案提出计算输入和输出之间的相似度,然后将得到的相似度乘以输出获得一个新的输出特征向量。在训练时,输入和输出具有高的相似度,不会影响输出特征向量;在测试时,存在记忆的特征在输入和输出上表现出较小的相似度,会影响输出的特征向量,以此来检测像素级别的异常区域。
为了更好地实现本发明,进一步地,步骤S1包括:
选取MVTec AD数据集进行实验。
本技术方案选取了主流的工业异常检测数据集进行实验。
为了更好地实现本发明,进一步地,步骤S2包括:
步骤S21.从训练数据集中提取图像数据;
步骤S22.对图像数据的尺寸大小进行调整,调整后生成图像数据处理结果;
步骤S23.将图像数据处理结果转换成向量形式数据;
步骤S24.对向量形式数据进行中心剪裁,获取剪裁数据结果;
步骤S25.对剪裁数据结果进行正则化操作。
为了更好地实现本发明,进一步地,步骤S3包括:
步骤S31.使用预训练好的残差网络构建出教师网络;
步骤S32.固定教师网络的权重;
步骤S33.向教师网络的基础网络结构层注册前向传播钩子函数,获取教师网络的基础网络结构层的特征输出。
在本技术方案中,教师网络和学生网络基本结构都使用残差网络(Resnet18)的基本结构层,每一层是由两个基本模块(block)组成。
为了更好地实现本发明,进一步地,步骤S4包括:
步骤S41.使用未预训练的残差网络构建出学生网络;
步骤S42.修改学生网络的基本网络结构,在基本网络结构层中加入内存分块模型;
步骤S43.对学生网络的基本网络结构进行初始化操作;
步骤S44.向学生网络的基本网络结构注册前向传播钩子函数,获取学生网络的基本网络结构的特征输出。
在本技术方案中,在教师网络和学生网络的基本结构下,为了突出学生网络和教师网络对相似的语义特征具有相同的特征表达以及对不相似的语义特征具有不同的特征表达,提出为学生网络添加内存模型;为了提升学生网络对空间位置不同的特征具有单独的记忆,本技术方案中提出一种新的内存模型,即内存分块模型,将内存模型应用于教师学生网络中的学生网络,构建了一个带有记忆功能的学生网络,能够有效的记住正常样本的语义信息。并且,为了学生网络能够针对图片不同区域具有对比记忆的功能,本技术方案设计了内存分块模型,能有效帮助学生网络针对不同空间特征的语义信息进行记忆。
为了更好地实现本发明,进一步地,步骤S43包括:
使用内存分块模型将学生网络的特征分为2n个区域,并在各个区域单独进行存储。
在本技术方案中,一个内存模型其中具有2n个小的内存模块,也就是可以将输入的特征分为拆分出2n个小的特征区域,刚好能够对应2n个小的内存模块。并且对于基本结构层的基本网络内存模块,本技术方案会对应设置内存模块中的内存数量。
为了更好地实现本发明,进一步地,步骤S5包括:
对内存分块模型中的每一个小的内存模块进行均匀分布初始化操作。
在本技术方案中,内存分块模型具有输入和输出两个不同的特征向量。本技术方案提出计算输入和输出之间的相似度,然后将得到的相似度乘以输出获得一个新的输出特征向量。在训练时,输入和输出具有高的相似度,不会影响输出特征向量;在测试时,存在记忆的特征在输入和输出上表现出较小的相似度,会影响输出的特征向量,以此来检测像素级别的异常区域。
为了更好地实现本发明,进一步地,步骤S6包括:
步骤S61.加载预处理之后的训练数据集和测试数据集;
步骤S62.固定教师网络权重参数不训练;
步骤S63.为学生网络权重参数设置优化器并且设置学习率;
步骤S64.将数据输入进行基于内存分块模型的教师网络和学生网络交互的教师学生网络模型中,教师学生网络模型为训练好的学生网络和预训练后的教师网络;
步骤S65.计算教师学生网络模型各部分的损失;
步骤S66.使用梯度下降的方式对教师学生网络模型进行训练;
步骤S67.重复步骤S64至步骤S66直至模型收敛。
为了更好地实现本发明,进一步地,步骤S66包括:
教师学生网络模型选用end-to-end模型;
使用梯度下降的方法对end-to-end模型进行更新。
为了更好地实现本发明,进一步地,步骤S7包括:
步骤S71.获取训练好的教师学生网络模型;
步骤S72.将图片输入进教师学生网络模型获取教师网络和学生网络的基础网络结构层的特征输出;
步骤S73.计算教师网络和学生网络每一层输出之间的余弦相似度,并融合基础网络结构层的结果;
步骤S74.采样回图像数据大小后获取像素级别的工业异常检测效果。
本发明与现有技术相比,具有以下优点及有益效果:
(1)本发明使用带有内存模型的学生网络,使得学生网络不会出现神经网络在其他数据上强大的泛化能力;那么在测试时,学生网络和教师网络在异常区域出现不同的特征表达,以达到工业异常检测的目的;
(2)本发明使用内存分块模型将特征分为2n个区域单独进行存储,使得模型对图像上内容的空间出现位置变得敏感,传统教师学生网络针对图像内容只关注是否应该出现在图像上,会导致无法检测图像内容出现在错误位置的情况,而内存分块模型有效的避免了这种情况的发生;
(3)本发明使用针对内存分块模型提出计算内存分块模型的输入和输出之间的余弦相似度,然后将余弦相似度乘回输出获得新的输出结果;在训练时,输入和输出具有高的相似度,不会影响输出的特征向量;在测试时,存在记忆的特征在输入和输出上表现出较小的相似度,会影响输出的特征向量,以此来检测像素级别的异常区域;
(4)本发明提出的是end-to-end模型,直接使用梯度下降的方法对模型进行更新,能够避免分布模型在问题复杂化下变得无法表征训练数据的特征分布。
附图说明
本发明结合下面附图和实施例做进一步说明,本发明所有构思创新应视为所公开内容和本发明保护范围。
图1为本发明所提供的一种基于内存分块模型的工业异常检测方法的流程图。
图2为本发明所提供的基于内存分块模型教师学生网络的基本网络结构示意图。
图3为本发明所提供的一种基于内存分块模型的工业异常检测方法中内存分块模型的示意图。
图4为本发明所提供的一种基于内存分块模型的工业异常检测方法中内存模块的示意图。
图5为本发明所提供的选取数据集上验证模型的混淆矩阵图。
图6为本发明所提供的在MVTec AD数据集上图片级检测的模型性能(AUC)对比图。
图7为本发明所提供的在MVTec AD数据集上图片级检测的模型性能(AUC)对比图。
具体实施方式
以下结合实施例的具体实施方式,对本发明创造的上述内容再做进一步的详细说明。但不应将此理解为本发明上述主题的范围仅限于以下的实例。在不脱离本发明上述技术思想情况下,根据本领域普通技术知识和惯用手段作出的各种替换或变更,均应包括在本发明的范围内。
在本发明的描述中,需要说明的是,除非另有明确的规定和限定,术语“设置”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;也可以是直接相连,也可以是通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本发明中的具体含义。
实施例1:
本实施例的一种基于内存分块模型的工业异常检测方法,如图1-图4所示,一种基于内存分块模型的工业异常检测方法,以教师学生网络作为基础的网络结构。依据的是教师网络和学生网络在图像正常区域上表达出相似的特征,在图像异常区域上表达出不相似的特征,以此完成像素级的工业异常检测。本文针对学生网络的结构进行修改,在每一个基础网络层中添加一个内存分块模型,结构从基础模块+基础模块变为基础模块+内存分块模型+基础模块。添加的内存模型可以有效的帮助学生网络更好的去记住正常区域的特征,测试时对异常区域的特征表达和教师网络有较大的差异。
本实施例中提出的一个核心模块是内存分块模型。内存模型虽然可以帮助学生网络更好的去记住正常区域的特征,但是此时学生网络对图像内容的位置信息并不敏感。这会导致,正常的图像内容出现在了不该出现的问题不会被模型检测出来。因此,本发明提出了内存分块的方案,将特征图分成不一样的区域以此来表达位置信息,然后通过使用不同区域的内存来记忆不一样区域的特征,使得学生网络对图片内容的位置信息变得敏感,有效的提升了模型的性能。特别的,本文提出的内存分块模型对模型的输出进行了进一步的处理,本文提出利用模型输入和输出之间的相似度去扰乱异常区域的特征,此方式有效的提升了模型在工业异常检测任务上的表现性能。
实施例2:
本实施例在实施例1的基础上做进一步优化,本实施例选取了主流的工业异常检测数据集进行实验,MVTec AD数据集包含5354张不同目标和纹理类型的高分辨彩色图像。它包含用于训练的正常(即不包含缺陷)的图像,以及用于测试的异常图像。异常有70种不同类型的缺陷,例如划痕、凹痕、污染和不同结构变化。MVTec AD数据集是第一个全面的、多目标、多缺陷并且提供像素级精确标签的异常检测数据集,关注于真实世界应用。
本实施例的其他部分与实施例1相同,故不再赘述。
实施例3:
本实施例在上述实施例1的基础上做进一步优化,在本实施例中对数据集进行预处理。本实施例选择教师学生网络作为基础的网络结构,是将预训练的教师网络的知识蒸馏到带有内存分块模型的学生网络,因此需要使用同预训练教师网络相同的预处理方案。首先我们将图片读取到内存,可以将将图像数据调整大小为256*256,最后转为pytorch框架所使用的张量形式,然后再进行中心裁剪,最终经过一个正则化后输入进教师和学生网络。
本实施例的其他部分与上述实施例1相同,故不再赘述。
实施例4:
本实施例在上述实施例1的基础上做进一步优化,如图2-图4所示,本实施例设计的基于内存分块模型的教师学生网络模型包含两个基本网络:教师网络和学生网络。教师网络和学生网络都以残差网络(Resnet18)作为基本的网络结构。本实施例使用的教师网络是在大规模图像上预训练好的网络权重。本实施例针对教师网络的基础网络结构层注册网络前向传播钩子函数,以获取基础网络结构层网络的特征输出。
本实施例对学生网络的基本模块进行初始化操作。其中对基本模块中的卷积层的权重使用kaiming_normal(凯明正则初始化),对批标准化模块使用常数初始化,将权重初始化为1,偏置初始化为0。
本实施例针对学生网络的基本模块,比如说前三层基本模块添加内存分块模型,如图2所示。内存分块模型的结构如图3所示。
本实施例的其他部分与上述实施例1相同,故不再赘述。
实施例5:
本实施例在上述实施例1的基础上做进一步优化,在本实施例中对学生网络的基本模块进行初始化操作,并对内存分块模型中的每一个小的内存模块使用均匀分布初始化,在本实施例中使用内存分块模型将特征分为2n 个区域单独进行存储,使得模型对图像上内容的空间出现位置变得敏感。传统教师学生网络针对图像内容只关注是否应该出现在图像上,会导致无法检测图像内容出现在错误位置的情况。而内存分块模型有效的避免了这种情况的发生。
本实施例对内存分块模型进行初始化操作。对每一个内存分块模型中的内存模块使用均匀初始化进行内存区域初始化。
本实施例的其他部分与上述实施例1相同,故不再赘述。
实施例6:
本实施例在上述实施例5的基础上做进一步优化,如图4所示,图4为内存分块模型中每一小块内存模块的图示,将基本模型输出的特征输入进内存分块模型,特征图会被分为2n个小的区域,本实施例另n=4,图4展示了16个小区域。
每一个小区域的特征分别经过一个内存模块,因此内存模块的输出为
Figure 100002_DEST_PATH_IMAGE001
;其 中i代表16个小区域的下标,
Figure DEST_PATH_IMAGE002
代表第i个小区域经过第i块内存Mi输出结果,其中wi是第i个 小区域和内存Mi之间的余弦相似度权重。将wi经过一次
Figure DEST_PATH_IMAGE003
;操作后得 到新的wi,其中 γ代表阈值,当权重系数大于某个阈值被保留否则置为0。
本实施例的其他部分与上述实施例5相同,故不再赘述。
实施例7:
本实施例在上述实施例1的基础上做进一步优化,如图3所示,内存分块模型会将特征图输入进内存分块模型,然后针对输出进行一个后处理操作。其公式为:Fout=Memory(Fin);其中Fin代表输入特征,Fout代表输出特征,Memory()代表内存分块模型。本实施例提出计算输入和输出之间的相似度,然后将得到的相似度乘以输出获得一个新的输出特征向量。此时Fout=Fout·cos(Fout,Fin),其中,Fin代表输入特征,Fout代表输出特征,cos()代表余弦相似度函数。在训练时,输入和输出具有高的相似度,不会影响输出特征向量;在测试时,存在记忆的特征在输入和输出上表现出较小的相似度,会影响输出的特征向量,以此来检测像素级别的异常区域。
本实施例的其他部分与上述实施例1相同,故不再赘述。
实施例8:
本实施例在上述实施例1的基础上做进一步优化,训练基于内存分块模型的教师学生网络模型。在训练过程中,由于主要使用MVTec AD数据集,在本实施例中设定其输入网络的图片大小分别为256*256,内存数量分别设置为256、32和8,并且对batch_size大小都是32,学习率分别设定为0.01,使用Adam优化器进行学习,总的epoch设置为200。
本文使用Loss=Lfea_rec+αLmem_rec+βLmem_spa作为损失函数。其中,Lfea_rec表示教师网络与学生网络的基本网络结构层输出特征的重建损失,在本实施例中设定为前三层输出特征的重建损失,Lmem_rec表示内存模块的输入输出的重建损失,Lmem_spa表示特征与内存模块的权重系数的熵,α和β分别表示损失函数的权重系数,一般分别设定为0.1和0.2。
本实施例的其他部分与上述实施例1相同,故不再赘述。
实施例9:
本实施例在上述实施例8的基础上做进一步优化,本实施例提出的是是end-to-end模型,直接使用梯度下降的方法对模型进行更新,能够避免分布模型在问题复杂化下变得无法表征训练数据的特征分布。
本实施例的其他部分与上述实施例8相同,故不再赘述。
实施例10:
本实施例在上述实施例1的基础上做进一步优化,在本实施例中在选取数据集上 测试数据验证模型,即使用训练好的教师学生网络在测试数据上进行像素级异常检测。本 实验主要是采用ROC曲线下的面积AUC来评价方法的优劣。通常这个指标由分类问题的混淆 矩阵中的真阳性(True Positive,TP)、假阳性(False Positive,FP)、假阴性(Fals Negative,FN)和真阴性(True Negative,TN)四个元素计算而来,混淆矩阵如图5所示。先计 算如下公式:
Figure DEST_PATH_IMAGE004
Figure DEST_PATH_IMAGE005
;ROC曲线由两个坐标组成,横坐标FPR,纵坐标TPR,通 过调整不同的阈值可以画出一条曲线。AUC就是该曲线下面部分的面积大小。
发明人在MVTec AD数据集测试了模型的性能,与当前流行的方法相比都达到了良好的性能。测试比较结果如下图6和图7所示:
从图6可以看出,本发明在MVTec AD数据集的各个类的像素级别的异常检测上均取得了不错的性能。我们的方法在最终的平均分数达到了0.981,该分数是目前最好的性能。从表3可以看出,本发明在MVTec AD数据集的图像级别的异常检测上同样取得了不错的结果,并且在最终的分数达到了0.966,优于目前存在的模型。这证明了本发明提出的基于内存分块模型的教师学生网络模型能够有效应用于工业异常检测,能极大地弥补当前方法所存在的缺点。
本实施例的其他部分与上述实施例1相同,故不再赘述。
以上,仅是本发明的较佳实施例,并非对本发明做任何形式上的限制,凡是依据本发明的技术实质对以上实施例所做的任何简单修改、等同变化,均落入本发明的保护范围之内。

Claims (10)

1.一种基于内存分块模型的工业异常检测方法,其特征在于,包括以下步骤:
步骤S1.获取训练数据集和测试数据集;
步骤S2.获取对教师网络的预处理方式或对学生网络的预处理方式,对训练数据集使和测试数据集使用相同的预处理方式进行预处理操作;
步骤S3.构建教师网络的基础网络结构层,并预训练教师网络的权重,固定所述权重;
步骤S4.获取学生网络的基础网络结构层,并获取所述基础网络结构层中每一层的两个基础模块,在两个基础模块之间放置内存分块模型; 将基础模块输出的特征输入进内存分块模型,特征图会被分为2n个小的区域; 每一个小区域的特征分别经过一个内存模块,因此内存模块的输出为
Figure DEST_PATH_IMAGE001
=wiMi;其中i代表2n个小区域的下标,
Figure 182914DEST_PATH_IMAGE001
代表第i个小区域经过第i块内存Mi输出结果,其中wi是第i个小区域和内存Mi之间的余弦相似度权重,将wi经过一次
Figure 103597DEST_PATH_IMAGE002
操作后得到新的wi,其中 γ代表阈值,当权重系数大于某个阈值被保留,否则置为0; 将特征图输入进内存分块模型,然后针对输出进行一个后处理操作,其公式为:Fout=Memory(Fin);其中Fin代表输入特征,Fout代表输出特征,Memory()代表内存分块模型,计算输入和输出之间的相似度,然后将得到的相似度乘以输出获得一个新的输出特征向量,此时Fout=Fout·cos(Fout,Fin),其中,Fin代表输入特征,Fout代表输出特征,cos()代表余弦相似度函数;
步骤S5.对修改后的学生网络进行参数初始化操作;
步骤S6.将经过预处理操作的训练数据集和测试数据集输入进基于内存分块模型的教师学生网络中进行训练;
步骤S7.使用训练好的学生网络和预训练后的教师网络权重进行工业异常检测测试,获取异常检测结果。
2.根据权利要求1所述的一种基于内存分块模型的工业异常检测方法,其特征在于,所述步骤S1包括: 选取MVTec AD数据集进行实验。
3.根据权利要求1所述的一种基于内存分块模型的工业异常检测方法,其特征在于,所述步骤S2包括: 步骤S21.从训练数据集中提取图像数据;
步骤S22.对图像数据的尺寸大小进行调整,调整后生成图像数据处理结果;
步骤S23.将图像数据处理结果转换成向量形式数据;
步骤S24.对向量形式数据进行中心剪裁,获取剪裁数据结果;
步骤S25.对剪裁数据结果进行正则化操作。
4.根据权利要求1所述的一种基于内存分块模型的工业异常检测方法,其特征在于,所述步骤S3包括: 步骤S31.使用预训练好的残差网络构建出教师网络;
步骤S32.固定教师网络的权重;
步骤S33.向教师网络的基础网络结构层注册前向传播钩子函数,获取教师网络的基础网络结构层的特征输出。
5.根据权利要求1所述的一种基于内存分块模型的工业异常检测方法,其特征在于,所述步骤S4包括:
步骤S41.使用未预训练的残差网络构建出学生网络;
步骤S42.修改学生网络的基本网络结构,在基本网络结构层中加入内存分块模型;
步骤S43.对学生网络的基本网络结构进行初始化操作;
步骤S44.向学生网络的基本网络结构注册前向传播钩子函数,获取学生网络的基本网络结构的特征输出。
6.根据权利要求5所述的一种基于内存分块模型的工业异常检测方法,其特征在于,所述步骤S43包括: 使用内存分块模型将学生网络的特征分为2n个区域,并在各个区域单独进行存储。
7.根据权利要求1所述的一种基于内存分块模型的工业异常检测方法,其特征在于,所述步骤S5包括: 对内存分块模型中的每一个小的内存模块进行均匀分布初始化操作。
8.根据权利要求1所述的一种基于内存分块模型的工业异常检测方法,其特征在于,所述步骤S6包括: 步骤S61.加载预处理之后的训练数据集和测试数据集;
步骤S62.固定教师网络权重参数不训练;
步骤S63.为学生网络权重参数设置优化器并且设置学习率;
步骤S64.将数据输入进行基于内存分块模型的教师网络和学生网络交互的教师学生网络模型中,所述教师学生网络模型为训练好的学生网络和预训练后的教师网络;
步骤S65.计算教师学生网络模型各部分的损失;
步骤S66.使用梯度下降的方式对教师学生网络模型进行训练;
步骤S67.重复步骤S64至步骤S66直至模型收敛。
9.根据权利要求8所述的一种基于内存分块模型的工业异常检测方法,其特征在于,所述步骤S66包括: 所述教师学生网络模型选用end-to-end模型; 使用梯度下降的方法对end-to-end模型进行更新。
10.根据权利要求1所述的一种基于内存分块模型的工业异常检测方法,其特征在于,所述步骤S7包括: 步骤S71.获取训练好的教师学生网络模型; 步骤S72.将图片输入进教师学生网络模型获取教师网络和学生网络的基础网络结构层的特征输出;
步骤S73.计算教师网络和学生网络每一层输出之间的余弦相似度,并融合基础网络结构层的结果;
步骤S74.采样回图像数据大小后获取像素级别的工业异常检测效果。
CN202111474998.5A 2021-12-06 2021-12-06 一种基于内存分块模型的工业异常检测方法 Active CN113888538B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111474998.5A CN113888538B (zh) 2021-12-06 2021-12-06 一种基于内存分块模型的工业异常检测方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111474998.5A CN113888538B (zh) 2021-12-06 2021-12-06 一种基于内存分块模型的工业异常检测方法

Publications (2)

Publication Number Publication Date
CN113888538A CN113888538A (zh) 2022-01-04
CN113888538B true CN113888538B (zh) 2022-02-18

Family

ID=79015637

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111474998.5A Active CN113888538B (zh) 2021-12-06 2021-12-06 一种基于内存分块模型的工业异常检测方法

Country Status (1)

Country Link
CN (1) CN113888538B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114782888B (zh) * 2022-04-01 2023-06-23 中国铁路兰州局集团有限公司 轨道咽喉区异常检测的方法及系统

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110991556A (zh) * 2019-12-16 2020-04-10 浙江大学 一种基于多学生合作蒸馏的高效图像分类方法、装置、设备及介质
CN113610126A (zh) * 2021-07-23 2021-11-05 武汉工程大学 基于多目标检测模型无标签的知识蒸馏方法及存储介质

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107247989B (zh) * 2017-06-15 2020-11-24 北京图森智途科技有限公司 一种实时的计算机视觉处理方法及装置
US11410029B2 (en) * 2018-01-02 2022-08-09 International Business Machines Corporation Soft label generation for knowledge distillation
CN109034219B (zh) * 2018-07-12 2021-08-24 上海商汤智能科技有限公司 图像的多标签类别预测方法及装置、电子设备和存储介质
CN111325318B (zh) * 2019-02-01 2023-11-24 北京地平线机器人技术研发有限公司 神经网络的训练方法、神经网络的训练装置和电子设备
CN110097084B (zh) * 2019-04-03 2021-08-31 浙江大学 通过投射特征训练多任务学生网络的知识融合方法
CN111144490B (zh) * 2019-12-26 2022-09-06 南京邮电大学 一种基于轮替知识蒸馏策略的细粒度识别方法
US11900260B2 (en) * 2020-03-05 2024-02-13 Huawei Technologies Co., Ltd. Methods, devices and media providing an integrated teacher-student system
CN111553471A (zh) * 2020-07-13 2020-08-18 北京欣奕华数字科技有限公司 一种数据分析处理方法及装置
SG10202009757XA (en) * 2020-10-01 2021-04-29 Yitu Pte Ltd Video-based human action recognition method and apparatus, a medium and an electronic device
KR102232138B1 (ko) * 2020-11-17 2021-03-25 (주)에이아이매틱스 지식 증류 기반 신경망 아키텍처 탐색 방법
CN112991330B (zh) * 2021-04-19 2021-08-13 征图新视(江苏)科技股份有限公司 基于知识蒸馏的正样本工业缺陷检测方法
CN113673498A (zh) * 2021-07-28 2021-11-19 浙江大华技术股份有限公司 目标检测方法、装置、设备和计算机可读存储介质
CN113360701B (zh) * 2021-08-09 2021-11-02 成都考拉悠然科技有限公司 一种基于知识蒸馏的素描图处理方法及其系统

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110991556A (zh) * 2019-12-16 2020-04-10 浙江大学 一种基于多学生合作蒸馏的高效图像分类方法、装置、设备及介质
CN113610126A (zh) * 2021-07-23 2021-11-05 武汉工程大学 基于多目标检测模型无标签的知识蒸馏方法及存储介质

Also Published As

Publication number Publication date
CN113888538A (zh) 2022-01-04

Similar Documents

Publication Publication Date Title
CN109711254B (zh) 基于对抗生成网络的图像处理方法和装置
CN106845529B (zh) 基于多视野卷积神经网络的影像特征识别方法
CN108830285B (zh) 一种基于Faster-RCNN的加强学习的目标检测方法
CN109993102B (zh) 相似人脸检索方法、装置及存储介质
CN113240580A (zh) 一种基于多维度知识蒸馏的轻量级图像超分辨率重建方法
CN112036447B (zh) 零样本目标检测系统及可学习语义和固定语义融合方法
CN111160533A (zh) 一种基于跨分辨率知识蒸馏的神经网络加速方法
CN112365514A (zh) 基于改进PSPNet的语义分割方法
CN111598167B (zh) 基于图学习的小样本图像识别方法及系统
CN114332578A (zh) 图像异常检测模型训练方法、图像异常检测方法和装置
CN112784782B (zh) 一种基于多视角双注意网络的三维物体识别方法
CN114782694B (zh) 无监督异常检测方法、系统、设备及存储介质
CN111444865A (zh) 一种基于逐步求精的多尺度目标检测方法
CN112232397A (zh) 图像分类模型的知识蒸馏方法、装置和计算机设备
CN113888538B (zh) 一种基于内存分块模型的工业异常检测方法
CN114419406A (zh) 图像变化检测方法、训练方法、装置和计算机设备
CN116304853A (zh) 一种极限学习机与特征提取相结合的数据分类方法及系统
CN110111365B (zh) 基于深度学习的训练方法和装置以及目标跟踪方法和装置
CN111815620B (zh) 一种基于卷积特征和低秩表示的织物疵点检测方法
CN111401209B (zh) 一种基于深度学习的动作识别方法
CN116823983A (zh) 基于风格收集机制的一对多风格书法图片生成方法
US20230073223A1 (en) Method for detecting anomalies in images using a plurality of machine learning programs
CN113469977B (zh) 一种基于蒸馏学习机制的瑕疵检测装置、方法、存储介质
CN115512174A (zh) 应用二次IoU损失函数的无锚框目标检测方法
CN111767825B (zh) 一种人脸属性不变鲁棒性人脸识别方法及系统

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant