当前位置:首页 > 工业 AI 落地与智能系统应用 > 正文内容

人工缺陷分类每天300片看花眼:我用CNN实现了自动分类

人工缺陷分类每天300片看花眼:我用CNN实现了自动分类

【摘要】

本文系统梳理缺陷检测与分析领域的核心问题与落地路径。【摘要】缺陷分类原来靠人工看显微镜,每天300片晶圆,检验员眼睛都看花了,错误率高达8%。全文围绕「痛点:检验员看缺陷看到怀疑人生、技术:ResNet50迁移学习方案、落地:从模型到生产系统、模型优化:从95%到98%的实战经验、效果对比」逐层展开,给出原理说明、实操步骤与验证方法。核心结论:第二招:难例挖掘(Hard Example Mining)。补充说明:缺陷分析的起点是分类而非计数。缺陷总数相同但类型分布不同的两批产品,对良率的影响可能完全不同,因此必须经过复查分类才能得出可用结论。

【核心要点】

  • 痛点:检验员看缺陷看到怀疑人生:标注标准定义非常详细:颗粒污染是直径大于5微米的非晶态异物;划痕是长度超过100微米的线性痕迹;薄膜脱落是面积超过0.1平方毫米的膜层剥落;
  • 技术:ResNet50迁移学习方案:技术方案:用迁移学习方法,基于预训练的ResNet50,在缺陷图像数据集上微调。数据集包含8类缺陷:颗粒污染、划痕、薄膜脱落、针孔、气泡、裂纹、残胶、异物,…
  • 落地:从模型到生产系统:部署过程的关键点:一是数据安全,缺陷图像是敏感数据,模型必须本地部署,不能上云;二是实时性,检验节拍要求推理时间<100ms;
  • 模型优化:从95%到98%的实战经验:上线3个月后,模型准确率从95%提升到了98%,主要靠三招:

【适用场景】

  • 缺陷突增批次的工序定位与原因分类。
  • 缺陷检测灵敏度的优化(检出能力与噪声的平衡)。
  • 缺陷与良率损失的定量关联分析。
  • 缺陷突增的工序定位与类型分类。

【摘要】缺陷分类原来靠人工看显微镜,每天300片晶圆,检验员眼睛都看花了,错误率高达8%。最严重的一次是漏检,整批退货。我花了3个月训练CNN缺陷分类模型,准确率95%,速度是人工的10倍,把检验员从繁重工作中解放出来。

🔧 配套工具:本节的核算/判读可用站内工具直接跑,推荐 FAB_缺陷分类_KNN工具 详解、缺陷分类追踪工具、缺陷密度关联分析器(zip 包,含可运行 Python 脚本与示例数据)。
这个方向的工具共 36 款,完整清单与选型建议见 工业AI与智能分析工具包。全部 351 款见 工具资源包下载页。

一、痛点:检验员看缺陷看到怀疑人生

标注标准定义非常详细:颗粒污染是直径大于5微米的非晶态异物;划痕是长度超过100微米的线性痕迹;薄膜脱落是面积超过0.1平方毫米的膜层剥落;裂纹是穿透膜层的线性缺陷。每个标准都有参考图片对照,确保标注一致性。标准清晰是标注质量的基础。

类别不平衡是主要挑战:"颗粒污染"占50%以上样本,"针孔"只占5%。用了两种方法:一是SMOTE过采样对少数类增强,二是类别权重让模型更关注少数类。两种方法结合后,少数类召回率从60%提升到85%。不平衡数据的处理是CV项目的关键技术点。

建立了模型监控机制:每周跑混淆矩阵分析,某类缺陷准确率下降超过5%立即触发重新训练。保留人工标注员,从"全量标注"变为"模型质控",工作压力大幅降低。人机协作是最优解——让AI处理简单重复,人处理复杂疑难。

最意外的发现是模型的"超能力":它能识别出人类标注员都看不出的缺陷模式。分析发现是模型学到了特定光照条件下的微弱信号。帮助拦截了3批原本会被漏检的晶圆。AI能捕捉到人眼难以感知的细节,这是最让我兴奋的应用价值。

缺陷分类是FAB质量控制的关键环节。我厂原来靠人工看显微镜分类,每天300片晶圆、每片几百个缺陷,检验员眼睛都看花了,错误率高达8%。我花了3个月训练了一个CNN缺陷分类模型,准确率95%,速度是人工的10倍,把检验员从繁重工作中解放出来。

人工分类的三大问题:一是疲劳误判——连续看2小时后眼睛疲劳,误判率明显上升;二是标准不统一——不同检验员对同类缺陷的判断有差异;三是效率低——300片/天的分类量,检验员每天加班还是积压。

最严重的一次是漏检:某批次晶圆有一类特殊缺陷,检验员漏掉了,出货后被客户发现,整批退货。那次事件后我下定决心必须上AI分类系统。

