跳到主要内容

使用分类器(单一 ROI 示例)

本教程将引导您在 OV80i 摄像头系统上创建第一个分类模型。您将学习如何设置一个单一 Region of Interest (ROI) 分类器,以自动识别并对不同类型的对象进行分类——在本示例中为钻头的不同尺寸。

**您将构建:**一个可工作的分类模型,能够自动识别并对不同钻头尺寸进行分类与分拣,具备可配置的通过/不通过逻辑。

**预计时长:**45-60 分钟

**技能级别:**初级

**先决条件:**OV80i 摄像头系统已设置并连接

第 1 步:创建新的分类配方

1.1 进入配方创建

  1. 在 OV80i 界面中导航到“所有配方”页面
  2. 点击右上角的 + New Recipe

1.2 配置配方设置

Add A New Recipe 弹出窗口将出现:

  1. 输入配方名称: 使用描述性名称,例如 "Drill_Bit_Classification_v1"
    • 命名提示: 包含对象类型和版本以便于识别
  2. 选择配方类型: 从下拉菜单中选择 "Classification"
  3. 点击 OK 以创建配方

1.3 激活配方

  1. 在所有配方列表中定位新建的配方(它将显示为 "Inactive")
  2. 在配方条目的右侧点击 Actions > Activate
  3. 点击 Activate 以确认

检查点: 你的配方现在应在配方列表中显示为 "Active"

第 2 步:进入配方编辑器

2.1 进入编辑模式

  1. 点击活跃配方旁的 Edit
  2. 点击 Open Editor 以确认并启动配方编辑器

现在您将看到具有多个配置部分的配方编辑器界面。

第 3 步:配置相机成像设置

3.1 打开成像配置

  1. 在配方编辑器的左下角点击 Configure Imaging

3.2 调整焦点设置

焦点对于准确分类至关重要:

  1. 将钻头放置在相机视野内
  2. 通过以下任一方式调整焦点:
    • 滑块控制,或
    • 手动数值输入
  3. 测试不同焦点位置,直到钻头边缘清晰锐利

焦点提示:

  • 使用实时预览查看焦点的实时变化
  • 将焦点放在最重要的特征上(钻头螺槽、尖端几何)
  • 确保对象的整个深度在焦点范围内

3.3 调整曝光设置

适当曝光可确保一致的图像质量:

  1. 通过滑块或手动输入调整曝光
  2. 追求平衡光照,使得:
    • 物体细节清晰可见
    • 无过曝区域(纯白)
    • 阴影不遮挡重要特征

3.4 配置 LED 照明

照明对分类精度有显著影响:

  1. 根据对象选择 LED 光模式:
    • Bright Field(明场): 通用照明
    • Dark Field(暗场): 突出边缘和表面缺陷
    • Side Lighting(侧光): 揭示纹理和高度变化
  2. 对于钻头,尝试:
    • Bright field(明场) 用于一般形状分类
    • Side lighting(侧光) 以强调螺槽几何

3.5 调整伽玛设置

伽玛控制图像对比度:

  1. 调整伽玛 以提升特征可见性
  2. 较低的数值 可使暗部变亮
  3. 较高的数值 可增加对比度

3.6 保存成像设置

  1. 在实时预览中查看所有设置
  2. 点击 Save Imaging Settings 以应用配置

Checkpoint: 您的摄像头现在应能生成稳定、光照充足的钻头图像。

Step 4: 配置模板图像与对齐

4.1 导航至 Alignment

  1. 点击面包屑导航中的 "Template Image and Alignment",或
  2. 使用下拉菜单选择 "Template Image and Alignment"

4.2 跳过对齐器(本教程适用)

由于钻头将被一致放置:

  1. 选择 Skip Aligner
  2. 点击 Save 以应用更改

何时使用对齐器: 当零件到达时在不同位置或方向出现时使用对齐器。对于本教程,假设零件放置保持一致。

Step 5: 设置检测 ROI

5.1 导航至 Inspection Setup

  1. 点击 "Inspection Setup" 在面包屑导航中

5.2 定义感兴趣区域

