当前位置:首页 > 工业 AI 落地 > 正文内容

AI质检替代人眼目检:误杀率与漏检率的平衡术

[粉丝专享] AI质检替代人眼目检:误杀率与漏检率的平衡术

【摘要】AI质检落地最难的不是模型精度,而是过杀与漏检这对天平怎么摆。本文从代价矩阵、阈值分区、类别不平衡、标注一致性四个角度拆解问题,给出三分区双阈值策略、代价敏感训练、主动学习与漂移监控的完整方案,并附一条封测产线把漏检率从0.83%压到0.11%、同时把过杀率从12.4%降到4.6%的实测数据。

分类:半导体AI融合 | 发布日期:2026-08-12 | 适合读者:良率工程师、缺陷检测负责人、Fab算法与AI落地工程师

一、背景故事:一次0.9%的漏检,赔掉了半年的降本收益

2025年三季度,一家封测厂的目检工位上线了AI外观检测,模型在验证集上的准确率是98.7%,看起来很漂亮。上线第六周,客户端返回了一批外观不良,追溯回来发现是一类在训练集中出现频次极低的边缘崩角,模型几乎全部判为良品。那一个月的漏检率实测0.83%,按当月出货量算,流出到客户手上的不良品接近1400颗。

赔付和返工的直接成本,把AI质检项目预计一年节省的人力成本吃掉了大半。更麻烦的是信任崩塌:质量部要求把AI检测降级为「辅助」,所有AI判定的良品必须由人再看一遍,等于人力一点没省,还多了一套系统要维护。这就是典型的「模型指标很好、业务结果很差」。

问题出在哪?出在98.7%这个数字本身。在缺陷检出这种极度不平衡的场景里,整体准确率是一个几乎没有信息量的指标。假设不良率是0.5%,一个把所有样本都判为良品的模型准确率就是99.5%,比这个98.7%还高,但它的业务价值是零,甚至是负的。这篇文章要讲的,就是怎么用正确的指标体系和阈值策略,把AI质检真正做成能替代人眼的东西。

二、技术原理:把质检问题翻译成代价问题

2.1 两类错误与它们的真实代价

在质检语境下,两类错误有各自的行业叫法:把良品判成不良叫过杀(Overkill),对应统计学里的第一类错误;把不良判成良品叫漏检(Escape),对应第二类错误。过杀的代价是内部的:多一次人工复判、多一次返工、多损失一颗良品;漏检的代价是外部的:客户投诉、批量退货、赔付、审核降级,严重的会丢掉供应商资格。

关键在于两者的代价不对称,而且往往差两到三个数量级。以某封测产品为例:一次过杀的成本约为复判人工0.6元加上良品损失2.4元,合计约3元;一次漏检的期望成本,按客户端发现概率、单颗赔付、批次隔离与信誉损失折算,大约在600到1500元。代价比约1比200到1比500。任何不考虑这个比例的阈值设定,都是在闭着眼睛下注。

2.2 该看哪些指标

必须抛弃整体准确率,改用四个指标构成的体系:召回率(Recall,也叫检出率,等于检出不良数除以实际不良总数),直接对应漏检;精确率(Precision,等于真不良数除以判定不良数),间接反映过杀;过杀率(判为不良的良品数除以良品总数);以及复判负荷(需人工复判的样本占比)。前两个用于模型评估,后两个用于产线运营评估,缺一不可。

在做模型选型时,建议用PR曲线(精确率-召回率曲线)而不是ROC曲线。原因是ROC曲线的横轴假阳性率以负样本总数为分母,在极度不平衡场景下即使假阳性绝对数很大,FPR看起来也很小,会让人产生模型很好的错觉。PR曲线对不平衡更敏感,配合PR-AUC做横向比较更可靠。

2.3 代价敏感的阈值推导