二、技术:ResNet50迁移学习方案

技术方案:用迁移学习方法,基于预训练的ResNet50,在缺陷图像数据集上微调。数据集包含8类缺陷:颗粒污染、划痕、薄膜脱落、针孔、气泡、裂纹、残胶、异物,每类约2000张标注图片。模型在验证集上准确率95%,单张图片推理时间50ms,满足生产节拍要求。

数据标注是最大的工作量。我找了3名资深检验员组成标注小组,用两周时间标注了16000张图片。标注质量用交叉验证保证:每张图由2人分别标注,不一致的由第3人仲裁。标注过程也让我发现了问题:有些缺陷类型之间界限模糊,需要更细的分类标准。

训练策略:先用ImageNet预训练权重初始化,只训练最后一层(全连接层)2个epoch,再放开全部层训练5个epoch,学习率从1e-3逐步降到1e-5。数据增强用了随机翻转、随机旋转、颜色抖动,提升模型泛化能力。

缺陷的空间分布携带着归因信息:边缘环状分布常与传输、夹持或边缘工艺相关;与腔体位置对应的扇区分布指向设备差异;全片随机分布多与颗粒污染或化学液相关。

三、落地:从模型到生产系统

部署过程的关键点:一是数据安全,缺陷图像是敏感数据,模型必须本地部署,不能上云;二是实时性,检验节拍要求推理时间<100ms;三是可解释性,工程师需要知道模型为什么这么分类,不能是黑箱。

我选择把模型部署在检验机台的工控机上(Intel i5 CPU,无需GPU),用ONNX Runtime加速推理。50ms/张的速度意味着每分钟可以处理1200张图片,完全满足300片/天的检验量(每片平均400个缺陷点)。

上线后检验员的工作方式改变了:原来做全量检验,现在做异常复核——AI判断没问题的直接过,AI标记异常的才需要人工复核。检验员从每天盯显微镜8小时,变成每天复核AI标出的异常2小时。检验效率提升10倍,误判率从8%降到2%。

缺陷分析的起点是分类而非计数。缺陷总数相同但类型分布不同的两批产品,对良率的影响可能完全不同,因此必须经过复查分类才能得出可用结论。

可解释性在工业场景中不是可选项。工艺人员需要知道「为什么」,才能决定是否调整工艺。因此可解释性方法(如特征贡献度分析)是把模型结论转化为行动的必要环节。

致命性判断需要结合图形环境:同样尺寸的颗粒落在场区可能无害,落在关键图形上则直接导致断路或短路。因此缺陷分析必须叠加版图信息才能估算对良率的影响。

四、模型优化:从95%到98%的实战经验

上线3个月后,模型准确率从95%提升到了98%,主要靠三招:

第一招:持续学习。把每次人工复核的结果作为新的训练样本,每周重新训练一次模型。模型越训越准,特别是对于那些容易混淆的缺陷类型(比如划痕和裂纹),随着样本增多区分能力明显提升。

第二招:难例挖掘(Hard Example Mining)。每周跑一次混淆矩阵分析,找出错误率最高的缺陷类型组合(比如颗粒误判为异物),然后针对性地补充这类样本。用了这个方法后,模型在困难类别上的准确率从88%提升到了95%。

第三招:模型集成。训练了3个不同架构的模型(ResNet50、EfficientNet-B0、ConvNeXt-Tiny),推理时用投票机制综合三个模型的预测结果。集成后准确率比单个模型提升了1.5%,而且对不确定样本的识别能力更强——当三个模型预测不一致时,系统自动标记为需要人工复核。

工业数据具有几个典型特征:样本量相对特征数偏少、类别严重不平衡、时间相关性强、存在大量缺失与异常。这些特征决定了随机划分数据、用准确率评估模型等常规做法在工业场景中往往无效。

效果对比

【实战代码】

import torch, torchvision

model = torchvision.models.resnet50(pretrained=True)
model.fc = torch.nn.Linear(2048, 8)  # 8 defect classes
# Phase 1: freeze backbone, train classifier
for param in model.parameters():

param.requires_grad = False

model.fc.weight.requires_grad = True
criterion = torch.nn.CrossEntropyLoss()
optimizer = torch.optim.Adam(model.fc.parameters(), lr=1e-3)

人工缺陷分类每天300片看花眼:我用CNN实现了自动分类

for epoch in range(2):

for images, labels in train_loader:

outputs = model(images)

loss = criterion(outputs, labels)

optimizer.zero_grad()

loss.backward()

optimizer.step()

==================================================

讨论

你们FAB的缺陷分类是怎么做的?

AI缺陷分类落地有哪些坑?

VIP资源

关注我,获取更多半导体智能制造实战笔记!

---

