R&D
CENTER

目标检测:为缺陷标出名称和位置的 YOLO・RT-DETR

介绍目标检测如何针对已知缺陷类型,回答“是什么、在哪里、有多确定”。内容涵盖框・类别・置信度、IoU 与 NMS、按类别设置阈值,以及如何与异常检测配合使用。

入门4 分钟1 浏览
本课要点
  1. 目标检测的每个结果都会输出框(位置)、类别(种类)和置信度(确定程度)。
  2. IoU 是两个框的重叠程度;NMS 是在同一对象上重叠输出的多个框中,只保留最确定的那一个的后处理。
  3. 每种缺陷的风险不同,因此要按类别分别设置阈值。
  4. 已知缺陷用目标检测,未知缺陷用异常检测——在现场两者会一起使用。

异常检测会告诉您“这里和正常的不一样”。但要改进工艺,需要的是“这是压痕,位于右上方,今天出现了几个”。区分缺陷种类并进行计数,是**目标检测(Object Detection)**的工作。

输出:框、类别、置信度

scratch 0.91 dent 0.84 框 · 类别 · 置信度 IoU = 重叠面积 ÷ 并集面积0.5 以上时,通常视为“同一对象”
左:每个检测结果都附带框、类别和置信度。右:两个框的 IoU 既用于与真值比对,也用于去除重复。
  • 框(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 可以在同一个零件上同时运行两种模式。