1. 课程导入与问题定义
在 Cognex In-Sight 视觉项目中,很多工程师第一次遇到“系统不稳定”时,往往会把问题笼统归结为“相机不行”或“算法太差”。但真正进入现场就会发现,同一个工位、同一套程序,上午运行良好,下午却频繁报警;或者同一批产品,有的被判为合格,有的被判为不合格,而人眼几乎看不出差别。这类现象背后,通常不是单一原因,而是误检、漏检、稳定性三类问题交织在一起。本章的目标,是先建立一套清晰的问题定义和评价语言,让后续的调参、优化和验证有共同基准。
一、误检、漏检与稳定性分别指什么
误检(过杀),指产品实际合格,但视觉系统判定为不合格。在 In-Sight 中,常见表现包括:Blob 工具面积阈值偏小,把正常反光点当成脏污;Histogram 或 ExtractColor 工具受光照波动影响,把合格颜色判为偏色;PatMax 定位分数阈值过高,导致轻微偏移的合格品被判为“找不到模板”。误检的直接后果是良品被剔除,产线直通率下降,严重时操作员会关闭检测功能,使系统形同虚设。
漏检,指产品实际不合格,但视觉系统判定为合格。漏检通常更危险,因为它不会立即报警,却可能让缺陷流入下道工序或客户手中。典型场景有:划痕对比度低,边缘工具未达到设定阈值;缺件区域与背景颜色接近,Blob 面积差未触发;字符 OCR 置信度阈值过低,把错字读成正确字符。漏检率是质量指标,往往比误检率更受客户关注。
稳定性,指系统在时间、批次、环境变化下保持判定一致的能力。它不直接等于“准确”,而是“重复”。一个系统可能准确率很高,但每隔两小时就因温漂、光源衰减或振动产生一批误判,这就是稳定性不足。在 In-Sight 中,稳定性常体现为:同一标准件连续触发 100 次,得分或测量值波动范围是否可接受;更换批次后,定位工具是否仍能稳定锁定;环境光变化时,图像灰度均值是否漂移。
二、建立三项核心评价指标
要让优化有方向,必须把上述现象转成可计算的指标。在 In-Sight 项目中,建议至少跟踪以下三项:
- 缺陷检出率(Recall / 检出率):实际缺陷中被系统正确判为不合格的比例。公式为:检出率 = 正确检出缺陷数 ÷ 实际缺陷总数 × 100%。它直接对应漏检水平,检出率越低,漏检风险越高。
- 过杀率(False Reject Rate):合格品中被误判为不合格的比例。公式为:过杀率 = 误判合格品数 ÷ 实际合格品总数 × 100%。它对应误检水平,过杀率越高,产线越容易“狼来了”。
- 重复精度(Repeatability):同一标准件在相同条件下多次测量,结果的一致程度。常用标准差或极差表示。例如定位工具 X 坐标连续 30 次测量的极差为 0.03 mm,就说明重复精度约为 ±0.015 mm。重复精度差,说明系统本身不稳定,此时讨论检出率和过杀率意义有限。
这三项指标构成一个三角:检出率关注“别放过坏品”,过杀率关注“别冤枉好品”,重复精度关注“别忽左忽右”。实际项目中,三者往往互相制约。例如把 Blob 面积阈值调低,检出率可能上升,但过杀率也会上升;把 PatMax 接受阈值调高,过杀率下降,但定位失败导致的漏检可能增加。优化的本质,是在可接受的重复精度基础上,寻找检出率与过杀率的平衡点。
三、用一张图看清三者的关系与判据
下面这张图把“实际状态”与“系统判定”交叉组合,形成四象限,并标出误检、漏检、正确检出和正确放行的位置,同时给出三项指标的计算入口。它可以帮助你在现场快速判断:当前问题到底属于哪一类,应该优先看哪个指标。
四、从指标到现场判断:一个教学示例
假设某 In-Sight 工位检测金属件表面划痕,连续生产 500 件,其中实际合格 460 件、实际不合格 40 件。系统判定结果如下:合格品中 450 件判合格、10 件判不合格;不合格品中 32 件判不合格、8 件判合格。则:
检出率 = 32 ÷ 40 × 100% = 80.0%
过杀率 = 10 ÷ 460 × 100% ≈ 2.17%
漏检数 = 8 件(漏检率 = 20.0%)
这组数据说明:系统对缺陷的捕获能力不足,漏检率偏高;同时存在一定过杀。此时如果只把阈值调低,检出率可能上升,但过杀率会进一步恶化。正确做法是先检查重复精度:取一件标准件连续触发 30 次,记录划痕工具的对比度得分。若得分极差超过设定阈值的 30%,说明光照或定位不稳定,应先解决稳定性,再谈检出率与过杀率的平衡。