CN116309508A - 一种基于图像增广和图像重构的异常检测方法 - Google Patents

一种基于图像增广和图像重构的异常检测方法 Download PDF

Info

Publication number
CN116309508A
CN116309508A CN202310324738.2A CN202310324738A CN116309508A CN 116309508 A CN116309508 A CN 116309508A CN 202310324738 A CN202310324738 A CN 202310324738A CN 116309508 A CN116309508 A CN 116309508A
Authority
CN
China
Prior art keywords
sample
image
network
abnormal
anomaly
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
CN202310324738.2A
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.)
Southeast University
Original Assignee
Southeast 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 Southeast University filed Critical Southeast University
Priority to CN202310324738.2A priority Critical patent/CN116309508A/zh
Publication of CN116309508A publication Critical patent/CN116309508A/zh
Pending legal-status Critical Current

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/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/74Image or video pattern matching; Proximity measures in feature spaces
    • 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/74Image or video pattern matching; Proximity measures in feature spaces
    • G06V10/761Proximity, similarity or dissimilarity measures
    • 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/764Arrangements for image or video recognition or understanding using pattern recognition or machine learning using classification, e.g. of video objects
    • 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/7715Feature extraction, e.g. by transforming the feature space, e.g. multi-dimensional scaling [MDS]; Mappings, e.g. subspace 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/774Generating sets of training patterns; Bootstrap methods, e.g. bagging or boosting
    • 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/82Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10004Still image; Photographic image
    • 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
    • G06T2207/30164Workpiece; Machine component

Landscapes

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

Abstract

本发明提出一种基于图像增广和图像重构的异常检测方法,包括以下步骤:S1获取测试图像;S2将测试图像输入生成网络中实现输入样本的无异常重构;S3将测试样本和它经过生成网络得到的无异常重构样本在通道处级联送入判别网络中生成异常分数,实现实例级异常检测;S4基于梯度类加权激活映射方法,使用流向判别网络中最后卷积层的梯度信息生成异常区域的一个定位图,实现异常定位。本发明在基于生成式模型重构无异常样本的基础上,使用数据增广策略,在正常样本的基础上构造伪异常样本加入,转无监督学习为有监督学习,将原本的图像实例级异常检测问题转化为图像分类问题,并进一步提升了异常检测的准确率,且可以实现较为精确的异常定位。

Description

