R&D
CENTER

模型评估与现场运维:过检・漏检、阈值、重新训练

仅凭准确率 99% 这个数字,还不足以让模型上线。本文介绍如何分别统计过检和漏检、根据成本设定阈值,以及监控运行中的变化并重新训练的流程。

基础4 分钟0 浏览
本课要点
  1. 把良品判为不良品的过检,与漏掉不良品的漏检,成本并不相同,必须分别统计。
  2. 阈值不是设在使准确率最大的值,而是设在使漏检保持在允许范围内、同时减少过检的值。
  3. 评估数据必须是未用于训练和阈值调整的独立数据集,数字才可信。
  4. 运行期间要监控分数分布的变化(漂移),并建立将现场判定回馈到训练中的闭环。

混淆矩阵:分成四格统计

实际为良品 实际为不良品
模型:OK 正确 漏检(不良品流出)
模型:NG 过检(良品报废・复检) 正确

在不良率为 1% 的产线上,把所有零件都判为 OK 的“模型”准确率是 99%,但它一个不良品也检不出来。因此不能只看准确率,而要同时参考以下指标。

  • 召回率(Recall) — 实际不良品中被模型检出的比例。漏检越少,数值越高。
  • 精确率(Precision) — 模型判为 NG 的样本中真正不良品的比例。过检越少,数值越高。
  • F1 — 召回率与精确率的调和平均数。用于以单一数字观察两者的平衡。

阈值由成本决定

良品零件的分数 不良品零件的分数 threshold 漏检 过检 01
在两个分布重叠的区间,把阈值往左移,漏检会减少、过检会增加。消除重叠不是阈值的任务,而是图像和模型的任务。

在大多数现场,一次漏检的成本远高于一次过检。 不良品一旦流到客户手中,就会引发投诉和召回,而过检只是复检成本。因此顺序如下。

  1. 先确定可允许的漏检率。例如:0 件。
  2. 在满足该条件的阈值中,选择过检最少的值。
  3. 如果过检仍然太多,要改进的不是阈值,而是图像(光源・对齐)和模型。

自动找出 F1 最高点的功能(RoboVision)是很好的起点,但最终数值要按这一成本标准进行调整。难以确定的区间,则通过双阈值的 Gray 交给人工判断。

把数据分成三份

  • 训练集 — 供模型学习的数据。
  • 验证集 — 选择算法和阈值时参考的数据。
  • 评估集 — 最后只用一次来确认性能的数据。

如果一边看评估集一边调整阈值,得到的数字会比实际更好。此外,同一个零件从多个角度拍摄的图像,不能分散到训练和评估中,因为这相当于让模型再次猜中“已经见过的零件”。

部署到产线

  • 速度 — 判定必须在产线节拍时间内完成。不仅要测量单张图像的推理时间,还要测量包括拍摄・预处理・结果传输在内的总时间。
  • 优化格式 — 把训练好的模型转换为 ONNX 或 TensorRT,在同一块 GPU 上推理会更快。Physical AI Platform(PaaS)的 Model Hub 负责管理转换和部署。
  • 结果记录 — 将判定、分数、图像路径保存为 CSV,并汇总到 fineAi Dash,即可查看按时段・产线・不良类型划分的趋势、SPC 和帕累托图。

运行中的变化:漂移

产线在不断变化。光源老化、原材料批次更换、相机发生轻微偏移。于是良品零件的分数分布会一点点向右移动,某一天过检就突然增加。PaaS 会用 **PSI(Population Stability Index)**计算分数分布与训练时相比变化了多少并发出警告,让您在过检爆发之前找到原因。

重新训练的闭环

  1. 现场操作人员为 NG 和 Gray 图像标记实际判定。
  2. 已标记的图像积累到数据集中。
  3. 定期重新训练,并用评估集确认是否优于之前的模型。
  4. 如有改进,便通过 OTA 部署到现场设备。

只要这个闭环持续运转,模型就会与产线一同进步。反之,如果没有这个闭环,上线当天的性能就是最高点。