CN117576079A - 一种工业产品表面异常检测方法、装置及系统 - Google Patents

一种工业产品表面异常检测方法、装置及系统 Download PDF

Info

Publication number
CN117576079A
CN117576079A CN202311729437.4A CN202311729437A CN117576079A CN 117576079 A CN117576079 A CN 117576079A CN 202311729437 A CN202311729437 A CN 202311729437A CN 117576079 A CN117576079 A CN 117576079A
Authority
CN
China
Prior art keywords
feature
features
feature vector
image
normal
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
CN202311729437.4A
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.)
Huazhong University of Science and Technology
Original Assignee
Huazhong University of Science and Technology
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 Huazhong University of Science and Technology filed Critical Huazhong University of Science and Technology
Priority to CN202311729437.4A priority Critical patent/CN117576079A/zh
Publication of CN117576079A publication Critical patent/CN117576079A/zh
Pending legal-status Critical Current

Links

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/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/77Processing image or video features in feature spaces; using data integration or data reduction, e.g. principal component analysis [PCA] or independent component analysis [ICA] or self-organising maps [SOM]; Blind source separation
    • G06V10/80Fusion, i.e. combining data from various sources at the sensor level, preprocessing level, feature extraction level or classification level
    • G06V10/806Fusion, i.e. combining data from various sources at the sensor level, preprocessing level, feature extraction level or classification level of extracted features
    • 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

Landscapes

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

Abstract

本发明公开了一种工业产品表面异常检测方法、装置及系统,属于工业产品异常检测领域,包括:构建包括特征提取器、特征优化模块和正负特征向量对生成模块的网络模型;特征提取器用于提取多尺度特征;特征优化模块分别从单尺度和多尺度角度提炼特征,增强多尺度特征信息交互,应对不同尺度的缺陷区域,最终按照最浅层特征的分辨率对不同特征图进行上采样,并融合一定的位置信息;正负特征对生成模块分别从图像和特征角度生成正负特征向量对;利用正常图像构成的训练集对网络模型进行训练,训练损失包括聚类损失和分离损失,保证特征记忆库中的标称特征足以区分正常和异常的特征向量。本发明能够克服域漂移问题,实现像素级的工业产品表面异常检测。

Description

