使用卷积神经网络对晶圆图上的八种制造缺陷进行分类

简介: 使用简单的卷积神经网络 (CNN) 对晶圆图上的八种制造缺陷进行分类。

​一、前言
使用简单的卷积神经网络 (CNN) 对晶圆图上的八种制造缺陷进行分类。
晶圆是半导体材料(通常是硅)的薄盘,用作集成电路的基础。每个晶圆产生几个单独的电路(IC),分成芯片。自动检测机测试晶圆上IC的性能。这些机器生成称为晶圆图的图像,指示哪些芯片性能正确(通过),哪些芯片不符合性能标准(失败)。
晶圆图上合格和失效芯片的空间模式可以指示制造过程中的特定问题。深度学习方法可以有效地对大量晶圆上的缺陷图案进行分类。因此,通过使用深度学习,您可以快速识别制造问题,从而及时修复制造过程并减少浪费。训练检测和分类八种制造缺陷模式的分类网络。该示例还演示如何评估网络的性能。
二、下载WM-811K晶圆缺陷图数据
此示例使用 WM-811K 晶圆缺陷图数据集。该数据集由811,457张晶圆图图像组成,其中包括172,950张标记图像。每个图像只有三个像素值。该值表示背景,该值表示行为正确的模具,该值表示有缺陷的模具。标记的图像具有基于缺陷模具空间模式的九个标签之一。数据集的大小为 3.5 GB。
设置为数据集的所需位置。使用帮助程序函数下载数据集。
二、预处理和扩充数据
数据作为结构数组存储在MAT文件中。将数据集加载到工作区中。
通过显示结构的第一个元素来浏览数据。该字段包含图像数据。该字段包含缺陷的标签。
2.1 重新格式化数据
此示例仅使用带标签的图像。从结构中删除未标记的图像。
该示例使用与字段指定的约定不同的约定将数据分区为训练集、验证集和测试集。
指定图像类。
要对数据应用其他预处理操作,例如调整图像大小以匹配网络输入大小或应用随机训练网络进行分类,可以使用增强图像数据存储。您无法从结构中的数据创建增强映像数据存储,但可以从表中的数据创建数据存储。将数据转换为具有两个变量的表:

1.png

2.2 通过过采样平衡数据
显示每个类的图像数量。数据集严重不平衡,每个缺陷类别的图像明显少于没有缺陷的图像数量。

要改进类平衡,请使用帮助程序函数对缺陷类进行过采样。此函数作为支持文件附加到示例。帮助程序函数在数据集后附加每个缺陷图像的五个修改副本。每个副本都有以下修改之一:水平反射、垂直反射或旋转 90 度的倍数。

显示类平衡后每个类的图像数量。
2.png

2.3 将数据划分为训练集、验证集和测试集
将过采样数据集拆分为训练集、验证集和测试集。大约 90% 的数据用于训练,5% 用于验证,5% 用于测试。

2.4 扩充训练数据
对象指定一组要应用于训练数据的随机增强。向训练图像添加随机增强可以避免网络过度拟合训练数据。

指定网络的输入大小。创建一个增强图像数据存储(深度学习工具箱),用于读取训练数据,将数据大小调整为网络输入大小,并应用随机增强。
创建用于读取验证和测试数据的数据存储,并将数据大小调整为网络输入大小。您无需对验证或测试数据应用随机增强。
三、创建网络
定义卷积神经网络架构。图像输入层的范围反映了晶圆图只有三个级别的事实。
四、指定练选项
指定 Adam 优化的训练选项。训练网络 30 个纪元。
五、训练网络或下载预训练网络
默认情况下,该示例加载预训练的晶圆缺陷分类网络。预训练网络使您能够运行整个示例,而无需等待训练完成。

六、根据测试数据量化网络性能
使用分类(深度学习工具箱)函数对每个测试图像进行分类。使用混淆垫(深度学习工具箱)函数以混淆矩阵的形式计算网络与地面实况分类相比的性能。使用混淆图(深度学习工具箱)函数可视化混淆矩阵。此矩阵对角线上的值表示正确的分类。完美分类器的混淆矩阵仅在对角线上具有值。
3.png

6.1 精度、召回率和 F1 分数
此示例使用多个指标评估网络性能:精度、召回率和 F1 分数。这些指标是为二元分类定义的。为了克服此多类问题的限制,您可以将预测视为一组二元分类,每个分类对应一个分类。

精度是正确预测属于某个类的图像的比例。

对于每个类,使用混淆矩阵中可用的 TP、FP 和 FN 结果计数计算精度、召回率和 F1 分数。

显示每个类的指标。分数接近 1 表示网络性能越好。
4.png

6.2 精确召回曲线和曲线下面积 (AUC)
除了返回每个测试图像的分类外,网络还可以预测测试图像是每个缺陷类别的概率。在这种情况下,精度-召回率曲线提供了一种评估网络性能的替代方法。

要计算精度-召回率曲线,首先通过将概率与任意阈值进行比较,对每个缺陷类执行二元分类。当概率超过阈值时,可以将图像分配给目标类。阈值的选择会影响 TP、FP 和 FN 结果的数量以及准确度和召回率分数。若要评估网络性能,必须考虑阈值范围内的性能。精度-召回率曲线在调整二元分类的阈值时绘制精度和召回率值之间的权衡。AUC 指标将类的精度-召回率曲线汇总为 [0, 1] 范围内的单个数字,其中 1 表示无论阈值如何,都是完美分类。

使用该函数计算每个类在阈值范围内的精度、召回率和 AUC。绘制精度-召回率曲线。
5.png

