AI 驱动文档
您想了解什么?
使用分割器
本教程将指导您使用OV20i的AI驱动分割功能创建完整的分割检测。您将学习如何通过逐像素教会相机识别和测量铅笔痕迹、划痕或其他缺陷等特定特征。
查看此主题的实际操作:如何在几分钟内创建分割配方
OV10i不具备分割功能。
您将学习:
- 如何从头到尾设置分割配方
- 如何训练AI模型以识别特定特征
- 如何根据分割结果配置合格/不合格逻辑
- 如何优化分割性能以便于生产使用
实际应用: 本教程使用铅笔痕迹检测作为示例,但相同的原理适用于检测划痕、裂缝、污染或任何其他可以视觉区分的特征。
先决条件
- 已设置并连接的OV20i相机系统
- 具有您想要检测特征的样本部件(例如,带有铅笔痕迹的纸张)
- 对AI训练概念的基本理解
- 访问配方编辑器和Node-RED功能
教程概述
我们将构建的内容: 一个能够检测纸张上铅笔痕迹并根据检测到的标记数量确定合格/不合格的分割模型。
所需时间: 45-60分钟(包括训练时间)
学习的技能: AI模型训练、分割标注、合格/不合格逻辑配置
第一步:创建新的分割配方
1.1 开始新的配方
- 从所有配方页面,点击右上角的**"+ 新建"**
- 将出现添加新配方的模态框
- 输入您配方的描述性名称(例如,“Pencil_Mark_Detection”)
- 从配方类型下拉菜单中选择**“分割”**
- 点击**“确定”**以创建新配方
为什么选择分割? 与识别整个对象的分类不同,分割在图像中查找并测量特定特征,非常适合缺陷检测、污染分析或测量覆盖区域。

1.2 激活并打开配方编辑器
- 您的新配方将在所有配方页面上标记为**“未激活”**
- 选择配方右侧的**“激活”**
- 点击**“激活并转到编辑器”**以确认并启动配方编辑器
检查点: 您应该在面包屑菜单中看到配方编辑器界面及您的分割配方名称。
第二步:配置相机成像
2.1 访问成像设置
- 在配方编辑器中,点击左下角的**“配置成像”**
- 这将打开成像配置页面,您将在此优化相机设置

2.2 优化焦距设置
- 将带有铅笔标记的样本纸放置在相机的视野中
- 使用 焦距滑块 使铅笔标记达到清晰聚焦
- 您也可以手动输入焦距值以提高精度
- 使用 焦距视图(如果可用)查看边缘高亮和焦距评分
焦距提示:
- 聚焦于缺陷将出现的表面
- 确保铅笔标记清晰且轮廓分明
- 更高的焦距评分表示更好的聚焦质量
2.3 配置曝光设置
- 调整 曝光 滑块以获得适当的亮度
- 铅笔标记应清晰可见且不应过度曝光纸张
- 从自动设置开始,根据需要进行微调
- 监控实时预览以实时查看变化
曝光指南:
- 铅笔标记应与纸张有良好的对比度
- 避免过度曝光,以免冲淡细微标记
- 确保整个检测区域的照明一致
2.4 设置 LED 照明
- 选择适合您应用的 LED 灯光模式
- 对于铅笔标记,均匀的照明通常效果最佳
- 调整 LED 灯光强度 以最小化阴影和眩光
- 如果反射是一个问题,请测试不同的模式
2.5 调整伽玛和对比度
- 微调 伽玛 以增强标记与背景之间的对比度
- 更高的伽玛可以使细微的铅笔标记更清晰可见
- 较低的伽玛可以减少干净区域的噪声
- 平衡伽玛以优化缺陷可见性和背景清晰度
2.6 保存成像设置
- 一旦所有设置优化完成,点击 "保存成像设置"
- 您的相机配置现在已保存为此配方
- 实时预览应显示清晰、对比度良好的图像
检查点: 您的相机应能生成清晰的图像,其中铅笔标记与纸张背景易于区分。
Step 3: 配置模板和对齐
3.1 导航到模板图像和对齐
- 点击面包屑菜单中的 配方名称 返回配方编辑器
- 从菜单中选择 "模板图像和对齐"
3.2 跳过对齐器以进行本教程
- 由于我们正在检测整个纸张上的特征,请点击 "跳过对齐器"
- 这将禁用基于位置的对齐并使用完整图像
- 点击 "保存" 以应用更改
何时使用对齐器: 当您需要检测可能移动或旋转的部件上特定位置的特征时,请启用对齐器。对于像铅笔标记这样的全纸检查,跳过对齐器通常是合适的。

