AI 驱动文档
您想了解什么?
使用分类器(单 ROI 示例)
本教程将引导您在 OV10i 摄像头系统上创建您的第一个分类模型。您将学习如何设置单个感兴趣区域(ROI)分类器,以自动识别和分类不同类型的物体——在本示例中为不同尺寸的钻头。
您将构建的内容: 一个可正常工作的分类模型,能够自动识别和分拣不同尺寸的钻头,并具有可配置的通过/失败逻辑。
预计时间: 45-60 分钟
技能等级: 初学者
先决条件: 已设置并连接 OV10i 摄像头系统
第一步:创建新的分类程序
1.1 访问程序创建界面
- 在 OV10i 界面中导航至 All Recipes 页面
- 点击右上角的
+ New Recipe
1.2 配置程序设置
将出现 Add A New Recipe 对话框:
- 输入程序名称: 使用描述性名称,例如 "Drill_Bit_Classification_v1"
- 命名提示: 包含物体类型和版本,以便于识别
- 选择程序类型: 从下拉菜单中选择 "Classification"
- 点击
OK创建程序
1.3 激活并打开程序编辑器
- 在 All Recipes 列表中找到您的新程序(状态显示为 "Inactive")
- 点击程序条目右侧的
Activate - 点击
Activate and go to editor进行确认并启动程序编辑器
✅ 检查点: 程序现在已处于 "Active" 状态,并显示程序编辑器。
第二步:配置摄像头图像设置
2.1 打开图像配置
- 在程序编辑器左下方点击
Configure Imaging
2.2 调整对焦设置
对焦对于准确分类至关重要:
- 将钻头放置在摄像头的视野范围内
- 调整对焦,可使用以下任一方式:
- 滑块控件,或
- 手动输入数值
- 测试不同的对焦位置,直到钻头边缘清晰锐利
对焦提示:
- 使用实时预览实时查看对焦变化
- 对焦于最重要的特征(钻头螺旋槽、尖端几何形状)
- 确保物体的整个深度都处于对焦范围内
2.3 优化曝光设置
正确的曝光可确保图像质量一致:
- 使用滑块或手动输入调整曝光
- 力求平衡的光照,使得:
- 物体细节清晰可见
- 无区域过曝(纯白)
- 阴影不会遮挡重要特征
2.4 配置 LED 光照
光照对分类准确性有显著影响:
- 根据您的物体选择 LED 光照模式:
- Bright Field(明场): 通用照明
- Dark Field(暗场): 突出边缘和表面缺陷
- Side Lighting(侧光): 显示纹理和高度变化
- 对于钻头,可尝试:
- Bright field(明场) 用于一般形状分类
- Side lighting(侧光) 用于强调螺旋槽几何形状
2.5 调整 Gamma 设置
Gamma 控制图像对比度:
- 调整 Gamma 以增强特征可见性
- 较低值使暗区变亮
- 较高值增加对比度
2.6 保存图像设置
- 在实时预览中检查所有设置
- 点击
Save Imaging Settings以应用配置
✅ 检查点: 您的相机现在应能拍摄出光照良好且一致的钻头图像。
第三步:配置模板图像和对齐
3.1 导航至对齐
- 在面包屑菜单中点击 "Template Image and Alignment",或
- 使用下拉菜单选择 "Template Image and Alignment"
3.2 跳过对齐器(本教程)
由于钻头将一致地放置:
- 选择
Skip Aligner - 点击
Save以应用更改
何时使用对齐器: 当零件以不同位置或方向到达时使用对齐器。本教程假设零件放置位置一致。
第四步:设置检测 ROI
4.1 导航至检测设置
- 在面包屑菜单中点击 "Inspection Setup"
4.2 定义感兴趣区域
ROI 定义分类发生的位置:
- 将钻头放置在相机视野中
- 拖动 ROI 角点以框选钻头
- 确保 ROI:
- 完整包含钻头
- 排除不必要的背景
- 足够大以容纳您最大的钻头变体
4.3 ROI 最佳实践
| 应做 | 不应做 |
|---|---|
| 包含所有重要特征 | 使 ROI 过大(包含噪声) |
| 在物体周围留有少量边距 | 切掉物体的一部分 |
| 将预期物体位置居中 | 在一个 ROI 中包含多个物体 |
| 在所有图像中保持 ROI 尺寸一致 | 在不同捕获之间更改 ROI |
4.4 保存 ROI 配置
- 使用不同尺寸的钻头验证 ROI 定位
- 点击
Save以应用 ROI 设置
检查点: 无论钻头的具体尺寸如何,您的 ROI 都应能一致地框选钻头。
第五步:训练分类模型
5.1 导航至分类模块
- 在面包屑菜单中点击 "Classification Block"
5.2 创建分类类别
您将为不同的钻头尺寸创建类别:
示例类别:
- 小型钻头(1-3mm)
- 中型钻头(4-6mm)
- 大型钻头(7-10mm)
5.3 捕获训练图像
对于每个类别,至少捕获 5 张不同的图像:
类别 1:小型钻头
- 将一个小型钻头放置在 ROI 中
- 点击捕获以拍摄训练图像
- 将图像标记为 "Small"
- 使用另外 4 个小型钻头重复操作(不同方向/位置)
类别 2:中型钻头
- 将一个中型钻头放置在 ROI 中
- 捕获并标记为 "Medium"
- 使用不同的中型钻头再重复 4 次
类别 3:大型钻头
- 将一个大型钻头放置在 ROI 中
- 捕获并标记为 "Large"
- 使用不同的大型钻头再重复 4 次
5.4 训练图像最佳实践
| 最佳实践 | 重要原因 |
|---|---|
| 使用不同的样本 | 提升模型的泛化能力 |
| 变换方向 | 处理实际场景中的定位变化 |
| 包含边缘情况 | 更好地检测类别之间的边界 |
| 保持光照一致 | 减少与光照相关的误差 |
| 至少 5 张图像 | 提供充足的训练数据 |
5.5 检查并验证标签
- 仔细检查所有已标注的图像
- 确保类别分配正确
- 移除任何标注错误的示例
5.6 开始模型训练
- 点击
Train Classification Model - 选择训练模式:
- Fast: 用于测试的快速训练(2-5 分钟)
- Accurate: 生产级质量训练(10-20 分钟)
- 选择迭代次数:
- 迭代次数越多 = 准确率越高
- 迭代次数越多 = 训练时间越长
- 点击
Start Training
5.7 监控训练进度
训练进度对话框显示:
- 当前迭代次数
- 训练准确率百分比
- 预计完成时间
训练控制:
- Abort Training: 在需要时停止训练
- Finish Training Early: 当准确率足够时停止
训练提示:
- 当达到目标准确率时,训练会自动停止
- 85% 以上的准确率通常适合生产使用
- 如果准确率较低,您可以使用更多图像重新训练
✅ 检查点: 您的模型应达到 >85% 的训练准确率。
第 6 步:测试您的分类器
6.1 访问实时预览
- 训练完成后,点击
Live Preview - 将不同的钻头放置在 ROI 中
- 观察分类结果:
- 预测的类别名称
- 置信度百分比
- 分类耗时
6.2 验证测试
系统性地测试每个类别:
| 测试类型 | 预期结果 | 失败时的操作 |
|---|---|---|
| 已知小型钻头 | 分类为 "Small",置信度 >80% | 添加更多训练图像 |
| 已知中型钻头 | 分类为 "Medium",置信度 >80% | 检查标注准确性 |
| 已知大型钻头 | 分类为 "Large",置信度 >80% | 使用更多示例重新训练 |
| 空 ROI | 无分类或低置信度 | 调整置信度阈值 |
6.3 分类问题故障排除
| 问题 | 可能原因 | 解决方案 |
|---|---|---|
| 置信度低 | 训练数据不足 | 添加更多训练图像 |
| 分类错误 | 图像质量差 | 改善光照/对焦 |
| 结果不一致 | ROI 中包含背景噪声 | 缩小 ROI 范围 |
| 类别混淆 | 物体外观相似 | 添加更多有区分度的示例 |
第 7 步:配置 Pass/Fail 逻辑
7.1 导航至 IO模块
在继续之前,确保所有 AI模块均已训练完成(绿色状态):
- 在面包屑菜单中点击 "IO Block",或
- 从程序编辑器中选择 "Configure I/O"
7.2 定位分类逻辑节点
- 找到 "Classification Block Logic Node"(紫色节点)
- 如果缺失: 从左侧节点菜单中拖动添加
节点颜色: 紫色节点代表用于 AI 操作的 Overview 逻辑模块。
7.3 配置分类逻辑
- 双击分类逻辑节点
- 配置设置:
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 部署逻辑配置
- 点击右上角的
Done - 点击 Node-RED 编辑器右上角的
Deploy - 验证部署成功消息
第 8 步:最终测试与验证
8.1 端到端测试
测试完整的检测工作流程:
- 将测试对象放置到检测区域
- 触发检测(手动或自动)
- 验证结果:
- 显示正确的分类
- 正确的通过/失败 指示
- 一致的时序性能
8.2 生产验证检查清单
| 测试用例 | 预期结果 | ✓ |
|---|---|---|
| 目标类别对象 | 通过结果 | ☐ |
| 非目标类别对象 | 失败结果 | ☐ |
| 空 ROI | 失败结果 | ☐ |
| 部分遮挡对象 | 适当的置信度水平 | ☐ |
| 光照条件不佳 | 一致的性能表现 | ☐ |
8.3 性能优化
如果结果不令人满意:
- 添加更多训练图像(特别是边缘案例)
- 调整置信度阈值
- 改善光照一致性
- 优化 ROI 定位
- 使用 "Accurate" 模式重新训练
恭喜!
您已成功创建了第一个分类模型!您的 OV10i 系统现在可以:
- 自动识别不同的钻头尺寸
- 根据分类结果应用通过/失败 逻辑
- 为每个分类提供置信度分数
- 通过 I/O 控制与生产工作流集成
后续步骤
既然您已经掌握了单 ROI 分类,可以考虑探索:
高级分类技术
- 用于复杂零件的多 ROI 分类
- 用于详细分类的分层分类
- 组合检测(分类 + 缺陷检测)
生产集成
- 用于自动分拣的 PLC 通信
- 用于质量追踪的数据日志记录
- 用于多产品线的程序管理
模型优化
- 适用于类似产品的迁移学习
- 用于持续改进的主动学习
- 性能监控与重新训练计划
🔗 另请参阅
故障排除指南
常见问题与解决方案
| 问题 | 症状 | 解决方案 |
|---|---|---|
| 准确度不佳 | 分类经常出错 | 添加更多多样化的训练图像 |
| 性能缓慢 | 处理时间过长 | 缩小 ROI 大小,优化光照 |
| 结果不一致 | 同一对象产生不同结果 | 改进零件定位,检查对焦 |
| 误报 | 空 ROI 显示分类结果 | 提高置信度阈值 |
| 训练失败 | 模型无法成功训练 | 检查图像质量,确保每个类别至少 5 张图像 |
获取帮助
如果您遇到本教程未涵盖的问题:
- 查阅文档中的故障排除指南
- 查看系统日志以获取错误消息
- 联系 Overview 支持团队,并提供:
- 程序导出文件
- 显示问题的示例图像
- 系统配置详情
教程完成! 您现在已拥有一套可用于生产的分类系统。请记得定期验证性能,并根据需要重新训练模型,以长期保持准确性。