CN114170478A - 基于跨图像局部特征对齐的缺陷检测、定位的方法及*** - Google Patents

基于跨图像局部特征对齐的缺陷检测、定位的方法及*** Download PDF

Info

Publication number
CN114170478A
CN114170478A CN202111502012.0A CN202111502012A CN114170478A CN 114170478 A CN114170478 A CN 114170478A CN 202111502012 A CN202111502012 A CN 202111502012A CN 114170478 A CN114170478 A CN 114170478A
Authority
CN
China
Prior art keywords
model
loss function
learning model
local feature
distillation learning
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.)
Pending
Application number
CN202111502012.0A
Other languages
English (en)
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.)
Sun Yat Sen University
Original Assignee
Sun Yat Sen University
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 Sun Yat Sen University filed Critical Sun Yat Sen University
Priority to CN202111502012.0A priority Critical patent/CN114170478A/zh
Publication of CN114170478A publication Critical patent/CN114170478A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/214Generating training patterns; Bootstrap methods, e.g. bagging or boosting
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Artificial Intelligence (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computing Systems (AREA)
  • Software Systems (AREA)
  • Molecular Biology (AREA)
  • Computational Linguistics (AREA)
  • Biophysics (AREA)
  • Biomedical Technology (AREA)
  • Mathematical Physics (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Evolutionary Biology (AREA)
  • Image Analysis (AREA)
  • Image Processing (AREA)

Abstract

本发明提出一种基于跨图像局部特征对齐的缺陷检测、定位的方法及***,涉及物体表面缺陷异常检测及定位的技术领域,首先搭建蒸馏学习模型,然后将跨图像的局部特征对齐信息融入到蒸馏学习模型的正常样本特征提取训练的损失函数中,形成总损失函数,最后借助蒸馏学习模型总损失函数进行异常缺陷检测及异常定位,使得蒸馏学习模型可以使用训练集跨图像的像素‑像素局部对应关系来约束特征空间,从而保证蒸馏学习模型对细粒度的局部像素级特征的敏感性,进而提升物体表面缺陷异常检测和定位的效果。

Description

基于跨图像局部特征对齐的缺陷检测、定位的方法及***
技术领域
本发明涉及物体表面缺陷异常检测及定位的技术领域,更具体地,涉及一种基于跨图像局部特征对齐的缺陷检测、定位的方法及***。
背景技术
随着计算机视觉研究的发展,物体表面缺陷检测和定位技术被广泛应用在工业视觉检测和医学图像病变筛查等领域中,异常检测和定位的目的是筛选出异常样本图片并定位出样本中的异常区域。
目前,异常检测和定位的方法可以分为基于重构和基于表征相似度两种方法。其中,基于重构的方法主要是通过训练自编码器、变分自编码器或对抗生成网络重构正常样本,在测试时,异常样本因无法被很好重构而被识别出来。在判别图像是否为异常样本时,使用整张图像的重构误差,在定位异常区域时,使用像素级的重构误差,基于重构的方法非常直观且具有可解释性,但性能往往受到生成模型的限制,因为一些时候异常样本也能被很好重建,尤其是当异常样本和正常样本高度相似时,会产生重构误差失灵现象。基于表征相似度的方法是使用深度神经网络提取整张图像的表征用于异常检测,提取图像局部块的表征用于异常定位,大部分基于表征相似度的方法相比基于重构的方法虽然能取得较好结果,但缺乏可解释性,因为在这种方法中异常得分来源于测试集图像表征和训练集正常样本表征之间的距离,实际难以知晓异常图像的哪一部分导致了高异常分数。并且,这类方法中基于图像块的异常定位计算量也比较大。
在基于表征相似度的方法中,基于蒸馏学习模型的方式也是其中一种,其具备了较好的可解释性,如现有技术中公开了一种基于知识蒸馏的正样本工业缺陷检测方法,首先构建工业数据集,然后对工业数据集进行预处理操作,预处理后的工业数据集包括正样本集和无标注的缺陷样本集,再使用自监督对比学习在形成的工业数据集上预训练教师网络模型;在形成的正样本集的基础上,利用训练得到的教师网络模型指导学生网络模型训练,最后使用训练得到的教师网络模型以及训练得到的学生网络模型对待测图片进行缺陷检测。由于学生网络模型只学习到提取正样本特征的能力,对缺陷区域提取的特征与教师网络模型存在较大差异,从而可以作为缺陷判断的依据。而实际上,目前用于物体表面缺陷检测的工业数据集有一大特点,即图像大多是经过配准(同一目标的两幅或者两幅以上的图像在空间位置的对准)的同一种物体,这时的跨图像局部特征是高度相关的,跨图像局部特征对齐信息可以保证模型对细粒度的局部像素级特征的敏感性,但现有的基于蒸馏学习模型的方法没有应用到这一信息,因此,缺陷检测和定位的效果不佳,而如何应用这一信息,提高缺陷检测和定位的效果,成为一个待解决的难题。
发明内容
为解决传统基于蒸馏学习模型进行缺陷检测、定位的方式检测效果不佳的问题,本发明提出一种基于跨图像局部特征对齐的缺陷检测、定位的方法及***,以蒸馏学习模型为基础,使用训练集跨图像的像素-像素局部对应关系来约束特征空间,保证模型对细粒度的局部像素级特征的敏感性,进而提升物体表面缺陷异常检测和定位的效果
为了达到上述技术效果,本发明的技术方案如下:
一种基于跨图像局部特征对齐的缺陷检测、定位的方法,包括以下步骤:
S1.构建蒸馏学习模型,所述的蒸馏学习模型包括教师模型T及学生模型S;
S2.确定蒸馏学习模型的损失函数;
S3.构建数据集,将数据集划分为训练集和测试集,训练集仅包含正常图像样本,测试集包括正常图像样本和异常图像样本;
S4.构建同一训练批次若干张正常图像样本中跨图像的局部特征对齐损失函数;
S5.将S2中的局部特征对齐损失函数与S4中蒸馏学习模型的损失函数整合,形成基于跨图像局部特征对齐的蒸馏学习模型的总损失函数;
S6.将训练集中的正常图像样本同时输入教师模型T和学生模型S,固定教师模型T的参数不变,以总损失函数作为训练指导,利用教师模型T指导学生模型S进行训练,从而训练蒸馏学习模型,得到训练好的蒸馏学习模型;
S7.以测试集的图像样本作为训练好的蒸馏学习模型的输入样本,从总损失函数关于输入样本的梯度出发,利用训练好的蒸馏学习模型对测试集中的图像样本进行缺陷检测及定位。
在本技术方案中,首先搭建蒸馏学习模型(包括教师模型T及学生模型S),确定蒸馏学习模型的损失函数,然后构建数据集并划分为训练集和测试集,将统一训练批次若干正常图像样本中跨图像的局部特征对齐信息融入到蒸馏学习模型的损失函数中,形成最终的损失函数,将正常图像样本同时输入教师模型T和学生模型S,使教师模型T的参数固定不变,利用教师模型T指导学生模型S进行训练,以使得学生模型仅获取对正常图像样本特征的提取能力,且模型可以使用训练集跨图像的像素-像素局部对应关系来约束特征空间,借助跨图像的特征对齐信息来保证模型对细粒度的局部像素级特征的敏感性,进而保证物体表面缺陷异常检测和定位的效果。
优选地,步骤S1构建的蒸馏学习模型中教师模型T采用加载了在ImageNet上预训练权重的VGG16网络结构,学生模型S采用与教师模型T相同的VGG16网络结构,并随机初始化权重。
在此,为了缩短初始蒸馏学习模型的训练时间,教师模型T加载了在ImageNet上预训练权重,教师模型T对正常图像样本和异常图像样本都具有较好的特征提取能力,学生模型S采用与教师模型T相同的VGG16网络结构便于教师模型T进一步指导学生模型S的训练。
优选地,VGG16网络结构中包括若干个模块,
在步骤S2中,教师模型T和学生模型S均取各自网络结构中后四个模块的最后一层作为各自的关键层,蒸馏学习模型的损失函数为:
L1=Lval+λLdir
其中,
Figure BDA0003402055040000031
Figure BDA0003402055040000032
其中,L1表示蒸馏学习模型的损失函数;CPi表示VGG16网络结构的第i层关键层的输出;CP0表示原始输入VGG16网络结构的正常图像特征;
Figure BDA0003402055040000033
表示教师模型T第i层关键层的激活值,激活值即网络结构关键层输出的正常图像特征;
Figure BDA0003402055040000034
表示学生模型S第i层关键层的激活值;Ni表示CPi中神经元的数量;
Figure BDA0003402055040000035
表示教师模型T中第i层关键层中第j个神经元的激活值;
Figure BDA0003402055040000036
表示学生模型S中第i层关键层中第j个神经元的激活值;Ncp表示关键层的总数量;Lval表示教师模型T和学生模型S每个关键层中对应激活值的欧式距离之和;vec()表示将具有任意维度的矩阵转换为一维向量的向量化函数;Ldir表示教师模型T和学生模型S每个对应关键层转换而来的向量的余弦相似度;λ表示人为设置的超参数。该损失函数建立的过程既可以约束学生模型S和教师模型T关键层输出的激活值相似,又可以约束关键层输出的向量方向相似。
优选地,设对步骤S4中的同一训练批次K张正常图像样本进行跨图像的局部特征对齐损失函数构建,在蒸馏学习模型训练过程中,依次逐像素计算第一张、第二张、...、第K张正常图像样本与其它K-1张正常图像样本在教师模型T与学生模型S对应VGG16网络结构的关键层输出的激活值图的对齐损失,然后取1/2消除重复计算的内容,得到同一训练批次K张正常图像样本中跨图像的局部特征对齐损失函数,表达式为:
Figure BDA0003402055040000041
其中,L2表示同一训练批次K张正常图像样本中跨图像的局部特征对齐损失函数;因为使用VGG16网络结构的关键层输出的激活值图进行跨图像逐像素计算对齐损失,激活值图是对原始输入的正常图像样本利用卷积核进行了卷积计算,激活值图中的一个像素位置就相当于原始输入的正常图像样本中的至少3*3像素的局部特征。
优选地,步骤S5所述的形成的基于跨图像局部特征对齐的蒸馏学习模型的总损失函数的表达式为:
Ltotal=L1+γL2
其中,Ltotal表示基于跨图像局部特征对齐的蒸馏学习模型的总损失函数;γ表示训练时人为设置的超参数。
优选地,在步骤S6中,将训练集中的正常图像样本同时输入教师模型T和学生模型S,固定教师模型T的参数不变,以总损失函数作为训练指导,利用教师模型T指导学生模型S进行训练时,训练方式为反向传播和梯度下降,学生模型S的关键层的输出为学生模型S提取到的正常图像样本图像特征,利用学生模型S的关键层的输出拟合教师模型T的关键层的输出,使得学生模型S仅获取对正常图像样本特征的提取能力,在训练过程中,总损失函数Ltotal在20个训练轮次中不再下降时,模型训练完成,得到训练好的蒸馏学习模型。
在此,在总损失函数Ltotal的值稳定在一个不再下降收敛的状态时,也保证跨图像的局部特征对齐损失函数L2收敛,保证了跨图像的局部特征一致性,即“对齐”。
优选地,在步骤S7中,从总损失函数关于输入样本的梯度出发,利用训练好的蒸馏学习模型对测试集中的图像样本进行缺陷检测及定位时,设测试集汇总的输入样本表示为x,总损失函数关于输入样本的梯度图Λ表达式为
Figure BDA0003402055040000051
输入样本x的像素梯度值通过训练过程中一次反向传播直接获得,由于基于跨图像局部特征对齐的蒸馏学习模型的总损失函数Ltotal中包括蒸馏学习模型的损失函数L1和跨图像的局部特征对齐损失函数L2,步骤S7利用测试集测试时,当输入样本x为正常图像样本时,蒸馏学习模型的损失函数L1和跨图像的局部特征对齐损失函数L2均小,梯度也小,当输入样本x为异常图像样本时则相反;设梯度贡献度阈值为ε,梯度贡献度大于ε的输入样本x的像素位置产生的梯度值大,所述的像素位置对应异常缺陷区域,即利用Ltotal的梯度图进行异常定位,获取导致其值增加的异常缺陷区域。
在此,利用训练好的蒸馏学习模型对测试集中的图像样本进行缺陷检测及定位时包含两个层面,首先,基于训练好的蒸馏学习模型的总损失函数Ltotal的值,在异常检测时,判断输入样本为正常图像样本或异常图像样本,其次,总损失函数Ltotal关于输入样本x的梯度具有重要意义,其中贡献较大梯度的像素即教师模型T和学生模型T关键层输出差异和局部特征对齐损失较大的区域,也为异常检测区域。
优选地,在利用Ltotal的梯度图进行异常定位时,结合SmoothGrad算法实现。
优选地,为提高缺陷检测及定位的精确度,利用高斯平滑和形态学开运算处理梯度图Λ,满足的过程公式为:
M=gσ(Λ)
Figure BDA0003402055040000052
其中,M表示对梯度图Λ高斯平滑后的结果;B表示形状为椭圆或圆的二值图;
Figure BDA0003402055040000053
Figure BDA0003402055040000054
分别表示利用结构元素B进行的形态学腐蚀和膨胀操作,也称形态学开运算;Lmap表示对梯度图Λ进行高斯平滑和形态学开运算后的异常定位图。该处理过程也减少了梯度图Λ的噪音。
本发明还提出一种基于跨图像局部特征对齐的缺陷检测、定位***,包括:
蒸馏学习模型构建模块,用于构建蒸馏学习模型,蒸馏学习模型包括教师模型T及学生模型S;
损失函数确定模块,用于确定蒸馏学习模型的损失函数;
数据集构建划分模块,用于构建数据集,将数据集划分为训练集和测试集,训练集仅包含正常图像样本,测试集包括正常图像样本和异常图像样本;
对齐损失函数构建模块,用于构建同一训练批次若干张正常图像样本中跨图像的局部特征对齐损失函数;
总损失函数构建模块,将局部特征对齐损失函数与蒸馏学习模型的损失函数整合,形成基于跨图像局部特征对齐的蒸馏学习模型的总损失函数;
蒸馏学习模型训练模块,将训练集中的正常图像样本同时输入教师模型T和学生模型S,固定教师模型T的参数不变,以总损失函数作为训练指导,利用教师模型T指导学生模型S进行训练,从而训练蒸馏学习模型,得到训练好的蒸馏学习模型;
测试模块,以测试集的图像样本作为训练好的蒸馏学习模型的输入样本,从总损失函数关于输入样本的梯度出发,利用训练好的蒸馏学习模型对测试集中的图像样本进行缺陷检测及定位。
与现有技术相比,本发明技术方案的有益效果是:
本发明提出一种基于跨图像局部特征对齐的缺陷检测、定位方法及***,首先搭建蒸馏学习模型并确定损失函数,然后将跨图像的局部特征对齐信息融入到蒸馏学习模型的的损失函数中,形成总损失函数,以总损失函数作为训练指导,借助数据集中训练集对总损失函数下的蒸馏学习模型进行训练,最后从总损失函数关于输入样本的梯度出发,利用训练好的蒸馏学习模型对测试集中的图像样本进行缺陷检测及定位,在该方法所述的过程中,蒸馏学习模型可以使用训练集跨图像的像素-像素局部对应关系来约束特征空间,从而保证蒸馏学习模型对细粒度的局部像素级特征的敏感性,进而提升物体表面缺陷异常检测和定位的效果。
附图说明
图1表示本发明实施例1中提出的基于跨图像局部特征对齐的缺陷检测、定位方法的流程示意图;
图2表示基于本发明实施例1中提出的学生模型S与教师模型T均采用的VGG16网络结构的示意图;
图3表示本发明实施例2中提出的基于跨图像局部特征对齐的缺陷检测、定位整体过程的示意框图;
图4表示本发明实施例3中提出的基于跨图像局部特征对齐的缺陷检测、定位***的结构图。
具体实施方式
附图仅用于示例性说明,不能理解为对本专利的限制;
为了更好地说明本实施例,附图某些部位会有省略、放大或缩小,并不代表实际尺寸;
对于本领域技术人员来说,附图中某些公知内容说明可能省略是可以理解的。
附图中描述位置关系的用于仅用于示例性说明,不能理解为对本专利的限制;
下面结合附图和实施例对本发明的技术方案做进一步的说明。
实施例1
本发明在实施例1中提出一种基于跨图像局部特征对齐的缺陷检测、定位方法,所述方法的流程示意图如图1所示,具体包括以下步骤:
S1.构建蒸馏学习模型,蒸馏学习模型包括教师模型T及学生模型S;
在本实施例中,构建的蒸馏学习模型中教师模型T采用加载了在ImageNet上预训练权重的VGG16网络结构,学生模型S采用与教师模型T相同的VGG16网络结构,并随机初始化权重,对于教师模型T或学生模型S采用的具体网络结构,并不局限于VGG16网络结构,也可以是其它网络结构,学生模型S也可以采用与教师模型T类似,不完全相同,但更精简紧凑的网络结构。在已经构建明确蒸馏学习模型的基础上,进一步确定蒸馏学习模型的损失函数,即执行步骤S2:
S2.确定蒸馏学习模型的损失函数;
本实施例中,如图2所示,教师模型T或学生模型S采用的VGG16网络结构中包括若干个模块,图2中的块状结构即表示模块,在步骤S2中,教师模型T和学生模型S均取各自网络结构中后四个模块的最后一层作为各自的关键层,具体可参见图2,表示的是教师模型T或学生模型S中的任意一个结构以及关键层的提取,蒸馏学习模型的损失函数为:
L1=Lval+λLdir
其中,
Figure BDA0003402055040000081
Figure BDA0003402055040000082
其中,L1表示蒸馏学习模型的损失函数;CPi表示VGG16网络结构的第i层关键层的输出;CP0表示原始输入VGG16网络结构的正常图像特征;
Figure BDA0003402055040000083
表示教师模型T第i层关键层的激活值,激活值即网络结构关键层输出的正常图像特征;
Figure BDA0003402055040000084
表示学生模型S第i层关键层的激活值;Ni表示CPi中神经元的数量;
Figure BDA0003402055040000085
表示教师模型T中第i层关键层中第j个神经元的激活值;
Figure BDA0003402055040000086
表示学生模型S中第i层关键层中第j个神经元的激活值;Ncp表示关键层的总数量;Lval表示教师模型T和学生模型S每个关键层中对应激活值的欧式距离之和;vec()表示将具有任意维度的矩阵转换为一维向量的向量化函数;Ldir表示教师模型T和学生模型S每个对应关键层转换而来的向量的余弦相似度;λ表示人为设置的超参数。
在确定了蒸馏学习模型的损失函数后,为引入跨图像局部特征对齐信息,对于跨图像局部特征对齐信息引入,需要从数据集出发,因此接下来依次执行步骤S3及步骤S4:
S3.构建数据集,将数据集划分为训练集和测试集,训练集仅包含正常图像样本,测试集包括正常图像样本和异常图像样本;
在本实施例中,构建的数据集分别是MVTecAD和Head-CT,MVTecAD是工业质检数据集,包含15类工业产品,每类产品都分为训练集和测试集,训练集中仅包含正常图像样本(每类约300张),测试集中包含正常图像样本和不同种类的异常图像样本(每类约30张)以及标定有异常图像样本异常区域的二值图。Head-CT是医学数据集,包含100张正常脑部CT和100张含病变的脑部CT本例。
S4.构建同一训练批次若干张正常图像样本中跨图像的局部特征对齐损失函数;
设对步骤S4中的同一训练批次K张正常图像样本进行跨图像的局部特征对齐损失函数构建,在蒸馏学习模型训练过程中,依次逐像素计算第一张、第二张、...、第K张正常图像样本与其它K-1张正常图像样本在教师模型T与学生模型S对应VGG16网络结构的关键层输出的激活值图的对齐损失,然后取1/2消除重复计算的内容,得到同一训练批次K张正常图像样本中跨图像的局部特征对齐损失函数,表达式为:
Figure BDA0003402055040000091
其中,L2表示同一训练批次K张正常图像样本中跨图像的局部特征对齐损失函数;因为使用VGG16网络结构的关键层输出的激活值图进行跨图像逐像素计算对齐损失,激活值图是对原始输入的正常图像样本利用卷积核进行了卷积计算,激活值图中的一个像素位置就相当于原始输入的正常图像样本中的至少3*3像素的局部特征。
S5.将S2中的局部特征对齐损失函数与S4中蒸馏学习模型的损失函数整合,形成基于跨图像局部特征对齐的蒸馏学习模型的总损失函数;
形成的基于跨图像局部特征对齐的蒸馏学习模型的总损失函数的表达式为:
Ltotal=L1+γL2
其中,Ltotal表示基于跨图像局部特征对齐的蒸馏学习模型的总损失函数;γ表示人为设置的超参数。
在蒸馏学习模型的框架一定的前提下,形成基于跨图像局部特征对齐的蒸馏学习模型的总损失函数后,以总损失函数作为训练指导,这时对蒸馏学习模型进行训练,可以使模型借助跨图像的特征对齐信息来保证模型对细粒度的局部像素级特征的敏感性,具体训练过程执行步骤S6:
S6.将训练集中的正常图像样本同时输入教师模型T和学生模型S,固定教师模型T的参数不变,以总损失函数作为训练指导,利用教师模型T指导学生模型S进行训练,从而训练蒸馏学习模型,得到训练好的蒸馏学习模型;
将训练集中的正常图像样本同时输入教师模型T和学生模型S,固定教师模型T的参数不变,以总损失函数作为训练指导,利用教师模型T指导学生模型S进行训练时,训练方式为反向传播和梯度下降,学生模型S的关键层的输出为学生模型S提取到的正常图像样本图像特征,利用学生模型S的关键层的输出拟合教师模型T的关键层的输出,使得学生模型S仅获取对正常图像样本特征的提取能力,在训练过程中,总损失函数Ltotal在20个训练轮次中不再下降时,模型训练完成,即在总损失函数Ltotal的值稳定在一个不再下降收敛的状态时,也保证跨图像的局部特征对齐损失函数L2收敛,保证了跨图像的局部特征一致性,即“对齐”,得到训练好的蒸馏学习模型。
S7.以测试集的图像样本作为训练好的蒸馏学习模型的输入样本,从总损失函数关于输入样本的梯度出发,利用训练好的蒸馏学习模型对测试集中的图像样本进行缺陷检测及定位。
整体上,首先搭建蒸馏学习模型,在该模型中包括教师模型T及学生模型S,确定蒸馏学习模型的损失函数,然后构建数据集并划分为训练集和测试集,将统一训练批次若干正常图像样本中跨图像的局部特征对齐信息融入到蒸馏学习模型的损失函数中,形成最终的损失函数,将正常图像样本同时输入教师模型T和学生模型S,使教师模型T的参数固定不变,利用教师模型T指导学生模型S进行训练,以使得学生模型仅获取对正常图像样本特征的提取能力,且模型可以使用训练集跨图像的像素-像素局部对应关系来约束特征空间,借助跨图像的特征对齐信息来保证模型对细粒度的局部像素级特征的敏感性,进而保证物体表面缺陷异常检测和定位的效果。
在本实施例中,最后的步骤S7中,从总损失函数关于输入样本的梯度出发,利用训练好的蒸馏学习模型对测试集中的图像样本进行缺陷检测及定位时,设测试集汇总的输入样本表示为x,总损失函数关于输入样本的梯度图Λ表达式为
Figure BDA0003402055040000101
输入样本x的像素梯度值通过训练过程中一次反向传播直接获得,由于基于跨图像局部特征对齐的蒸馏学习模型的总损失函数Ltotal中包括蒸馏学习模型的损失函数L1和跨图像的局部特征对齐损失函数L2,步骤S7利用测试集测试时,当输入样本x为正常图像样本时,蒸馏学习模型的损失函数L1和跨图像的局部特征对齐损失函数L2均小,梯度也小,当输入样本x为异常图像样本时则相反;设梯度贡献度阈值为ε,梯度贡献度大于ε的输入样本x的像素位置产生的梯度值大,所述的像素位置对应异常缺陷区域,即利用Ltotal的梯度图进行异常定位,获取导致其值增加的异常缺陷区域。即利用训练好的蒸馏学习模型对测试集中的图像样本进行缺陷检测及定位时包含两个层面,首先,基于训练好的蒸馏学习模型的总损失函数Ltotal的值,在异常检测时,判断输入样本为正常图像样本或异常图像样本,其次,总损失函数Ltotal关于输入样本x的梯度具有重要意义,其中贡献较大梯度的像素即教师模型T和学生模型T关键层输出差异和局部特征对齐损失较大的区域,也为异常检测区域。
在利用Ltotal的梯度图进行异常定位时,结合SmoothGrad算法实现,该算法是进行定位的常用算法,此处不再赘述。
为提高缺陷检测及定位的精确度,利用高斯平滑和形态学开运算处理梯度图Λ,满足的过程公式为:
M=gσ(Λ)
Figure BDA0003402055040000111
其中,M表示对梯度图Λ高斯平滑后的结果;B表示形状为椭圆或圆的二值图;
Figure BDA0003402055040000112
Figure BDA0003402055040000113
分别表示利用结构元素B进行的形态学腐蚀和膨胀操作,也称形态学开运算;Lmap表示对梯度图Λ进行高斯平滑和形态学开运算后的异常定位图。该处理过程也减少了梯度图Λ的噪音。
实施例2
在本实施例中,整体上将实施例1所述的缺陷检测、定位方法的实施过程以示意框图的形式进一步阐述,示意框图参见图3,同一批次输入样本为坚果图像样本,由图3可以看出,坚果图像样本包括正常图像样本和有缺陷的异常图像样本(如最后一个所示),坚果图像样本作为输入,进入蒸馏学习模型的教师模型T及学生模型S,将对齐损失与原关键层输出损失融合,求和得到总损失函数Ltotal中,总损失函数Ltotal包括蒸馏学习模型的损失函数L1(关键层输出)和跨图像的局部特征对齐损失函数L2(对齐损失),以总损失函数作为训练指导,通过梯度下降和反向传播的方式,训练整个蒸馏学习模型,经梯度回传,得到异常定位梯度热力图及异常区域二值图,从而完成缺陷异常检测及定位。
实施例3
如图3所示,为实现实施例1及实施例2中的方法,本实施例提出了一种基于跨图像局部特征对齐的缺陷检测、定位***,包括:
蒸馏学习模型构建模块101,用于构建蒸馏学习模型,蒸馏学习模型包括教师模型T及学生模型S;
损失函数确定模块102,用于确定蒸馏学习模型的损失函数;
数据集构建划分模块103,用于构建数据集,将数据集划分为训练集和测试集,训练集仅包含正常图像样本,测试集包括正常图像样本和异常图像样本;
对齐损失函数构建模块104,用于构建同一训练批次若干张正常图像样本中跨图像的局部特征对齐损失函数;
总损失函数构建模块105,将局部特征对齐损失函数与蒸馏学习模型的损失函数整合,形成基于跨图像局部特征对齐的蒸馏学习模型的总损失函数;
蒸馏学习模型训练模块106,将训练集中的正常图像样本同时输入教师模型T和学生模型S,固定教师模型T的参数不变,以总损失函数作为训练指导,利用教师模型T指导学生模型S进行训练,从而训练蒸馏学习模型,得到训练好的蒸馏学习模型;
测试模块107,以测试集的图像样本作为训练好的蒸馏学习模型的输入样本,从总损失函数关于输入样本的梯度出发,利用训练好的蒸馏学习模型对测试集中的图像样本进行缺陷检测及定位。
显然,本发明的上述实施例仅是为清楚地说明本发明所作的举例,而并非是对本发明的实施方式的限定。对于所属领域的普通技术人员来说,在上述说明的基础上还可以做出其它不同形式的变化或变动。这里无需也无法对所有的实施方式予以穷举。凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明权利要求的保护范围之内。

Claims (10)

1.一种基于跨图像局部特征对齐的缺陷检测、定位的方法,其特征在于,包括以下步骤:
S1.构建蒸馏学习模型,所述的蒸馏学习模型包括教师模型T及学生模型S;
S2.确定蒸馏学习模型的损失函数;
S3.构建数据集,将数据集划分为训练集和测试集,训练集仅包含正常图像样本,测试集包括正常图像样本和异常图像样本;
S4.构建同一训练批次若干张正常图像样本中跨图像的局部特征对齐损失函数;
S5.将S2中的局部特征对齐损失函数与S4中蒸馏学习模型的损失函数整合,形成基于跨图像局部特征对齐的蒸馏学习模型的总损失函数;
S6.将训练集中的正常图像样本同时输入教师模型T和学生模型S,固定教师模型T的参数不变,以总损失函数作为训练指导,利用教师模型T指导学生模型S进行训练,从而训练蒸馏学习模型,得到训练好的蒸馏学习模型;
S7.以测试集的图像样本作为训练好的蒸馏学习模型的输入样本,从总损失函数关于输入样本的梯度出发,利用训练好的蒸馏学习模型对测试集中的图像样本进行缺陷检测及定位。
2.根据权利要求1所述的基于跨图像局部特征对齐的缺陷检测、定位的方法,其特征在于,步骤S1构建的蒸馏学习模型中教师模型T采用加载了在ImageNet上预训练权重的VGG16网络结构,学生模型S采用与教师模型T相同的VGG16网络结构,并随机初始化权重。
3.根据权利要求2所述的基于跨图像局部特征对齐的缺陷检测、定位方法,其特征在于,VGG16网络结构中包括若干个模块,在步骤S2中,教师模型T和学生模型S均取各自网络结构中后四个模块的最后一层作为各自的关键层,蒸馏学习模型的损失函数为:
L1=Lval+λLdir
其中,
Figure FDA0003402055030000011
Figure FDA0003402055030000021
其中,L1表示蒸馏学习模型的损失函数;CPi表示VGG16网络结构的第i层关键层的输出;CP0表示原始输入VGG16网络结构的正常图像特征;
Figure FDA0003402055030000022
表示教师模型T第i层关键层的激活值,激活值即网络结构关键层输出的正常图像特征;
Figure FDA0003402055030000023
表示学生模型S第i层关键层的激活值;Ni表示CPi中神经元的数量;
Figure FDA0003402055030000024
表示教师模型T中第i层关键层中第j个神经元的激活值;
Figure FDA0003402055030000025
表示学生模型S中第i层关键层中第j个神经元的激活值;Ncp表示关键层的总数量;Lval表示教师模型T和学生模型S每个关键层中对应激活值的欧式距离之和;vec()表示将具有任意维度的矩阵转换为一维向量的向量化函数;Ldir表示教师模型T和学生模型S每个对应关键层转换而来的向量的余弦相似度;λ表示人为设置的超参数。
4.根据权利要求3所述的基于跨图像局部特征对齐的缺陷检测、定位方法,其特征在于,设对步骤S4中的同一训练批次K张正常图像样本进行跨图像的局部特征对齐损失函数构建,在蒸馏学习模型训练过程中,依次逐像素计算第一张、第二张、…、第K张正常图像样本与其它K-1张正常图像样本在教师模型T与学生模型S对应VGG16网络结构的关键层输出的激活值图的对齐损失,然后取1/2消除重复计算的内容,得到同一训练批次K张正常图像样本中跨图像的局部特征对齐损失函数,表达式为:
Figure FDA0003402055030000026
其中,L2表示同一训练批次K张正常图像样本中跨图像的局部特征对齐损失函数;因为使用VGG16网络结构的关键层输出的激活值图进行跨图像逐像素计算对齐损失,激活值图是对原始输入的正常图像样本利用卷积核进行了卷积计算,激活值图中的一个像素位置就相当于原始输入的正常图像样本中的至少3*3像素的局部特征。
5.根据权利要求4所述的基于跨图像局部特征对齐的缺陷检测、定位方法,其特征在于,步骤S5所述的形成的基于跨图像局部特征对齐的蒸馏学习模型的总损失函数的表达式为:
Ltotal=L1+γL2
其中,Ltotal表示基于跨图像局部特征对齐的蒸馏学习模型的总损失函数;γ表示人为设置的超参数。
6.根据权利要求5所述的基于跨图像局部特征对齐的缺陷检测、定位方法,其特征在于,在步骤S6中,将训练集中的正常图像样本同时输入教师模型T和学生模型S,固定教师模型T的参数不变,以总损失函数作为训练指导,利用教师模型T指导学生模型S进行训练时,训练方式为反向传播和梯度下降,学生模型S的关键层的输出为学生模型S提取到的正常图像样本图像特征,利用学生模型S的关键层的输出拟合教师模型T的关键层的输出,使得学生模型S仅获取对正常图像样本特征的提取能力,在训练过程中,总损失函数Ltotal在20个训练轮次中不再下降时,模型训练完成,得到训练好的蒸馏学习模型。
7.根据权利要求6所述的基于跨图像局部特征对齐的缺陷检测、定位方法,其特征在于,在步骤S7中,从总损失函数关于输入样本的梯度出发,利用训练好的蒸馏学习模型对测试集中的图像样本进行缺陷检测及定位时,设测试集汇总的输入样本表示为x,求取总损失函数关于输入样本的梯度图Λ,表达式为
Figure FDA0003402055030000031
输入样本x的像素梯度值通过训练过程中一次反向传播直接获得,由于基于跨图像局部特征对齐的蒸馏学习模型的总损失函数Ltotal中包括蒸馏学习模型的损失函数L1和跨图像的局部特征对齐损失函数L2,步骤S7利用测试集测试时,当输入样本x为正常图像样本时,蒸馏学习模型的损失函数L1和跨图像的局部特征对齐损失函数L2均小,梯度也小,当输入样本x为异常图像样本时则相反;设梯度贡献度阈值为ε,梯度贡献度大于ε的输入样本x的像素位置产生的梯度值大,所述的像素位置对应异常缺陷区域,即利用Ltotal的梯度图进行异常定位,获取导致其值增加的异常缺陷区域。
8.根据权利要求7所述的基于跨图像局部特征对齐的缺陷检测、定位方法,其特征在于,在利用Ltotal的梯度图进行异常定位时,结合SmoothGrad算法实现。
9.根据权利要求7或8所述的基于跨图像局部特征对齐的缺陷检测、定位方法,其特征在于,为提高缺陷检测及定位的精确度,利用高斯平滑和形态学开运算处理梯度图Λ,满足的过程公式为:
M=gσ(Λ)
Figure FDA0003402055030000032
其中,M表示对梯度图Λ高斯平滑后的结果;B表示形状为椭圆或圆的二值图;
Figure FDA0003402055030000041
Figure FDA0003402055030000042
分别表示利用结构元素B进行的形态学腐蚀和膨胀操作,也称形态学开运算;Lmap表示对梯度图Λ进行高斯平滑和形态学开运算后的异常定位图。
10.一种基于跨图像局部特征对齐的缺陷检测、定位***,其特征在于,包括:
蒸馏学习模型构建模块,用于构建蒸馏学习模型,蒸馏学习模型包括教师模型T及学生模型S;
损失函数确定模块,用于确定蒸馏学习模型的损失函数;
数据集构建划分模块,用于构建数据集,将数据集划分为训练集和测试集,训练集仅包含正常图像样本,测试集包括正常图像样本和异常图像样本;
对齐损失函数构建模块,用于构建同一训练批次若干张正常图像样本中跨图像的局部特征对齐损失函数;
总损失函数构建模块,将局部特征对齐损失函数与蒸馏学习模型的损失函数整合,形成基于跨图像局部特征对齐的蒸馏学习模型的总损失函数;
蒸馏学习模型训练模块,将训练集中的正常图像样本同时输入教师模型T和学生模型S,固定教师模型T的参数不变,以总损失函数作为训练指导,利用教师模型T指导学生模型S进行训练,从而训练蒸馏学习模型,得到训练好的蒸馏学习模型;
测试模块,以测试集的图像样本作为训练好的蒸馏学习模型的输入样本,从总损失函数关于输入样本的梯度出发,利用训练好的蒸馏学习模型对测试集中的图像样本进行缺陷检测及定位。
CN202111502012.0A 2021-12-09 2021-12-09 基于跨图像局部特征对齐的缺陷检测、定位的方法及*** Pending CN114170478A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111502012.0A CN114170478A (zh) 2021-12-09 2021-12-09 基于跨图像局部特征对齐的缺陷检测、定位的方法及***

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111502012.0A CN114170478A (zh) 2021-12-09 2021-12-09 基于跨图像局部特征对齐的缺陷检测、定位的方法及***

Publications (1)

Publication Number Publication Date
CN114170478A true CN114170478A (zh) 2022-03-11

Family

ID=80485102

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111502012.0A Pending CN114170478A (zh) 2021-12-09 2021-12-09 基于跨图像局部特征对齐的缺陷检测、定位的方法及***

Country Status (1)

Country Link
CN (1) CN114170478A (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115294407A (zh) * 2022-09-30 2022-11-04 山东大学 基于预习机制知识蒸馏的模型压缩方法及***
CN116028891A (zh) * 2023-02-16 2023-04-28 之江实验室 一种基于多模型融合的工业异常检测模型训练方法和装置
CN116664576A (zh) * 2023-07-31 2023-08-29 厦门微图软件科技有限公司 一种电池外壳焊道的异常检测方法、装置以及设备

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115294407A (zh) * 2022-09-30 2022-11-04 山东大学 基于预习机制知识蒸馏的模型压缩方法及***
CN116028891A (zh) * 2023-02-16 2023-04-28 之江实验室 一种基于多模型融合的工业异常检测模型训练方法和装置
CN116028891B (zh) * 2023-02-16 2023-07-14 之江实验室 一种基于多模型融合的工业异常检测模型训练方法和装置
CN116664576A (zh) * 2023-07-31 2023-08-29 厦门微图软件科技有限公司 一种电池外壳焊道的异常检测方法、装置以及设备
CN116664576B (zh) * 2023-07-31 2023-11-03 厦门微图软件科技有限公司 一种电池外壳焊道的异常检测方法、装置以及设备

Similar Documents

Publication Publication Date Title
CN111598881B (zh) 基于变分自编码器的图像异常检测方法
EP3961484B1 (en) Medical image segmentation method and device, electronic device and storage medium
CN110533631B (zh) 基于金字塔池化孪生网络的sar图像变化检测方法
Kaul et al. Focusnet: An attention-based fully convolutional network for medical image segmentation
CN114170478A (zh) 基于跨图像局部特征对齐的缺陷检测、定位的方法及***
CN111493935B (zh) 基于人工智能的超声心动图自动预测识别方法及***
CN107633522B (zh) 基于局部相似性活动轮廓模型的脑部图像分割方法和***
CN110147777B (zh) 一种基于深度迁移学习的绝缘子类别检测方法
CN111222519B (zh) 一种层次化彩绘文物线稿提取模型构建、方法及装置
CN112102229A (zh) 一种基于深度学习的工业ct检测缺陷的智能识别方法
CN112365497A (zh) 基于TridentNet和Cascade-RCNN结构的高速目标检测方法和***
CN111259735B (zh) 基于多级预测特征增强卷积神经网络的单人姿态估计方法
CN116342894B (zh) 基于改进YOLOv5的GIS红外特征识别***及方法
CN108985161B (zh) 一种基于拉普拉斯正则化的低秩稀疏表征图像特征学习方法
CN112348059A (zh) 基于深度学习的多种染色病理图像分类方法及***
CN114565594A (zh) 基于软掩膜对比损失的图像异常检测方法
CN111124896B (zh) 一种主次峰值比计算算法的蜕变测试***
CN116994044A (zh) 一种基于掩码多模态生成对抗网络的图像异常检测模型的构建方法
CN115131503A (zh) 一种虹膜三维识别的健康监测方法及其***
CN111414579B (zh) 基于多角度相关关系获取脑区关联信息的方法和***
CN113706496A (zh) 一种基于深度学习模型的飞行器结构裂纹检测方法
CN117726814A (zh) 基于交叉注意力和双分支池化融合的视网膜血管分割方法
CN117152601A (zh) 一种基于动态感知区域路由的水下目标检测方法及***
CN113888538B (zh) 一种基于内存分块模型的工业异常检测方法
CN116452965A (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