大模型与智能体在工业场景的适用边界尚在探索中,目前较可靠的应用集中在文档处理、知识检索、代码辅助与报表生成,涉及实时控制与安全相关的环节仍需谨慎。

缺陷密度与良率之间不是线性关系。良率对致命缺陷密度呈指数敏感,因此小幅降低缺陷密度可能带来超比例的良率收益。

【常见坑】

  • 类别不平衡是主要挑战:"颗粒污染"占50%以上样本,"针孔"只占5%。用了两种方法:一是SMOTE过采样对少数类增强,二是类别权重让模型更关注少数类。两种方法结合后,少数类召回率从60%提升到85%。不平衡数据的处理是CV项目的关键技术点。
  • 第一招:持续学习。把每次人工复核的结果作为新的训练样本,每周重新训练一次模型。模型越训越准,特别是对于那些容易混淆的缺陷类型(比如划痕和裂纹),随着样本增多区分能力明显提升。
  • 第二招:难例挖掘(Hard Example Mining)。每周跑一次混淆矩阵分析,找出错误率最高的缺陷类型组合(比如颗粒误判为异物),然后针对性地补充这类样本。用了这个方法后,模型在困难类别上的准确率从88%提升到了95%。
  • 只看缺陷总数不看类型与位置,把大量无害缺陷计入改善目标,浪费资源。
  • 缺陷检测设备的灵敏度设置过高,产生海量噪点,掩盖真实缺陷。

常见问题(FAQ)

Q:缺陷数下降但良率没有改善,可能是什么原因?

A:大概率是消除的缺陷本身不具致命性。缺陷对良率的影响取决于其尺寸、位置与所在图形环境,减少场区无害缺陷不会带来良率收益。此时应重新按「致命性」而不仅是「数量」定义改善目标。

Q:同样数量的缺陷为什么对良率影响不同?

A:因为缺陷的影响取决于尺寸、位置与所在图形环境。落在场区的缺陷通常无害,落在关键图形上则可能直接导致断路或短路。因此评估缺陷影响时必须结合位置信息,仅比较总数会产生误导。

Q:缺陷检测结果和实际良率对不上,如何排查?

A:先确认是否统计了口径一致:检测统计的是缺陷数量或密度,良率反映的是器件失效比例,两者之间的换算需要缺陷致命性模型。其次是时空对应关系是否正确,缺陷检测与电性测试之间隔了多道工序,若对应关系错误则结论必然偏差。

Q:工业 AI 项目最容易失败在哪里?

A:按出现频率排序:问题定义模糊、数据质量不可用、缺少工艺人员深度参与、以及上线后无维护机制。技术选型问题通常排在后面。因此项目启动阶段应把大量精力放在问题定义与数据可用性评估上。

Q:样本量很少能做机器学习吗?

A:可以,但方法要调整。样本少时优先考虑特征筛选(减少维度)、简单模型(避免过拟合)、以及机理与数据结合的灰箱建模。关键是严格控制验证方式,避免用不可信的高分误导决策。

Q:怎么判断一个 AI 模型是否真的有用?

A:看它是否改变了决策与结果。可用的判据包括:是否缩小了排查范围并缩短了响应时间、是否发现了人工未察觉的关联、以及上线后相关指标是否改善。若模型结论无人使用,它的价值为零。

Q:大模型能直接用来做工艺调参吗?

A:不建议。工艺调参涉及安全与设备风险,且需要精确的数值推理与物理约束,当前大模型在这类任务上的可靠性不足。较稳妥的用法是辅助知识检索、文档生成与代码编写,让工程师的判断更快而不是被替代。

Q:小样本场景怎么做机器学习?

A:三个方向:减少维度(严格的特征筛选,宁可少而精)、选择更简单的模型(线性模型、正则化回归、浅层树模型)以降低过拟合风险、以及采用机理与数据结合的灰箱建模引入物理约束。同时验证方式必须更加保守,交叉验证的折数增加,并保留完全独立的验证集。

Q:怎么判断模型是不是过拟合了?

A:常见信号有三个:训练集与验证集指标差距过大;特征数量接近或超过样本数量;模型对输入的小扰动异常敏感。工业场景中样本量通常有限,因此过拟合风险普遍高于欠拟合,模型越复杂越需要警惕。

【总结】

缺陷检测与分析的难点往往不在单点技术,而在于把原理、数据与现场验证串成闭环。第二招:难例挖掘(Hard Example Mining)。每周跑一次混淆矩阵分析,找出错误率最高的缺陷类型组合(比如颗粒误判为异物),然后针对性地补充这类样本。用了这个方法后,模型在困难类别上的准确率从88%提升到了95%。缺陷的空间分布携带着归因信息:边缘环状分布常与传输、夹持或边缘工艺相关;与腔体位置对应的扇区分布指向设备差异;全片随机分布多与颗粒污染或化学液相关。建议先用小范围试点验证有效性,再逐步扩大适用范围,并保留完整的数据与判断记录以便复盘。