一种基于图像增广和图像重构的异常检测方法
技术领域
本发明涉及图像异常检测技术领域,尤其涉及一种基于图像增广和图像重构的异常检测方法。
背景技术
在实际应用与工程中,由于故障存在突发、多样、不确定的特点,我们往往很难获取大量的标记或未标记的真实异常样本直接用于网络的训练,在这种情况下,传统的目标检测和图像分割方法便不再适用。而异常检测是一种利用无标注样本或者正常样本构建的检测模型,用于检测与正常模式存在差异的异常样本,与故障的特点相匹配。一般情况下,收集正常图像的难度远低于收集异常图像的难度,因而在实际应用中,异常检测方法会使用更少的时间和人力成本,且由于异常检测中模型是通过分析与正常图像之间的差距来检测异常,这使得异常检测算法对各种类型甚至全新的异常模式都具有很强的检测能力。
基于生成式模型的图像异常检测算法大都基于图像重构进行异常检测与定位,一是由于生成式模型可以直接生成相似样本,二是因为图像重构类方法借助重构后的图像,无需采用滑窗或者逐区域分析的方法就可以高效地实现异常区域的定位,实时性更好,拥有基于距离和分类面方法无法比拟的优点。然而在无监督下重构类方法研究的过程中发现,实例级异常检测任务与像素级异常定位任务在该方法下存在一定矛盾,无法同时达到最优的性能。且实际工业数据集中正常样本的质量问题对生成式模型的生成能力提出了更高的要求,进一步影响了重构图像的质量,进而影响最终的异常检测与定位性能。
深度学习的最新进展使算法能够在图像分类、图像分割和对象检测等各种应用中实现最先进的性能。由于其无需人工设计特征,算法通用性更高,能够通过端到端的方式有效地学习蕴含在样本中的内在规律和表示层次等优点,目前也已经被广泛引入到了图像异常检测任务中并取得了优于传统异常检测方法的性能。生成式模型作为深度学习领域一个十分活跃的研究分支,包含自动编码器、变分自编码器、生成对抗网络等基本结构,凭借其强大的语义信息表征能力,已成为半监督或自监督学习方向中最具前景的机器学习方法,并广泛应用于图像异常检测中。
在图像异常检测领域,基于图像重构的方法主要基于生成式模型,核心思想在于对输入的正常图像进行编解码,并以重构输入为目标训练神经网络,以此来学习正常图像的分布模式。图像重构类方法借助重构后的图像,无需采用滑窗或者逐区域分析的方法就可以高效地实现异常区域的定位,拥有基于距离和分类面方法无法比拟的优点。
在无监督下重构类方法研究的过程中发现,实例级异常检测任务与像素级异常定位任务在该方法下存在一定矛盾,无法同时达到最优的性能。因为在生成式模型中,无论是自编码器还是生成对抗网络,由于其中间层对应的特征空间中,还存在着能解码出其他类型图像的区域,因而当训练样本比较多时,整个结构会呈现出强大的学习能力并对潜在的异常样本产生过强的适应能力,从而出现模型泛化问题,影响异常检测的性能。而在基于重构误差度量的实例级异常检测任务中,关键在于扩大正常、异常样本的重构误差,即要进一步解决模型的泛化问题,尽可能地消除对可能的异常区域的重构。然而在大部分重构类算法采用优化隐变量等方式解决泛化问题时,只选取部分有效特征重构的方式势必会丢失大量的细节,从而影响重构质量。如果图像重构模糊,则在重构图像比较过程中即使是正常区域也会出现较大的差别,这对于本身在原图中就占比很小的异常而言,更难实现像素级别的异常定位。
此外,实际工业数据集中正常样本的质量问题对生成式模型的生成能力提出了更高的要求,且由于实际的工业图片其正常样本中除去零件会有大量部位存在白块、黑点等各种形态的东西,而这些是现实环境带来的锈迹或污渍,并不是实际中需要我们检测出的异常,则必然会对我们重构产生非常大的干扰,在训练过程中影响生成对抗网络学习正常分布特征,在测试过程中也会造成大量正常图片存在多处像素点误差值过大的问题,从而导致正常异常相差无几,无法区分。即当只使用正常样本且正常样本也存在重大干扰项且不清晰时,其检测性能必然受到限制。
发明内容
针对现有技术的不足,本发明提供了一种基于图像增广和图像重构的实例级异常检测方法,本发明在基于生成式模型重构无异常样本的基础上,使用数据增广策略,在正常样本的基础上构造伪异常样本加入训练,转无监督学习为有监督学习,将原本的图像实例级异常检测问题转化为图像分类问题,那么像素级异常定位就转化成了图像分割或目标检测任务,既而原理上解决了实例级异常检测性能与像素级异常定位性能相互制约的矛盾问题。此外,现有的图像分类、分割网络相对成熟,其性能提升上相对不受局限,与重构类异常度量相比更是不再完全受正样本质量或生成式模型质量而制约,因而针对实际工业数据集中由于样本分辨率较低且存在大量干扰影响检测性能的问题,原理上可以得到一定性能提升。
为解决上述技术问题,本发明提供了如下技术方案:一种基于图像增广和图像重构的实例级异常检测方法,包括以下步骤:
S1获取测试图像;
S2将测试图像输入生成网络中实现输入样本的无异常重构;
S3将测试样本和它经过生成网络得到的无异常重构样本在通道处concat送入判别网络中生成单一图像所对应的异常分数图,实现实例级异常检测。
S4基于梯度类加权激活映射方法,使用流向判别网络中最后卷积层的梯度信息生成异常区域的一个定位图,实现异常定位。
进一步的,在步骤S2中,生成子网络的构建方法包括以下步骤:
S21搭建生成子网络;
S22输入正常样本,以结构相似性损失LSSIM、重构误差损失Lcon、特征匹配损失Llat及对抗损失Ladv的加权和作为目标函数训练生成子网络。
进一步的,在步骤S21中,生成子网络采用编码器-解码器的蝴蝶结式对称结构实现输入图像到潜在空间的相互映射,实现输入图像的重构,再加入一个编码器作为判别器,形成对抗训练,确保重建图像的质量。
进一步的,在步骤S22中,输入正常样本,以结构相似性损失LSSIM、上下文损失Lcon、特征匹配损失Llat及对抗损失Ladv的加权和作为目标函数训练生成子网络,具体过程包括以下步骤:
S221结构相似性损失LSSIM衡量输入图片I与重构图片Ir的失真程度和相似程度,表达式为:
Figure BDA0004152876560000031
其中H和W分别是输入图像I的高和宽,Np是输入图像I中的像素数,SSIM(I,Ir)(i,j)是以图像坐标(i,j)为中心值,输入图片I与重构图片Ir对应同一patch处的结构相似性值;
S222上下文损失Lcon是输入图像I和重构图像Ir之间的重构误差损失,从像素层面减小原始图像和重构图像的差距,表达式为:
Lcon=‖I-Ir2
S223特征匹配损失Llat是重构图像Ir与输入图像I经过判别器隐含层的输出的均方误差,目标是得到输入图像I和重构图像Ir尽可能相似的潜在表示,表达式为:
Figure BDA0004152876560000041
其中z是输入图像I经过生成网络中的判别器隐含层f得到的潜在表示,
Figure BDA0004152876560000042
是重构图像Ir经过生成网络中的判别器隐含层f得到的潜在表示;
S224对抗损失Ladv是输入图像I和重构图像Ir经过判别器判别得到的交叉熵,目标是为了在训练期间最大化正常图像I的重建能力,表达式为:
Figure BDA0004152876560000043
其中,
Figure BDA0004152876560000044
表示I为从真实数据分布pI中采样得到的样本,D(I)、D(Ir)分别表示输入经过生成网络中的判别器后得到的输出。
进一步的,在步骤S3中,将测试样本和它经过生成网络得到的无异常重构样本在通道处concat送入判别网络中生成单一图像所对应的异常分数,具体过程包括以下几个步骤:
S31搭建判别子网络;
S32训练判别子网络,让正常样本、构造的伪异常样本分别与其经过子网络生成的无异常重建样本concat后,再作为正、负样本送入判别子网络训练;
S33测试阶段,根据所有测试图像在判别网络经sigmoid激活层输出的概率值划分阈值,实现正常异常的二分类。
进一步的,在步骤S31中,判别子网络模型由7个block、一个卷积层、一个sigmoid激活层组成,每个block包含两组卷积层、BN层、ReLU激活和一个最大池化层。
进一步的,在步骤S32中,让正常样本、构造的伪异常样本分别与其经过子网络生成的无异常重建样本concat后,再作为正、负样本送入判别子网络训练,具体过程包括以下几个步骤:
S321基于cutpaste方法在正常样本中生成CutpasteNormal和CutpasteScar两类伪异常样本。
S322基于柏林噪声,在与输入正常样本分布无关的异常源图像数据集上采样异常纹理源图像上形成各种不规则纹理碎片来构建perlin-noise-based类伪异常样本。
S323随机挑选伪异常样本作为负样本输入。
S324样本与其经过生成子网络重构出的无异常样本,在channel处进行级联,送入判别子网络,保证送入的伪异常携带了更多正常样本的特征,使其尽可能贴近正常样本,从而增加判别子网络训练难度,不会因为太容易区分而导致过拟合的情况。
S325以focal loss损失函数作为判别子网络训练阶段的目标函数,表达式为:
FL=-αi(1-pi)γyilog(pi)-αi(pi)γ(1-yi)log(1-pi)
其中,yi表示样本i的label,正类为1,负类为0;pi表示样本i预测为正类的概率;γ是对该损失函数的调节,当γ=0时,这个表达式就退化成二分类交叉熵损失,αi为平衡因子。
借由上述技术方案,本发明提供了一种基于图像增广和图像重构的实例级异常检测方法,至少具备以下有益效果:
1.针对异常检测中异常样本过少的问题,基于cutpaste和柏林噪声的方法在正常样本中引入局部不规则性,从而构建多类伪异常样本实现数据增广,对训练集进行异常样本的补充,将一般的无监督异常检测转换为有监督分类问题,将像素级的异常定位问题转化为图像分割问题。
2.引入自编码器与生成对抗网络结合形成的生成子网络,使得输入的所有伪异常样本都能得到对应的无异常重建样本,通过通道级联的方式送入判别网络,使构建的伪异常样本在参与训练时保留更多的正常特征,从而增加判别器网络训练难度,不会因为太容易区分正常异常而导致过拟合的情况。
3.重构网络图片误差使用的损失函数多为均方误差、峰值信噪比等,考虑到这类损失函数计算差异的方式仅仅将图像看成了一个孤立的像素点,而忽略了图像所包含的一些视觉特征,特别是图像的局部结构信息,使图像重构模糊,并容易出现模型泛化,为了解决这个问题,提出结构相似性度量与重构像素误差损失、特征匹配损失、对抗损失的加权和作为总的损失函数,使输入样本可以实现更清晰、更细节、更相似的无异常重构。
4.考虑到异常检测中,正负样本通常高度不平衡,二分类问题中常用的交叉损失熵函数容易导致模型过拟合而在测试阶段缺少对检测真实异常的泛化能力,为了解决这个问题,使用focal loss损失函数,让模型把注意力放在稀少的、难以区分的样本类别上,从而提高判别网络的鲁棒性。
5.本发明提出的生成子网络主要功能是实现样本的无异常重构,可以用任何相似的生成式模型替换,而判别子网络主要是实现样本的正常异常区分或定位,同样也可以用现阶段任何成熟的分类或分割网络替换,如Resnet18,Unet等,说明本发明提出的基于图像增广和图像重构进行异常检测算法的通用性和实用性。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1为本发明图像异常检测方法的流程图;
图2本发明生成子网络测试结果;
图3为本发明生成子网络结构框图;
图4为本发明判别子网络结构框图;
图5为本发明基于cutpaste增广构造的部分伪异常样本示意图;
图6为本发明基于柏林噪声增广构造的部分伪异常样本示意图;
图7为本发明实施过程详细框架图;
图8为本发明与现有基于生成模型的重构类典型算法在mvtec_ad数据集及私有数据集上实例级异常检测AUC对比示意图;
图9为本发明在mvtec_ad数据集及私有数据集上异常定位结果图。
具体实施方式
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明做进一步详细的说明。借此对本申请如何应用技术手段来解决技术问题并达成技术功效的实现过程能充分理解并据以实施。
鉴于背景技术所述基于生成式模型的重构类异常算法的局限性,因此,在基于生成式模型的图像异常检测算法探究中,本发明在正样本的基础上模拟伪异常样本加入,实现了数据增广,有效地缓解了难以获取充足的异常数据用于模型训练的问题,与重构类异常度量相比更是不再完全受正样本质量或生成式模型质量而制约,变无监督至有监督,变图像实例级异常检测任务为成熟的图像分类任务,而借助梯度类加权激活映射方法可以直接输出该分类网络对异常类的关注区域,从而实现异常定位。
请参照图1-图9,示出了本实施例的一种具体实施方式,本实施例基于图像增广和重构,构造的伪异常样本与其经过生成子网络进行无异常重建得到的重建样本级联输入判别子网络训练后,在检测真实缺陷时可以很好地泛化、有效地帮助了实际工业故障的检测。
请参照图1,本实施例提出了一种基于图像增广和图像重构的异常检测方法,包括以下步骤:
S1获取测试图像,测试图像来源于公开数据集mvtec_ad和私有铁路零部件故障数据集。
Mvtec_ad数据集,该数据集模仿了工业实际生产场景,并且主要用于无监督异常检测,其中包含了15种物体类别,每类物体有4-6种故障表现,涉及73种故障种类,实验时按物体类别分成15个任务分开训练并测试。
私有数据集主要基于真实落地的铁路零部件故障,集中包含两个不同类型的故障检测任务,实验时按物体类别分成2个任务分开训练并测试。
S2将测试图像输入生成网络中实现输入样本的无异常重构;
S3将测试样本和它经过生成网络得到的无异常重构样本在通道处concat送入判别网络中生成输入图像所对应的异常分数图,实现实例级异常检测。
S4对于实例级测试结果为异常类的图片,基于梯度类加权激活映射方法,使用流向判别网络中最后卷积层的梯度信息生成该图片异常区域的一个定位图,实现异常定位。
进一步的,在步骤S2中,生成子网络的构建方法包括以下步骤:
S21搭建生成子网络;
S22输入正常样本,以结构相似性损失LSSIM、重构误差损失Lcon、特征匹配损失Llat及对抗损失Ladv的加权和作为目标函数训练生成子网络;
S23测试生成子网络,输入正常和异常样本,观察输出样本中是否有异常区域被重构出来,部分测试结果请参照图2。
进一步的,请参照图3,在步骤S21中,生成子网络采用编码器-解码器的蝴蝶结式对称结构实现输入图像到潜在空间的相互映射,实现输入图像的重构,再加入一个编码器作为判别器,形成对抗训练,确保重建图像的质量。
自编码器通过一系列卷积操作降维并提取特征,将输入图像映射为潜在空间的隐变量;生成器结构类似于解码器,通过反卷积的方式将潜在空间中的隐变量重新映射回图像,中间通过批归一化增加泛化性,使用LeakyReLU激活函数进行激活;判别器结构与编码器类似,同样通过卷积操作来提取特征,最后通过sigmoid激活层将特征映射为得分,来判断输入的图像是真实图像还是生成器重构的图像。
由于生成子网络只采用正常样本训练,则学习到的都是样本的正常特征,当输入异常样本时,生成子网络也只具备重构正常特征的能力,那么异常样本中的局部异常区域便不会被重构出来,原理上该生成子网络可以实现输入样本的无异常重建。
进一步的,在步骤S22中,输入正常样本,以结构相似性损失LSSIM、上下文损失Lcon、特征匹配损失Llat及对抗损失Ladv的加权和作为目标函数训练生成子网络,具体过程包括以下步骤:
S221结构相似性衡量输入图片I与重构图片Ir的失真程度和相似程度,与MSE和PSNR衡量绝对误差不同,SSIM是感知模型,主要考察图片的亮度、对比度、结构这3个关键特征。其计算方式如下:
Figure BDA0004152876560000081
其中,μ为平均值,σ2为方差,
Figure BDA0004152876560000082
为协方差,c是用来维持稳定的常数。
在本算法中,结构相似性损失函数表达式为:
Figure BDA0004152876560000091
其中,H和W分别是输入图像I的高和宽,Np是输入图像I中的像素数,SSIM(I,Ir)(i,j)是以图像坐标(i,j)为中心值,输入图片I与重构图片Ir对应同一patch处的结构相似性值。
S222为了在训练期间最大化正常图像I的重建能力,利用生成器与鉴别器之间的对抗损失Ladv,即原图像和重建图像经过判别器判别得到的交叉熵。这种损失确保了生成网络G尽可能真实的重建正常图像,而鉴别器网络对真实输入样本I和生成器生成的对应假样本Ir进行分类,在训练过程中这里的任务是最小化G并最大化D,以实现minG maxD V(D,G)。其表达式为:
Figure BDA0004152876560000092
其中,
Figure BDA0004152876560000093
表示I为从真实数据分布pI中采样得到的样本,D(I)、D(Ir)分别表示原图像经过生成网络中的判别器后得到的输出。
S223 S222中定义的对抗损失迫使模型生成真实的样本,但不保证学习关于输入的上下文信息。为了显式地学习这些上下文信息以充分捕获正态样本地输入数据分布,在输入原始图像I和重建的输出图像Ir之间应用L2损失。Lcon是原始输入图像和网络重建图像之间的重构误差损失,该损失函数主要从像素层面减小原始图像和重构图像的差距,衡量视觉相似性,确保模型能够生成与正常样本上下文相似的图像。表达式为:
Lcon=‖I-Ir2
S224特征匹配损失Llat是生成图像与真实图像经过判别器隐含层的输出的均方误差,目标是得到输入原始图像I和重建的输出图像Ir尽可能相似的潜在表示,确保该网络能够为常见示例生成上下文合理的潜在表示。使用鉴别器D最后一个卷积层,提取I和Ir的特征去重建他们的潜在表示z和
Figure BDA0004152876560000096
使得z=f(I)且/>
Figure BDA0004152876560000094
表达式为:
Figure BDA0004152876560000095
进一步的,在步骤S3中,将测试样本和它经过生成网络得到的无异常重构样本在通道处concat送入判别网络中生成单一图像所对应的异常分数,具体过程包括以下几个步骤:
S31搭建判别子网络;
S32训练判别子网络,让正常样本、构造的伪异常样本分别与其经过子网络生成的无异常重建样本concat后,再作为正、负样本送入判别子网络训练;
S33测试阶段,根据所有测试图像在判别网络经sigmoid激活层输出的概率值划分阈值,实现正常异常的二分类。
进一步的,请参照图4,在步骤S31中,判别子网络模型类似于VGG结构,由7个block、一个卷积层、一个sigmoid激活层组成,每个block包含两组卷积层、BN层、ReLU激活和一个最大池化层。
进一步的,在步骤S32中,让正常样本、构造的伪异常样本分别与其经过子网络生成的无异常重建样本concat后,再作为正、负样本送入判别子网络训练,具体过程包括以下几个步骤:
S321基于cutpaste方法在正常样本中生成CutpasteNormal和CutpasteScar两类伪异常样本,请参照图5;
CutPaste增广的动机是生成空间不规则性作为实际缺陷的粗略近似值。为了生成不同的增广效果,CutPasteNormal方法首先从正常的训练图像中切割不同大小、不同纵横比的矩形补丁,之后随机地旋转或抖动该矩形补丁中的像素值,最后将该矩形块粘贴回正常样本的随机位置;
除了使用大矩形补丁的CutpasteNormal类外,针对某些数据集中局部异常很小,如裂缝等,同样使用一个长而薄的疤痕状小矩形补丁来创建局部不规则性,来进行伪异常样本的补充,作为Cutpaste的变体,形成CutpasteScar类。
S322基于柏林噪声,在与输入正常样本分布无关的异常源图像数据集上采样异常纹理源图像上形成各种不规则纹理碎片来构建perlin-noise-based类伪异常样本,请参照图6。
由柏林噪声发生器生成噪声图像,以捕捉各种异常形状,之后通过随机均匀采样的阈值进行二值化生成异常图,从一个与输入图像分布无关的异常源图像数据集上采样异常纹理源图像,对该异常纹理图像进行随机增广,包括偏置、锐度、日光、均衡、亮度变化、颜色变化、自动对比度改变等。增广后的纹理图像和正常样本被异常映射掩盖,形成异常部分,再与正常样本混合,使得构造出的伪异常样本尽可能贴近正常样本,只有局部存在异常,即生成just-out-distribution的伪异常样本,从而帮助收紧训练网络中正常异常的决策边界。
S323随机挑选伪异常样本作为负样本输入;
S324样本与其经过生成子网络重构出的无异常样本,在通道处进行级联,送入判别子网络,保证送入的伪异常携带了更多正常样本的特征,使其尽可能贴近正常样本,从而增加判别子网络训练难度,不会因为太容易区分而导致过拟合的情况。
S325以focal loss损失函数作为判别子网络训练阶段的目标函数,表达式为:
FL=-αi(1-pi)γyilog(pi)-αi(pi)γ(1-yi)log(1-pi)
其中,yi表示样本i的label,正类为1,负类为0;pi表示样本i预测为正类的概率。γ是对该损失函数的调节,当γ=0时,这个表达式就退化成二分类交叉熵损失,α为平衡因子,在本实施例中设置为:αi=1,γ=2。
在分类网络中,训练阶段常用的目标函数是Cross Entropy Loss Function(交叉熵损失函数),为了在训练过程中尽可能的较少损失,则要求模型必须以更高的概率来预测模型的真实标签。换句话说,交叉损失熵要求模型对自己的预测非常有信心,这便可能导致深度学习模型变得过度自信,过拟合下使得模型泛化能力下降,那么对于本发明网络来说,在使用真实异常进行测试时,模型便可能出现无法判别的情况。
与Cross Entropy Loss相比,focal loss会减少“分类效果好的样本”或者说“模型正确预测概率大”的样本的训练损失,使它不至于过拟合,而对于“难以分类的示例”,比如正确预测概率小的示例,则不会减少太多损失。因此,在数据类别不平衡的情况下,focalloss会让模型把注意力放在稀少的、难以区分的样本类别上。
S4对于实例级测试结果为异常类的图片,基于梯度类加权激活映射方法,使用流向判别网络中最后卷积层的梯度信息生成该图片异常区域的一个定位图,实现异常定位。
由于判别网络最后一层特征图富含最为丰富类别语意信息,则可以基于最后一层特征图进行可视化。梯度类加权激活映射方法使用流向判别网络中最后卷积层的梯度信息来理解每个神经元对于类别识别的重要性。对于类别c,梯度类加权激活映射方法就是根据该类对应的输出向量,进行backward,求取特征图对应的梯度图,然后再对每个梯度图求平均,这个平均值就对应于每个特征图的权重
Figure BDA0004152876560000121
然后再将权重/>
Figure BDA0004152876560000122
与特征图Ai进行加权求和,最后通过激活函数ReLU得到最终可视化的类激活图/>
Figure BDA0004152876560000123
Figure BDA0004152876560000124
Figure BDA0004152876560000125
请参照图7,本实施例首先进行数据预处理,对正常样本进行翻转、锐度变化、亮度变化、颜色变化、自动对比度改变等操作,实现正常样本的随机增广,将正常样本扩充为原来的6倍。
之后在正常样本上引入各种颜色和形状的局部不规则异常,模拟伪异常样本,生成靠近正常样本但又在正常样本数据分布外的伪异常,在只有正常样本的基础上补充异常样本,实现图像增广。
接着开展本网络第一阶段的训练,即在正常样本上训练一个由自编码器和生成对抗网络组成的生成子网络,并以结构相似性损失、重建图像损失、特征匹配损失、对抗损失的加权和作为总的目标函数,使该生成子网络只学习正常样本的特征与分布,只具备重建正常特征的能力,从而实现输入样本的无异常重建。训练完成后,使用增广后的正常样本和模拟产生的伪异常样本以及真实的异常样本进行第一阶段的测试。
然后展开本网络第二阶段的训练,增广后的每个正常样本与其经过生成子网络生成的重建样本在通道处进行级联作为正样本,模拟的每个伪异常样本与其经过生成子网络重建出的无异常样本在通道处进行级联作为负样本,一起送入判别网络进行训练,为了增加判别网络的鲁棒性,避免过拟合,使用focal loss作为目标函数,使模型把注意力放在稀少的、难以区分的样本类别上。
最后使用公开工业数据集mvtec_ad和私有铁路零部件数据集中的真实正常、异常图片作为测试样本输入,由于判别子网络最后一层为sigmoid的激活函数,对于任何输入,其输出都在0~1之间,因而对于每一个输入测试样本,其经过sigmoid激活层得到的输出都无须再做归一化处理,直接作为该图像的实例级异常分数。得到所有测试样本的实例级异常分数后,划分阈值,实现正常异常划分。对于判别出的异常类图片,基于梯度类加权激活映射方法方法实现该图片中异常区域的定位。
请参照图8,本实施例所提供的方法在mvtec_ad数据集和私有铁路零部件数据集上的实例级检测结果如图8所示,以基于生成模型的重构类图像异常检测领域三个典型的算法作为基线算法,本发明提出的基于图像增广和图像重构的异常检测方法,其异常检测AUC在两大数据集上分别比最好的基线算法高约6%、7%。
请参照图9,本实施例所提供的方法在mvtec_ad数据集和私有铁路零部件数据集上,部分异常样本的定位图展示如图9,可以看出样本中存在的局部异常区域实现了较为精确的定位。