一种工业产品表面异常检测方法、装置及系统
技术领域
本发明属于工业产品异常检测领域,更具体地,涉及一种工业产品表面异常检测方法、装置及系统。
背景技术
由于背景复杂、生产工艺复杂,工业产品在生产过程中,其表面往往会发生不可预知的缺陷,如划痕、污渍和磨损等,这些缺陷往往产生于工业产品的表面,及时、准确检测出这些缺陷,能够有效保证工业产品的质量。随着越来越多的工业产品遍布人们的生产生活中,其表面质量检测极大地限制了实际产线的生产规模和效率,因此工业产品表面缺陷检测算法越发受到重视,成为了当前的研究热点。然而,实际生产中的工业产品种类复杂多样,不同工业产品的背景并不统一,复杂背景严重影响工业产品表面异常检测算法的精度;尽管对于同一种工业产品,由于其复杂的生产工艺,在生产的任意阶段都会发生不可预知的缺陷。复杂多样的工业产品和不可预知的缺陷类型对工业产品表面异常检测算法的鲁棒性提出了极高的要求。
近年来,随着深度学习的广泛发展,基于深度学习的工业产品表面异常检测算法逐渐取代基于传统机器视觉的检测方法,受到广泛应用。基于深度学习的工业产品表面异常检测算法包括基于图像层面和基于特征层面的异常检测算法,其中,基于图像层面的检测算法常常因为图像间的差异过小而检测失败;基于特征层面的检测算法将预训练模型在正常样本上的表达作为正常模式,在推理过程中利用与正常模式的差异来定位异常,有效提升了异常检测的鲁棒性,因此也获得了更为广泛的应用。然而,预训练模型常常在庞大的自然数据集上进行预训练,其深层特征的表达更加倾向于自然数据集,对于工业检测数据集的特征表达不够充分;除此之外,预训练模型在自然数据集中进行的是分类任务,直接迁移到工业检测中的检测任务,二者仍然存在较大的差异。综上所述,主流的基于特征层面的检测算法在源域(自然数据集)和目标域(工业检测数据集)之间存在“域漂移”问题,导致预训练模型对于正常模式的建立不够准确,限制了目前算法在工业检测数据集上的表现。
目前,已有算法对“域漂移”问题提出了较为有效的解决思路,诸如提前终止训练、对预训练模型权重正则化和加入图像辅助训练集分类等策略,这些现有方法虽然一定程度上能实现“域适应”,但大多数专注于图像级别判别,对于像素级别的异常定位精度仍有待提升,也即是说,现有方法仅能依据图像判断出工业产品表面是否存在缺陷,以及具体存在何种缺陷,而无法准确定位出工业产品表面的缺陷区域,也就无法对相应工业的溯源和改进提供更为有效的指导信息。
发明内容
针对现有技术的缺陷和改进需求,本发明提供了一种工业产品表面异常检测方法、装置及系统,其目的在于,有效解决现有工业产品表面异常检测方法存在的“域漂移”问题,以适应复杂多样的工业产品和不可预知的缺陷类型,实现工业产品表面高精度异常定位。
为实现上述目的,按照本发明的一个方面,提供了一种工业产品表面异常检测方法,包括:
训练阶段:
获得由正常工业产品的表面图像构成的训练集;
从训练集中选取多张图像并提取各图像的三维特征,计算中各位置的特征向量均值作为标称特征向量,由所有标称特征向量构成特征记忆库;
构造包括特征提取模块、正负特征向量对生成模块和特征映射模块的网络模型,并利用训练集对网络模型进行训练,训练过程中,特征提取模块用于提取图像Inor的三维特征Znor,正负特征向量对生成模块用于生成相应的异常特征Zabnor,从正常特征Znor和异常特征Zabnor中提取前景特征,得到特征Z'nor和Z'abnor,并利用特征Z'nor和Z'abnor中相同位置的特征向量分别作为正常特征向量和异常特征向量,构成正负特征向量对;特征映射模块用于将正常特征向量和异常特征向量映射到新的特征空间;训练损失函数包括聚类损失和分离损失;聚类损失用于度量正常特征向量的异常距离,且该异常距离越大,聚类损失越大;分离损失用于度量正常特征向量及其相应的异常特征向量的异常距离的差异,该差异大于预设阈值margin时,分离损失为0,不大于margin时,分离损失为正,且该差异越小,分离损失越大;
其中,特征向量的异常距离为该特征向量与最近的K个标称特征向量的平均距离;K为预设正整数;
检测阶段:
将待检测的工业产品表面图像I输入至特征提取模块,得到三维特征Z后,利用特征映射模块映射到新的特征空间,得到特征Z';对于特征Z'中每个位置的特征向量,分别计算其与最近的K个标称特征向量间距离的加权和,作为对应位置处的异常得分,得到异常得分图;
将异常得分图上采样至与图像I相同尺寸后进行高斯滤波,得到图像I中缺陷所在的位置,完成异常检测。
进一步地,训练阶段还包括:在利用训练集对网络模型进行训练的过程中,对标称特征库中的标称特征向量进行更新;
在第it次训练迭代中,对于任意第t个标称特征向量zt it,其更新方式如下:
获取预先构建的正常特征向量库中与标称特征向量最近的Q个正常特征向量并进行加权求和,得到矫正特征向量zr
按照将标称向量/>更新为/>
其中,α表示控制更新程度的动量参数,0<α<1。
进一步地,特征提取模块包括特征提取器Backbone和特征优化模块FRM;
特征提取器Backbone,用于提取图像的多尺度特征;
特征优化模块FRM,用于将多尺度特征中的前L层特征,并融合为三维特征;
其中,特征提取器Backbone为利用自然图像数据集训练得到的预训练模型;1<L≤Lmax,Lmax表示特征提取器Backbone所提取特征的最大层数。
进一步地,特征优化模块FRM包括:特征融合模块,以及设置于每两个相邻层特征之间的金字塔注意力模块PAM;
金字塔注意力模块PAM,包括:
依次连接的全局平均池化层、1×1卷积层和Softmax激活函数层,用于依次对相邻层特征中的高维特征Zhigh进行相应操作,得到特征A;
点乘运算层,用于对相邻层特征中的低维特征和特征A进行点乘,得到特征
以及残差结构,用于按照计算优化后的特征/>作为金字塔注意力模块PAM的输出;
特征融合模块,用于通过上采样将第L层特征,以及L-1个优化后的特征上采样至相同大小后级联,得到三维特征;
其中,特征A、特征以及特征/>的大小均与特征/>相同;γ为可训练的参数。
进一步地,特征优化模块FRM还包括:设置于各层特征之后,且位于各金字塔注意力模块PAM之前的局部平均池化层;
并且,特征Zhigh和特征均为原始特征经局部平均池化之后的特征。
进一步地,生成相应的异常特征Zabnor,包括以下方式中的至少之一:
方式一:
生成与图像Inor大小相同的柏林噪声图像IN,并对其阈值化操作以定位不规则缺陷区域Inm
计算图像Inor的前景掩膜图像Ifm,将其与不规则缺陷区域Inm进行求与操作,得到掩膜Im
从训练集中获取另一张图像I'nor,对其添加缺陷,得到缺陷图像Ia
按照Iabnor=Im⊙((1-β)Ia+βInor)+(1-Im)⊙Inor生成缺陷图像Iabnor
利用特征提取模块提取缺陷图像Iabnor的三维特征,得到与正常特征Znor相应的异常特征Zabnor
其中,⊙表示求与操作;β>0,为随机采样得到的参数;
方式二:
从高斯分布中随机采样,得到噪声特征Znoise
计算图像Inor的前景掩膜图像Ifm,将其与噪声特征Znoise进行求与操作,得到前景噪声特征后,融合到正常特征Znor中,得到与正常特征Znor相应的异常特征Zabnor
进一步地,聚类损失的表达式为:
其中,Lcls表示聚类损失,Nc表示正常特征向量的个数,K表示KNN算法召回标称特征向量的个数,D()表示向量距离;vnor表示经过特征映射模块映射后的正常特征向量,表示与vnor第k近的标称特征向量;/>表示特征向量索引。
进一步地,分离损失的表达式为:
其中,Lsplit表示分离损失,ns表示正负特征向量对的个数;vp和vn分别表示正负特征向量对中经过特征映射模块映射后的正常特征向量和异常特征向量,表示与正常特征向量vp距离第k近的标称特征向量,/>表示异常特征向量vn距离第k近的标称特征向量;表示特征向量索引
按照本发明的又一个方面,提供了一种工业产品表面异常检测装置,包括:
计算机可读存储介质,用于存储计算机程序;
以及处理器,用于读取所属计算机可读存储介质中存储的计算机程序,执行本发明提供的上述工业产品表面异常检测方法。
按照本发明的又一个方面,提供了一种工业产品表面异常检测系统,包括:
摄像头,用于拍摄待检测工业产品的表面图像;
以及本发明提供的上述工业产品表面异常检测装置,其与摄像头相连。
总体而言,通过本发明所构思的以上技术方案,能够取得以下有益效果:
(1)本发明利用正常特征向量初始化特征记忆库后,借助该特征记忆库构建了训练损失函数,用于训练特征提取模块和用于特征映射的1×1卷积中可训练的参数,训练损失函数包括聚类损失和分离损失,聚类损失随着正常特征向量与K近个标称特征向量间的距离的增大而增大,分离损失则随着正常特征向量和异常特征向量与K近个标称特征向量间的距离之差的增加而减小,因此,聚类损失可惩罚正常特征向量和K近个标称特征向量间的距离,增强了正常特征向量和K近个标称特征向量间的相似度,使得正常特征向量在推理过程中会获得较小的异常得分;分离损失最大化正常特征向量和异常特征向量间的相对距离,建立了更加有效的分类平面,即与推理基准(即标称特征相连)间的距离。基于该损失函数,本发明可以有效更新可训练参数,消除“域漂移”问题同时增强了标称特征向量的判别性能,同时,本发明基于特征向量的判断,能够定位出工业产品表面具体每一个位置的缺陷情况,实现了像素级的异常检测。总的来说,本发明有效解决现有工业产品表面异常检测方法存在的“域漂移”问题,以适应复杂多样的工业产品和不可预知的缺陷类型,实现工业产品表面高精度异常定位。
(2)在本发明的优选方案中,在训练过程中,除了会对可训练参数进行优化,还会借助与正常特征向量对特征记忆库中的标称特征向量进行更新,更新过程中,计算矫正项时,加权惩罚离标称特征向量较远的正常特征向量,由此保证了特征更新的稳定性,进一步减少正常情况被误判的概率。
(3)在本发明的优选方案中,特征提取模块在自然数据集上训练的特征提取器的基础上,利用特征优化模块选取前几层特征进行融合,在多尺度特征中,深层特征往往具有更丰富的语义信息和更强的判别能力,但特征图的分辨率更小,不利于细粒度的缺陷定位,本发明仅从多尺度特征中选取前几层的特征进行融合,能够兼顾深度和分辨率,进一步提高后续检测的精度。
(4)在本发明进一步优选的方案中,特征优化模块还包括设置于每两个相邻层特征之间的金字塔注意力模块PAM,该模块对高维特征依次执行全局平均池化操作融合全局上下文信息,再通过1×1卷积对齐低维特征,然后采用softmax激活函数来获取通道上的注意力,建立长程依赖关系,最后通过点乘和残差结构将处理后的高维特征与低维特征融合到一起,从多尺度之间对特征进行了提炼优化,实现了多个尺度特征信息之间的交互,能够进一步提高检测精度。
(5)在本发明进一步优选的方案中,特征优化模块还包括设置于每一层特征之后的局部平均池化层,由此能够增大特征的感受野,增强特征对噪声输入的鲁棒性。
(6)在本发明的优选方案中,分别从图像层面和特征层面生成了正负特征向量对,具体地,从图像层面构建正负特征向量对时,先生成异常图像,然后利用特征提取模块提取异常特征,再结合相应的正常特征完成构建;从特征层面构建正负特征向量对时,直接在正常特征的基础上加入噪声,作为异常特征,再结合相应的正常特征完成构建。本发明同时从两个层面生成正负特征向量对,有利于提高特征记忆库的判别能力。
附图说明
图1为本发明实施例在训练阶段建立的网络模型示意图;
图2为本发明实施例中金字塔注意力模块PAM示意图;
图3为本发明实施例中从图像层面生成正负特征向量对的示意图;
图4为本发明实施例中从特征层面生成正负特征向量对的示意图;
图5为本发明实施例对不同工业产品表面异常定位示意图;其中,(a)~(o)分别表示不同工业产品的检测结果,每一幅图中,第一行表示待检测的工业产品表面图像,第二行表示真值图,第三行表示本实施例的检测结果;
图6为不同方法针对金属螺母进行检测的特征可视化图;其中,(a)表示金属螺母表面图片,(b)表示目标数据集未进行域适应的特征分布,(c)表示加入了聚类损失后的特征分布,(d)表示同时加入了聚类损失和分离损失后的特征分布;
图7为不同方法针对皮革进行检测的特征可视化图;其中,(a)表示皮革表面图片,(b)表示目标数据集未进行域适应的特征分布,(c)表示加入了聚类损失后的特征分布,(d)表示同时加入了聚类损失和分离损失后的特征分布。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。此外,下面所描述的本发明各个实施方式中所涉及到的技术特征只要彼此之间未构成冲突就可以相互组合。
在本发明中,本发明及附图中的术语“第一”、“第二”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。
为了解决现有的工业产品表面异常检测方法存在“域漂移”问题,且无法实现像素级异常定位的问题,本发明提供了一种工业产品表面异常检测方法、装置及系统,其整体思路在于,利用正常特征向量构建具有强判别能力的特征记忆库,作为推理基准,通过训练损失函数的优化设计,使得预训练模型及其他模块中的可训练参数得到有效优化,从而消除域漂移问题,同时基于特征检测各位置的异常情况,实现像素级的异常检测。
以下为实施例。
实施例1:
一种工业产品表面异常检测方法。本实施例可分为两个阶段,即训练阶段和检测阶段;训练阶段基于所构建的特征记忆库和训练损失函数,完成预训练模块及其他模块中需要训练的参数的优化更新,检测阶段则基于优化更新后的特征提取模块检测出工业产品表面具体的缺陷区域。以下对各阶段的具体实施方式作详细的解释说明。
本实施例在训练阶段中,会首先构建获得由正常工业产品的表面图像构成的训练集,之后,会构建作为异常检测过程的推理基础的特征记忆库;特征记忆库中包括多个正常特征向量,考虑到相同的工业产品中,表面的缺陷分布往往存在一定的相似性,因此,为了在保证特征记忆库的判别能力的同时减少特征记忆库的规模,本实施例中,初始时刻,特征记忆库的构建方式具体包括:
从训练集中选取多张图像并提取各图像的三维特征,计算中各位置的特征向量均值作为标称特征向量,由所有标称特征向量构成特征记忆库。
对于图像前景区域中的任意位置(i,j),其标称特征向量Zm可表示如下:
Zm={μij,i∈[1,H1],j∈[1,W1]}
其中,Nm=H1×W1,W1和H1分别表示图像的高和宽,C'表示标称特征向量所述特征空间的维度。
本实施例在训练阶段还包括:构造包括特征提取模块、正负特征向量对生成模块和特征映射模块的网络模型,并利用训练集对网络模型进行训练;如图1所示,训练过程中,特征提取模块用于提取训练集中的图像Inor的三维特征Znor,正负特征向量对生成模块用于生成相应的异常特征Zabnor,从正常特征Znor和异常特征Zabnor中提取前景特征,得到特征Z'nor和Z'abnor,并利用特征Z'nor和Z'abnor中相同位置的特征向量分别作为正常特征向量和异常特征向量,构成正负特征向量对;特征映射模块为1×1卷积层,用于将正常特征向量和异常特征向量映射到表征特征向量所在特征空间。
如图1所示,本实施例中,特征提取模块具体包括特征提取器Backbone和特征优化模块FRM;本实施例中,特征提取器Backbone为利用自然图像数据集ImageNet训练得到的预训练模型,可选地,特征提取器Backbone的层数为Lmax=4。
在多尺度特征中,深层特征往往具有更丰富的语义信息和更强的判别能力,但特征图的分辨率更小,不利于细粒度的缺陷定位。为了兼顾足够深度和分辨率,本实施例中,特征优化模块FRM,用于将多尺度特征中的前L层特征,并融合为三维特征;1<L≤Lmax;可选地,本实施例中,L=3,即l∈{1,2,3}。
以φ表示特征提取模块,则输入图像Inor后,提取的多尺度特征可表示如下:
式中,l∈{1,2,…Lmax},Wl、Hl和Cl分别表示特征提取器Backbone中第l层输出的特征的宽、高和通道数;Lmax表示特征提取器Backbone所提取特征的最大层数,可选地,本实施例中,Lmax=4。
在实际检测中,直接利用上述特征Znor进行检测时,“域漂移”问题会严重影响定位精度。为了提高检测精度,本实施例中,特征优化模块还会从单个尺度和多尺度之间进行特征信息的交互,并加入可训练参数在训练集上进行微调。
在多个尺度,如图1和图2所示,特征优化模块FRM具体包括:特征融合模块,以及设置于每两个相邻层特征之间的金字塔注意力模块PAM;
如图2所示,金字塔注意力模块PAM,包括:
依次连接的全局平均池化层、1×1卷积层和Softmax激活函数层,用于依次对相邻层特征中的高维特征Zhigh进行相应操作,在此过程中,高维特征通过全局平均池化融合全局上下文信息,再通过1×1卷积对齐低维特征,得到特征att:
att=fl(fgap(Zl+1))
式中,l∈{1,2}。fgap和fl分别表示全局平均池化操作和1×1卷积操作;特征att通过softmax激活函数来获取通道上的注意力,建立长程依赖关系,得到特征A:
A=softmax(att)
如图2所视,金字塔注意力模块PAM还包括点乘运算层,用于对相邻层特征中的低维特征和特征A进行点乘,得到特征/>
式中特征A、特征/>以及特征/>的大小均与特征/>相同;
如图2所视,金字塔注意力模块PAM还包括残差结构,用于按照计算优化后的特征/>作为金字塔注意力模块PAM的输出;
式中,γ为可训练的参数,本实施中,其初始值为0;
本实施例中,从特征提取器输出中提取的特征共有三层,相应地,金字塔注意力模块分别使用两次,由此能够从多尺度之间对特征进行了提炼优化,实现了多个尺度特征信息之间的交互。高维特征具有更强的语义信息和类别信息,其全局上下文信息可对低维特征在通道方向进行先验信息的指导,因此,本实施例通过特征优化模块可以有效提高检测精度。
本实施例中,特征优化模块中的特征融合模块,用于通过上采样将第L层特征,以及L-1个优化后的特征上采样至相同大小后级联,得到三维特征。
在单尺度,如图1所示,本实施例中,特征优化模块还包括设置于各层特征之后,且位于各金字塔注意力模块PAM之前的局部平均池化层;由此能够增大特征的感受野,增强特征对噪声输入的鲁棒性;
第l层的特征经局部平均池化之后,可表示为:
Zl'=flap(Zl)
式中l∈{1,2,3}。为了保持特征图的分辨率,本实施例使用空间大小为3×3,步距和填充为1的平均池化。
容易理解的是,输入金字塔注意力模块PAM的特征Zhigh和特征均为原始特征经局部平均池化之后的特征。
考虑到基于特征记忆库的方法打乱了特征向量之间的位置关系,因此,本实施例中,在特征融合模块中还引入了绝对且不可训练的二维位置编码,将各特征向量的位置信息融合到了特征向量中,以缓解上述问题。
在缺陷检测领域,基于自监督的方法往往通过生成仿真负样本,来监督模型的训练过程,提升缺陷检测精度。传统的方法依赖于训练集中的正常样本,缺少缺陷信息的监督学习。本实施例中,正负特征对生成模块分别从图像层面和特征层面生成正负特征向量对,便于构建更具判别力的特征记忆库。图像层面的正负特征对生成首先需要生成异常负样本。异常负样本可通过掩膜图像融合正常图像和人工生成的异常图像。利用柏林噪声阈值化的噪声掩膜与前景掩膜求与操作可得到掩膜图像。人工生成的异常图像可通过正常图像经过颜色扰动和随即裁剪等操作生成。异常负样本依此通过特征提取器和特征优化模块获得级联后的特征,通过下采样掩膜图像,根据掩膜图像的非零索引获得正负特征向量对。特征层面的正负特征对生成只需要融合前景掩膜图像和噪声特征向量,噪声特征向量可从高斯分布中随机采样生成。
如图3所示,本实施例中,从图像层面生成正常特征Znor对应的异常特征Zabnor,包括:
生成与图像Inor大小相同的柏林噪声图像IN,并对其阈值化操作以定位不规则缺陷区域Inm
计算图像Inor的前景掩膜图像Ifm,将其与不规则缺陷区域Inm进行求与操作,得到掩膜Im
从训练集中获取另一张图像I'nor,对其添加缺陷,得到缺陷图像Ia
按照Iabnor=Im⊙((1-β)Ia+βInor)+(1-Im)⊙Inor生成缺陷图像Iabnor
利用特征提取模块提取缺陷图像Iabnor的三维特征,得到与正常特征Znor相应的异常特征Zabnor
其中,⊙表示求与操作;β>0,本实施例中,β为从[0,0.8]中随机采样得到的参数;通过正常特征Znor及对应的异常特征Zabnor,可定位到成对存在的正负特征向量对。
如图4所示,本实施例中,从特征层面生成正常特征Znor对应的异常特征Zabnor,包括:
从高斯分布中随机采样,得到噪声特征Znoise;高斯分布记为N(μ,σ),均值μ和标准差σ分别设为0和1;
计算图像Inor的前景掩膜图像Ifm,将其与噪声特征Znoise进行求与操作,得到前景噪声特征后,融合到正常特征Znor中,得到与正常特征Znor相应的异常特征Zabnor
Zabnor=Znor+Znoise⊙Ifm
由于缺陷类型多种多样且不可预知,在图像层面生成缺陷可能不具有判别性,本发明在图像层面生成正负特征向量对的基础上,进一步从特征层面生成正负特征向量对,能够保证缺陷的可判别性。在网络模型的训练过程中,正负特征向量对被用来建立目标函数,可有效消除基于特征层面的工业产品表面异常检测算法的“域漂移”问题,有效提升模型的缺陷定位精度。
本实施例在利用训练集训练所建立的网络模型时,训练损失函数包括聚类损失和分离损失;聚类损失用于度量正常特征向量的异常距离,且该异常距离越大,聚类损失越大;分离损失用于度量正常特征向量及其相应的异常特征向量的异常距离的差异,该差异大于预设阈值margin时,分离损失为0,不大于margin时,分离损失为正,且该差异越小,分离损失越大;其中,特征向量的异常距离为该特征向量与最近的K个标称特征向量的平均距离;K为预设正整数,本实施例中,具体为KNN算法召回标称特征向量的个数。
本实施例中,聚类损失随着正常特征向量与K近个标称特征向量间的距离的增大而增大,分离损失则随着正常特征向量和异常特征向量与K近个标称特征向量间的距离之差的增加而减小,因此,聚类损失可惩罚正常特征向量和K近个标称特征向量间的距离,减少了正常特征向量间的类内方差,增强了正常特征向量和K近个标称特征向量间的相似度,使得正常特征向量在推理过程中会获得较小的异常得分。本实施例中,聚类损失的表达式为:
其中,Lcls表示聚类损失,Nc表示正常特征向量的个数,K表示KNN算法召回标称特征向量的个数,D()表示向量距离;vnor表示经过特征映射模块映射后的正常特征向量,表示与vnor第k近的标称特征向量,/>Nc=H1×W1;/>表示特征向量索引,即特征向量的序号。
异常信息的加入会极大提升模型的判别性能,本实施例中,在训练损失函数中引入的分离损失,最大化了正常特征向量和异常特征向量间的相对距离,建立了更加有效的分类平面,即与推理基准(即标称特征相连)间的距离。在具体计算分离损失时,利用三元组损失最大化正常特征向量和异常特征向量间的相对距离,三元组损失中正例定义为正常特征向量和标称特征向量间的距离,负例定义为异常特征向量和标称特征向量间的距离。本实施例中,分离损失的具体表达式为:
其中,Lsplit表示分离损失,ns表示正负特征向量对的个数;vp和vn分别表示正负特征向量对中经过特征映射模块映射后的正常特征向量和异常特征向量,表示与正常特征向量vp距离第k近的标称特征向量,/>表示异常特征向量vn距离第k近的标称特征向量, 表示特征向量索引,即特征向量的序号。
本实施例中,总体训练损失函数的表达式为:
L=Lcls+λLsplit
式中,λ平衡聚类损失Lcls和分离损失Lsplit的权重。
直接根据特征提取器Backbone提取的特征进行工业产品表面异常检测时,“域漂移”问题会严重影响定位精度,本实施例借助异常信息基于标称特征向量建立损失函数,则消除了“域漂移”问题,同时增强了标称特征向量的判别性能,最终能够有效提高工业产品表面异常检测精度。
为了进一步提高增强正常特征向量和标称特征向量间的相似度,从而提高标称特征向量的判别能力,本实施例中,训练阶段还包括:在利用训练集对网络模型进行训练的过程中,对标称特征库中的标称特征向量进行更新;
在第it次训练迭代中,对于任意第t个标称特征向量其更新方式如下:
获取预先构建的正常特征向量库中与标称特征向量最近的Q个正常特征向量并进行加权求和,得到矫正特征向量zr
按照将标称向量/>更新为/>该更新方式具体为指数滑动平均(exponential moving average,EMA),能够消除统计数据噪声;
其中,α表示控制更新程度的动量参数,0<α<1;参与加权求和的正常特征向量中,与标称特征向量/>距离越远,其在加权求和中的权重越小,本实施例中,矫正特征向量zr的具体表达式为:
其中,wq惩罚离标称特征向量较远的正常特征向量,加强特征更新的稳定性。在实际应用中,正常特征向量库可利用正常工业产品的表面图像提取特征后构建得到。
本实施例通过这种方式更新特征记忆库,能够进一步减少正常特征向量被误判的概率。
本实施例通过上述训练阶段,能够优化特征提取模块和特征映射模块的参数,有效解决域漂移的问题。
在训练阶段的基础上,本实施例的检测阶段具体包括:
将待检测的工业产品表面图像I输入至特征提取模块,得到三维特征Z后,利用特征映射模块映射到新的特征空间,得到特征Z';对于特征Z'中每个位置的特征向量,分别计算其与最近的K个标称特征向量间距离的加权和,作为对应位置处的异常得分,得到异常得分图;
将异常得分图上采样至与图像I相同尺寸后进行高斯滤波,得到图像I中缺陷所在的位置,完成异常检测。
异常得分图中,对于任意(i,j)位置的异常得分sij为:
式中,zij表示特征Z'中(i,j)位置的特征向量,表示距离特征向量zij最近的标称特征向量,/>表示距离特征向量zij第k近的标称特征向量。/>
通过上述检测方式,本实施例能够准确判断出待检测的工业产品表面每个位置的异常情况,从而准确定位出工业产品表面的缺陷区域。容易理解的是,定位图像中缺陷所在位置后,将该位置的图像内容提取出来,即可得到缺陷的具体数据。
以下结合具体的检测结果对本发明所能取得的有益效果做进一步的解释说明。利用上述检测方法,对MVTec AD数据集中的不同工业产品表面异常定位效果如图5所示,具体包括15个类别,个类别的检测结果中,第一行到第三行分别是待测试异常图像、标注真值和检测结果,每一列则表示一种缺陷类型的检测结果。其中,(a)~(o)所示的15个类别分别是瓶子、电缆、胶囊、地毯、网子、榛子、羽毛、金属螺母、药丸、螺丝、瓷砖、牙刷、晶体管、木材和拉链。
每组图像下方标注了检测类别,括号中显示了缺陷类别。由检测结果可知,在不同的检测类别和各种缺陷类别时,本实施例均可以准确定位异常,泛化性能较好。
本实施例实现的模型对域漂移问题探究的特征可视化如图6和图7所示,其中,图6所示为金属螺母相关的检测结果,图7所示为皮革相关的检测结果。图6和图7中,第二列显示的是目标数据集未进行域适应的特征分布,表明了相当多的正常和异常特征向量与标称特征向量相距甚远,混淆在一起并无法区分。第三列是加入了聚类损失后的特征分布,聚类损失缩小了正常特征向量与标称特征向量之间的差距,避免了相当大比例的误报。然而,第三列的特征分布显示一些难以分类的异常特征向量仍然夹杂在正常特征向量中,降低了检测精度。第四列是进一步加入分离损失后的特征分布,根据第四列的结果可以看到,分离损失减少了正常特征向量和异常特征向量之间的相对距离,进一步提高了模型分辨困难样本的能力。
总的来说,本实施例能够消除“域漂移”问题,实现像素级的工业产品表面异常检测,其检测结果有效定位了工业产品表面的缺陷区域,有利于对相应工序进行溯源和改进,对提升实际生产效率具有重大意义。
实施例2:
一种工业产品表面缺陷检测装置,包括:
计算机可读存储介质,用于存储计算机程序;
以及处理器,用于读取所属计算机可读存储介质中存储的计算机程序,执行上述实施例1提供的工业产品表面异常检测方法。
实施例3:
一种工业产品表面异常检测系统,包括:
摄像头,用于拍摄待检测工业产品的表面图像;
以及上述实施例2提供的工业产品表面异常检测装置,其与摄像头相连。
基于本实施例所提供的工业产品表面异常检测系统,可实时完成工业产品表面存在的缺陷。
本领域的技术人员容易理解,以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。

