使用分类器(单个 ROI 示例)
本教程将带您在 OV20i 相机系统上创建您的第一个分类模型。您将学习如何设置一个单一 Region of Interest (ROI) 分类器,以自动识别并对不同类型的对象进行分类——本例中为不同尺寸的钻头。
您将构建的内容: 一个可工作的分类模型,能够自动识别并对不同钻头尺寸进行分拣,具备可配置的通过/不通过逻辑。
预计时长: 45-60 分钟
技能水平: 初级
前提条件: OV20i 相机系统已设置并连接
步骤 1:创建一个新的 Classification 配方
1.1 进入配方创建
- 进入 All Recipes 页面 在您的 OV20i 界面
- 点击
+ New Recipe
在右上角
1.2 配置配方设置
将出现 Add A New Recipe 模态框:
- 输入配方名称: 使用类似 "Drill_Bit_Classification_v1" 的描述性名称
- 命名提示: 为便于识别,包含对象类型和版本号
- 选择 Recipe Type: 从下拉菜单中选择 "Classification"
- 点击
OK
创建配方
1.3 激活配方
- 在 All Recipes 列表中定位新配方(它将显示为 "Inactive")
- 点击
Actions > Activate
在配方条目的右侧 - 点击
Activate
以确认
✅ 检查点: 您的配方现在应在配方列表中显示为 "Active"
步骤 2:访问配方编辑器
2.1 进入编辑模式
- 点击
Edit
位于您活跃的配方旁边 - 点击
Open Editor
以确认并启动配方编辑器
您现在将看到带有多个配置部分的配方编辑器界面。
步骤 3:配置相机成像设置
3.1 打开成像配置
- 在配方编辑器的左下角点击
Configure Imaging
3.2 调整对焦设置
对焦对准确分类至关重要:
- 在相机视野内放置钻头
- 通过以下任一方式进行对焦调整:
- 滑块控件,或
- 手动数值输入
- 测试不同的对焦位置,直到钻头边缘清晰锐利
对焦提示:
- 使用实时预览以实时查看对焦变化
- 将焦点放在最关键的特征上(钻头螺旋槽、尖端几何形状)
- 确保对象的整个深度范围都处于对焦状态
3.3 优化曝光设置
适当曝光可确保一致的图像质量:
- 使用滑块或手动输入调整曝光
- 目标是实现均衡的照明,其中:
- 物体细节清晰可见
- 无区域过曝(纯白)
- 阴影不过度遮挡重要特征
3.4 配置 LED 照明
照明会显著影响分类准确性:
- 根据对象选择 LED 光模式:
- Bright Field: 通用照明
- Dark Field: 突出边缘和表面缺陷
- Side Lighting: 显示纹理和高度变化
- 对于钻头,尝试:
- Bright Field 用于一般形状分类
- Side Lighting 以突出螺槽几何形状
3.5 调整 Gamma 设置
Gamma 控制图像对比度:
- Adjust Gamma 以增强特征可见性
- Lower values 变亮暗部
- Higher values 提高对比度
3.6 保存成像设置
- 在实时预览中查看所有设置
- 单击
Save Imaging Settings
以应用配置
✅ 检查点: 您的摄像头现在应能输出一致、光线充足的钻头图像。
Step 4: Configure Template Image and Alignment
4.1 Navigate to Alignment
- Click "Template Image and Alignment" 在面包屑菜单中,或
- Use the dropdown menu 选择 "Template Image and Alignment"
4.2 Skip Aligner (For This Tutorial)
由于钻头将被一致放置:
- 选择
Skip Aligner
- 点击
Save
以应用更改
何时使用 Aligner: 当部件到达的位置或方向不同寻常时,请使用 Align er。对于本教程,我们假设部件放置保持一致。
Step 5: Set Up Inspection ROI
5.1 Navigate to Inspection Setup
- Click "Inspection Setup" 在面包屑菜单中
5.2 Define Region of Interest
ROI 定义分类将发生的位置:
- 在相机视图中放置钻头
- 拖动 ROI 顶点 以框住钻头
- 确保 ROI:
- 完全包含钻头
- 排除不必要的背景
- 对于你最大的钻头变体,ROI 需足够大
5.3 ROI Best Practices
Do | Don't |
---|---|
包含所有重要特征 | 将 ROI 设得太大(包含噪声) |
在对象周围留出小边框 | 截断对象的部分 |
将对象的预期位置居中 | 在一个 ROI 中包含多个对象 |
保持相同图像的 ROI 大小 | 在捕获之间更改 ROI |
5.4 Save ROI Configuration
- 在不同钻头尺寸下验证 ROI 位置
- 点击
Save
以应用 ROI 设置
检查点: 无论钻头的具体尺寸如何,ROI 应始终能够框住钻头。
Step 6: Train Classification Model
6.1 Navigate to Classification Block
- Click "Classification Block" 在面包屑菜单中
6.2 Create Classification Classes
You'll create classes for different drill bit sizes:
Example Classes:
- Small Bits (1-3mm)
- Medium Bits (4-6mm)
- Large Bits (7-10mm)
6.3 Capture Training Images
For each class, capture at least 5 different images:
Class 1: Small Bits
- Place a small drill bit in the ROI
- Click capture to take training image
- Label the image as "Small"
- Repeat with 4 more small bits (different orientations/positions)
Class 2: Medium Bits
- Place a medium drill bit in the ROI
- Capture and label as "Medium"
- Repeat 4 more times with different medium bits
Class 3: Large Bits
- Place a large drill bit in the ROI
- Capture and label as "Large"
- Repeat 4 more times with different large bits
6.4 Training Image Best Practices
Best Practice | Why Important |
---|---|
Use different examples | 提高模型泛化能力 |
Vary orientations | 应对真实世界的定位变化 |
Include edge cases | 更好地边界检测(类别之间) |
Maintain consistent lighting | 降低对照明依赖的错误 |
5+ images minimum | 提供充分的训练数据 |
6.5 标签复核与验证
- 请再次核对所有标注的图像
- 确保正确的类别分配
- 移除任何错误标注的示例
6.6 启动模型训练
- 点击
Train Classification Model
- 选择训练模式:
- Fast: 用于测试的快速训练(2-5分钟)
- Accurate: 生产级训练(10-20分钟)
- 选择迭代次数:
- More iterations = Better accuracy
- More iterations = Longer training time
- 点击
Start Training
6.7 监控训练进度
训练进度模态框显示:
- 当前迭代次数
- 训练准确度百分比
- 预计完成时间
训练控制:
- Abort Training: 如有需要,停止训练
- Finish Training Early: 当达到足够的准确度时停止
训练提示:
- 目标准确度达到时,训练将自动停止
- 85% 以上的准确度通常适用于生产使用
- 如果准确度较低,可以使用更多图像重新训练
✅ Checkpoint: 您的模型应达到 >85% 的训练准确度。
Step 7: 测试分类器
7.1 访问 Live Preview
- 在训练完成后点击
Live Preview
- 在 ROI 中放置不同的 drill bits
- 观察分类结果:
- 预测的类别名称
- 置信度百分比
- 分类时间
7.2 验证测试
系统地测试每个类别:
测试类型 | 预期结果 | 失败时的处理 |
---|---|---|
已知小位 | 分类为 "Small" >80% 置信度 | 添加更多训练图像 |
已知中位 | 分类为 "Medium" >80% 置信度 | 审查标注准确性 |
已知大位 | 分类为 "Large" >80% 置信度 | 使用更多示例重新训练 |
空 ROI | 无分类或低置信度 | 调整置信阈值 |
7.3 分类问题排除
问题 | 可能原因 | 解决方案 |
---|---|---|
低置信度 | 训练数据不足 | 添加更多训练图像 |
错误的分类 | 图像质量差 | 提高照明/对焦 |
结果不一致 | ROI 包含背景噪声 | 减小 ROI 大小 |
类别混淆 | 外观相似的对象 | 添加更多区分性样本 |
Step 8: 配置通过/不通过逻辑
8.1 进入 IO Block
在继续之前,请确保所有 AI 块已完成训练(绿状态):
- 在面包屑菜单中点击 "IO Block", 或
- 从 Recipe Editor 选择 "Configure I/O"
8.2 定位 Classification Logic Node
- 找到 "Classification Block Logic Node"(紫色节点)
- 如果缺失: 从左侧的节点菜单拖拽
节点颜色: 紫色节点表示 AI 操作的 Overview Logic Blocks。
8.3 配置 Classification Logic
- 双击 Classification Logic Node
- 配置设置:
ROI 选择
- 从 "Inspection Region" 下拉列表中选择你的 ROI
置信度阈值
- 设置置信度阈值(通常 70-85%)
- 更高阈值 = 更严格的分类
- 较低阈值 = 更宽松的分类
目标类别选择
- 为“通过”结果选择目标类别
- **示例:**仅应通过 Medium
多个 ROI 逻辑(高级)
- 如有需要,添加更多 ROIs
- **选择逻辑:**必须通过“Any”或“All”规则
8.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
8.5 部署逻辑配置
- 在右上角点击
Done
- 在 Node-RED 编辑器的右上角点击
Deploy
- 验证部署成功信息
第9步:最终测试与验证
9.1 端到端测试
测试完整的检查工作流:
- 在检查区域放置测试对象
- 触发检查(手动或自动)
- 验证结果:
- 正确的分类结果将显示
- 正确的通过/不通过指示
- 一致的时序性能
9.2 生产验证清单
测试用例 | 预期结果 | ✓ |
---|---|---|
目标类别对象 | 通过结果 | ☐ |
非目标类别对象 | 失败结果 | ☐ |
空 ROI | 失败结果 | ☐ |
部分遮挡对象 | 适当的置信度水平 | ☐ |
照明条件差 | 一致的性能 | ☐ |
9.3 性能优化
如果结果不令人满意:
- 添加更多训练图像(尤其是边缘情况)
- 调整置信度阈值
- 改善照明一致性
- 优化 ROI 定位
- 在“Accurate”模式下重新训练
恭喜!
您已成功创建了第一个分类模型!您的 OV20i 系统现在可以:
- 自动识别不同的钻头尺寸
- 基于分类结果应用通过/不通过逻辑
- 为每个分类提供置信分数
- 通过 I/O 控制与生产工作流集成
下一步
现在您已经掌握了单 ROI 分类,可以考虑探索:
高级分类技术
- Multi-ROI classification 适用于复杂部件
- Hierarchical classification 用于详细分类
- Combination inspection(classification + defect detection)
生产集成
- PLC communication 用于自动分拣
- Data logging 用于质量跟踪
- Recipe management 用于多产品线
模型优化
- Transfer learning 适用于相似产品
- Active learning 用于持续改进
- Performance monitoring 与重新训练计划
🔗 相关链接
故障排除指南
常见问题与解决方案
Issue | Symptom | Solution |
---|---|---|
准确性较差 | 分类结果经常错误 | 添加更多多样化的训练图像 |
性能慢 | 处理时间较长 | 减小 ROI 大小,优化照明 |
结果不一致 | 同一对象产生不同的结果 | 改善工件定位,检查对焦 |
误报 | 空 ROI 显示分类结果 | 提高置信度阈值 |
训练失败 | 模型无法成功训练 | 检查图像质量,确保每个类别不少于 5 张图像 |
获取帮助
如果遇到本教程未覆盖的问题:
- 在文档中查看故障排除指南
- 查看系统日志以获取错误信息
- 联系 Overview 支持,并提供:
- 配方导出文件
- 显示问题的示例图像
- 系统配置详细信息
教程完成! 现在您拥有一个可用于生产的分类系统。请记得定期验证性能,并在需要时重新训练模型,以维持长期的准确性。