描绘未知:数据缺乏场景的缺陷检测方案

前言

工业应用中存在较多的缺陷检测需求。针对缺陷检测需求,常见的解决方案有两种:

  1. 基于目标正常图像数据的模板匹配;

  2. 训练深度学习模型检测目标缺陷。

其中,第2种方式具有更强的鲁棒性和泛化能力。然而由于深度学习模型的准确率跟数据量的大小挂钩,深度学习缺陷检测方案面临着缺乏足够的缺陷样本进行模型训练的问题。

友思特推出 Neuro-T 机器视觉软件平台,通过GAN无监督学习模型两种不同的手段,以两种不同的方式形成数据缺乏场景的缺陷检测方案

友思特 Neuro-T 支持的深度学习模型类型

友思特 Neuro-T 支持八种不同的深度学习模型。

其中,GAN通过少量缺陷样本,训练缺陷生成模型并生成大量缺陷图像,从而解决缺陷数据缺乏的问题;无监督学习模型中的异常分类异常分割,只需用大量正常的图像数据和少量的缺陷图像进行训练,即可输出检测异常图像的深度学习模型。

有监督学习模型

  • 模型训练数据包括输入图像的特征标签/目标值

  • 训练过程中,模型尝试通过特征和标签之间的联系来学习如何预测/分类。

分类

将图像分类成不同的类别或OK/NG组别

实例分割

分析图像中检测到的物体形状并圈选

目标检测

检测图像中物体的类别、数量并定位

OCR 字符识别

检测和识别图像中的字母、数字或符号

旋转

旋转图像至合适的方位

GAN 对抗生成网络

学习图像中的缺陷区域并生成虚拟缺陷

无监督学习模型

  • 模型训练数据只包含输入图像的特征,无标签/目标值;

  • 模型尝试发现数据中的模型或特征关系,而非预测特定的输出。

异常分类

在大量正常图像和少量缺陷图像上训练以检测异常图像进行分类

异常分割

在大量正常图像和少量缺陷图像上训练以检测异常图像并定位缺陷位置

生成对抗网络 GAN 模型

生成对抗网络 (Generative Adversarial Network, GAN) 是一种深度学习模型,由生成器 (Generator) 和判别器 (Discriminator) 组成。

生成器网络以随机噪声为输入,通过层层映射和转换逐渐生成逼真的数据样本。判别器网络则被训练用于区分生成器产生的样本与真实样本。两部分通过对抗训练的方式相互博弈,学习数据的分布,使得生成器可以生成逼真的数据样本,而判别器则可以对真实样本和生成的样本进行有效区分。

生成器的目标是最大化判别器无法区分生成样本和真实样本的概率。而判别器的目标是最小化其错误率,即尽可能准确地区分生成样本和真实样本。通过反复迭代优化,生成器和判别器逐渐互相提高,并最终达到一种动态平衡状态。

GAN模型广泛应用于文本、图像、音视频数据生成等场景。

Neuro-T GAN 模型生成缺陷图像操作步骤

(1)训练GAN模型

1.1.1 新建项目

1.1.2 新建数据集

1.1.3 导入图像数据

1.2.1 创建标签集

1.2.2 选择模型类型(GAN)

1.3.1 标注数据

可以使用涂刷的方式选中缺陷区域

也可以用画笔绘制任意多边形圈选缺陷区域

1.3.2 完成标注

1.4.1 划分训练集/测试集

缺陷图像设置为训练集

正常图像设置为测试集

1.4.2 缺陷图像/正常图像

1.5.1 输入训练模型名称

1.5.2 训练生成GAN模型

1.5.3 查看模型结果

(2)创建缺陷图像

2.1.1 进入生成中心
(Generation Center)

缺陷图像设置为训练集

正常图像设置为测试集

2.1.2 新建任务

2.2.1 导入正常图像

2.2.2 加载GAN模型

用于创建缺陷的图像数据

必须跟用于训练GAN模型的数据对应

后续将用这些正常图像生成缺陷图像

① 绘制生成缺陷:自定义模式(Custom mode)

应用于比较直观的缺陷

可以使用先前训练的缺陷形状(Stamp)绘制缺陷

也可以使用画刷工具(Brush)自由绘制缺陷

2.3.1① 选择缺陷生成类型

2.3.2① 绘制缺陷

2.3.3① 完成绘制

2.3.4① 准备生成

2.3.5① 生成缺陷图像

② 绘制生成缺陷:随机模式(Random mode)

应用于比较抽象的缺陷批量缺陷图像的生成

可一键实现在所有正常图像上绘制缺陷得到缺陷图像

软件界面可查看生成的批量缺陷图像并导出

2.3.1② 选择缺陷生成类型

2.3.2② 设置缺陷数

2.3.3② 生成缺陷图像

2.3.4② 得到缺陷图像

2.3.5② 导出图像数据

Neuro-T无监督学习模型
输出异常分类or检测模型操作步骤

(1)与使用Neuro-T训练其他深度学习模型一样的步骤,新建项目 → 新建数据集 → 导入图像数据 → 新建标签集 → 选择标签集对应的深度学习模型类型。

(2)对于异常分类模型:只需类比分类模型,给数据添加正常or异常的标签;对于异常分割模型:给数据添加正常or异常的标签,进一步地,对于异常的图像数据,需要圈选or涂选出异常区域。

(3)训练模型,查看模型检测结果,可以通过设置敏感度阈值(Sensitivity Threshold)来过滤检测出的图像异常部分,从而满足实际的应用需求。

友思特Neuro-T应用案例

制造业

医疗业

钢材表面缺陷检测

电池缺陷检测

1

胸部CT病灶检测

1

腹部超声异常检测