Claims (10)

1.一种工业产品表面异常检测方法,其特征在于,包括:
训练阶段:
获得由正常工业产品的表面图像构成的训练集;
从所述训练集中选取多张图像并提取各图像的三维特征,计算中各位置的特征向量均值作为标称特征向量,由所有标称特征向量构成特征记忆库;
构造包括特征提取模块、正负特征向量对生成模块和特征映射模块的网络模型,并利用所述训练集对所述网络模型进行训练,训练过程中,所述特征提取模块用于提取图像Inor的三维特征Znor,所述正负特征向量对生成模块用于生成相应的异常特征Zabnor,从正常特征Znor和异常特征Zabnor中提取前景特征,得到特征Z'nor和Z'abnor,并利用特征Z'nor和Z'abnor中相同位置的特征向量分别作为正常特征向量和异常特征向量,构成正负特征向量对;特征映射模块用于将正常特征向量和异常特征向量映射到标称特征向量所在的特征空间;训练损失函数包括聚类损失和分离损失;所述聚类损失用于度量正常特征向量的异常距离,且该异常距离越大,聚类损失越大;所述分离损失用于度量正常特征向量及其相应的异常特征向量的异常距离的差异,该差异大于预设阈值margin时,分离损失为0,不大于margin时,分离损失为正,且该差异越小,分离损失越大;
其中,特征向量的异常距离为该特征向量与最近的K个标称特征向量的平均距离;K为预设正整数;
检测阶段:
将待检测的工业产品表面图像I输入至所述特征提取模块,得到三维特征Z后,利用所述特征映射模块映射到标称特征向量所在的特征空间,得到特征Z';对于特征Z'中每个位置的特征向量,分别计算其与最近的K个标称特征向量间距离的加权和,作为对应位置处的异常得分,得到异常得分图;
将所述异常得分图上采样至与所述图像I相同尺寸后进行高斯滤波,得到所述图像I中缺陷所在的位置,完成异常检测。
2.如权利要求1所述的工业产品表面异常检测方法,其特征在于,所述训练阶段还包括:在利用所述训练集对所述网络模型进行训练的过程中,对所述标称特征库中的标称特征向量进行更新;
在第it次训练迭代中,对于任意第t个标称特征向量其更新方式如下:
获取预先构建的正常特征向量库中与标称特征向量最近的Q个正常特征向量并进行加权求和,得到矫正特征向量zr;参与加权求和的正常特征向量中,与标称特征向量/>距离越远,其在加权求和中的权重越小;
按照将标称向量/>更新为/>
其中,α表示控制更新程度的动量参数,0<α<1。
3.如权利要求1或2所述的工业产品表面异常检测方法,其特征在于,所述特征提取模块包括特征提取器Backbone和特征优化模块FRM;
所述特征提取器Backbone,用于提取图像的多尺度特征;
所述特征优化模块FRM,用于将所述多尺度特征中的前L层特征,并融合为三维特征;
其中,所述特征提取器Backbone为利用自然图像数据集训练得到的预训练模型;1<L≤Lmax,Lmax表示特征提取器Backbone所提取特征的最大层数。
4.如权利要求3所述的工业产品表面异常检测方法,其特征在于,所述特征优化模块FRM包括:特征融合模块,以及设置于每两个相邻层特征之间的金字塔注意力模块PAM;
所述金字塔注意力模块PAM,包括:
依次连接的全局平均池化层、1×1卷积层和Softmax激活函数层,用于依次对相邻层特征中的高维特征Zhigh进行相应操作,得到特征A;
点乘运算层,用于对相邻层特征中的地位特征和特征A进行点乘,得到特征/>
以及残差结构,用于按照计算优化后的特征/>作为金字塔注意力模块PAM的输出;
所述特征融合模块,用于通过上采样将第L层特征,以及L-1个优化后的特征上采样至相同大小后级联,得到三维特征;
其中,特征A、特征以及特征/>的大小均与特征/>相同;γ为可训练的参数。
5.如权利要求4所述的工业产品表面异常检测方法,其特征在于,所述特征优化模块FRM还包括:设置于各层特征之后,且位于各金字塔注意力模块PAM之前的局部平均池化层;
并且,所述特征Zhigh和特征均为原始特征经局部平均池化之后的特征。
6.如权利要求1或2所述的工业产品表面异常检测方法,其特征在于,所述生成相应的异常特征Zabnor,包括以下方式中的至少之一:
方式一:
生成与图像Inor大小相同的柏林噪声图像IN,并对其阈值化操作以定位不规则缺陷区域Inm
计算所述图像Inor的前景掩膜图像Ifm,将其与所述不规则缺陷区域Inm进行求与操作,得到掩膜Im
从所述训练集中获取另一张图像I'nor,对其添加缺陷,得到缺陷图像Ia
按照Iabnor=Im⊙((1-β)Ia+βInor)+(1-Im)⊙Inor生成缺陷图像Iabnor
利用所述特征提取模块提取所述缺陷图像Iabnor的三维特征,得到与正常特征Znor相应的异常特征Zabnor
其中,⊙表示求与操作;β>0,为随机采样得到的参数;
方式二:
从高斯分布中随机采样,得到噪声特征Znoise
计算所述图像Inor的前景掩膜图像Ifm,将其与噪声特征Znoise进行求与操作,得到前景噪声特征后,融合到正常特征Znor中,得到与正常特征Znor相应的异常特征Zabnor
7.如权利要求6所述的工业产品表面异常检测方法,其特征在于,所述聚类损失的表达式为:
其中,Lcls表示聚类损失,Nc表示正常特征向量的个数,K表示KNN算法召回标称特征向量的个数,D()表示向量距离;vnor表示经过特征映射模块映射后的正常特征向量,表示与vnor第k近的标称特征向量;/>表示特征向量索引。
8.如权利要求7所述的工业产品表面异常检测方法,其特征在于,所述分离损失的表达式为:
其中,Lsplit表示分离损失,ns表示正负特征向量对的个数;vp和vn分别表示正负特征向量对中经过特征映射模块映射后的正常特征向量和异常特征向量,表示与正常特征向量vp距离第k近的标称特征向量,/>表示异常特征向量vn距离第k近的标称特征向量;/>表示特征向量索引。
9.一种工业产品表面异常检测装置,其特征在于,包括:
计算机可读存储介质,用于存储计算机程序;
以及处理器,用于读取所属计算机可读存储介质中存储的计算机程序,执行权利要求1~8任一项所述的工业产品表面异常检测方法。
10.一种工业产品表面异常检测系统,其特征在于,包括:
摄像头,用于拍摄待检测工业产品的表面图像;
以及权利要求9所述的工业产品表面异常检测装置,其与所述摄像头相连。
CN202311729437.4A 2023-12-15 2023-12-15 一种工业产品表面异常检测方法、装置及系统 Pending CN117576079A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311729437.4A CN117576079A (zh) 2023-12-15 2023-12-15 一种工业产品表面异常检测方法、装置及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202311729437.4A CN117576079A (zh) 2023-12-15 2023-12-15 一种工业产品表面异常检测方法、装置及系统

