异常检测会告诉您“这里和正常的不一样”。但要改进工艺,需要的是“这是压痕,位于右上方,今天出现了几个”。区分缺陷种类并进行计数,是**目标检测(Object Detection)**的工作。
输出:框、类别、置信度
- 框(Bounding box) — 包围缺陷的矩形的位置和大小。
- 类别 — 缺陷的种类,即训练时设定的名称(scratch、dent、missing 等)。
- 置信度(Confidence) — 模型对该判断有多确定,取值在 0~1 之间。
IoU 与 NMS
模型经常会对同一个缺陷输出多个略有差异的框。**NMS(Non-Maximum Suppression)**会保留置信度最高的框,并删除与其大量重叠(IoU 达到基准以上)的其余框。Multi-Inspector 的 modeN_iou 设置就是这个基准。调低该值,相邻的两个缺陷可能被合并为一个;调高该值,同一个缺陷可能被计数两次。
IoU 也用于评估。模型的框与真值框的 IoU 必须达到基准(通常为 0.5)以上,才算“正确找到”。
按类别设置阈值
并非所有缺陷都同等重要。影响功能的裂纹只要稍有怀疑就必须检出,而外观上的小污渍可以只在确定时才检出。Multi-Inspector EB v2.3 为每个类别使用不同的置信度阈值,低于阈值的检测结果也会以细框和 (<thr) 标记保留在画面上,便于操作人员查看临界案例。所有检测结果都记录在 CSV 的 YOLO_Detections 字段中。
YOLO 与 RT-DETR
- YOLO — 只看一次图像,就同时预测所有框的方式。快速轻量,广泛用于现场推理。fineAi 使用 Ultralytics YOLO 系列(v8、v11 等)。
- RT-DETR — 基于 Transformer 的实时检测模型。其结构无需 NMS 即可直接输出框,在物体重叠时有时更有优势。
fineAi OD Workbench 用相同数据训练 YOLO 和 RT-DETR 系列共 28 个模型,并排比较准确率和速度。小模型快、大模型准,因此在产线节拍时间内选择最准确的模型即可。
数据与标注
目标检测属于监督学习,因此标注决定质量。
- 框要紧贴缺陷,并按同一标准绘制。如果每个人画框的方式不同,模型也会随之摇摆。
- 先用文档确定类别名称和临界案例(小划痕算 scratch 还是忽略?),再进行标注。
- 还要混入没有缺陷的良品图像,才能减少过检。
- 标注以 COCO 等标准格式保存,便于在不同工具之间迁移。
需要的不是框而是形状时
像焊道或裂纹这类细长弯曲的缺陷,用框表示会留下大量空白。这时要使用以像素为单位涂出区域的**分割(segmentation)**模型。RoboVision 的焊接检测先通过分割找出缺陷区域,再测量长度・深度等定量值,并按 ISO 5817 等级规则判定。
与异常检测配合使用
| 异常检测 | 目标检测 | |
|---|---|---|
| 训练数据 | 仅正常品 | 缺陷 + 标注 |
| 从未见过的缺陷 | ✓ 能检出 | 可能漏检 |
| 缺陷名称 | 不提供 | ✓ 提供 |
| 缺陷统计・原因分析 | 困难 | ✓ 容易 |
产线刚启动时先从异常检测开始,运行过程中再给积累的 NG 图像加上标注、增加目标检测,是很自然的顺序。Multi-Inspector 可以在同一个零件上同时运行两种模式。