Deep Learning for Unsupervised Anomaly Localization in Industrial Images: A Survey | 论文阅读记录

文章来源

IEEE Transactions on Instrumentation and Measurement, 2022

文章背景

  • 无监督异常定位算法在工业检测任务中得到了越来越广泛的应用
  • 大多数现有综述仅仅关注图像级分类的AD方法,很少有综述致力于完整和全面地介绍与分析异常定位AL方法。
  • 异常定位面临着一些问题:1.训练样本的分布问题。2.异常的多尺度问题。3.精确确定异常边界的问题

文章动机

  • 为对工业异常定位感兴趣并希望将其应用于其他领域异常定位的研究人员提供了详细的技术信息。

研究内容

本论文全面调查利用深度学习在工业图像无监督异常定位方面,回顾了 120 多篇涵盖异常定位不同方面的重要出版物,主要涵盖各种概念、挑战、分类法、基准数据集以及所审查方法的定量性能比较。在回顾迄今为止的成果的同时,本文对未来的几个研究方向进行了详细的预测和分析。

无监督异常定位中的各种方法介绍

论文对各种方法进行了分类,并且写出了各个分类的技术以及具体的应用。
在这里插入图片描述
并且还使用了甘特图,来让读者更加直观地了解不同类别之间的关系,以及不同具体方法与不同类别之间的关系,方便读者理解方法之间的区别和相关性。。就像FAVAE这个方法它既是基于1图像重建的,又是基于生成模型的,还是基于深度特征嵌入的。
在这里插入图片描述
本论文还对各个类别以及其中的子类别进行了介绍,让读者可以直接了解各项技术。

Image Reconstruction-based Approach 基于图像重建的方法

是最基础的方法。将异常图像输入到Autoencoder(AE,自动编码器)中进行编码与解码,重构出正常图像,然后将异常图像与重构的正常图像进行比较,它们之间的差值代表了定位的结果。
如图所示,输入图像在低维瓶颈层(潜在空间)压缩,编码器将图像压缩为中间表达,将图片映射为潜在空间中固定的潜在变量中。然后解码器使用它来重构图像,。

在训练阶段使用正常样本训练AE。AE的损失函数由真实样本与生成样本之间的差值构成,训练的目的是为了让损失最小化,让AE可以更好地生成正常图片
在这里插入图片描述
在这里插入图片描述

总结了一些针对工业异常检测中复杂情况的基于AE的图像重建框架的新颖设计,同时总结了各种设计的具体实现:

  • 网络结构的改进

    • 跳层(skipping layers):在深度学习中是指将某一层的输出直接传递给后面的一层,而不经过中间的层。最著名的应用是残差网络(ResNet)中的残差连接(residual connections)。具体来说,残差块通过一个快捷连接(skip connection)将输入直接传递到输出,同时经过几层卷积层处理,最终将两部分结果相加。
    • 将自编码器(AE)和特征金字塔的设计扩展到多尺度异常感知领域:将特征金字塔与自编码器相结合,利用特征金字塔在不同尺度上提取的特征,使自编码器能够处理多尺度信息,提高异常检测的精度和鲁棒性。
      输入图像 -> 特征金字塔 -> 多尺度特征 -> 自编码器(编码器部分) -> 低维表示(latent space) -> 自编码器(解码器部分) -> 重构图像 -> 异常检测
      

    缺陷:当AE的泛化能力较强时,异常特征会与正常特征混淆,导致网络的输出准确地再现输入,没有将异常重构为正常,最终丢失异常。如图所示,重构后异常还在。
    在这里插入图片描述

  • 对潜在空间(latent space)表示的约束

    • 记忆库:记忆库是一种字典学习(dictionary learning)的形式,用于替代原始潜在空间(latent space)的表示。它的工作机制可以类比于字典学习中的单词,每个记忆库的元素类似于字典中的单词,能够编码无缺陷样本的特征。
      在训练阶段,仅使用有限数量的“单词”进行重构。 正常样本会被索引到最相似的元素,以便进行良好的重构。而对于异常样本,与其重构之间的差异被放大,作为异常评分。也就是说,重构误差越大,样本越有可能是异常的。
    • 对潜在空间(latent space)特征进行聚类
      有学者在MS-FCAE中提出了特征聚类模块,以增强潜在空间中编码特征的可辨别性,从而提高了纹理背景图像的重建精度。提出了一种基于异常特征编辑的用于纹理缺陷视觉检测的对抗网络,其中AE模块的潜在空间也利用了特征聚类。此外,已经提出了一些针对潜在空间的经典聚类操作,包括标准 K 均值聚类
    • 对潜在空间的特征进行建模:经典的技术有PixelSail模型、高斯描述符(Gaussian descriptors)与图网络模型(graph network models)

    缺陷: 难以确定最佳约束参数,且受限于像素级比较的影响

  • 损失函数的改进:基于图像重建的方法通常采用像素级比较度量,导致输入和输出的比较仅在像素级别并且缺乏语义信息。因此,一些基于损失函数的改进被提出。对于这种方法,关键问题是考虑图像重建效果中的语义信息。
    文中也总结了一些经典的损失函数改进,如SSIM、MSGMS与WFD。
    缺陷: 与原始损失函数相比,异常定位的效果没有明显改善。

表中给出了这三种基于图像重建的方法,并分析了它们的优缺点。
尽管基于图像重构的方法非常直观并且易于解释,但其性能会被限制。
因为:

  • 自编码器在训练过程中没有利用任何先验知识,只是通过学习输入数据本身的分布来进行重构。这意味着它没有利用任何关于数据特征或结构的额外信息,这可能会限制其性能。
  • 自编码器的重构效果完全依赖于其潜在层(latent layer)的表达能力,即潜在层能否有效地捕捉和表示无缺陷的特征。如果潜在层不能很好地表示这些特征,重构效果就会很差,进而影响异常检测的性能。
    在这里插入图片描述

Generative Model-based Approach 基于生成模型

为了克服基于AE的方法重建性能差的缺点,生成模型被引入工业AL领域。生成模型的基本思想是从训练数据中建模真实数据的分布,然后当有输入样本时,利用学习到的模型和分布来生成或模拟出正常样本。在这个框架中,异常检测的关键是显式或隐式地获取无缺陷数据的特征分布

由于生成模型仅生成正常样本,因此生成或重建样本与输入样本之间的差异就是异常区域。

与AE不同的是,生成模型既可以在潜在空间(latent space)中反映差异,也可以在特征空间中反映差异。AE只能在潜在空间中反映差异。

经典的有三种技术:

VAE 变分自编码器

VAE为潜在空间中的正态样本(来自正态分布的数据样本)引入了先验分布,通常是多维标准正态分布
在这里插入图片描述

VAE的框架如图所示,输入图像输入到编码器,输出得到潜在空间里的均值向量与标准差向量通过这两个向量采样得到潜在向量,输入到解码器得到生成或重构的图像。
在VAE中,编码器的输出不再映射到固定的潜在变量上,而且映射到分布上,例如高斯分布。
这让VAE与AE有了显著不同:

  • 训练时,AE 训练得到 Encoder 和 Decoder 模型,而 VAE 除了得到这两个模型,还获得了隐藏层的分布模型(即高斯分布的均值与方差)
  • AE 只能重构输入数据X,而 VAE 可以生成含有输入数据某些特征与参数的新数据
  • VAE 中潜在空间服从高斯分布,AE 中的潜在空间无分布要求

在训练阶段,利用正常样本与损失函数不断调整模型,让编码器输出潜在分布接近先验分布。在检测阶段,输入图像与重构的图像进行差值。