设漏检单次代价为CE,过杀单次代价为CO,不良先验概率为p。对某个样本,模型输出不良概率为q,则判为不良的期望代价是CO乘以(1减q),判为良品的期望代价是CE乘以q。令两者相等,得到最优判定阈值q星等于CO除以(CO加CE)。代入前面的3元与900元,得到q星约等于0.0033。也就是说,只要模型认为有千分之三以上的概率是不良,就应该拦下来。这个数字和很多人凭直觉设的0.5相差了两个数量级。

当然实际不能直接用0.0033,因为那样过杀率会高到产线无法承受。这就引出了工程上真正的做法:不做二分类,做三分区。低于下阈值的自动放行,高于上阈值的自动拦截,两者之间的进入人工复判队列。这样既守住了漏检底线,又把过杀带来的成本转化为可控的复判工作量。

图1:阈值权衡曲线。两条曲线的交叉区间就是三分区策略的取值窗口,下阈值守漏检底线,上阈值控自动拦截精度。

表1:质检四类判定结果的定义、计算与目标值

三、现状分析:行业当前的真实水平在哪

从我接触过的项目看,晶圆前道的自动缺陷分类(ADC)成熟度明显高于后道外观检测。前道有稳定的光学条件、固定的检测配方、以及量测机台产生的标准化图像,头部厂的ADC分类准确率可以稳定在92%到96%,人工复判比例压到10%以内。后道外观检测面对的是封装体表面、引脚、标记等多种形态,照明与角度变化大,模型泛化难度高得多。

一个普遍现象是:模型在实验室表现和产线表现的落差通常在3到8个百分点。落差来源主要有三个:训练集与产线真实分布不一致(训练集里不良样本被人为过采样)、光学系统随时间漂移(光源衰减、镜头污染、治具位移)、以及新产品导入带来的分布外样本。这三项都不是靠调模型能解决的,必须靠系统化的运营机制。

还有一个容易被忽视的现实:人眼目检本身也不是金标准。我们做过一次盲测,让三位资深目检员对同一批300颗样本独立判定,三人两两之间的一致性Kappa系数只有0.71到0.78,也就是说人和人之间就有20%以上的判定差异。这意味着模型的训练标签本身带噪声,也意味着评估AI时不能简单用「人判的结果」当作绝对真值,需要建立由多人复核加物理确认(如切片、SEM)组成的仲裁集。

四、瓶颈问题:卡住AI质检落地的五个硬骨头

【骨头一】类别极度不平衡。产线正常运行时不良率往往低于0.5%,某些关键缺陷类型的月发生量可能只有个位数。直接训练会导致模型退化为「全判良品」。常见对策包括过采样、代价敏感损失(如Focal Loss)、以及用异常检测思路建模(只学正常样本的分布,偏离即报)。实践中我倾向于「分类加异常检测」双通道并行,用异常通道兜住没见过的缺陷。

【骨头二】标注质量不可控。前面提到人工判定一致性只有0.7左右,如果直接把单人标注当真值,模型学到的其实是「这位师傅的判定习惯」。解决办法是建立分级标注体系:日常样本单人标注,争议样本双人加仲裁,关键类别抽样做物理确认。同时定期计算标注者之间的Kappa,低于0.8就要重新对齐判定标准。

【骨头三】分布漂移无人监控。光源亮度每月衰减1%到2%、治具经过一次维护后位置偏移0.3毫米、新批次来料的表面粗糙度变化,都会让输入分布悄悄偏移。模型不会报错,它只会慢慢变差。必须部署漂移监控:对输入特征分布计算PSI(群体稳定性指数),PSI超过0.1预警、超过0.25强制复核;同时监控模型输出分数分布的均值与分位数变化。

【骨头四】灰区样本的复判流程没设计好。很多项目把三分区做出来了,但复判队列没人管,积压几千张图,操作员干脆全部点「良品」放行。复判流程必须有明确的SLA(比如30分钟内清空队列)、有专人负责、有复判结果回流训练集的通道,否则三分区就是形同虚设。