Claims (7)

1.一种基于图像增广和图像重构的异常检测方法,其特征在于:
将测试图像输入生成网络中实现输入样本的无异常重构;
将测试样本和它经过生成网络得到的无异常重构样本在通道处concat送入判别网络中生成单一图像所对应的异常分数图,实现实例级异常检测;
基于梯度类加权激活映射方法,使用流向判别网络中最后卷积层的梯度信息生成异常区域的一个定位图,实现异常定位。
2.根据权利要求1所述的异常检测方法,其特征在于:生成网络的构建方法包括以下步骤:
搭建生成网络;
输入正常样本,以结构相似性损失LSSIM、重构误差损失Lcon、特征匹配损失Llat及对抗损失Ladv的加权和作为目标函数训练生成网络。
3.根据权利要求2所述的异常检测方法,其特征在于:生成网络采用编码器-解码器的蝴蝶结式对称结构实现输入图像到潜在空间的相互映射,实现输入图像的重构,再加入一个编码器作为判别器,形成对抗训练,确保重建图像的质量。
4.根据权利要求2所述的异常检测方法,其特征在于:结构相似性损失LSSIM衡量输入图像I与重构图像Ir的失真程度和相似程度,表达式为:
Figure FDA0004152876550000011
其中H和W分别是输入图像I的高和宽,Np是输入图像I中的像素数,SSIM(I,Ir)(i,j)是以图像坐标(i,j)为中心值,输入图像I与重构图像Ir对应同一patch处的结构相似性值;
上下文损失Lcon是输入图像I和重构图像Ir之间的重构误差损失,从像素层面减小原始图像和重构图像的差距,表达式为:
Lcon=‖I-Ir2
特征匹配损失Llat是重构图像Ir与输入图像I经过生成网络中的判别器隐含层的输出的均方误差,目标是得到输入图像I和重构图像Ir尽可能相似的潜在表示,表达式为:
Figure FDA0004152876550000012
其中z是输入图像I经过生成网络中的判别器隐含层f得到的潜在表示,
Figure FDA0004152876550000013
是重构图像Ir经过生成网络中的判别器隐含层f得到的潜在表示;
对抗损失Ladv是输入图像I和重构图像Ir经过生成网络中的判别器鉴别得到的交叉熵,目标是为了在训练期间最大化正常图像I的重建能力,表达式为:
Figure FDA0004152876550000021
其中,
Figure FDA0004152876550000022
表示I为从真实数据分布pI中采样得到的样本,D(I)、D(Ir)分别表示输入经过生成网络中的判别器后得到的输出。
5.根据权利要求1所述的异常检测方法,其特征在于:将测试样本和它经过生成网络得到的无异常重构样本在通道处concat送入判别网络中生成单一图像所对应的异常分数,具体过程包括以下几个步骤:
搭建判别网络;
训练判别网络,让正常样本、构造的伪异常样本分别与其经过生成网络生成的无异常重建样本concat后,再作为正、负样本送入判别网络训练;
在测试阶段,根据所有测试图像在判别网络经sigmoid激活层输出的概率值划分阈值,实现正常异常的二分类。
6.根据权利要求1所述的异常检测方法,其特征在于:判别网络模型由7个block、一个卷积层、一个sigmoid激活层组成,每个block中包含两组卷积层、BN层、ReLU激活和一个最大池化层。
7.根据权利要求5所述的异常检测方法,其特征在于:训练判别网络,让正常样本、构造的伪异常样本分别与其经过生成网络生成的无异常重建样本concat后,再作为正、负样本送入判别网络训练,具体过程包括以下几个步骤:
基于cutpaste方法在正常样本中生成CutpasteNormal和CutpasteScar两类伪异常样本;
基于柏林噪声,在与输入正常样本分布无关的异常源图像数据集上采样异常纹理源图像上形成各种不规则纹理碎片来构建perlin-noise-based类伪异常样本;
随机挑选伪异常样本作为负样本输入;
样本与其经过生成网络重构出的无异常样本,在通道处进行级联,送入判别网络;
以focal loss损失函数作为判别子网络训练阶段的目标函数,表达式为:
FL=-αi(1-pi)γyilog(pi)-αi(pi)γ(1-yi)log(1-pi)
其中,yi表示样本i的label,正类为1,负类为0;pi表示样本i预测为正类的概率;γ是对该损失函数的调节,当γ=0时,这个表达式就退化成二分类交叉熵损失,αi为平衡因子。
CN202310324738.2A 2023-03-30 2023-03-30 一种基于图像增广和图像重构的异常检测方法 Pending CN116309508A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310324738.2A CN116309508A (zh) 2023-03-30 2023-03-30 一种基于图像增广和图像重构的异常检测方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310324738.2A CN116309508A (zh) 2023-03-30 2023-03-30 一种基于图像增广和图像重构的异常检测方法