VAE的损失函数包括两部分:

  • 重构损失: 用于衡量输入数据与重构数据之间的差异。
  • KL散度(Kullback-Leibler divergence): 用于衡量编码器输出的潜在分布与先验分布(通常是标准正态分布)之间的差异。这部分损失强制编码器输出的潜在分布接近先验分布

虽然普通的VAE成功定位了异常,但异常区域的定位精度相对较差。因此有学者添加了机制来改进

  • Attention-based methods(注意力机制):异常图是通过派生生成的,而不是通过重建生成的。经典的技术包含使用基于梯度的注意力计算与带有引导注意力的卷积对抗性VAE(CAVGA)
  • 基于梯度的方法:由于相对于输入图像的损失梯度给出了朝向正常数据样本的方向,其大小可以指示样本的异常程度,因此有学者提出了提出了基于梯度下降的VAE,以及训练过程中损失值的变化也可以作为识别异常数据的特征。

GAN 生成对抗网络

GAN:两个网络相互竞争。一个生成,一个判断。
一个叫做生成器网络( Generator Network),它不断捕捉训练库中的数据,从而产生新的样本。其目标是生成的必须尽可能接近训练集中的真实样本。训练生成器来最小化判别器在生成数据上的损失,从而使判别器认为生成数据是真实的

另一个叫做判别器网络(Discriminator Network),它也根据相关数据,去判别生成器提供的数据到底是不是足够真实。目标是尽可能区分生成网络的输出与真实样本。训练D使其能够正确区分真实数据和生成数据

有时固定D,训练G;有时固定G,训练D。 就这样不断训练,二者都在不断变强。

整个损失包括两部分:G的重建损失和D的特征差损失。训练GAN就是为了让这两个损失越来越接近。
基于GAN的模型根据其网络结构分为三种类型。

普通GAN

该方法中的生成网络G接收来自潜在空间的随机采样样本作为输入,其生成的必须尽可能接近训练集中的真实样本。
判别网络 D真实样本生成网络的输出中获取输入,其目标是尽可能区分生成网络的输出与真实样本,判断当前输入是否为真实样本。
在这里插入图片描述

训练阶段
从潜在空间中随机挑选向量作为生成网络G的输入,得到生成样本,训练其生成更加接近训练集中的真实的样本
真实样本与生成样本输入到判断网络D中,训练D使其能够正确区分真实数据和生成数据。

判别器的目标与损失函数:
在这里插入图片描述
生成器的目标与损失函数:
在这里插入图片描述
其中 x 为真实样本,G(z)为生成样本。D(*)代表判别器认为当前数据为真实数据的概率。
对于判别器来说,希望D(x)大,而D(G(z))小。代表判别器可以区分出真假
对于生成器来说,希望D(G(z))大,而D(x)小。代表生成器成功欺骗了判别器。

在这里插入图片描述

检测阶段:
生成网络生成网络G的输出与输入图像之间的差异决定了异常区域

在训练阶段我们已经训练好了一个GAN网络,在这一阶段我们就是要利用训练好的网络来进行缺陷检测。
例如训练一个生成数字8图像的GAN,现在输入数字6图像来进行检测。

首先要做的就是搜索一个潜在向量并让其生成的图片与图片6尽可能接近。具体实现:首先我们会定义一个潜在变量z,然后经过刚刚训练的好的生成网络G,得到假图像G(z),接着G(z)和缺陷数据6计算损失,这时候损失往往会比较大,我们不断的更新z值,使损失不断的减少。
在程序中我们可以设置更新z的次数,如更新500次后停止,此时我们认为将如今的潜在向量z送入生成网络得到的假图像已经和图片6非常像了。于是我们将z再次送入生成网络,得到G(z)
最后我们就可以计算G(z)和图片6的损失,记为loss1,并将这个损失作为判断是否有缺陷的重要依据。

【注:由于潜在变量z送入的网络是生成图片8的,尽管通过搜索使G(z)和6尽可能相像,但还是存在一定差距,即它们的损失较大。若输入的数据时正常数据,则损失会较小】

通过上面的分析,发现当我们在测试阶段传入缺陷图片时最终的损失大,传入正常图片时的损失小,这时候我们就可以设置一个合适的阈值来判断图像是否有缺陷了。
在这里插入图片描述

GAN与AE结合

由于普通GAN 在推理阶段时,以单张图像作为输入,如果想要得到满意的生成样本,则需要不断选择潜在向量以找到最优的。针对传统GAN需要不断更新参数的缺点,提出了一些联合AE结构的GAN方法。

改进生成网络的输入

这包含了两个方法。

  • 最直接的方法是直接使用真实图片作为输入,而不是从潜在空间随机采样的样本。生成器G被改造成一个完整的编码-解码结构
    这种改进相当于在AE方法上使用一个判别器D来区分图像是真实样本还是重建样本。
    结构如图所示 ,G有着类似AE的结构,输入样本变为真实图片。
    在检测时,比较新样本与重构样本的差异,以此来定位异常位置。
    在这里插入图片描述
    优点:

    • 简单直观:直接使用无缺陷图像作为生成器的输入,重构图像并比较输入与重构图像之间的差异来检测异常。这种方法简单且直观。

    缺点:

    • 这种方法的性能高度依赖于生成器的重构能力。如果生成器不能很好地重构无缺陷图像,则可能导致误报。
    • 可能难以检测到较小或不显著的缺陷,因为这些缺陷可能在重构过程中被忽略
  • 输入使用人工合成的缺陷样本。
    生成器在这种情况下进行修复或填充操作,通过修复样本中的缺陷区域来实现网络的训练,尽量恢复出无缺陷的图片。而判断器着区分真实无缺陷图片与恢复的图片来训练。
    在检测阶段,将输入样本与修复后的样本进行比较,以准确标记异常区域。
    在这里插入图片描述
    优点:

    • 精确修复和定位:生成器直接接收含有缺陷的图像,并尝试修复这些缺陷区域。这种方法能够精确地修复和定位缺陷区域,通过比较输入和修复后的图像,可以准确识别出缺陷。
    • 增强模型能力:通过训练生成器修复人工添加的缺陷,模型可以学习到更多类型的缺陷特征,从而提高检测性能。

    缺点:

    • 需要人工生成有缺陷的样本,这可能增加数据准备的工作量
    • 训练过程可能更加复杂,因为需要生成器学会修复多种缺陷。
改进生成网络G

有两种方法:

GANomaly网络:
介绍在这里插入图片描述
在这里插入图片描述

在自编码器之后增加的一个编码器,形成“编码-解码-编码”结构。

在训练阶段,生成器的损失由三部分构成:

  • 真实样本与生成样本的损失
  • 第一次编码的潜在向量与第二次编码的损失
  • 判断器的损失

在这里插入图片描述
判断器的损失函数与普通GAN相同。

