训练分类器
本指南演示如何在 OV20i 摄像头系统上配置并训练 classification 模型。当需要基于视觉特征将对象自动分成不同类别时,请使用本流程。
When to Use Classification: 按类型、尺寸、颜色或状态对部件进行分拣;识别不同的产品变体;具有多种可接受类别的质量控制。
先决条件
- 已配置成像设置的活动配方
- 模板图像和对齐已完成(或跳过)
- 已定义的 Inspection ROI(s)
- 用于检测的每个类别的样本对象
Step 1: 访问 Classification Block
1.1 导航至 Classification
- 点击 breadcrumb 菜单中的 "Classification Block",或
- 在导航栏的下拉菜单中选择
1.2 验证先决条件
确保以下区块显示为绿色状态:
- ✅ 成像设置
- ✅ 模板与 Alignment(或跳过)
- ✅ 检测设置
Step 2: 创建 Classification 类别
2.1 定义您的类别
- 在 "Inspection Types" 下点击
Edit
- 为要检测的每个类别添加类别
2.2 为每个类别进行配置
对于每个类别:
- 输入类别名称: 使用具描述性的名称(例如“Small”、“Medium”、“Large”)
- 选择类别颜色: 选择用于视觉识别的互不相同的颜色
- 添加描述: 关于该类别的可选详细信息
- 点击
Save
2.3 类命名最佳实践
良好名称 | 较差名称 |
---|---|
Small_Bolt, Medium_Bolt, Large_Bolt | Type1, Type2, Type3 |
Red_Cap, Blue_Cap, Green_Cap | Color1, Color2, Color3 |
Good_Part, Defective_Part | Pass, Fail |
Screw_PhillipsHead, Screw_Flathead | A, B |
Step 3: 捕获训练图像
3.1 图像捕获流程
对于每个类别,至少捕获 5 张图像(推荐 10 张以上):
- 将对象放置在检测区域中,以代表该类别
- 验证对象是否在 ROI 边界内
- 点击
Capture
以拍摄训练图像 - 从下拉菜单中选择相应的类别
- 点击
Save
以存储标注图像 - 重复,使用同一类别的不同示例
3.2 训练数据要求
类别 | 最小图像数 | 推荐图像数 | 说明 |
---|---|---|---|
每个类别 | 5 | 10-15 | 图像越多,精度越高 |
整个数据集 | 15 张以上 | 30-50 张以上 | 在所有类别之间保持平衡 |
边界情况 | 每个类别 2-3 张 | 每个类别 5 张以上 | 边界样本 |
3.3 训练图像最佳实践
应:
- 在每个类别中使用不同的示例
- 改变对象方向和位置
- 包含良好照明条件
- 捕捉边界情况和边界示例
- 维持一致的 ROI 框架
不要:
- 重复使用相同对象
- 在一个 ROI 内包含多个对象
- 在单张图像中混合类别
- 使用模糊或光照差的图像
- 捕获之间改变 ROI 大小
3.4 质量控制
After capturing each image:
捕获每张图像后:
-
Review image quality in preview
-
在预览中检查图像质量
-
Verify correct class label assignment
-
验证正确的类别标签分配
-
Delete poor quality images using
Delete
button -
使用 Delete 按钮删除质量较差的图像
-
Retake if necessary
-
如有需要重新拍摄
第 4 步:配置训练参数
4.1 访问训练设置
- Click
Train Classification Model
button - 点击
Train Classification Model
按钮
4.2 选择训练模式
Choose based on your needs:
根据您的需求进行选择:
训练模式 | 时长 | 精度 | 使用场景 |
---|---|---|---|
快速 | 2-5 分钟 | 适合测试 | 初步模型验证 |
平衡 | 5-15 分钟 | 生产就绪 | 大多数应用 |
高精度 | 15-30 分钟 | 最高精度 | 关键应用 |
4.3 设置迭代次数
Manual iteration setting:
手动迭代设置:
-
Low (50-100): Quick testing, basic accuracy
-
低(50-100): 快速测试,基础精度
-
Medium (200-500): Production quality
-
中等(200-500): 生产质量
-
High (500+): Maximum accuracy, slower training
-
高(500+): 最大精度,训练较慢
4.4 高级设置(可选)
Batch Size:
批量大小:
-
Smaller batches: More stable training, slower
-
较小的批次: 训练更稳定,但更慢
-
Larger batches: Faster training, may be less stable
-
较大的批次: 训练更快,稳定性可能较差
Learning Rate:
学习率:
-
Lower values: More stable, slower learning
-
较低数值: 更稳定,学习速度较慢
-
Higher values: Faster learning, risk of instability
-
较高数值: 学习更快,存在不稳定风险
Recommendation: Use default settings unless you have specific performance requirements.
建议: 除非您有具体性能需求,否则请使用默认设置。
第 5 步:启动训练过程
5.1 初始化训练
-
Review training configuration
-
查看训练配置
-
Click
Start Training
-
点击
Start Training
-
Monitor progress in training modal
-
在训练模态中监控进度
5.2 训练进度指示
Monitor these metrics:
监控以下指标:
-
Current Iteration: Progress through training cycles
-
当前迭代: 训练循环的进度
-
Training Accuracy: Model performance on training data
-
训练精度: 模型在训练数据上的表现
-
Estimated Time: Remaining training duration
-
预计时间: 剩余训练时长
-
Loss Value: Model error (should decrease over time)
-
损失值: 模型误差(应随时间下降)
5.3 训练控制
Available actions during training:
训练过程中的可用操作:
-
Abort Training: Stop training immediately
-
中止训练: 立即停止训练
-
Finish Early: Stop when current accuracy is sufficient
-
提前完成: 当前精度达到要求时停止
-
Extend Training: Add more iterations if needed
-
扩展训练: 如有需要,增加迭代次数
5.4 训练完成
Training stops automatically when:
训练在以下情况下自动停止:
-
Target accuracy reached (typically 95%+)
-
达到目标精度(通常为 95% 及以上)
-
Maximum iterations completed
-
达到最大迭代次数
-
User manually stops training
-
用户手动停止训练
第 6 步:评估模型性能
6.1 查看训练结果
Check final metrics:
检查最终指标:
-
Final Accuracy: Should be >85% for production use
-
最终准确度: 用于生产的应高于 85%
-
Training Time: Note duration for future reference
-
训练时间: 记录以备将来参考
-
Convergence: Verify accuracy stabilized
-
收敛性: 验证准确性是否稳定
6.2 模型质量指标
准确率区间 | 质量等级 | 建议 |
---|---|---|
95%+ | 出色 | 生产就绪 |
85-94% | 良好 | 适用于大多数应用 |
75-84% | 公平 | 考虑更多训练数据 |
<75% | 较差 | 使用更多/更好的图像重新训练 |
6.3 解决性能差的故障排除
问题 | 可能原因 | 解决方案 |
---|---|---|
准确率低 (<75%) | 训练数据不足 | 添加更多带标签的图像 |
训练没有改进 | 图像质量差 | 提高照明/对焦 |
类别混淆 | 外观相似的对象 | 添加更多具有辨识度的示例 |
过拟合 | 每个类别的图像过少 | 在各类别之间平衡数据集 |
步骤 7:测试分类性能
7.1 实时测试
- 点击
Live Preview
以访问实时测试 - 将测试对象放置在检测区域
- 观察分类结果:
- 预测的类别名称
- 置信度百分比
- 处理时间
7.2 验证测试
系统化验证过程:
测试对象 | 期望类别 | 实际结果 | 置信度 | 通过/不通过 |
---|---|---|---|---|
已知类别 A 对象 | Class A | _____ | ____% | ☐ |
已知类别 B 对象 | Class B | _____ | ____% | ☐ |
边界示例 | Class A 或 Class B | _____ | ____% | ☐ |
未知对象 | 低置信度 | _____ | ____% | ☐ |
7.3 性能验证
验证以下方面:
- 准确性: 对已知对象的正确分类
- 置信度: 对清晰实例具有较高置信度(>80%)
- 一致性: 对同一对象的可重复结果
- 速度: 适用于您的应用的处理时间
步骤 8:模型优化
8.1 如果性能不满意
迭代改进过程:
- 识别问题区域:
- 哪些类别易混淆?
- 哪些对象被错误分类?
- 置信度水平是否合适?
- 添加有针对性的训练数据:
- 更多易混淆类别的示例
- 边缘情况和边界示例
- 不同光照/位置条件
- 重新训练模型:
- 使用 "Accurate" 模式以获得更好性能
- 增加迭代次数
- 监控准确度的提升
8.2 高级优化
适用于关键应用:
- 数据增强: 使用多样的光照和位置
- 迁移学习: 从类似训练模型开始
- 集成方法: 结合多个模型
- 定期重新训练: 使用新生产数据更新
步骤 9:最终配置
9.1 保存模型
- 验证满意的性能
- 训练完成时模型自动保存
- 记录模型版本 以便文档
9.2 文档
记录如下细节:
- 训练日期与版本
- 每个类别的图像数量
- 训练模式与使用的迭代次数
- 最终达到的准确度
- 任何特殊注意事项
9.3 备份配置
- 导出 recipe 以作备份
- 如有需要,单独保存训练图像
- 记录模型参数
成功!您的分类器已就绪
您的训练分类模型现在可以:
- 自动将对象分类到已定义的类别
- 为每个预测提供置信度分数
- 实时处理用于生产的图像
- 与 I/O 逻辑集成以实现自动化决策
运行维护
例行模型更新
- 随时间监控性能
- 按需添加新的训练数据
- 定期重新训练以维持准确性
- 更新类别以适应新产品变体
性能监控
- 在生产中跟踪准确度指标
- 识别模型性能漂移
- 根据性能下降安排重新训练
下一步
在训练完分类器后:
- 配置 I/O 逻辑 以进行通过/不通过 决策
- 在 IO Block 中设置生产工作流
- 对完整检测系统进行端到端测试
- 部署到生产环境
常见误区
陷阱 | 影响 | 防止措施 |
---|---|---|
训练数据不足 | 准确性低 | 每个类别使用 10 张以上图像 |
类别不平衡 | 预测偏差 | 各类别图像数量相等 |
图像质量差 | 结果不一致 | 优化照明和对焦 |
类别过于相似 | 分类混淆 | 选择明确且彼此区分的类别定义 |
未进行验证测试 | 生产失败 | 始终使用未见过的对象进行测试 |