ROI 定义了分类将在哪些区域进行:

  1. 在相机视图中放置钻头
  2. 拖动 ROI 的角点以框选钻头
  3. 请确保 ROI:
    • 完全包含钻头
    • 排除不必要的背景
    • 足以覆盖您最大的钻头型号

5.3 ROI 最佳实践

要做不要做
包含所有重要特征将 ROI 设置过大(包含噪声)
在对象周围留出小边界截断对象的部分
将预期对象位置居中在一个 ROI 中包含多个对象
在不同图像中保持 ROI 尺寸一致捕获之间改变 ROI

5.4 保存 ROI 配置

  1. 请在不同钻头尺寸下验证 ROI 的定位
  2. 点击 Save 以应用 ROI 设置

Checkpoint: 无论钻头的具体尺寸如何,ROI 都应稳定地框选钻头。

Step 6: 训练分类模型

6.1 导航至 Classification Block

  1. 点击 "Classification Block" 在面包屑导航中

6.2 创建分类类别

您将为不同钻头尺寸创建类别:

示例类别:

  • Small Bits (1-3mm)
  • Medium Bits (4-6mm)
  • Large Bits (7-10mm)

6.3 捕获训练图像

对于每个类别,至少捕获 5 张不同的图像:

Class 1: Small Bits

  1. 将小钻头放置在 ROI 中
  2. 点击捕获以拍摄训练图像
  3. 将图像标注为 "Small"
  4. 对另外 4 个不同方向/位置的小钻头重复

Class 2: Medium Bits

  1. 将中等钻头放置在 ROI 中
  2. 捕获并标注为 "Medium"
  3. 对不同尺寸的中等钻头再重复 4 次

Class 3: Large Bits

  1. 将大钻头放置在 ROI 中
  2. 捕获并标注为 "Large"
  3. 对不同尺寸的大钻头再重复 4 次

6.4 训练图像最佳实践

最佳实践重要原因
使用不同的示例提升模型泛化能力
变化方向处理现实世界中的定位变动
包含边缘情况提高类别间界限的检测效果
保持一致的照明降低照明相关错误
最少 5 张图像提供充足的训练数据

6.5 复核与标签验证

  1. 再次核对所有带标签的图像
  2. 确保正确的类别分配
  3. 移除任何标注错误的示例

6.6 启动模型训练

  1. 点击 Train Classification Model
  2. 选择训练模式:
    • Fast: 用于测试的快速训练(2-5 分钟)
    • Accurate: 生产级训练(10-20 分钟)
  3. 选择迭代次数:
    • 更多迭代 = 更高的准确性
    • 更多迭代 = 更长的训练时间
  4. 点击 Start Training

6.7 监控训练进度

训练进度对话框显示:

  • 当前迭代次数
  • 训练准确率百分比
  • 预计完成时间

训练控制:

  • Abort Training:如有需要,终止训练
  • Finish Training Early:在达到足够的准确度时提前完成

训练提示:

  • 当达到目标准确度时,训练会自动停止
  • 85% 及以上的准确度通常适用于生产环境
  • 如果准确度较低,可以用更多图像重新训练

Checkpoint: 您的模型应达到 >85% 的训练准确度。

第 7 篇:测试分类器

7.1 访问实时预览

  1. 点击 Live Preview,在训练完成后
  2. 将不同的钻头放置在 ROI 中
  3. 观察分类结果:
    • 预测的类别名称
    • 置信度百分比
    • 分类用时

7.2 验证测试

对每个类别进行系统测试:

测试类型预期结果失败时的处理
已知小钻头分类为 "Small" >80% 置信度添加更多训练图像
已知中等钻头分类为 "Medium" >80% 置信度审查标注准确性
已知大钻头分类为 "Large" >80% 置信度使用更多示例重新训练
空 ROI无分类或置信度低调整置信度阈值

7.3 分类问题排错

问题可能原因解决方案
低置信度训练数据不足添加更多训练图像
错误分类图像质量差提高照明/对焦
结果不一致ROI 包含背景噪声减小 ROI 尺寸
类别混淆外观相似的对象添加更多具有区分性的示例

第 8 步:配置通过/失败逻辑

8.1 导航到 IO Block