理想分类器的精度-召回率曲线通过点 (1, 1)。具有趋向于 (1, 1) 的精度召回率曲线的类(如 和 )是网络性能最佳的类。该网络的性能在该类中最差。计算并显示每个类的精度/召回率曲线的 AUC 值。

七、使用 GradCAM 可视化网络决策
梯度加权类激活映射(Grad-CAM)对网络做出的决策产生可视化解释。您可以使用 gradCAM(深度学习工具箱)函数来识别对网络预测影响最大的图像部分。

7.1 Donut缺陷类别
缺陷的特征是图像具有围绕芯片中心聚集在同心圆中的缺陷像素。缺陷类别的大多数图像在芯片边缘周围没有缺陷像素。

这两个图像都显示了带有缺陷的数据。网络将左侧的图像正确分类为缺陷。网络将右侧的图像错误分类为缺陷。图像具有与函数输出相对应的颜色叠加。对网络分类影响最大的影像区域在叠加层上以鲜艳的颜色显示。对于分类为缺陷的图像,模具边界处的缺陷被视为重要。造成这种情况的一个可能原因可能是,与图像相比,训练集中的图像要多得多。

6.png

7.2 Loc缺陷类别
缺陷的特征是图像具有缺陷像素聚集在远离芯片边缘的斑点中。这两个图像都显示了具有 Loc 缺陷的数据。网络将左侧的图像正确分类为缺陷。网络错误地分类了右侧的图像,并将缺陷分类为缺陷。对于分类为缺陷的图像,芯片边界处的缺陷对网络预测的影响最大。缺陷与缺陷的区别主要在于缺陷簇的位置。
7.png

目录
相关文章
|
15天前
|
机器学习/深度学习 人工智能 算法
【乐器识别系统】图像识别+人工智能+深度学习+Python+TensorFlow+卷积神经网络+模型训练
乐器识别系统。使用Python为主要编程语言,基于人工智能框架库TensorFlow搭建ResNet50卷积神经网络算法,通过对30种乐器('迪吉里杜管', '铃鼓', '木琴', '手风琴', '阿尔卑斯号角', '风笛', '班卓琴', '邦戈鼓', '卡萨巴', '响板', '单簧管', '古钢琴', '手风琴(六角形)', '鼓', '扬琴', '长笛', '刮瓜', '吉他', '口琴', '竖琴', '沙槌', '陶笛', '钢琴', '萨克斯管', '锡塔尔琴', '钢鼓', '长号', '小号', '大号', '小提琴')的图像数据集进行训练,得到一个训练精度较高的模型,并将其
27 0
【乐器识别系统】图像识别+人工智能+深度学习+Python+TensorFlow+卷积神经网络+模型训练
|
6天前
|
机器学习/深度学习 数据采集 算法
Python基于OpenCV和卷积神经网络CNN进行车牌号码识别项目实战
Python基于OpenCV和卷积神经网络CNN进行车牌号码识别项目实战
41 19
|
6天前
|
机器学习/深度学习 编解码
深度之眼(二十八)——神经网络基础知识(三)-卷积神经网络
深度之眼(二十八)——神经网络基础知识(三)-卷积神经网络
28 14
|
1天前
|
机器学习/深度学习 PyTorch 算法框架/工具
图神经网络是一类用于处理图结构数据的神经网络。与传统的深度学习模型(如卷积神经网络CNN和循环神经网络RNN)不同,
图神经网络是一类用于处理图结构数据的神经网络。与传统的深度学习模型(如卷积神经网络CNN和循环神经网络RNN)不同,
15 9
|
14天前
|
机器学习/深度学习 PyTorch 算法框架/工具
【YOLOv8改进 - 注意力机制】SimAM:轻量级注意力机制,解锁卷积神经网络新潜力
YOLO目标检测专栏介绍了SimAM,一种无参数的CNN注意力模块,基于神经科学理论优化能量函数,提升模型表现。SimAM通过计算3D注意力权重增强特征表示,无需额外参数。文章提供论文链接、Pytorch实现代码及详细配置,展示了如何在目标检测任务中应用该模块。
|
6天前
|
机器学习/深度学习 数据采集 算法
Python基于卷积神经网络CNN模型和VGG16模型进行图片识别项目实战
Python基于卷积神经网络CNN模型和VGG16模型进行图片识别项目实战
|
10天前
|
机器学习/深度学习 物联网 区块链
未来触手可及:探索区块链、物联网和虚拟现实的革新之路探索深度学习中的卷积神经网络(CNN)
随着科技的飞速发展,新兴技术如区块链、物联网(IoT)和虚拟现实(VR)正不断重塑我们的工作和生活方式。本文将深入探讨这些技术的最新发展趋势,分析它们如何在不同行业实现应用革新,并预测其未来的融合潜力。我们将从技术的基本原理出发,通过案例研究,揭示它们在现实世界中的创新应用场景,并讨论面临的挑战与机遇。 在机器学习领域,卷积神经网络(CNN)已成为图像识别和处理的基石。本文深入探讨了CNN的核心原理、架构以及在多个领域的应用实例,旨在为读者提供从理论到实践的全面理解。
|
1月前
|
网络协议 算法 Linux
【嵌入式软件工程师面经】Linux网络编程Socket
【嵌入式软件工程师面经】Linux网络编程Socket
48 1
|
3天前
|
Linux
linux网络统计信息和端口占用情况基本语法
linux网络统计信息和端口占用情况基本语法
|
10天前
|
网络协议 安全 Ubuntu
7 个有用的免费 Linux 网络隧道
【7月更文挑战第4天】
46 0
7 个有用的免费 Linux 网络隧道

相关实验场景

更多