第3步:感兴趣区域(ROI)
时间:10–15 分钟
现在对齐工作已经正常,可以让相机知道要看哪里。你可以通过绘制感兴趣区域(ROI)来实现:在图像上绘制矩形,定义 AI 将要分析的区域。
关键术语
- Inspection Type(检查类型):具有共享数据集和一组类别的类别。示例:"Screws",类别为 "present" / "absent"。
- Inspection Region (ROI,感兴趣区域):部件上的具体位置。示例:"Screw_1"、"Screw_2"、"Screw_3",它们共享同一个 "Screws" 检查类型。
你可以在同一张图像上拥有多个 Inspection Type。例如:"Screws"(10 个 ROIs)和 "Connectors"(2 个 ROIs),每个都具有自己的类别和训练数据。
为什么 ROI 大小重要
这是客户最常抱怨的第二大原因(仅次于对齐问题)。下面解释原因。
512x512 像素限制
每个 ROI 都会从完整图像中裁剪并单独输入到 AI 模型。AI 模型能接受的最大尺寸为 512 x 512 像素。如果你的 ROI 大于此尺寸,相机会将其缩小以适应,从而永久丢失细节。
越小越好,原因如下
设想你在寻找一颗缺失的螺丝。你可以画一个覆盖整个主板的巨型 ROI,或者画一个只覆盖螺丝区域的小 ROI。
使用小 ROI:
- 螺丝在裁切区域中占主导地位,AI 就能清楚地知道你在寻找什么
- 需要的训练图像更少(信噪比高)
- 处理更快
- 如果 ROI 小于 512x512,就不会丢失信息
使用大 ROI:
- 螺丝在背景海洋中是微小的细节
- AI 需要更多数据来学习重要特征
- 如果 ROI 超过 512x512,裁剪会被缩小,螺丝将变得更小
- 处理时间更长
用网格进行全图检测
如果你需要对整张图像进行小缺陷的检测(如表面上的微小划痕),不要使用一个巨大的 ROI。相反,在网格模式下平铺多个小 ROI:
每个小 ROI 保留原始分辨率。如果任意单个 ROI 失败,整个检测也可能失败。你将得到两全其美的结果:覆盖面全面且细节保留完好。
设置你的 ROIs

1. 创建 Inspection Type
在配方编辑器中进入 Inspection Setup。
将 "Inspection Type 1" 重命名为更有意义的名称,例如 "Screws"、"Surface_Quality" 或 "Connector_Check"。该名称很重要,因为它会出现在输出数据和 Node-RED 流中。
2. 定义你的类别
添加该检查类型所需的类别。对于分类器,可能是:
- Pass / Fail
- Present / Absent
- Good / Scratched / Cracked
初始时保持简单。日后可以添加更多类别。
3. 绘制你的 ROIs
单击 + Add Inspection Region。在图像上会出现一个黄色矩形。
- 拖动 它到正确的位置
- 通过拖动角点 来调整大小
- 让它恰好足以包含你要检查的特征
- 将其从 "New ROI" 重命名为有描述性的名称(例如 "Screw_Top_Left")
4. 对每个位置重复
如果你要检查 10 个螺丝,请为每个螺丝位置创建一个 ROI。它们都共享相同的 Inspection Type 和数据集。
将第一张 ROI 命名为 "Connector 1",然后点击复制。它会自动创建 "Connector 2"、"Connector 3" 等,名称会自增。比逐个从头创建快多了。
5. 使用 Live Preview 验证
切换到 Live Preview Mode,并检查:
- 所有 ROIs 是否在部件上正确定位
- ROIs 是否随对齐一起移动(如果你在使用对齐器)
- 每个 ROI 是否完全包含你想要检查的特征
- 没有 ROI 的尺寸超出所需
ROI 尺寸指南
| ROI 用途 | 尺寸建议 |
|---|---|
| 单一特征(螺丝、连接器、标签) | 恰好足以包含该特征并留出少量边距 |
| 表面缺陷区域 | 小网格瓷砖,每个都小于 512x512 像素 |
| 需要细节的大特征 | 使用 segmenter 而非 classifier(仅 OV20i/OV80i) |
| 存在/不存在检查 | 较小;特征要么存在要么不存在 |
何时使用大量 ROIs
不要担心使用大量 ROIs。你可以使用数十个甚至数百个。好处:
- 共享训练数据。 同一 Inspection Type 的所有 ROIs 共享一个数据集。10 个螺丝 ROIs 意味着每次捕获的数据集是原来的 10 倍。
- 处理更快。 多个小裁剪的处理速度通常比一个大裁剪快。
- 更高准确性。 每个小裁剪的信噪比都很高。
- 粒度化报告。 你可以精确看到是哪个 ROI 失败。
何时需要大 ROI
如果你确实需要一个较大的 ROI 来发现微小缺陷(如在大面积表面上的微小划痕),请考虑使用一个 segmenter 而不是一个 classifier。Segmenter 适用于像素级检测,并且更适合处理大区域。(OV10i 仅支持 classifiers。Segmentation 需要 OV20i 或 OV80i。)
Inspection regions 检查清单
在继续之前,请确认:
- 已创建具有有意义名称的 Inspection Type
- 为每个 Inspection Type 定义了类别
- 已绘制 ROI,大小恰好能包含目标
- ROI 命名具有描述性(例如,"Screw_Top_Left")
- 所有 ROI 在 Live Preview 中随对齐正确移动
- 没有 ROI 超过 512×512 像素(检查下采样警告)
Ready to teach the AI? Move to Step 4: Train Your AI.