AOI检出率误报率与阈值权衡分析器|SPC实战工具
这个工具解决什么问题
AOI 判定阈值通常由工程师凭经验设定,结果往往偏向「少误报」——因为误报的复判工时是当天可见的成本,而漏检的代价要等到客户端才爆出来。本工具用样本分数分布扫描阈值,对每个阈值算出检出率、误报率、逃逸件数与复判件数,再按「逃逸损失 + 复判工时费用」折算单板总代价,找出代价最低的阈值,并量化当前阈值与最优阈值的差距。示例场景显示:保守阈值下逃逸损失可达复判成本的数倍。
输入数据格式
数据文件 aoi_scores.csv,列顺序为:板号、真实标签、AOI最高分。
示例首行:B0001,有缺陷,3.271
示例输出(真实运行结果节选)
========================================================================== AOI 检出率、误报率与判定阈值权衡分析报告 ========================================================================== 一、示例数据概览 样本板数 600 片,其中含真实缺陷 150 片(25.0%),干净板 450 片。 AOI 输出为 0~5 连续判定分数,分数越高越可疑;判定阈值由工程师设定。 代价口径:单件逃逸流出损失 3200 元;单件(含复判)人工工时费用 45 元。 二、阈值-检出率-误报率曲线(当前阈值 3.00) 阈值 检出率TPR 误报率FCR 逃逸数 复判件数 单班折算损失(元) -------------------------------------------------------------------- 1.00 100.0% 85.56% 0 535 168525 1.25 100.0% 74.22% 0 484 152460 1.50 100.0% 59.11% 0 416 131040 1.75 100.0% 40.22% 0 331 104265 2.00 99.3% 23.11% 1 253 102095 ★ 最优 2.25 98.7% 13.56% 2 209 110635 2.50 96.7% 6.67% 5 175 167125 2.75 88.0% 2.22% 18 142 447930 3.00 80.7% 0.44% 29 123 688345 ← 当前阈值 3.25
一句话
把「阈值定高漏检、定低误报」的两难,变成一条可比较的总代价曲线与一个最优阈值。
运行环境与快速开始
python aoi_threshold_tradeoff.py
输入数据格式(换成你的数据即可)
· CSV:板号, 真实标签(有缺陷/无缺陷), AOI最高分(0~5 连续分) · 样本板数、缺陷板数、当前阈值、逃逸损失与复判费用均在脚本顶部常量区
输出说明
阈值-检出率-误报率曲线表、当前阈值与最优阈值的总代价对比、单班折算损失、改善结论与根因治理建议。
算法口径(关键公式)
· TPR = P(分数 ≥ t | 真缺陷) · FCR = P(分数 ≥ t | 无缺陷) · 总代价 = 逃逸件数 × 逃逸损失 + 复判件数 × 复判费用
判定标准说明
脚本顶部集中了主要阈值与常量:CSV_PATH=os.path.join(HERE, "aoi_scores.csv")、RPT_PATH=os.path.join(HERE, "示例输出报告.txt")。改完直接重跑即可,不必改动计算逻辑。
会生成哪些文件
运行后除控制台输出外,还会生成:aoi_scores.csv、示例输出报告.txt。
脚本里的主要处理步骤
gen_data():生成示例数据:缺陷板分数偏高、干净板分数偏低,两者有重叠区。
以上步骤在脚本中是分开的函数,可以单独调用或按需替换其中一段,不必整体重写。
工具中出现的字段与提示
- 生成示例数据:缺陷板分数偏高、干净板分数偏低,两者有重叠区。
- 真实标签
- AOI最高分
- ← 当前阈值
- ★ 最优
- AOI 检出率、误报率与判定阈值权衡分析报告
- 一、示例数据概览
- 样本板数 %d 片,其中含真实缺陷 %d 片(%.1f%%),干净板 %d 片。
- AOI 输出为 0~5 连续判定分数,分数越高越可疑;判定阈值由工程师设定。
- 代价口径:单件逃逸流出损失 %.0f 元;单件(含复判)人工工时费用 %.0f 元。
- 二、阈值-检出率-误报率曲线(当前阈值 %.2f)
- 三、代价曲线与最优阈值
- 单样本总代价 %.0f 元,折算单班(%d 片)约 %.1f 万元。
- 单样本总代价 %.0f 元,折算单班约 %.1f 万元。
- 四、结论与建议
- 属于「看着省人工、实际赔在客户端」的典型形态。
- 2. 建议先试运行阈值 %.2f:检出率提到 %.1f%%,逃逸压到 %d 件,
- 复判件数增至 %d 件,需提前核算复判工位能否吃下(增班或缩点复判)。
其余字段以界面与示例报告为准。
下载与文件清单
压缩包内包含:主程序脚本、示例数据文件、示例输出报告、中文说明文档,以及同主题 AI 提示词一套。解压后按说明运行即可,示例数据可直接试跑。
主程序文件:aoi_threshold_tradeoff.py。
本站工具免费下载,无需注册。工具为 Python 脚本,Python 3.8 及以上环境可直接运行,核心功能尽量不依赖第三方库。
常见问题
输入数据要准备成什么样?
按 示例首行中的列顺序准备即可,共 3 列:板号、真实标签、AOI最高分。列为空或格式不符时结果会失真,建议先用示例数据试跑一遍。
阈值可以改成我们自己的标准吗?
可以,脚本顶部已把主要阈值与常量集中声明,按自己产线的标准修改后重跑即可,不需要改计算逻辑。
附赠的提示词怎么用?
把提示词与自己的数据一起交给大模型,可以让它按同一套口径帮你改写分析流程或扩展报告字段。
示例数据能直接跑吗?
可以。示例数据与主程序在同一压缩包内,解压后直接运行即可看到完整输出,确认无误再替换成自己的台账。
同分类的其它工具
本工具归在 SPC与质量分析工具包,全部工具见 工具资源包下载页。