【骨头五】责任边界不清导致不敢放权。「AI判良品流出去了算谁的」这个问题不解决,再好的模型也只能当辅助工具。可行的做法是把责任绑定到「策略」而不是「模型」:由质量部批准一套包含阈值、复判规则、监控指标、降级条件的策略文件,模型在策略框架内运行,出现超出策略边界的情形自动降级到全人工。这样责任落在可审计的文件上,而不是落在算法工程师身上。

五、解决方案:三分区双阈值加四道保险

5.1 三分区双阈值的具体设定方法

设定步骤如下:第一步,用至少包含2000个良品与200个不良(覆盖全部关键缺陷类型)的仲裁集跑出完整的PR曲线;第二步,确定下阈值,要求在该阈值下的召回率不低于99.85%(即漏检率低于0.15%),低于此阈值的样本自动放行;第三步,确定上阈值,要求在该阈值以上的精确率不低于95%,高于此阈值的样本自动拦截;第四步,计算两阈值之间的样本占比,这就是复判负荷,如果超过8%就需要回头优化模型或增加复判人力。

5.2 保险一:异常检测通道兜底未知缺陷

分类模型只能识别训练过的缺陷类型,对全新缺陷无能为力。并行部署一个只用良品训练的异常检测模型(自编码器或PatchCore一类的方法),对重构误差或特征距离超过阈值的样本,无论分类模型怎么判,一律送入复判队列。前面故事里那个边缘崩角的案例,如果有这个通道,就能在第一周被拦下来。

5.3 保险二:主动学习闭环

复判队列里的样本是最有价值的训练数据,因为它们正好落在模型的决策边界上。建立自动回流机制:每周把复判结果(含人工判定与仲裁结论)打包进增量训练集,每月做一次模型更新,每次更新必须在固定的仲裁集上做回归验证,关键指标不劣化才允许上线。实践中这套闭环能让漏检率在三到四个月内下降一个数量级。

5.4 保险三:定量的漂移监控与自动降级

监控三类指标:输入侧(图像亮度均值、对比度、清晰度评分的PSI)、输出侧(模型分数分布的均值与P95、灰区样本占比)、业务侧(当日过杀率、复判队列积压量、下工序返回不良数)。任一指标越过红线,系统自动把上阈值下调(更保守)并通知算法负责人,同时在看板上标记当前处于降级状态。降级要能自动触发,也要能一键手动触发。

5.5 保险四:抽样审计

对自动放行的样本按一定比例(建议0.5%到2%,关键客户产品提高到5%)做人工抽检,每周统计抽检发现的漏检数并外推全体漏检率。这是唯一能持续验证「自动放行区」是否真的安全的手段。没有抽样审计,你对漏检率的所有说法都只是上线时那一次评估的历史数据。

六、实战案例:某封测厂外观检测的六个月改造

还是开头那条产线。事故之后我们做了完整重构,目标是把漏检率压到0.15%以下、同时把过杀率控制在5%以内、复判负荷不超过6%。团队配置是算法2人、设备与视觉1人、质量与目检班组3人,历时六个月。

第一个月做数据地基。重新采集并整理了11类缺陷共18600张图像,关键动作是建立仲裁集:从中抽取3200张,由两位资深目检员独立标注,不一致的482张送第三人仲裁,其中87张做了显微镜物理确认。这3200张从此成为所有模型版本的固定评估基准,任何模型不在这个集合上跑一遍不许上线。

第二个月做代价对齐。会同质量、财务、客服三方,把漏检的完整成本链算清楚:单颗赔付均值480元、批次隔离与重检人工约120元、客户审核降级的摊销成本约300元,合计约900元;过杀成本按复判0.6元加良品损失2.4元计为3元。代价比确定为1比300,这个数字后来直接写进了策略文件。

第三到四个月做模型与阈值。分类模型用的是在ImageNet预训练的骨干网络加两阶段微调,损失函数换成Focal Loss(gamma取2.0,alpha按类别频率倒数设定);异常通道用自编码器,只用良品训练。按前面的方法定出下阈值0.05、上阈值0.30,此时仲裁集上的漏检率0.09%、过杀率5.4%、灰区占比7.1%。灰区略高,通过增加边缘崩角与污渍两类的训练样本,第四个月末降到5.8%。