术语速查

  • CP(Chip Probing,晶圆针测):用探针卡对晶圆上每颗芯片进行功能与参数测试,并生成 Bin Map。 工程意义:CP 良率是判断是否继续封装的主要依据。

相关阅读

进阶:缺陷检测与分析的通用工程判据

缺陷检测的灵敏度设置需要与工艺水平匹配

缺陷检测的灵敏度设置需要与工艺水平匹配:灵敏度过低会漏掉关键缺陷,过高则产生大量噪声掩盖真实问题。合理的做法是依据历史缺陷分布与良率影响反复校准。

缺陷复查是分类的前提

缺陷复查是分类的前提,而分类结果是改善的前提。缺少分类的缺陷数据只能给出总量趋势,无法指导具体工序的改善。

缺陷的致命性判断必须结合版图环境

缺陷的致命性判断必须结合版图环境:相同尺寸的缺陷在不同图形位置上的影响差异极大,因此叠加版图信息的缺陷分析才能估算对良率的真实影响。

缺陷数据与工序数据的时序对应关系是归因的关键

缺陷数据与工序数据的时序对应关系是归因的关键:只有明确缺陷是在哪道工序产生或引入的,才能定位改善对象。

工业 AI 项目成败的第一决定因素通常不是算法

工业 AI 项目成败的第一决定因素通常不是算法,而是问题定义是否清晰与数据是否可用。把模糊的业务困扰(「良率不稳定」)转化为可建模的问题(「预测某批次良率是否会低于阈值」)是项目的第一个关键动作。

模型上线不是终点

模型上线不是终点。工艺条件会漂移,模型的有效期有限,需要建立输入分布监控与周期性重训练机制,否则会静默失效。

更多半导体FAB工具在博客VIP专区免费下载

📚 同栏目延伸阅读:良率模型漂移预警:用PSI+KS提前两周抓住、推了半年才立项:半导体AI项目怎么让厂长/质量总监买单、FAB工程师必备:我整理的10个AI提效工具、AI辅助良率根因分析:排查效率提升6倍

📦 本文相关资源:文中方法可直接用站内工具落地,推荐 FAB_缺陷分类_KNN工具、缺陷分类追踪工具、缺陷密度关联分析器、良率根因 AI 问答助手(zip 包,含可运行 Python 脚本与示例数据)。更多同类工具见 工具资源包下载页(共 351 款)。

相关文章

AI+数据采集:智能预警与预测性维护(工程师实战版)

AI+数据采集:智能预警与预测性维护(工程师实战版)

【摘要】 本文系统梳理工业 AI 与机器学习落地领域的核心问题与落地路径。大家好,我是老张。全文围绕「问题背景:传统数据采集的“存而不用”痛点、技术原理:AI如何实现智能预警?、实战案例:从数据采集...

AI晶圆良率预测:XGBoost从数据到部署(工程师实战版)

AI晶圆良率预测:XGBoost从数据到部署(工程师实战版)

【摘要】 本文系统梳理工业 AI 与机器学习落地领域的核心问题与落地路径。大家好,我是老张。全文围绕「问题背景:为什么传统良率预测不准?、技术原理:XGBoost为什么适合良率预测?、实战案例:从数...

AI辅助SPC:异常自动诊断与根因分析(工程师实战版)

AI辅助SPC:异常自动诊断与根因分析(工程师实战版)

【摘要】 本文系统梳理工业 AI 与机器学习落地领域的核心问题与落地路径。大家好,我是老张。全文围绕「问题背景:传统SPC的“报警不诊断”痛点、技术原理:AI如何实现异常诊断?、实战案例:从报警到根...

AI预测膜厚良率:机器学习准确率做到93%

AI预测膜厚良率:机器学习准确率做到93%

【摘要】 本文系统梳理工业 AI 与机器学习落地领域的核心问题与落地路径。FAB里的SPC规则靠人工设定阈值太慢了。全文围绕「背景:SPC误报让我差点被开除、技术原理:为什么机器学习比规则强、实战:...

工业AI落地:AI视觉检测晶圆缺陷识别

【摘要】 本文系统梳理缺陷检测与分析领域的核心问题与落地路径。我是2021年进的华东那家12寸封测厂,刚去的时候被安排到终检工段,干的活就是盯着AOI(自动光学检测)设备吐出来的图,再人工复判。全文围...

制造业大模型落地指南:从选型评估到产线部署的完整路径

【摘要】 本文系统梳理工业 AI 与机器学习落地领域的核心问题与落地路径。制造业企业引入大模型(LLM,Large Language Model),正确起点不是训练一个"自己的大模型",而是从设备知识...