一套外观视觉系统“判断错了十次”,这句话仍不足以说明发生了什么。是没有识别出本来存在的缺陷,还是把原本合格的样本判成不合格?两种方向对后续复核提出的问题不同,验收记录应保留它们的区别,而不只给一个合并后的准确率。
在以检测缺陷为阳性的语境下,Cognex文档把无缺陷却被判断有缺陷称为假阳性,把实际有缺陷却未识别出来称为假阴性。[1] 因此,使用“漏检”或“误剔除”等业务词时,应先在项目资料中写清正负类别的定义,避免不同成员拿同一个词描述相反情况。系统判断为不合格,也不等于已经证明后续执行机构完成了实体剔除。
让每次错误能够回到样本
一条有用的错误记录,至少需要能找到原始图像、预期类别、系统结果和所用版本。若只保存异常数量,之后调整配置再测试,就很难判断原来的问题是否仍然存在。样本标注本身有争议时,也应保留争议与复核状态,不宜先把它当成可靠答案,再用来评价系统。
不要只收集容易通过的图片
Cognex的TestRun说明介绍了把已知质量的好、坏图像输入视觉系统,并与预期结果比较的图像测试;同时还介绍了关注相机位置、焦点、光照变化的硬件测试。[2] 这提示读者,保存样本时不只要留最终判断,还要留采集情境。否则,同一产品在不同成像条件下的差异,会在文件夹中失去解释。
比如可以在样本索引中记录采集班次、光照条件说明和配置版本,再由项目负责人确定哪些条件应纳入验证范围。这是本文的资料整理建议,不是官方统一验收清单,也不代表只要覆盖这些字段就足以证明所有工况可靠。实际样本设计和验收标准仍需专业团队确定。
把更新前后的证据并排保存
某次修改降低了一类错误,并不能自动推出另一类错误也同时减少。更新记录中可分别列出两种错误方向的变化,保留对应样本清单,并说明测试数据范围是否相同。如果两次测试换了样本集,就应明确标注,避免把数据集变化当作算法进步。
清楚的视觉验收资料,应能解释一张图为何被归类、系统当时怎样判断,以及采集条件有什么变化。本文不提供生产线安全参数或质量放行结论;它关注的是让复核有证据可循,而不是用一个漂亮总分掩盖错误的具体方向。
参考来源:[1] Cognex Deep Learning Help 2.1.0.67,False Positive and False Negative Results;[2] In-Sight Explorer Help 5.9.2.7,TestRun。
信息来源
- Cognex:False Positive and False Negative Results — Deep Learning Help 2.1.0.67
- Cognex:TestRun — In-Sight Explorer Help 5.9.2.7
本文基于上述公开资料整理,未使用来源页面的图片、视频或嵌入媒体。