跳到主要内容

AI 驱动文档

您想了解什么?

使用分类器(单 ROI 示例)

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

将要构建: 一个可运行的分类模型,能够自动识别并对不同钻头尺寸进行分类和排序,并具备可配置的通过/不通过逻辑。

预计时间: 45–60 分钟

技能等级: 入门

先决条件: 已设置并连接 OV20i 摄像系统

步骤 1:创建一个新的分类配方​

1.1 进入配方创建界面​

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

1.2 配置配方设置​

将显示“添加新配方”对话框:

  1. 输入配方名称: 使用一个描述性的名称,例如 “Drill_Bit_Classification_v1”
    • 命名提示: 为了便于识别,请包含对象类型及版本信息
  2. 选择配方类型: 从下拉菜单中选择 “Classification”
  3. 点击 OK 以创建配方

1.3 启用并打开配方编辑器​

  1. 在“所有配方”列表中定位新建的配方(它将显示为“Inactive”)
  2. 点击配方条目右侧的 Activate
  3. 点击 Activate and go to editor 以确认并启动配方编辑器

✅ 检查点: 配方现已显示为“Active”,并显示配方编辑器。

步骤 2:配置相机成像设置​

2.1 打开成像配置​

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

2.2 调整焦点设置​

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

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

焦点提示:

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

2.3 优化曝光设置​

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

  1. 使用滑块或手动输入调整曝光
  2. 目标是在均衡照明下:
    • 对象细节清晰可见
    • 无区域过曝(纯白)
    • 阴影不过于遮蔽重要特征

2.4 配置 LED 照明​

照明对分类准确性有显著影响:

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

2.5 调整 Gamma 设置​

Gamma 控制图像对比度:

  1. 调整 Gamma 以增强特征可见性
  2. 较低数值可提亮暗区
  3. 较高数值可提升对比度

2.6 保存成像设置​

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

✅ Checkpoint: 您的相机现在应能对钻头产生一致、光线充足的图像。

第 3 步:配置模板图像与对齐​

3.1 导航至对齐​

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

3.2 跳过对齐器(本教程)​

由于钻头将被一致地放置:

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

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

第 4 步:设定检查 ROI​

4.1 导航至 Inspection Setup​

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

4.2 定义 ROI​

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

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

4.3 ROI 最佳实践​

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

4.4 保存 ROI 设置​

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

✅ Checkpoint: 无论钻头的具体尺寸如何,ROI 应始终能框定钻头。

第 5 步:训练分类模型​

5.1 导航至 Classification Block​

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

5.2 创建 Classification Classes​

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

示例类别:

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

5.3 捕获训练图像​

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

Class 1: Small Bits​

  1. 在 ROI 中放置一个小钻头
  2. 点击 capture 获取训练图像
  3. 将图像标注为“Small”
  4. 再用 4 个不同朝向/位置的小钻头重复

Class 2: Medium Bits​

  1. 在 ROI 中放置一个中等钻头
  2. 捕获并标注为“Medium”
  3. 再用不同的中等钻头重复 4 次

Class 3: Large Bits​

  1. 在 ROI 中放置一个大型钻头
  2. 捕获并标注为“Large”
  3. 再用不同的大钻头重复 4 次

5.4 训练图像最佳实践​

最佳实践为何重要
使用不同的示例提高模型的泛化能力
改变朝向处理现实世界的定位变化
包含边缘情况更好地在类别之间界限检测
保持一致的照明降低对照明依赖的错误
最少 5 张图像提供足够的训练数据

5.5 审阅并验证标签​

  1. 仔细检查所有标注的图像
  2. 确保正确的类别分配
  3. 删除任何标注错误的示例

5.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

5.7 监控训练进度​

训练进度模态框显示:

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

训练控件:

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

训练提示:

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

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

Step 6: 测试您的分类器​

6.1 访问实时预览​

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

6.2 验证测试​

逐一系统地测试每个类别:

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

6.3 分类问题排查​

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

Step 7: 配置通过/失败逻辑​

7.1 导航至 IO Block​

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

  1. 点击面包屑菜单中的 "IO Block",或
  2. 从 Recipe Editor 选择 "Configure I/O"

7.2 定位 Classification Logic Node​

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

节点颜色: 紫色节点表示 AI 运算的 Overview Logic Blocks。

7.3 配置 Classification Logic​

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

ROI 选择​

  • 从 "Inspection Region" 下拉菜单中选择您的 ROI

置信度阈值​

  • Set confidence threshold(通常为 70-85%)
  • Higher threshold = 更严格的分类
  • Lower threshold = 更宽松的分类

目标类别选择​

  • 为“通过”结果选择目标类别
  • **示例:**仅当中等位应通过时,请选择“Medium”

多 ROI 逻辑(高级)​

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

7.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

7.5 部署逻辑配置​

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

第 8 步:最终测试与验证​

8.1 端到端测试​

测试完整的检测工作流程:

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

8.2 生产验证清单​

测试用例预期结果✓
目标类别对象通过结果☐
非目标类别对象失败结果☐
空 ROI失败结果☐
部分遮挡对象适当的置信度水平☐
照明条件差性能稳定☐

8.3 性能优化​

如果结果不令人满意:

  1. 添加更多训练图像(尤其是边缘情形)
  2. 调整置信度阈值
  3. 改善照明一致性
  4. 细化 ROI 定位
  5. 使用“Accurate”模式重新训练

恭喜!​

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

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

下一步​

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

高级分类技术​

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

生产集成​

  • PLC 通信用于自动分拣
  • 用于质量跟踪的数据记录
  • 针对多条生产线的 Recipe 管理

模型优化​

  • Transfer learning(针对相似产品)
  • Active learning(用于持续改进)
  • Performance monitoring 与 retraining schedules

🔗 参阅​

故障排除指南​

常见问题及解决方案​

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

获取帮助​

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

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

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