Publications (1)

Publication Number Publication Date
CN116309508A true CN116309508A (zh) 2023-06-23

Family

ID=86822232

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310324738.2A Pending CN116309508A (zh) 2023-03-30 2023-03-30 一种基于图像增广和图像重构的异常检测方法

Country Status (1)

Country Link
CN (1) CN116309508A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117409326A (zh) * 2023-12-13 2024-01-16 山东锋士信息技术有限公司 基于自适应加权损失和对抗干扰器的遥感异常检测方法
CN117988823A (zh) * 2024-01-31 2024-05-07 成都理工大学 基于半监督自编码器的钻塞过程套管损坏实时预警方法

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117409326A (zh) * 2023-12-13 2024-01-16 山东锋士信息技术有限公司 基于自适应加权损失和对抗干扰器的遥感异常检测方法
CN117409326B (zh) * 2023-12-13 2024-04-19 山东锋士信息技术有限公司 基于自适应加权损失和对抗干扰器的遥感异常检测方法
CN117988823A (zh) * 2024-01-31 2024-05-07 成都理工大学 基于半监督自编码器的钻塞过程套管损坏实时预警方法

Similar Documents

Publication Publication Date Title
CN108961217B (zh) 一种基于正例训练的表面缺陷检测方法
Collin et al. Improved anomaly detection by training an autoencoder with skip connections on images corrupted with stain-shaped noise
WO2019104767A1 (zh) 基于深度卷积神经网络与视觉显著性的织物缺陷检测方法
CN114549522B (zh) 基于目标检测的纺织品质量检测方法
CN116309508A (zh) 一种基于图像增广和图像重构的异常检测方法
CN111784633B (zh) 一种面向电力巡检视频的绝缘子缺损自动检测算法
CN112837295A (zh) 一种基于生成对抗网络的橡胶手套缺陷检测方法
CN112733950A (zh) 一种基于图像融合与目标检测结合的电力设备故障诊断方法
CN113505865B (zh) 一种基于卷积神经网络的片材表面缺陷图像识别处理方法
CN111383209A (zh) 一种基于全卷积自编码器网络的无监督瑕疵检测方法
KR20210141060A (ko) 머신러닝 기반의 이미지 이상 탐지 시스템
CN110929376B (zh) 一种基于gan的管道漏磁检测数据缺失的重构方法
CN114419014A (zh) 基于特征重构的表面缺陷检测方法
CN115830004A (zh) 表面缺陷检测方法、装置、计算机设备和存储介质
CN111563577B (zh) 基于Unet的跳跃层分频和多尺度鉴别的本征图像分解方法
CN115018790A (zh) 一种基于异常检测的工件表面缺陷检测方法
CN117451716A (zh) 一种工业产品表面缺陷检测方法
CN113313678A (zh) 一种基于多尺度特征融合的精子形态学自动分析方法
CN116385404A (zh) 一种自监督下基于图像分割的表面缺陷异常定位和检测方法
CN115700737A (zh) 一种基于视频监控的溢油检测方法
CN117078608B (zh) 一种基于双掩码引导的高反光皮革表面缺陷检测方法
CN116797602A (zh) 一种用于工业产品检测的表面缺陷鉴定方法和装置
CN116735610A (zh) 一种基于机器视觉的钢管表面缺陷检测方法
CN115222732B (zh) 一种基于大数据分析和色差检测的注塑工艺异常检测方法
CN114998248A (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