Fully Convolutional Cross-Scale-Flows for Image-based Defect Detection

自学所用

在工业制造过程中,错误经常发生在不可预测的时间和未知的表现形式中。我们解决了自动缺陷检测问题,而不需要任何缺陷部件的图像样本。最近的工作使用强大的统计先验或过度简化的数据表示来模拟无缺陷图像数据的分布。相比之下,我们的方法处理结合全局和局部图像上下文的细粒度表示,同时灵活地估计密度。为此,我们提出了一种新颖的全卷积跨尺度归一化流(CS-Flow),它联合处理不同尺度的多个特征图。使用标准化流程为输入样本分配有意义的可能性允许在图像级别进行有效的缺陷检测。此外,由于保留的空间排列,归一化流的潜在空间是可解释的,这使得能够定位图像中的缺陷区域。

最近的工作依赖于密度估计从ImageNet上预训练的模型获得的图像特征,然而,由于特征图的平均或需要强大的统计先验,信息丢失,限制了它们在密度估计中的灵活性,为了缓解这些问题,提出了一种归一化流,能够处理多尺度特征图以估计其密度。

CS-Flow通过在彼此交互的同时通过NF并行传播它们来同时chuli 不同尺度的图像特征;模型利用局部和全局上下文信息和相关性的全部潜力来精确地学习分布以识别缺陷示例,全卷积架构还保留了空间排列,从而可以可视化图像上的缺陷区域。

Fully Convolutional Cross-Scale-Flows for Image-based Defect Detection_第1张图片

异常检测:

最先进的工作可以大致分为基于生成模型和预训练网络的方法。

生成式模型:

许多异常检测方法都基于生成模型,例如自动编码器和GAN,它们经过优化以生成正常数据,这些方法通过生成模型无法重建异常来检测异常;在最简单的情况下,比较自动编码器的输入和重建,在这种情况下,高重建误差被解释为异常的指标;与自动编码器的解码部分类似,GAN的生成器用于异常检测;自动编码器和GAN在缺陷检测任务上表现不佳,由于具有个体大小、形状和结构不同类型的异常在重建误差方面具有不一致的特征。

基于预训练网络的方法:

许多方法不是直接处理图像,而是对预训练网络的特征进行缺陷检测,在ImageNet等大型数据库上进行预训练可确保提取在存在缺陷时预期会有所不同的通用特征,通过这种方式,考虑了无法从无缺陷数据中学习的判别特征,因为它们不一定会出现在其中;我们通过最大似然估计学习真实分布,利用了全尺寸特征图的细粒度信息

其他方法:

除了生成模型和预训练模型之外,还有其他方法可以执行异常检测,例如一种可学习的超球面分类器,使用示例异常值暴露作为异常替代;通过定义分布内和分布外转换来使用对同一图像增强的对比学习。

规范化流程:

归一化流(NF)是将数据转换为易处理分布的生成模型,与传统的神经网络不同,它们的映射是双射的,这允许它们在两个方向上进行训练和评估;前向传递将数据投影到潜在空间中,以计算给定预定义潜在分布的数据的准确可能性。相反,从预定义分布中采样的数据可以映射回原始空间以生成数据。通过使用可逆仿射变换确保了双射性和双向执行。有不同类型的归一化流,它们在仿射变换的架构上有所不同,以便有效地实现前向或后向方向,仿射块通过学习固定或自回归变换来实现。

规范化流程成功地用于非图像数据的异常检测。对于图像数据,出现了网络主要关注局部像素相关性而没有考虑语义的问题;我们使用来自多个尺度的特征,并避免使用全连接层和挤压层。通过这种方式,我们的潜在空间保留了空间排列,因此可以实现精确的缺陷定位。此外,我们减少了参数的数量,这使我们能够处理高维特征图并使用少量数据样本进行训练

方法:

为了检测图像中的缺陷需要首先学习无缺陷图像的特征;在推理过程中,通过对图像特征y使用密度估计来为输入图像x分配一个可能性,假设低可能性是缺陷的指标;密度估计是通过特征空间Y的未知分布 到具有高斯分布 的潜在空间X的双射映射来学习。从输入图像x中,我们通过使用预训练的神经网络 提取特征y,该神经网络在训练期间;为了对x进行更具描述性的表示,通过从图像的s个不同分辨率中提取特征,将不同尺度的特征图包含在y中;将 定义为 作为图像 在尺度 上的3D特征张量;提出的跨尺度流fcsf 将特征张量双射地和并行地转换:

,具有与y相同的维度。使用 的似然性来根据阈值 来判断x是否异常:

跨尺度流动:

跨尺度流是所谓的耦合块链,每个块链执行仿射变换,s=3的一个block的详细结构如图所示。

Fully Convolutional Cross-Scale-Flows for Image-based Defect Detection_第2张图片

在内部,每个输入张量 首先被随机排列,并在其通道维度上平均分割为 两部分。这些部分通过回归按元素的缩放和移位参数来相互操作,这些参数依次应用到各自的对应部分,以获得输出 。通过耦合个体子网络 估计尺度和位移参数,它们的输出被分割为 ,如下所示:

为了稳定的初始化模型,引入了可学习的块个体标量系数 。被初始化为0,导致 ,亲和性通过具有非零的标度系数和公式3中的指数来保持。 可以是任何可微函数,被实现为一个完全卷积网络,通过分割输出回归两个组件。每个标度使用一个隐藏层处理特征,在这个隐藏层上增加通道的数量;采用双线性上采样或跨步卷积来调整不同尺度的单个特征图的大小,然后再通过求和进行聚合。

Fully Convolutional Cross-Scale-Flows for Image-based Defect Detection_第3张图片

对比例元件s应用软夹紧,这种夹紧作为最后一层应用到输出 的激活:

,将值限制在区间 来防止极端的缩放分量。

学习目标:

跨尺度流 使特征张量 的可能性最大化,将其映射到潜在空间Z来获得特征张量 ,然后建立一个定义良好的密度 ,利用变量变化公式(5)和 ,似然定义为:

定位:

通过在输出特征张量 中标记高范数的图像区域来定位缺陷。

实验:

检测:

Fully Convolutional Cross-Scale-Flows for Image-based Defect Detection_第4张图片

Fully Convolutional Cross-Scale-Flows for Image-based Defect Detection_第5张图片

消融实验:

Fully Convolutional Cross-Scale-Flows for Image-based Defect Detection_第6张图片

Fully Convolutional Cross-Scale-Flows for Image-based Defect Detection_第7张图片

结论:

本方法解决了之前方法的缺点,这些缺点要么是由于过度简化的数据表示的限制,要么是由于有限的分布模型的限制,使我们的方法能够在MVTec AD和MTD上设置最先进的性能。

你可能感兴趣的:(深度学习,计算机视觉,人工智能)