检测阶段
生成网络生成网络G的输出与输入图像之间的差异决定了异常区域
通过 z z z z ′ z^{'} z计算异常得分,来判断图像是否存在异常。

优点:

  • 通过增加第二个编码器,能够更好地捕捉输入图像的特征,并与第一个编码器的输出进行比较,从而提高异常检测的准确性。
  • 通过比较第二个编码器的输出与第一个编码器的输出之间的差异,可以直接评估输入是否异常,这种方法直观且高效。

缺点:

  • 增加第二个编码器意味着更多的计算量,尤其在处理高维数据时,可能导致训练和推理时间增加
  • 训练过程中需要同时优化两个编码器和一个解码器,训练过程可能变得更加复杂和不稳定。

f-AnoGAN网络:
介绍
在这里插入图片描述
在这里插入图片描述

训练部分分为了两个阶段,阶段1训练出一个解码器与判断器D,然后冻结。阶段2训练编码器,有两种训练结构,分别是izi与ziz,两种方式下编码器的损失也由不同构成。

  1. izi:真实图片与生成图片的损失 L i z i L_{izi} Lizi与判断器的特征损失 L D L_D LD
  2. ziz:潜在变量z通过固定的生成器生成image,然后再通过编码器编码成潜在变量 z ′ z^{'} z。损失由二者构成。

原论文中选择了ziz作为最终的训练结构。

检测阶段:
生成网络生成网络G的输出与输入图像之间的差异决定了异常区域
异常得分由 L i z i L_{izi} Lizi L D L_D LD构成。

优点

  • List item
改进判别器D

一般是采用多个判别器来增强GAN网络的判别能力。论文中提出了两种结构。

第一种:DfGAN
通过在潜在空间中进行“pitting”操作和权重共享,增加了一个重构图像的分支,并将其与原始输入图像一起形成新的判别损失。还新增了一个分类判别器,计算分类损失,即 x’ 与 x’’ 之间的差值,这样就有两个判别器。

pitting”操作通常是添加噪声或扰动。

训练阶段
损失由三部分构成:

  • 重构损失:通过比较x与x’所得到的损失
  • 判别损失:判别器Dv计算 原始图像 x 与 经过pitting操作后的生成图像 x’’ 的判别损失
  • 分类损失:分类器C计算 生成图像 x’ 与 经过pitting操作后的生成图像 x’’ 的分类损失

优点:

  • 结合了多种损失,提高模型鲁棒性,生成的图像更加符合需求
  • 通过潜在空间“pitting”操作和权重共享,提高了判别能力

缺点:

  • 需要同时优化多种损失,训练过程复杂

在这里插入图片描述

第二种:
增加了潜在空间判别器DI,区分编码器输出的潜在向量 z 与 随机采样的潜在向量 z’,增加了一种损失

训练阶段
损失由两部分构成:

  • 重构损失:比较 原始图像 x 与生成图像 x’ 得到的损失
  • 潜在空间判别损失:比较 原始潜在向量 z 与 随机采样潜在向量 z’ 得到的损失

优点:

  • 通过潜在空间判别,提高了异常检测的精度
  • 使用多种损失,让模型更加全面

缺点:

  • 要优化多种损失,训练过程复杂
  • 计算复杂度高,增加了训练和推理时间
  • 依赖潜在空间特征的质量,如果潜在空间特征不足,可能影响整体检测效果

在这里插入图片描述

CycleGAN

介绍
利用多个GAN建立不同特征域之间的映射,实现不同特征域的图像之间的转换。
如有两个域的图像,分别为域X和域Y,例如域X表示夏季图片、域Y表示冬季图片,现期望将这两个域的图片互相转换,即输入域X的夏季图片生成器输出域Y的冬季图片或输入域Y的冬季图片生成器输出域X的夏季图片。

CycleGAN由两个生成器与两个判别器构成,通常在有两个域时使用。
结构如图所示:
在这里插入图片描述
其中X–>Y为:
在这里插入图片描述
而Y–>X为:
在这里插入图片描述
由上图可以看出,真实样本x经过生成器G生成出另一个域的图片 y ‘后,y’还要经过生成器F再生成出 x’。还要生成 x’ 是为了保证生成的 y’ 与 x有高相关性。如果不循环生成,会导致 y’ 很符合 域y,但已与域 x 无关。

因此生成器G/F与判断器Dx/Dy的损失函数由三部分构成:

  1. 生成器G与判别器Dy部分:也就是 X–>Y的部分
    G希望 D Y ( G ( x ) ) D_Y(G(x)) DY(G(x))大,而Dy则希望 D Y ( G ( x ) ) D_Y(G(x)) DY(G(x))小。
    在这里插入图片描述
  2. 生成器F与判别器Dx部分:也就是Y–>X的部分
    F希望 D Y ( F ( y ) ) D_Y(F(y)) DY(F(y))大,Dx希望 D Y ( F ( y ) ) D_Y(F(y)) DY(F(y))
    在这里插入图片描述
  3. 循环一致化部分:也就是控制生成样本与真实样本的相关性
    G与F都希望这个值小,越小代表相关性越好。
    在这里插入图片描述

最终的损失函数由上面三个部分构成:
其中 λ为超参数。
在这里插入图片描述

训练阶段
训练G与F时,固定Dx与Dy,让损失函数最小化。
训练Dx与Dy时,固定G与F,让损失函数最大化。

标准流(NF)

GAN和VAE都缺乏对概率分布的精确评估和推理,GAN与VAE都无法准确得到数据似然,即数据的分布,只能估计出一个最大似然。

Normalizing Flow应运而生,试图通过使用可逆函数来解决目前GAN和VAE存在的许多问题。

NF是一种神经网络,用于学习数据分布与定义良好的概率密度之间的转换。
简单地说,Normalizing Flow就是一系列的可逆函数,或者说这些函数的解析逆是可以计算的。这些变换可以是简单的仿射变换或更复杂的自回归神经网络变换。每个变换都有其参数,需要通过训练来优化。
在这里插入图片描述

在这里插入图片描述

从上图可以看出,Normalizing Flow可以将复杂的数据点转化为简单的高斯分布,反之亦然。

通过一系列可逆变换 f f f将原始数据的分布映射高斯分布,从x–>z,而在高斯分布的概率密度函数是易得的。

例如假设 原始数据 x 经过可逆变换 f f f得到了潜在变量z, z = f ( x ) z=f(x) z=f(x) x = f − 1 ( z ) x=f^{-1}(z) x=f1(z)。记原始数据x的概率分布(概率密度函数)为 P ( x ) P(x) P(x),潜在变量z的概率分布(概率密度函数)为 P ( z ) P(z) P(z)
在这里插入图片描述
P ( x ) P(x) P(x)是复杂的,但可以通过 f f f 与 简单的 P ( z ) P(z) P(z)得到。
通过运算得到了 P ( x ) P(x) P(x) P ( z ) P(z) P(z)的关系式:
关系式的计算
在这里插入图片描述

这样就可以通过P(Z)来得到P(X),而P(Z)是容易得到的。至此,P(X)就可以准确地计算出来。而且似然函数与概率函数是相同,因此可以NF可以得到精确似然。

基于流的模型在训练与定位时的介绍:

训练阶段
主要训练变换函数 f f f的参数,使得经过这些变换后,数据可以从复杂的原始分布映射到简单的潜在分布。
训练阶段有目标函数,采用对数极大似然估计函数的方法去估计出参数,也就是上面的P(x)与P(z)的关系式取对数。
与VEA、GAN不同的是,NF不是直接输入正常图片用于训练,而是通过预训好的模型提取出正常图片的特征,再进行训练。

下图为单个数据x的目标函数,其中M表示有M层转化,因此会求M次和
在这里插入图片描述
下图为一个包含N个样本的集合X
在这里插入图片描述

训练的目标是让目标函数最大化。

训练步骤:

  1. 定义各个变换,然后将数据 x 通过一系列变换函数 f f f 映射到潜在空间,得到潜在变量z。z=f(x)
  2. 通过预先定义的先验分布 P(z)与 f f f ,计算出P(x)
  3. 计算目标函数,根据结果调整函数的参数,使得目标函数最大化

异常检测与定位阶段
与VEA、GAN不同的是,NF不是直接比较,而是通过特征。

在检测阶段,将测试图像的特征正向传播到流中,得到简单的概率分布z,然后计算 负对数极大似然估计函数(-logP(x)) 得到损失,值越大则说明该特征出现的概率越小,越有可能是异常。

而在定位时,则将损失反向传播,计算损失对输入图像的梯度,这些梯度表示输入图像中每个像素对异常评分的影响。将这些梯度映射回输入图像空间,生成异常热图。热图中值较高的区域表示异常评分较高,即可能的异常区域。

经典的基于流的模型:

DifferNet

DifferNet 希望构建工业检测图像与正态分布隐变量的可逆映射。
DifferNet使用负对数极大似然估计函数作为损失函数。

在定位阶段,先正向传播时得到简单的概率分布z,并利用其计算损失。
然后进行反向传播,计算计算损失对输入图像的梯度,这些梯度表示输入图像中每个像素对异常评分的影响。

在这里插入图片描述
然而,该框架侧重于图像级的异常分类,没有针对图像上缺陷的定位进行优化。MVTec AD的异常定位区域不能准确拟合地真值范围。

CFLOW-AD 条件标准流

创新点提出使用2D形式的传统位置编码(PE)的条件向量
先对提取到的特征图进行位置编码,然后将计算得到的位置编码构成条件向量,并将解码器耦合层中的中间向量与条件向量连接。

在这里插入图片描述

CS-Flow 全卷积跨尺度正常化流

结合了全局和局部图像上下文以增强细粒度表示,并且在特征提取特征多尺度交互上进行了改进。

特征提取:使用了预训练好的 EfficientNet-B5 模型作为特征提取器。

多尺度特征交互 :CS-Flow块中的卷积分两个层次进行,第二层是尺度之间的交叉连接
在进行推理时,CS-Flow 会先对图像进行缩放得到不同尺寸的图像,再使用预训练模型对其进行特征。
接下来,CS-Flow 在 NF block 中的第二次融合时对不同尺寸的特征进行交互,实现跨尺寸的特征融合

在这里插入图片描述

Fastflow

其检测原理与之前的工作类似,但设计了基于“3×3”和“1×1”卷积的2D流

而且FastFlow 在特征提取方面进行了更多的探索,使用了 Vision Transformer 模型(视觉变换,ViT)作为特征提取器来使用,然后将特征输入到后期流模型中进行概率分布估计。
在这里插入图片描述

总结

VAE或GAN对图像中正常区域的生成效果较差,容易导致误检。目前,基于NF的定位效果最好。

VAE的缺点:异常区的定位结果比较粗糙。
GAN的缺点:大量的培训费用。生成器可能变得不稳定。图像中正常区域的生成效果较差,容易产生误检
NF的缺点:模型需要精细的设计,设计标准不同于普通的CNN

基于深度特征嵌入 Deep Feature Embedding-based

图像重建或生成模型由于缺乏特征级别的辨别信息,该方法通常会产生不正确的重建结果。

为了克服图像重建或生成模型的限制,另一条研究提出采用基于深度特征嵌入的方法,该方法通常分为两部分:特征提取和异常估计。通过比较目标图像和正常图像的深度嵌入特征来生成最终的像素级异常图

特征提取部分通常选择在ImageNet等大规模数据库上进行预训练,或者是自监督学习。特别地,上面提到的NF也可以看作是基于深度特征嵌入的方法与生成模型相结合

方法分为两种:Knowledge Distillation-based 与 Deep Feature Modeling-based

Knowledge Distillation-based 基于知识蒸馏

为了更好地嵌入深层特征信息,这里利用了学生-教师框架
训练Student and Teacher network的过程被称为"知识蒸馏"

在进行知识蒸馏(Knowledge Distillation)时,选择合适的教师网络和学生网络对于任务的成功实现至关重要。教师网络通常是一个大型的、经过预训练的深度学习模型,而学生网络则是一个更小、更轻量级的模型。

这里让教师模型充当预训练的特征提取器,学生模型用于估计 AL 的评分函数

下面介绍几个经典模型:

uninformed Students

首次使用知识蒸馏模型进行异常定位。
它的特点是聘用一名教师和多名学生。
在训练阶段,教师网络是在大型数据集(如ImageNet)上进行训练。
然后是利用教师网络训练学生网络,目的是让学生网络的目标是尽可能精确地预测或模仿教师网络在相同输入下的输出,这种学习方式称为回归

在检测阶段,将测试样本分别输入到教师网络与学生网络,利用它们之间输出的差异来定位异常。特别是,当学生网络的输出与教师网络的输出不同,以及不同学生网络的输出不同时,异常是局部的。

缺点:

  • 该模型仅将网络最后一层的输出作为知识蒸馏的特征
  • 为了更好地定位异常,采用了多图像块的方法,将输入图像划分为多个小块进行处理,但增加了计算时间的负担。

首先要训练Teacher Network(T):
完全基于自然图像(ImageNet)进行预训练,并且训练后不再更新参数,T输出D维的特征,该特征具有强语义性(semantically strong descriptors)。可通过Knowledge distillation或Metric Learning进行训练。

在这里插入图片描述

方法一:Knowledge distillation
利用另一个预训练模型P中进行蒸馏,训练T
从预训练网络P汲取知识,增加一个全连接层,使T的输出维度与P一致,优化它们的L2 loss,损失函数如图所示。
在这里插入图片描述
方法二:Metric Learning
Metric Learning介绍
如果预训练模型不好获取,则使用自监督学习进行预训练。
主要使用三元学习来获取discriminative embedding(判别嵌入),构造三元组(p,p+,p-),优化以下目标,p为锚点,p+为同一组样本,p-为不同组的样本:
在这里插入图片描述
在这里插入图片描述

最后在加上Descriptor Compactness:
通过最小化一个batch内的描述符相似度来增加紧凑度(compactness)同时减少不必要的冗余,ci,j表示相关矩阵的项:
在这里插入图片描述
总损失函数为:
在这里插入图片描述

训练学生网络 S

1.首先利用T提取计算训练集中所有patch的均值与标准差,用于数据标准化(作用于T的输出)

2.构建M个S网络,每个S都为输入图像I输出特征描述符。由于具有限制感受野的网络S可以在一次前向传播过程中为I中每个像素点生成密集预测,因此不需要切分为多个块P(r,c)

3.将S的输出建模为高斯分布,优化以下目标,其中Si表示对像素点(i,j)的预测,yT为T对应Patch的输出,计算L2距离:
在这里插入图片描述

异常检测
首先要计算每个像素的异常得分,使用两种方法衡量一个像素点是否异常:
1.回归误差 regression error (S与T之间的L2距离),也就是学生与教师输出的差异
在这里插入图片描述
2.预测不确定性 predictive uncertainty (S中的标准差)
在这里插入图片描述
最后结合得到异常得分为:
在这里插入图片描述

异常定位:多尺度异常分割
由于网络架构中的感受野大小一定,如果感受野过大而异常区域过小,那么提取出来的特征基本为正常,无法对异常区域进行分割。
因此,构建多个不同感受野的Student-Teacher网络对,将输出进行融合后作为最终的检测结果。
在这里插入图片描述

Multi-resolution Knowledge Distillation

为了应对DiffNet的缺点,提出了Multi-resolution Knowledge Distillation。
不同于DiffNet只使用最后一层的特征,Multi-resolution Knowledge Distillation考虑了蒸馏过程中多个中间层的特征,使得学生网络能够更好地利用教师网络的知识,从而提高模型的性能。

特点

  • 学生网络不仅学习教师网络最后一层的输出,还学习教师网络中间层的特征。这使得学生网络可以捕捉到更多的特征信息,并且差异更显著。
  • 异常定位图(AL map)通过将损失反向传播到输入图像生成。这种方法虽然有效,但在定位精度上可能存在一些局限性
the student-teacher feature pyramid matching (STPM,学生-教师特征金字塔匹配)

为了进一步提高多尺度异常定位的效果,提出了学生-教师特征金字塔匹配(STPM)模型。

该模型通过直接计算教师网络和学生网络多层特征之间的差异来生成异常定位图(AL map)。这种方法避免了输入图像路径大小的设置,简化了流程,同时提高了定位的准确性。

Outlier-Exposed Style Distillation Network (OE-SDN,暴露异常样本风格蒸馏网络)

将知识蒸馏与AE进行结合,通过模仿自编码器(AE)引起的轻微失真来进行风格转换,以增强异常检测的效果。

需要训练两个模型:OE-SDN与AE。
首先训练AE。
然后为了OE-SDN可以模拟出AE的风格,还采用了知识蒸馏。AE作为教师网络,而OE-SDN作为学生网络学习AE的知识。
同时为了防止OE-SDN学习到AE的一些极端失真,还使用了Outlier Exposure Regularization(OER,异常值暴露正则化) 来对OE-SDN正则化。

在检测时,计算OE-SDN和自编码器输出之间的差异作为异常得分。

在这里插入图片描述

特征增强VAE(FAVAE)

将知识蒸馏与VAE结合,提出了FAVAE。
该架构由具有VAE架构的特征提取模块组成,提取模块的输出与VAE中解码器的多层输出相关联,这种关联可以被视为一种知识蒸馏操作,利用特征提取模块训练VAE。

训练阶段
特征提取模块通常是一个预训练的深度神经网络(如卷积神经网络CNN),在训练过程中的权重不会发生改变。
训练阶段是为了训练VAE,利用预训练好的特征提取模块来训练VAE。

  1. 首先使用特征提取模块得到出各层的特征,然后将图片输入到VAE,编码再解码,得到解码器中各层的特征

  2. 对于每层,对比特征提取模块得到的和解码器得到的之间的差异,训练的目的是让这种差异最小化。比较之前要进行分辨率的调整。

在这里插入图片描述

异常定位阶段
得到特征提取模块与解码器各层的差异,以此来构造异常图。
在这里插入图片描述

Deep Feature Modeling-based 基于深度特征建模

该方法首先需要为输入图像构建一个特征空间,通常使用预训练的深度神经网络(如CNN)来提取图像的高层次特征。然后对提取的特征进行建模,常见的技术包括聚类概率分布拟合和一些学习模型

与知识蒸馏方法不同,这种方法通常使用一个端到端的网络,不区分教师网络和学生网络。

下面介绍具体的技术:

Alignment-based Method(对齐方法)

原文:Sub-Image Anomaly Detection with DeepPyramid Correspondences

一种基于对齐的图像异常检测和分割方法。

在检测阶段,首先使用预训练的Wide-ResNet50模型提取测试图片的特征,然后利用这些这些在正常库中寻找K个最近的正常图像。在此过程中,图像被标记为正常或异常。通过验证kNN距离是否大于阈值τ来确定分类。预期大多数图像是正常的,并且仅少数图像被指定为异常的。

然后在目标和normal图像之间找到密集的像素级对应关系,在检索到的normal图像中没有近匹配的目标图像区域被标记为异常。
要实现像素级对应关系,需要实现图像的对齐。为了执行有效的对齐,我们使用来自特征金字塔的不同级别的特征来描述每个位置。

对齐
对齐指的是将图像或图像中的对象调整到一个标准的姿态、位置或尺度,使得它们在特征空间中具有一致性
图像对齐(或者图像配准)可以扭曲旋转(其实是仿射变换)一张图使它和另一个图可以很完美的对齐。

Patch Distribution Modeling (PaDiM)

首先会将图片切分为补丁并使用预训练模型提取出各自的特征向量。然后对每个补丁对提取的特征进行高斯分布建模,通常包括计算均值和协方差矩阵,以表示特征的分布

PaDim在构建记忆库时,会使用局部约束的特征袋方法来估计每个补丁特征的分布(均值和协方差矩阵),并存储这些分布参数。
而在检测阶段,会先提取待输入图像的补丁级特征,计算每个补丁特征与记忆库中特征分布马氏距离进行异常检测,生成异常图。

AE-based Feature Reconstruction(基于自编码器的特征重构)

与PaDim对特征进行高斯建模的是,本方法通过预训练网络得到特征后,会使用AE 对特征进行重构
在训练与检测时,对比得是原始特征与生成特征之间的差异

下面是网络机构:
首先将输入图像传到一个预训练的卷积网络中提取特征,然后将每个卷积层得到的特征放到区域特征生成器中,由于每层的感受野不同,使得每层所得到的特征中包含的信息也不同
区域特征生成器将来自不同感受野的特征图进行resize,变成输入图像的空间大小,然后用均值滤波器对其进行卷积,最后将其拼接得到融合的特征图f(x),这个特征图是多尺度的。

然后是深度特征重建,也就是这个CAE模块,对特征图进行重建
在训练时,只使用正常图片进行训练。在检测时,生成特征图与原始特征图进行对比,得到异常评分图
在这里插入图片描述
在这里插入图片描述

然而,这个方法的AL结果未超过PaDim。它在MVTec AD的典型数据集Tile和Wood上表现不佳

VT-ADL

ViT 对输入图像进行编码来生成特征,然后将其生成的特征输入解码器以重建原始图像。
同时还利用高斯混合密度网络(GMDN),对transformer编码特征的分布进行建模,以估计正常数据在潜在空间中的分布。

其结构复杂,但表明 MVTec AD 上异常图的可视化效果较差。

MLF-SC(多层特征稀疏编码)进行异常检测

论文: 论文地址
将多层特征与稀疏编码相结合,进行异常检测
在论文中,MLF-SC被用于进行异常检测,AL仍依赖于像素级的重构效果。

使用预训练的CNN从输入图像中提取多层特征,对中间多层特征进行稀疏编码,而不是对原始图像的补丁,通过最小化输入特征与稀疏重构特征之间的误差来训练模型。

在检测时,使用训练好的稀疏编码模型对输入图像的特征进行重构,计算输入特征与重构特征之间的误差,误差大的区域被认为是异常区域。

a random feature selection method extending to semi-orthogonal embeddings(SOE)

论文地址
基于PaDiM的思想,设计了一种随机特征选择方法并且扩展到半正交嵌入(SOE)。
这种方法避免了多维协方差张量的计算复杂性。
在MVTec AD、KolektorSDD、KolektorSDD2上取得了良好结果。

SOE是一种嵌入技术,通常用于减少高维数据的复杂性,同时保留数据的主要特征和结构。
半正交嵌入通过构建一个半正交矩阵,将高维特征向量嵌入到低维空间,同时保留数据的主要特征和结构。这种方法的关键在于找到一个适当的半正交矩阵,使得嵌入后的特征能够有效地表示原始数据。

半正交矩阵:
A T A = I , A A T ! = I A^TA=I, AA^T!=I ATA=I,AAT!=I

PatchCore

使用局部特征提取与核心集采样。

self-organizing map (SOM,自组织映射)

遵循PaDiM的思想,使用自组织映射(SOM)而不是多维高斯建模。
将PaDim与SOM结合。

SOM:自组织映射网络,又称竞争型神经网络。可以通过将高维数据映射到结构和相互关系简单低维空间中进行展示,从而实现数据可视化、聚类、分类等功能

在MVTec AD上,像素级别AUROC略优于原始PaDiM。

特征提取部分改进

对特征提取部分的表示进行微调,改进原始PaDiM。
通过微调,提高了PaDiM在异常检测中的性能。

Adaptive Attention-to-Level Transformation (ALT) 与 MLIR(Multi-Level Intermediate Representation)

提出了一种基于Adaptive Attention-to-Level Transformation(ALT)策略与MLIR的异常检测方法

ALT策略可以调整重构级别和特征测量尺度的权重,以利用一致的特征进行重构和AD。

A Contrario

提出一种框架,将A Contrario方法与异常检测结合。该框架在生成最终的异常图之前计算假特征图的数量。
将统计分析应用于特征图。
但效果一般。在MVTec的Tile和Wood纹理数据集上,AUROC分别为0.77和0.86。

FYD(Focus Your Distribution)模型

为了解决PaDiM中的数据未对齐问题。
模型采用从粗到细的过程。
在提取特征之前,先设计了图像级别的粗对齐模块,使输入图像强制对齐。

在MVTec AD上,AUROC为98.2%,但AL热图中存在干扰和粗糙的缺陷区域。

总结

列举了过去研究的关键要素。包含年份、如何预训练,如何使用正常图片,如何构造异常图,特征的层次以及优点与缺点。
在这里插入图片描述
这些模型都试图解决:一是生成细粒度、抗噪声的定位结果。二是将模型扩展到多尺度异常非对齐数据集。

Self-Supervised Learning-based Approach 自监督方法

自监督学习(SSL)是从未标记图像中学习视觉特征,然后将其应用于相关视觉任务的过程。有两种基于 SSL 的 AL 方法:Proxy Tasks与Contrast Learning。其中Proxy Tasks侧重于pretext task的设计,而Contrast Learning注重网络设计

Proxy Tasks

代理任务的重点是在像素级生成与训练图像相似的图像。

pretext task有不同的形式,但都可以归结为预测或恢复输入图像中的隐藏区域(被遮蔽的)或属性
最近基于SSL的AL方法主要依赖于三个主要的代理任务:

  • Image Inpainting(图像修复):一种代理任务,目的是让模型学习在图像中填补缺失部分。通过这种任务,模型能够学习到图像的结构、纹理和上下文信息。
  • Relative Position Prediction(相对位置检测):一种代理任务,目的是让模型学习图像局部之间的空间关系。通过这种任务,模型能够捕捉到图像的结构和空间布局信息。
  • Attribute Restoration(属性恢复):一种代理任务,目的是让模型学习恢复图像的某些属性(如颜色、亮度、对比度等)。通过这种任务,模型能够捕捉到图像的外观和内容信息。
Image Inpainting

图像修复是最常见的代理任务。基于图像修复的自监督与之前基于图像重建或生成的方法相同,只是称呼不同。

通过修复有缺陷的合成图像,使网络模型具有重构正常样本区域和修复异常样本区域的能力。这种方法可以在测试阶段修复类似的异常区域,比较真实样本与修复样本的差异。

常见的合成缺陷图片的方法如图所示:
在这里插入图片描述
① 最早的缺陷图片是通过加入随机噪声合成得到的。使用这种方法的网络模型被称为“去噪编码器”。

② 一些数据增强方法(data augmentation methods)被用于生成缺陷训练样本,来提升网络的修复能力。例如,随机擦除(Random erasure)正常样本中任意形状的区域,然后用固定颜色填充它们。然而,这种设计没有考虑图像中的结构信息,影响后续网络的修复能力。
在这里插入图片描述
③ 因此提出了另一种数据增强方法:一种网格状的随机遮罩(Random region mask)。其遮罩区域的数量和规模是可参数化的,这种方法在MVTec AD数据集上取得了94.2%的像素级AUROC。
在这里插入图片描述
多尺度条状遮罩(Multi-scale striped masks):用于模拟不同尺度的大跨度缺陷。
效果如图所示,不同尺寸的条状缺陷。
在这里插入图片描述

最近有些技术在尝试生成真实的有缺陷的图像,而不仅仅是使用无意义的黑白块图像。

裁剪和粘贴:在原始无缺陷图像上裁剪区域,然后以随机角度粘贴到图像上形成新的异常图像。
在这里插入图片描述

背景融合(background fusion):一些方法采用更复杂的背景融合技术,如通过选择不同的背景图像、变化大小、亮度和形状,来模拟缺陷。
例如:Poisson fusion(泊松融合)、选择各种纹理图像作为缺陷背景、数据增强中的样本合成方法。

在这里插入图片描述
虽然在理论上,合成缺陷图像越接近真实,模型的图像重建和恢复能力应该越通用。然而,在实际场景中,缺陷的类型和形状往往是不可预测的,很难确定哪种综合方法是最优的。一般来说,这些方法往往需要与设计合适的修复网络相结合,以达到更好的效果。

Relative Position Prediction(相对位置检测)

与之前介绍的仅考虑输入和输出映射的模型不同,还有一种评估邻域块空间信息的方法。

PatchSVDD:最具代表性的是PatchSVDD,它引入了一种自监督方法进行特征提取

它首先将图像分割成3×3的块区域,并对中央图像块周围的八个块进行排序。然后训练模型的编码器来提取有用的特征,以便分类器能够正确预测patchs的相对位置

然而,由于补丁区域的设置,这种方法的异常检测结果通常非常粗糙,不够精细。

InTra网络:一种基于图像恢复的网络,它针对的是一个以w×w为中心的补丁区域,该区域利用周围块的信息进行恢复,因此也利用了邻域信息。

SSPCABself-supervised predictive convolutional attentive block,自监督预测卷积注意力):

对于应用了扩张卷积滤波器(the dilated convolutional filter)的每个位置,SSPCAB学习使用上下文信息重建被遮盖的区域。这种方法使用了扩张卷积的区域特征来建模更大范围的邻域

在异常检测中,扩张卷积能够有效地利用大范围的上下文信息,提高检测的准确性和精细度。

优点:

  • 利用扩张卷积的区域特征,能够建模更大范围的邻域信息。
  • 提高异常检测的精细度。
Attribute Restoration(属性恢复)

属性恢复任务的特点是利用图像中的隐藏属性(如颜色和方向)进行异常检测和定位。
训练模型来恢复被修改的隐藏属性,而不是恢复被遮蔽的区域。

属性恢复网络:将传统的重建任务变为恢复任务
在训练时,首先改变输入图像的特定属性(如去除颜色、改变方向等),然后将图像输入到自编码器(AE)中进行重建

Split-Brain Autoencoder Approach 分裂脑卷积自编码器方法:?
该方法采用两个不相连的卷积自编码器网络,通过一个子通道来预测图像的另一个子通道。
每个编码器在不同颜色通道之间进行转换,这种设计利用了颜色属性,提高了异常图像的定位准确性。

Contrast Learning 对比学习

与代理任务关注在像素级别生成与训练数据相似的图像不同的是,对比学习的目标是通过学习相似实例之间的共同特征以及区分不相似实例之间的差异,改进异常检测方法。

对比学习的核心就是找到一个合适的编码,将原始特征编码到隐藏空间,使得正样本对之间的距离近,负样本对之间的距离远

对比预测编码(Contrastive Predictive Coding, CPC):(高引用)
将CPC用于检测与分割图像的异常。
会将图片分割为一个个补丁,然后将补丁的每行介绍为一个单独

在测试阶段,将测试图像的子补丁无缺陷图像中随机选择的图像的子补丁进行比较,以计算对比损失函数(InfoNCE)。当当前图像子补丁的损失超过某个阈值时,被判定为异常区域。

但由于是基于子补丁的,该方法影响了检测效率,其定位准确性也不高
在这里插入图片描述

SimSiam网络:基于SimSiam网络设计AL网络中的精细对齐部分。

1、输入同一特征的两种随机变换结果,使用 相同的编码器 f f f 提取特征,并将其转换到更高维空间。
2、使用 预测器g,将其中一个分支的结果进行转换,并与另一个分支的结果进行匹配。

该方法充分利用了SimSiam网络的自然建模不变性,即模型在面对输入数据的特定变换(如旋转、缩放、平移、亮度变化等)时,能够生成一致的特征表示。
图像粗对齐,特征粗对齐,像素精细对齐
SimCLR(Simple framework for Contrastive Learning of visual Representations)
提出了一种基于SimCLR的AL方法。
在训练数据集中,通过局部增强生成一些样本,并
与正常样本组成一对负样本对
,该模型将正常样本与局部增强样本进行对比。
该模型在MVTec AD上取得了93.4%的像素级AUROC。

总结

在这里插入图片描述
对比学习使用相似度来区分正常与异常,但定位结果容易受到干扰的影响,如成像条件的变化

One-Class Classification-based Approach 基于单类分类的方法

通常用于AD,典型的方法包括OCSVM 与Deep SVDD。
在AL中,基于单类分类的方法通过将图像划分为多个小块,并将这些小块分类为异常或正常类别,从而定位异常区域,这通常会产生粗略的结果

Deep SVDD:结合深度学习和SVDD,通过神经网络学习特征表示。Deep SVDD 训练一个网络,然后将训练数据映射到特征空间中的一个小超球体内超球体外的数据被称为异常

Patch SVDD:对Deep SVDD的改进。
Patch SVDD在Deep SVDD的基础上,对图像进行小块划分,每个小块分别进行异常检测
并采用自监督学习,使得特征能够形成多模态簇,增强特征表示的多样性和鲁棒性,从而增强异常检测能力

③ 将Deep SVDD嵌入到预训练的特征比较部分,来高效地估计逐像素的异常。

FCDD(fully convolutional data description):对Deep SVDD的改进。
变换后的样本本身就是对应于下采样异常热图的图像。

利用全卷积神经网络生成异常热图,将Deep SVDD的思想应用于图像的逐像素检测
生成的异常热图可以直接用于定位异常区域,但上采样过程可能影响精度

虽然这种方法产生了全分辨率的异常热图,但由于固定高斯核上采样操作,异常区域的范围不准确。

总结

主要的AD方法可以用于像素级的AL,因为可以将图像分割为一个个补丁,对补丁进行AD。
AD算法关注的是整个图片的语义信息,因此可能会忽略细微异常的语义信息。

新技术

OmniAL:用于无监督异常定位的统一 CNN 框架
RAMFAE:一种基于自编码器的新型无监督视觉异常检测方法

全新名词

AL (anomaly localization)异常定位

AL也称为异常分割,用于生成像素级异常定位结果,它不仅仅关注图像类别,更关注异常的详细位置。

推理阶段与检测阶段

推理阶段:推理阶段是指使用训练好的模型对新数据进行预测或生成的过程。在这个阶段,模型的参数是固定的,不再更新
检测阶段:检测阶段通常指的是特定于异常检测任务的推理过程。在这个阶段,模型用于判断新输入数据是否为异常样本。

检测是推理的特例。

自编码器(autoencoder)

自编码器是一种无监督学习模型,旨在通过学习将输入数据压缩到低维空间(编码),然后再从低维空间重构回原始输入(解码)。

损失函数

损失函数(Loss Function)是机器学习和深度学习模型训练中的一个关键概念,用于衡量模型的预测值与真实值之间的差异。损失函数的值越小表示模型的预测越接近真实值。模型训练的目标是通过优化算法(如梯度下降)最小化损失函数的值,从而提高模型的预测精度。

低维瓶颈层

也称为潜在空间(latent space),是自编码器中间的低维表示层
潜在空间是通过模型(通常是神经网络)将数据映射到的低维空间。这个空间中的表示是数据的潜在特征,通常是通过降维或特征提取得到的

潜在空间中的特征是通过模型学习得到的,通常不是直接从原始数据中提取的,而是数据在模型中的内在表示。潜在空间的维度通常比原始特征空间低,是对数据的压缩表示。

特征空间

特征空间是由所有特征向量构成的空间每个维度对应一个特征,数据样本在特征空间中表示为一个点。
特征空间的维度等于特征向量的长度。对于高维数据,如图像,特征空间的维度可能非常高。例如,一张28x28像素的灰度图像可以展平为一个包含784个元素的特征向量,其特征空间是784维的。
特征是直接从原始数据中提取的,可以是像素值、颜色直方图、词频等。

中间表示(intermediate representation

深度学习和神经网络中的一个重要概念。它指的是在输入数据经过网络层逐层处理时,某个特定层输出的特征表示。这种表示是输入数据在网络内部的表征,包含了经过前几层处理后的信息,是对原始数据的某种变换或抽象。

先验知识

先验知识是指在训练过程中利用的额外信息或假设,例如数据的特定结构或特征。这些信息可以帮助模型更好地理解和处理数据。

AE reconstruction networks

Likelihood 似然 与 概率

似然与概率分别是针对不同内容的估计和近似
概率:概率(密度)表达给定参数 θ \theta θ下样本随机向量 X = x \textbf{X} = {x} X=x的可能性
概率密度函数的定义形式是 f ( x ∣ θ ) f(x|\theta) f(xθ),即概率密度函数是在"已知" θ 的情况下,去估计样本随机变量 x 出现的可能性.

似然:给定样本 X = x \textbf{X} = {x} X=x下,参数 θ = θ 1 \theta=\theta_1 θ=θ1为真实值的可能性。
似然函数的形式是 L ( θ ∣ x ) L(θ∣x) L(θx),其中"|"代表的是条件概率或者条件分布。似然函数是在已知 样本随机变量 X = x \textbf{X} = {x} X=x的情况下,估计 参数θ 的值,是参数 θ 的函数。即给定样本随机变量 x 后 ,估计能选择让 X = x X=x X=x的参数θ的可能性。

注意一些概念的理解:

  1. 样本随机变量的出现是基于某个分布的.例如 f ( x ∣ θ ) f(x|\theta) f(xθ)代表x服从f 分布,而f 的分布是由参数 θ 决定的。参数θ刻画了随机变量 X 在概率空间中服从什么分布。
  2. 在概率统计学中 X \textbf{X} X代表的是随机变量,而小写形式x通常代表其具体取值.

data likelihoods 数据似然

表示在给定模型参数的条件下观测到某组数据的概率。它是用来评估模型参数与观测数据之间匹配程度的重要工具。

PE

PE 常常指的是 Positional Encoding(位置编码),尤其在处理序列数据或图像数据时。位置编码是一种技术,主要用于为输入数据添加位置信息,以便模型可以利用输入数据中的位置关系。位置编码广泛应用于变换器(Transformer)架构和其他需要处理顺序数据的模型中。

位置编码为模型提供了输入序列中各个位置的相对和绝对位置信息,这对于捕捉输入数据的顺序关系非常重要。

位置编码是预定义的,不需要在训练过程中进行优化,这减少了模型的复杂性和训练时间。

2D位置编码

2D位置编码的目的是为每个像素或特征图中的每个位置添加位置信息,使得模型能够理解图像中各个位置的相对和绝对关系。

条件向量

在正常化流框架中(如CFLOW-AD模型),条件向量用于将额外的信息(如位置编码)作为条件信息,传递给模型中的特定层,以帮助模型更好地理解和处理数据。

深度特征嵌入

高维度、复杂的输入数据转换为低维度、稠密且有意义的特征表示。通常是通过训练神经网络将输入数据映射到嵌入空间

discriminative embedding 判别嵌入

是一种将输入数据映射到嵌入空间的技术,旨在使得不同类别的数据在嵌入空间中具有良好的区分性。
也就是说,属于同一类别的数据点在嵌入空间中应该聚集在一起,而属于不同类别的数据点在嵌入空间中应该彼此分开

判别嵌入通过学习一个嵌入函数,将输入数据映射到一个低维嵌入空间。
这个嵌入函数通常由神经网络实现,并通过优化某种判别性损失函数来训练,以确保在嵌入空间中不同类别的数据点彼此分离。

常用技术:常用技术的介绍

  1. Triplet Loss(三元组损失)
  2. Contrastive Loss(对比损失)
  3. Center Loss(中心损失)
  4. Softmax Loss(交叉熵损失)

特征金字塔

不同的尺度上提取图像特征,形成金字塔结构,以便更好地捕捉不同尺度下的特征信息。

高斯混合密度网络(Gaussian Mixture Density Network, GMDN)

用于建模复杂数据的概率分布。它假设数据由多个高斯分布组成,通过学习这些分布的参数来估计数据的整体分布。

自组织映射(Self-Organizing Map, SOM)

SOM是一种无监督学习算法,用于将高维数据映射到低维(通常是二维)空间,保留数据的拓扑结构。它通过竞争学习机制,将相似的数据点映射到相近的位置。

A Contrario 方法

一种统计检测框架,主要用于检测图像中的异常和显著性区域。
基于假设检验的思想,通过计算图像特征与一个对比模型(通常是随机模型或无意义模型)之间的差异来确定异常区域。
其核心思想是通过对比随机背景或无意义特征,来找到在统计意义上显著的特征。

假设检验

假设检验是一种统计方法,用于确定样本数据是否符合某个假设(如样本来自某个特定分布)。

Proxy Task(代理任务)

代理认为是指在机器学习,尤其是自监督学习中,通过设计一些简单的、自动生成标签的任务来训练模型,使其能够学习到对下游任务(如分类、检测、分割等)有用的特征。让模型学会如何提取和表示数据的特征,而不需要人工标注的数据集

pretext task 预任务

一种用于自监督学习(Self-Supervised Learning)的任务。
目的是通过设计一些人工标注的任务来训练模型,使其能够学习有用的特征表示,而无需手工标注的数据

预任务的作用是为了让模型通过解决这些任务,从中学会如何表示数据的特征。这些特征通常能够在下游任务中表现出较好的效果,因为预任务迫使模型学习到数据的结构和属性。

优点:

  • 预任务不需要额外的手工标注,大大减少了数据准备的工作量。
  • 预任务学习到的特征在下游任务中通常具有良好的表现

data augmentation methods 数据增强方法

在训练机器学习模型时,通过对现有的训练数据进行各种变换和处理,以生成更多的训练样本的方法。其目的是增加训练数据的多样性,提高模型的泛化能力

Poisson fusion 泊松融合

一种图像编辑技术,主要用于无缝地将源图像的一个区域融合到另一个图像中,使得边界过渡自然,不易察觉。泊松融合利用了泊松方程,基于梯度场来实现图像的无缝拼接。它常用于图像修复、图像合成和对象插入等应用中。

卷积 Convolution

卷积是一种数学运算,卷积操作通过将一个函数(或信号)与另一个函数进行结合生成一个新的函数。在图像处理和深度学习中,卷积用于提取图像的特征,例如边缘、纹理和形状。

原理:在图像处理领域,卷积操作可以视为在图像上应用一个小的滤波器(也称为卷积核或滤波器),生成一个新的图像。

卷积核

卷积核是一个小的矩阵,通过在图像上滑动并进行点积运算来生成输出图像。
在这里插入图片描述

卷积层

应用多个卷积核进行卷积操作,生成特征图(Feature Map)。每个卷积核提取图像的不同特征

扩张卷积(Dilated Convolution)

也称为空洞卷积(Atrous Convolution),是一种在卷积神经网络(CNN)中使用的卷积操作
通过在卷积核中引入空洞(dilation rate)来扩大感受野,同时保持计算复杂度。
在这里插入图片描述

优点:

  • 多尺度检测:在图像分割和目标检测中,能够同时捕获不同尺度的特征,提高模型的检测和分割精度。
  • 扩大感受野:在不增加参数数量的情况下,通过引入空洞扩大感受野,从而捕获更多的上下文信息。

卷积自编码器网络(Convolutional Autoencoder Networks)

一种结合了卷积神经网络(CNN)和自编码器(Autoencoder)架构的模型,也就是将CNN用于AE
编码器由多个卷积层和池化层组成,解码器由多个反卷积层(或上采样层)组成。

子通道 Sub-channel

在图像处理和卷积操作中,子通道(Sub-channel) 通常指的是图像的特定颜色通道特征图的某一部分。

RGB图像中,子通道可以是红色通道(R)、绿色通道(G)或蓝色通道(B)。
卷积神经网络的特征图中,子通道可以是特征图的某些切片或子集。

SimSiam

Exploring Simple Siamese Representation Learning
一种用于自监督学习的对比学习方法,旨在通过学习无标签数据中的有效特征,提升模型的表示能力。

在这里插入图片描述

核心思想:通过比较同一图像的不同变换版本来学习特征表示。具体来说,它通过计算预测特征和目标特征之间的相似性损失(如余弦相似性),并最小化该损失进行训练,使得模型学习到对特定变化不敏感的特征表示。

网络由两个相同的分支组成,这两个分支共享权重,形成了一个孪生网络结构(Siamese Network)

  • 预测器(Predictor):用于将一个分支的特征映射到另一个分支的特征空间,即模拟另一个分支的特征。预测器通常由全连接层和ReLU激活函数组成。
  • 编码器(Encoder):用于提取输入图像的特征表示。编码器可以是任何深度神经网络,如ResNet。

在这里插入图片描述

Natural Modeling Invariance(自然建模不变性)

自然建模不变性可以理解为模型在面对输入数据的特定变换(如旋转、缩放、平移、亮度变化等)时,能够生成一致的特征表示。这对于提高模型的泛化能力和鲁棒性非常重要

这个概念的核心是模型能够对输入数据的某些变化保持不变,即特征表示在这些变化下应该保持稳定

在对比学习中,自然建模不变性尤为重要。

SimCLR

一种用于自监督学习的对比学习框架,它通过最大化同一图像不同增强版本之间的相似性,同时最小化不同图像之间的相似性,从而训练模型。

在这里插入图片描述

正负图像对

在对比学习(Contrastive Learning)中:

  • 正图像对(Positive Pair):由同一图像的不同变换版本组成,例如通过随机裁剪、颜色抖动等数据增强方法生成的两个视图。这些图像对的特征表示应该尽可能接近
  • 负图像对(Negative Pair):由两张不同的图像组成,这些图像对的特征表示应该尽可能不同

SVDD (Support Vector Data Description)

是一种单类分类(One-Class Classification)方法,用于异常检测。
通过在特征空间中找到包含正常数据的最小超球体(hypersphere)来实现异常检测。超球体外的数据被认为是异常的。

  • 3
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值