跳到主要内容

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

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

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

预计时长: 45-60 分钟

技能水平: 初级

前提条件: OV20i 相机系统已设置并连接

步骤 1:创建一个新的 Classification 配方

1.1 进入配方创建

  1. 进入 All Recipes 页面 在您的 OV20i 界面
  2. 点击 + New Recipe 在右上角

1.2 配置配方设置

将出现 Add A New Recipe 模态框:

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

1.3 激活配方

  1. 在 All Recipes 列表中定位新配方(它将显示为 "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 调整 Gamma 设置

Gamma 控制图像对比度:

  1. Adjust Gamma 以增强特征可见性
  2. Lower values 变亮暗部
  3. Higher values 提高对比度

3.6 保存成像设置

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

检查点: 您的摄像头现在应能输出一致、光线充足的钻头图像。

Step 4: Configure Template Image and Alignment

4.1 Navigate to Alignment

  1. Click "Template Image and Alignment" 在面包屑菜单中,或
  2. Use the dropdown menu 选择 "Template Image and Alignment"

4.2 Skip Aligner (For This Tutorial)

由于钻头将被一致放置:

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

何时使用 Aligner: 当部件到达的位置或方向不同寻常时,请使用 Align er。对于本教程,我们假设部件放置保持一致。

Step 5: Set Up Inspection ROI

5.1 Navigate to Inspection Setup

  1. Click "Inspection Setup" 在面包屑菜单中

5.2 Define Region of Interest

ROI 定义分类将发生的位置:

  1. 在相机视图中放置钻头
  2. 拖动 ROI 顶点 以框住钻头
  3. 确保 ROI:
    • 完全包含钻头
    • 排除不必要的背景
    • 对于你最大的钻头变体,ROI 需足够大

5.3 ROI Best Practices

DoDon't
包含所有重要特征将 ROI 设得太大(包含噪声)
在对象周围留出小边框截断对象的部分
将对象的预期位置居中在一个 ROI 中包含多个对象
保持相同图像的 ROI 大小在捕获之间更改 ROI

5.4 Save ROI Configuration

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

检查点: 无论钻头的具体尺寸如何,ROI 应始终能够框住钻头。

Step 6: Train Classification Model

6.1 Navigate to Classification Block

  1. Click "Classification Block" 在面包屑菜单中

6.2 Create Classification Classes

You'll create classes for different drill bit sizes:

Example Classes:

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

6.3 Capture Training Images

For each class, capture at least 5 different images:

Class 1: Small Bits

  1. Place a small drill bit in the ROI
  2. Click capture to take training image
  3. Label the image as "Small"
  4. Repeat with 4 more small bits (different orientations/positions)

Class 2: Medium Bits

  1. Place a medium drill bit in the ROI
  2. Capture and label as "Medium"
  3. Repeat 4 more times with different medium bits

Class 3: Large Bits

  1. Place a large drill bit in the ROI
  2. Capture and label as "Large"
  3. Repeat 4 more times with different large bits

6.4 Training Image Best Practices

Best PracticeWhy Important
Use different examples提高模型泛化能力
Vary orientations应对真实世界的定位变化
Include edge cases更好地边界检测(类别之间)
Maintain consistent lighting降低对照明依赖的错误
5+ images minimum提供充分的训练数据

6.5 标签复核与验证

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

6.6 启动模型训练

  1. 点击 Train Classification Model
  2. 选择训练模式:
    • Fast: 用于测试的快速训练(2-5分钟)
    • Accurate: 生产级训练(10-20分钟)
  3. 选择迭代次数:
    • More iterations = Better accuracy
    • More iterations = Longer training time
  4. 点击 Start Training

6.7 监控训练进度

训练进度模态框显示:

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

训练控制:

  • Abort Training: 如有需要,停止训练
  • Finish Training Early: 当达到足够的准确度时停止

训练提示:

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

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

Step 7: 测试分类器

7.1 访问 Live Preview

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

7.2 验证测试

系统地测试每个类别:

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

7.3 分类问题排除

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

Step 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 逻辑(高级)

  • 如有需要,添加更多 ROIs
  • **选择逻辑:**必须通过“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”模式下重新训练

恭喜!

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

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

下一步

现在您已经掌握了单 ROI 分类,可以考虑探索:

高级分类技术

  • Multi-ROI classification 适用于复杂部件
  • Hierarchical classification 用于详细分类
  • Combination inspection(classification + defect detection)

生产集成

  • PLC communication 用于自动分拣
  • Data logging 用于质量跟踪
  • Recipe management 用于多产品线

模型优化

  • Transfer learning 适用于相似产品
  • Active learning 用于持续改进
  • Performance monitoring 与重新训练计划

🔗 相关链接

故障排除指南

常见问题与解决方案

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

获取帮助

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

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

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