Publications (1)

Publication Number Publication Date
CN117576079A true CN117576079A (zh) 2024-02-20

Family

ID=89895552

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311729437.4A Pending CN117576079A (zh) 2023-12-15 2023-12-15 一种工业产品表面异常检测方法、装置及系统

Country Status (1)

Country Link
CN (1) CN117576079A (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117765363A (zh) * 2024-02-22 2024-03-26 山东省计算中心(国家超级计算济南中心) 一种基于轻量型记忆库的图像异常检测方法及系统
CN117934481A (zh) * 2024-03-25 2024-04-26 国网浙江省电力有限公司宁波供电公司 基于人工智能的输电线缆状态识别处理方法及系统
CN118115822A (zh) * 2024-04-29 2024-05-31 江西师范大学 一种基于图像块特征级联检索模型的异常检测方法及系统

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117765363A (zh) * 2024-02-22 2024-03-26 山东省计算中心(国家超级计算济南中心) 一种基于轻量型记忆库的图像异常检测方法及系统
CN117934481A (zh) * 2024-03-25 2024-04-26 国网浙江省电力有限公司宁波供电公司 基于人工智能的输电线缆状态识别处理方法及系统
CN117934481B (zh) * 2024-03-25 2024-06-11 国网浙江省电力有限公司宁波供电公司 基于人工智能的输电线缆状态识别处理方法及系统
CN118115822A (zh) * 2024-04-29 2024-05-31 江西师范大学 一种基于图像块特征级联检索模型的异常检测方法及系统

Similar Documents

Publication Publication Date Title
CN109584248B (zh) 基于特征融合和稠密连接网络的红外面目标实例分割方法
CN110532920B (zh) 基于FaceNet方法的小数量数据集人脸识别方法
CN109784203B (zh) 基于分层传播和激活的弱监督x光图像违禁品检查方法
CN111368769B (zh) 基于改进锚点框生成模型的船舶多目标检测方法
CN109919241B (zh) 基于概率模型和深度学习的高光谱未知类别目标检测方法
CN117576079A (zh) 一种工业产品表面异常检测方法、装置及系统
CN112200121B (zh) 基于evm和深度学习的高光谱未知目标检测方法
CN111612008A (zh) 基于卷积网络的图像分割方法
CN113920107A (zh) 一种基于改进yolov5算法的绝缘子破损检测方法
CN114972213A (zh) 一种基于机器视觉的两阶段主板图像缺陷检测及定位方法
CN108830842B (zh) 一种基于角点检测的医学图像处理方法
CN113888461A (zh) 基于深度学习的小五金件缺陷检测方法、系统及设备
CN113592894B (zh) 一种基于边界框和同现特征预测的图像分割方法
CN110633727A (zh) 基于选择性搜索的深度神经网络舰船目标细粒度识别方法
CN110827312A (zh) 一种基于协同视觉注意力神经网络的学习方法
CN112364881B (zh) 一种进阶采样一致性图像匹配方法
CN116912238B (zh) 基于多维识别网络级联融合的焊缝管道识别方法及系统
CN111739017A (zh) 一种在样本不平衡条件下显微图像的细胞识别方法及系统
CN115410081A (zh) 一种多尺度聚合的云和云阴影辨识方法、系统、设备及存储介质
CN114565594A (zh) 基于软掩膜对比损失的图像异常检测方法
CN115393631A (zh) 基于贝叶斯层图卷积神经网络的高光谱图像分类方法
CN111339967A (zh) 一种基于多视域图卷积网络的行人检测方法
CN111274964A (zh) 一种基于无人机视觉显著性分析水面污染物的检测方法
CN114492634A (zh) 一种细粒度装备图片分类识别方法及系统
Yao et al. An accurate box localization method based on rotated-RPN with weighted edge attention for bin picking

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