跳到主要内容

AI 驱动文档

您想了解什么?

使用分类器(单 ROI 示例)

本教程将引导您在 OV10i 摄像头系统上创建您的第一个分类模型。您将学习如何设置单个感兴趣区域(ROI)分类器,以自动识别和分类不同类型的物体——在本示例中为不同尺寸的钻头。

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

预计时间: 45-60 分钟

技能等级: 初学者

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

第一步:创建新的分类程序

1.1 访问程序创建界面

  1. 在 OV10i 界面中导航至 All Recipes 页面
  2. 点击右上角的 + New Recipe

1.2 配置程序设置

将出现 Add A New Recipe 对话框:

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

1.3 激活并打开程序编辑器

  1. 在 All Recipes 列表中找到您的新程序(状态显示为 "Inactive")
  2. 点击程序条目右侧的 Activate
  3. 点击 Activate and go to editor 进行确认并启动程序编辑器

检查点: 程序现在已处于 "Active" 状态,并显示程序编辑器。

第二步:配置摄像头图像设置

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 以应用配置

检查点: 您的相机现在应能拍摄出光照良好且一致的钻头图像。

第三步:配置模板图像和对齐

3.1 导航至对齐

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

3.2 跳过对齐器(本教程)

由于钻头将一致地放置:

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

何时使用对齐器: 当零件以不同位置或方向到达时使用对齐器。本教程假设零件放置位置一致。

第四步:设置检测 ROI

4.1 导航至检测设置

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

4.2 定义感兴趣区域

ROI 定义分类发生的位置:

  1. 将钻头放置在相机视野中
  2. 拖动 ROI 角点以框选钻头
  3. 确保 ROI:
    • 完整包含钻头
    • 排除不必要的背景
    • 足够大以容纳您最大的钻头变体

4.3 ROI 最佳实践

应做不应做
包含所有重要特征使 ROI 过大(包含噪声)
在物体周围留有少量边距切掉物体的一部分
将预期物体位置居中在一个 ROI 中包含多个物体
在所有图像中保持 ROI 尺寸一致在不同捕获之间更改 ROI

4.4 保存 ROI 配置

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

检查点: 无论钻头的具体尺寸如何,您的 ROI 都应能一致地框选钻头。

第五步:训练分类模型

5.1 导航至分类模块

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

5.2 创建分类类别

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

示例类别:

  • 小型钻头(1-3mm)
  • 中型钻头(4-6mm)
  • 大型钻头(7-10mm)

5.3 捕获训练图像

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

类别 1:小型钻头

  1. 将一个小型钻头放置在 ROI 中
  2. 点击捕获以拍摄训练图像
  3. 将图像标记为 "Small"
  4. 使用另外 4 个小型钻头重复操作(不同方向/位置)

类别 2:中型钻头

  1. 将一个中型钻头放置在 ROI 中
  2. 捕获并标记为 "Medium"
  3. 使用不同的中型钻头再重复 4 次

类别 3:大型钻头

  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. 选择迭代次数:
    • 迭代次数越多 = 准确率越高
    • 迭代次数越多 = 训练时间越长
  4. 点击 Start Training

5.7 监控训练进度

训练进度对话框显示:

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

训练控制:

  • Abort Training: 在需要时停止训练
  • Finish Training Early: 当准确率足够时停止

训练提示:

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

检查点: 您的模型应达到 >85% 的训练准确率。

第 6 步:测试您的分类器

6.1 访问实时预览

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

6.2 验证测试

系统性地测试每个类别:

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

6.3 分类问题故障排除

问题可能原因解决方案
置信度低训练数据不足添加更多训练图像
分类错误图像质量差改善光照/对焦
结果不一致ROI 中包含背景噪声缩小 ROI 范围
类别混淆物体外观相似添加更多有区分度的示例

第 7 步:配置 Pass/Fail 逻辑

7.1 导航至 IO模块

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

  1. 在面包屑菜单中点击 "IO Block",或
  2. 从程序编辑器中选择 "Configure I/O"

7.2 定位分类逻辑节点

  1. 找到 "Classification Block Logic Node"(紫色节点)
  2. 如果缺失: 从左侧节点菜单中拖动添加

节点颜色: 紫色节点代表用于 AI 操作的 Overview 逻辑模块。

7.3 配置分类逻辑

  1. 双击分类逻辑节点
  2. 配置设置:

ROI 选择

  • 从 "Region of Interest (ROI)" 下拉菜单中选择您的 ROI

置信度阈值

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

目标类别选择

  • 为"通过"结果选择目标类别
  • 示例: 如果只有中等钻头应该通过,则选择 "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" 模式重新训练

恭喜!

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

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

后续步骤

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

高级分类技术

  • 用于复杂零件的多 ROI 分类
  • 用于详细分类的分层分类
  • 组合检测(分类 + 缺陷检测)

生产集成

  • 用于自动分拣的 PLC 通信
  • 用于质量追踪的数据日志记录
  • 用于多产品线的程序管理

模型优化

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

🔗 另请参阅

故障排除指南

常见问题与解决方案

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

获取帮助

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

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

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