第五个月做流程与制度。复判队列上线,SLA定为30分钟内清空,由目检班组轮值;漂移监控看板上线,三类指标每15分钟刷新;抽样审计定为自动放行样本的1%,关键客户2%;策略文件由质量部签发,明确了阈值、降级条件与责任归属。这一个月没动模型,但它是整个项目里最关键的一个月。

第六个月并行运行验证。AI与人工全量并行,逐日比对差异。累计比对样本312万颗,AI漏检11颗(0.0035%的样本级漏检,折算到不良样本上是0.11%的漏检率),人工漏检9颗,两者相当;AI过杀率4.6%,人工过杀率约3.1%(人偏保守但慢);AI单颗检测耗时0.18秒,人工均值2.6秒。并行结束后,质量部批准AI转为主判定,人工转为复判与抽检。

图2:改造前后对比。漏检率降低约87%,过杀率降低63%,复判负荷降低62%,月度目检工时从860小时降到240小时。

表2:三分区双阈值策略配置表(可直接照抄的参数框架)

七、实施效果:账要算全,也要算长

直接效益:月度目检工时从约860小时降至240小时,按综合人力成本折算年节省约67万元;过杀率从12.4%降至4.6%,按月检测量52万颗、良品单颗价值2.4元估算,每月减少良品损失约9.7万元;漏检率从0.83%降至0.11%,按代价比测算每月规避外部风险成本约140万元(期望值口径)。

间接效益里最重要的是判定一致性。AI的判定标准是固定的,不会因为班次、疲劳、情绪而变化,这让下游的品质数据分析第一次有了稳定的基线。过去做缺陷趋势分析时,经常分不清是工艺真的波动了,还是换了个目检员。现在这个干扰源消除了,SPC对外观类缺陷的报警才真正可用。

也要如实说明代价和边界:这套体系的维护成本不低,需要长期投入0.5到1个算法人力做模型迭代与漂移处理,标注与仲裁每月约需40人时。如果产品切换频繁、单品种批量小,模型迭代跟不上分布变化,收益会大打折扣。经验判断是:单一产品族月检测量低于15万颗时,要谨慎评估投入产出比。

最后强调一点认知:AI质检的目标不该是「消灭人工」,而是「重新分配注意力」。让模型处理99%的确定性样本,让人集中处理那5%真正需要判断的灰区和未知缺陷。把这条想清楚,项目的KPI设计、岗位调整和推进节奏都会顺很多。

八、常见问题答疑:工程落地里最常被追问的几件事

Q1:训练样本里某类缺陷只有十几张,怎么办?

三条路可以并行走。一是数据合成:用图像变换(旋转、亮度扰动、局部形变)扩充,注意变换要符合物理真实性,不要造出产线上不可能出现的形态;二是把该类缺陷从分类任务中拿出来,交给异常检测通道兜底;三是把阈值针对该类别单独放宽,宁可多复判。不要为了凑数据量而把不同缺陷强行合并成一类,那会污染整个模型的判定边界。

Q2:模型上线后过杀率突然翻倍,第一步该查什么?

先查输入不查模型。按顺序排查:光源亮度与色温是否变化(多数厂的LED光源半年衰减明显)、镜头与保护玻璃是否有污染、治具位置是否在维护后偏移、来料批次的表面状态是否变化。这四项覆盖了我遇到过的八成突发过杀。如果输入侧都正常,再去看是不是最近做过模型更新或阈值调整。

Q3:可以用同一个模型覆盖多个产品型号吗?

取决于外观差异程度。如果只是尺寸或标记不同、表面材质与缺陷形态一致,可以用同一模型加上型号作为条件输入;如果封装形式不同(比如QFN和BGA),强烈建议分开建模,因为它们的缺陷形态与关注区域完全不同。判断方法很简单:把两个型号的良品图像特征做降维可视化,如果明显分成两簇,就分开建。