在继续之前,请确保所有 AI 块均已训练完成(绿灯状态):

  1. 在面包屑导航中点击 "IO Block",或
  2. 从 Recipe Editor 选择 "Configure I/O"

8.2 定位 Classification Logic Node

  1. 找到 "Classification Block Logic Node"(紫色节点)
  2. 若缺失: 从左侧的节点菜单拖拽

节点颜色: 紫色节点表示用于 AI 操作的 Overview Logic Blocks。

8.3 配置 Classification Logic

  1. 双击 Classification Logic Node
  2. 配置设置:

ROI 选择

  • 从 "Inspection Region" 下拉列表中选择您的 ROI

置信度阈值

  • 设置置信度阈值(通常为 70-85%)
  • 更高阈值 = 更严格的分类
  • 较低阈值 = 更宽松的分类

目标类别选择

  • 为“通过”结果选择目标类别
  • 示例:仅应通过 Medium 类别

多 ROI 逻辑(进阶)

  • 如有需要,请添加更多 ROI
  • 选择逻辑:“Any” 或 “All” 规则必须通过

8.4 示例通过/不通过配置

配置 1:尺寸特定通过

ROI: Drill_Bit_ROI
Target Class: Medium
Confidence: 80%
Logic: Pass only medium drill bits

配置 2:尺寸范围通过

ROI: Drill_Bit_ROI
Target Classes: Medium OR Large
Confidence: 75%
Logic: Pass medium or large bits

配置 3:拒绝小尺寸对象

ROI: Drill_Bit_ROI
Target Class: NOT Small
Confidence: 85%
Logic: Fail if classified as small

8.5 部署逻辑配置

  1. 点击右上角的 Done
  2. 在 Node-RED 编辑器的右上角点击 Deploy
  3. 验证部署成功消息

第 9 步:最终测试与验证

9.1 端到端测试

测试完整的检查工作流:

  1. 在检查区域放置测试对象
  2. 触发检查(手动或自动)
  3. 验证结果:
    • 显示的分类正确
    • 正确的通过/不通过指示
    • 一致的时序性能

9.2 生产验证清单

测试用例预期结果
目标类别对象通过结果
非目标类别对象失败结果
空 ROI失败结果
部分遮挡对象适当的置信度等级
照明条件差一致的性能

9.3 性能优化

如果结果不令人满意:

  1. 添加更多训练图像(尤其是边缘情况)
  2. 调整置信度阈值
  3. 提升照明一致性
  4. 优化 ROI 位置
  5. 使用 "Accurate" 模式重新训练

恭喜!

您已成功创建第一个分类模型!您的 OV80i 系统现在可以:

  • 自动识别不同钻头尺寸
  • 基于分类结果应用通过/不通过逻辑
  • 为每个分类提供置信分数
  • 通过 I/O 控制与生产工作流集成

下一步

现在,您已经掌握单 ROI 分类,可以考虑深入以下内容:

高级分类技术

  • 多 ROI 分类,适用于复杂部件
  • 分层分类,便于更详尽的分类
  • 组合检查(分类 + 缺陷检测)

生产集成

  • PLC 通信,用于自动分拣
  • 数据记录,用于质量追踪
  • 配方管理,用于多条产品线

模型优化

  • 迁移学习,用于相似产品
  • 主动学习,用于持续改进
  • 性能监控 与 重新训练计划

🔗 参见下列内容

故障排除指南

常见问题及解决方案

问题症状解决方案
准确性较差分类结果经常错误增加更多样化的训练图像
处理性能较慢处理时间较长减小 ROI 大小,优化照明
结果不一致同一对象产生不同的结果改善工件定位,检查对焦
误检空 ROI 显示分类结果提高置信度阈值
训练失败模型无法成功训练检查图像质量,确保每类至少 5 张图像

获取帮助

如果您遇到本教程未覆盖的问题:

  1. 在文档中查阅故障排除指南
  2. 查看系统日志以获取错误信息
  3. 联系 Overview 支持,提供以下信息:
    • 配方导出文件
    • 显示问题的样本图像
    • 系统配置详情

教程完成! 现在您拥有一个可用于生产的分类系统。请定期验证性能,并在需要时重新训练模型,以保持长期的准确性。