跳到主要内容

AI 驱动文档

您想了解什么?

使用分类器(单 ROI 示例)

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

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

预计时间: 45-60 分钟

技能水平: 初学者

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

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

1.1 访问程序创建​

  1. 在 OV80i 界面中导航至 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. 对焦镜头——转动 C-mount 镜头上的对焦环,直到钻头边缘清晰锐利
  3. 验证清晰度,勾选 Enable Focus View,将高亮边缘并显示对焦分数,然后锁定对焦环

对焦提示:

  • 使用实时预览实时查看对焦变化
  • 聚焦于最重要的特征(钻头刃槽、尖端几何形状)
  • 确保对象的整个深度都在焦距范围内

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 步:配置模板图像与对齐​

3.1 导航至对齐​

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

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

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

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

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

第 4 步:设置检测 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 步:训练分类模型​

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 步:配置通过/失败逻辑​

7.1 导航到 IO模块​

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

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

7.2 定位分类逻辑节点​

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

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

7.3 配置分类逻辑​

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

ROI 选择​

  • 从 "Inspection Region" 下拉菜单中选择您的 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.1 端到端测试​

测试完整的检测工作流:

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

8.2 生产验证检查清单​

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

8.3 性能优化​

如果结果不理想:

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

恭喜!​

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

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

后续步骤​

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

高级分类技术​

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

生产集成​

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

模型优化​

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

🔗 参见​

故障排除指南​

常见问题与解决方案​

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

获取帮助​

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

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

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