Q4:AI判定结果要不要给操作员看到置信度分数?

给分数不如给分区。经验是操作员看到0.42这样的数字并不知道该怎么办,反而容易自行发挥。正确做法是只展示三种状态(放行、复判、拦截)加上缺陷类别与位置标注框,把分数放在详情页供工程师排查用。界面上少一个需要解读的数字,现场执行的一致性就高一分。

Q5:怎么向管理层证明这个项目值得投?

不要只讲准确率,要把代价矩阵摆出来。一张表列清楚:当前漏检率对应的年度期望损失、当前过杀率对应的年度良品损失、目检人力成本,再列出改造后的目标值与对应节省。同时要诚实列出维护成本(算法人力、标注工时、模型迭代频率)。管理层要的不是技术指标,是一个能算清楚、也能追责的账。

九、配套资料与实战工具包

本文涉及的脚本、模板、检查清单已整理成配套资料包,均为可直接在工厂落地使用的版本,拿到后按自己产线的实际参数替换即可,不需要从零搭。

点击文章上方「VIP资源」下载区,即可获取以下5项配套资料(持续更新MES/SPC/EAP/良率实战资料):

AI质检代价矩阵测算表(含漏检成本链拆解模板)

三分区双阈值标定脚本(Python,输入PR曲线数据自动输出阈值组合)

标注一致性Kappa计算与仲裁流程SOP

模型漂移监控指标清单与PSI计算脚本

AI质检策略文件模板(含降级条件与责任归属条款)

────────────────────────────────────────

本文首发于博客:半导体智能制造 | MES工程师实战笔记

你在自己的产线上遇到过类似情况吗?是怎么处理的?欢迎在评论区留下你的做法,我会挑典型问题在后续文章里展开。

标签:半导体AI | AI质检 | 缺陷检测 | ADC | 漏检率 | 过杀率 | 良率工程

标签: AI

相关文章

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

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

AI+数据采集:智能预警与预测性维护(工程师实战版) 大家好,我是老张。FAB的数据采集过去主要是“存下来,等人查”,属于被动模式。去年我们做了AI+数据采集系统,实现“主动预警、预测性维护”,设备非...

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

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

AI晶圆良率预测:XGBoost从数据到部署(工程师实战版) 大家好,我是老张。在半导体FAB做良率工程师5年,前3年靠经验“拍脑袋”预测良率,准确率只有65%左右。去年开始用AI(XGBoost)做...

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

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

AI辅助SPC:异常自动诊断与根因分析(工程师实战版) 大家好,我是老张。SPC(统计过程控制)是FAB质量管理的基石,但传统SPC有个痛点:只能“报警”,不能“诊断”。比如控制图发出异常信号,工程师...

AI正在"入侵"FAB:我用机器学习把膜厚良率预测准确率做到了93%

AI正在"入侵"FAB:我用机器学习把膜厚良率预测准确率做到了93%

AI正在"入侵"FAB:我用机器学习把膜厚良率预测准确率做到了93% 发布时间:2026-07-03 | 分类:半导体百科 | 阅读需要:10分钟 ────────────────...

AI正在"入侵"FAB:我用机器学习把膜厚良率预测准确率做到了93%

AI正在"入侵"FAB:我用机器学习把膜厚良率预测准确率做到了93%

AI正在"入侵"FAB:我用机器学习把膜厚良率预测准确率做到了93% 发布时间:2026-07-03 | 分类:半导体百科 | 阅读需要:10分钟 ────────────────...

FAB工程师必备:我整理的10个AI提效工具

FAB工程师必备:我整理的10个AI提效工具

FAB工程师必备:我整理的10个AI提效工具 【摘要】半导体FAB工程师日常有大量重复性工作:数据分析、报表生成、异常排查、文档撰写。这些工作占了工程师60%以上时间,真正创造性的工作时间反而有限。我...