Step 4: 设置检测区域
4.1 导航到检测设置
- 返回配方编辑器并选择 "检测设置"
- 这是您将定义要分析的图像区域的地方
4.2 配置兴趣区域(ROI)
- 您将看到相机视野的预览
- 拖动 ROI 框的角 以调整其大小和位置
- 对于铅笔标记检测,通常覆盖整个纸张区域
- 确保 ROI 包含所有可能出现铅笔标记的区域
ROI 最佳实践:
- 包括所有可能发生缺陷的区域
- 排除不应分析的边缘或背景区域
- 使 ROI 足够大,以捕捉部件定位的变化
- 避免包含文本、徽标或其他预期标记
4.3 保存 ROI 配置
- 一旦您的 ROI 正确定位,请点击 "保存"
- 检查区域现在已为您的分割模型定义
第 5 步:标记并训练您的模型
5.1 导航到标记和训练
- 返回配方编辑器并选择 "标记和训练"
- 在这里,您将教 AI 识别铅笔标记的样子

5.2 配置检查类别
- 在 检查类型 下,点击 "编辑"
- 将类别重命名为 "铅笔标记"(或您特定的缺陷类型)
- 选择一种独特的 颜色 来可视化检测到的标记
- 点击 "保存" 以应用更改
5.3 捕获训练图像
- 拍摄至少 10 张 带有不同铅笔标记的纸张图像
- 变化训练示例:
- 不同的铅笔标记大小和形状
- 浅色和深色标记
- 纸张上的不同位置
- 不同的标记密度
训练图像提示:
- 包括细微和明显的标记
- 捕获您将遇到的各种光照条件
- 每张图像中包括没有标记的干净区域
- 确保图像代表生产条件
5.4 注释训练图像
- 对于每张训练图像,使用 画笔工具 在铅笔标记上描绘
- 仅绘制铅笔标记 - 避免标记纸张或其他特征
- 在注释时要准确但全面
- 完成每张图像后点击 "保存注释"
注释最佳实践:
- 在标记“铅笔标记”时保持一致
- 包括完整的标记,而不仅仅是部分
- 不要标记预期的标记,如文本或徽标
- 使用稳定、细致的画笔笔触以确保准确的边界
5.5 审查您的注释
- 仔细检查所有标记的图像 以确保准确性
- 查找遗漏的标记或标记错误的区域
- 重新注释任何需要更正的图像
- 高质量的注释会导致更好的模型性能
第 6 步:训练分割模型
6.1 开始训练过程
- 一旦您标记了至少 10 张图像,请点击 "返回实时"
- 点击 "训练分割模型"
- 输入训练的 迭代次数
迭代指南:
- 初始训练时从 100-200 次迭代开始
- 更多的迭代通常会提高准确性,但需要更长时间
- 监控训练进度并根据需要进行调整
- 在准确性要求与训练时间之间取得平衡

6.2 监控训练进度
- 点击 "开始训练" 以开始过程
- 将出现一个训练进度模态,显示:
- 当前迭代次数
- 训练准确性百分比
- 剩余估计时间
6.3 训练控制选项
在训练期间,您可以:
- 中止训练 - 如果需要进行更改,请停止
- 提前结束训练 - 当准确性足够时停止
- 监控进度 - 观察准确性随迭代提高
训练提示:
- 当达到目标准确性时,训练将自动完成
- 更高的准确性百分比表示更好的模型性能
- 如果准确性停滞,您可能需要更多的训练数据
6.4 评估训练结果
- 训练完成后,查看最终准确率
- 点击 "实时预览" 查看实时分割结果
- 使用新样本测试以验证模型性能
成功指标:
- 笔迹以您选择的颜色高亮显示
- 干净区域保持未标记
- 不同标记类型的检测一致
- 模型对新未见样本反应良好
第 7 步:配置合格/不合格逻辑
7.1 导航到 I/O 块
- 返回配方编辑器,点击 "配置 I/O" 或从面包屑菜单中选择 "IO 块"
7.2 设置 Node-RED 流程
- 删除现有的分类块逻辑 节点
- 从左侧调色板中拖入:
- 所有块输出 节点(如果尚未存在)
- 函数 节点
- 最终合格/不合格 节点
- 连接节点:所有块输出 → 函数 → 最终合格/不合格

7.3 配置合格/不合格逻辑
双击 函数 节点并选择以下逻辑示例之一:
选项 1:如果未检测到缺陷则合格
// Pass if no pencil marks are found
const allBlobs = msg.payload.segmentation.blobs;
const results = allBlobs.length <1;
msg.payload = results;
return msg;
选项 2:如果所有标记都很小则合格
// Pass if all marks are smaller than threshold
const threshold = 500; // pixels
const allBlobs = msg.payload.segmentation.blobs;
const allUnderThreshold = allBlobs.every(blob => blob.pixel_count < threshold);
msg.payload = allUnderThreshold;
return msg;
选项 3:如果总覆盖率低则合格
// Pass if total marked area is below threshold
const threshold = 5000; // total pixels
const allBlobs = msg.payload.segmentation.blobs;
const totalArea = allBlobs.reduce((sum, blob) => sum + blob.pixel_count, 0);
msg.payload = totalArea < threshold;
return msg;
7.4 部署并测试逻辑
- 点击 "完成" 保存函数
- 点击 "部署" 激活逻辑
- 导航到 HMI 测试您的合格/不合格逻辑
测试您的逻辑:
- 使用干净的纸张测试(应合格)
- 使用轻微标记的纸张测试(应根据您的标准合格/不合格)
- 使用重度标记的纸张测试(应不合格)
- 验证结果是否符合您的预期
第 8 步:优化和验证
8.1 使用生产样本测试
- 通过您的检测运行多个测试样本
- 验证检测准确率是否满足您的要求
- 检查合格/不合格逻辑是否正常工作
- 记录任何问题或边缘情况
8.2 微调模型性能
如果检测不一致:
- 添加更多具有不同示例的训练图像
- 改善注释质量和一致性
- 调整成像设置以获得更好的对比度
- 进行额外迭代重新训练
如果合格/不合格逻辑需要调整:
- 修改您 Node-RED 函数中的阈值
- 测试不同的逻辑方法
- 考虑多种标准以进行复杂决策
- 根据生产要求进行验证
8.3 生产验证
- 在实际条件下使用真实生产零件测试
- 与质量团队验证 以确保标准符合要求
- 记录性能指标 如检测准确率和假阳性率
- 设置监控 以跟踪性能随时间的变化
第 9 步:理解分割结果
9.1 分割数据结构
您的分割结果包括:
- Blobs:单个检测到的特征(铅笔标记)
- 像素计数:每个检测到的特征的大小
- 位置信息:特征被发现的位置
- 置信度分数:模型对每个检测的确定程度
9.2 使用分割数据
您可以基于以下内容创建复杂的合格/不合格逻辑:
- 检测到的缺陷数量
- 单个缺陷的大小(像素计数)
- 总缺陷面积(所有像素计数的总和)
- 缺陷位置(缺陷出现的位置)
- 缺陷形状特征(如果需要用于高级应用)
成功!您的分割模型已完成
您的 OV20i 分割检测现在可以:
✅ 自动检测图像中的铅笔标记(或您特定的特征)
✅ 测量检测到的特征的大小和数量
✅ 根据您的特定标准做出合格/不合格决策
✅ 提供关于每个检测到的特征的详细信息
✅ 适应标记大小、形状和位置的变化
关键要点
分割与分类:
- 分割 在图像中查找和测量特定特征
- 分类 识别整个物体或整体条件
- 使用分割进行缺陷检测、污染分析或覆盖测量
培训最佳实践:
- 高质量的标注比数量更重要
- 在您的训练集中包含多样化的示例
- 使用生产样本进行彻底测试
- 根据需要监控和重新训练
合格/不合格逻辑:
- 从简单标准开始,根据需要增加复杂性
- 使用边缘案例和临界样本测试逻辑
- 记录您的标准以保持一致性
- 考虑多个因素以做出稳健的决策
下一步
现在您已完成第一个分割模型:
- 应用于其他用例 - 尝试检测不同类型的缺陷或特征
- 与生产系统集成 - 连接到 PLC 或质量管理系统
- 设置数据收集 - 跟踪性能指标和检测统计
- 培训操作员 - 确保团队了解如何监控和维护系统
- 计划维护 - 安排定期模型更新和性能评审