AI 驱动文档
您想了解什么?
首个程序创建
本深度指南阐述了什么是程序,介绍了分类与分割之间的差异,并提供了创建程序的分步指导。同时还包括图像设置配置、模板图像捕获与对齐设置、ROI 优化、数据采集与 AI 训练,以及图像数据增强配置的详细演练。
观看该主题的实际操作:如何在几分钟内创建分割程序
学习目标
完成本深度指南后,您将了解:
- 什么是程序
- 分类与分割的区别——以及各自的使用场景
- 如何创建程序
- 如何配置图像设置
- 如何捕获模板图像并配置对齐器
- 什么是 ROI(感兴趣区域)以及如何优化它们
- 用于 AI 训练的数据采集
- 程序测试与验证
什么是程序?
- 一组已配置的指令集,用于告知相机如何检测特定零件或产品。
- 定义相机设置,包括曝光、增益和白平衡,以实现一致的图像捕获。镜头对焦和光圈通过 C-mount 镜头进行机械设置。
- 包括处理逻辑,例如 ROI 定义、对齐器、分类或分割类别。
- 存储输入/输出配置,以与自动化系统集成,实现通过/失败或高级信号。
- 可保存和重复使用,以确保跨班次、生产线或工厂的一致检测。
分类与分割
定义
- 分类:识别 ROI 中对象的类型
- 分割:定位并分析图像/ROI 中的区域
示例
| 图像分类 | 图像分割 | 图像分类 | 图像分割 |
|---|---|---|---|
| 什么是绵羊? | 哪些像素属于哪个对象? | 这个披萨是合格的还是有缺陷的? | 每片意大利辣香肠在哪里? |
![]() | ![]() | ![]() | ![]() |
关键对比
| 分类 | 分割 | |
|---|---|---|
| 速度 | 速度取决于图像设置和复杂度。在简单设置下通常高效快速 | 优化后可与分类一样快甚至更快,尤其是使用精简模型时 |
| 准确性 | 适用于整体通过/失败或零件类型识别 | 对精确缺陷定位具有更高准确性 |
| 复杂度 | 简单易于设置和维护;参数较少 | 复杂 – 需要更多数据、标注和调优 |
| 数据需求 | 低 – 所需标注图像较少 | 中等 – 需要大量带有详细像素级精确标注的图像 |
| 使用场景 | 零件存在、方向、基本质量检查、零件是否插入等。 | 表面缺陷、精细特征检测、多缺陷检测、计数、测量等。 |
创建和导出程序
使用程序旁边的 Export Recipe 按钮导出单个程序。
使用屏幕顶部的 Export 按钮一次导出多个程序。

使用屏幕顶部的 Import 按钮导入程序。

请注意: 每个程序一次仅支持一种检测类型,即分割或分类。请在开始设置前选择正确的类型。
图像设置
图像旋转
- 功能说明: 旋转图像(0° 或 180°)。
- 使用场景: 如果相机以某个角度安装,但您希望图像在界面中以另一方向显示。
如果需要将图像旋转 90°,请旋转相机。
增益
- 功能说明: 以数字方式人为地提亮图像(类似相机上的 ISO)。
- 效果:
- 增益越高 → 图像越亮,但会增加噪点(颗粒感)。
- 增益越低 → 图像越干净,但需要良好的光照。
| 高增益 | 低增益 |
|---|---|
![]() | ![]() |
| 更明亮但噪点更多 | 更暗但噪点更少 |
只有在无法调整曝光或光照的情况下才提高增益。
模板图像与对齐
跳过对齐器
- 功能说明: 在检测过程中关闭对齐步骤。
- 使用场景: 如果部件在图像中始终处于相同的位置和方向。
模板区域
- 功能说明: 定义用于对齐的模板图像区域。
- 矩形: 绘制矩形感兴趣区域。
- 圆形: 绘制圆形感兴趣区域。
- 忽略模板区域: 将某些区域排除在对齐之外,以避免干扰性图案或无关特征。
- 最佳用途: 帮助系统仅关注最具辨识度的部件特征,以实现精准对齐。
旋转范围

- 功能说明: 设置系统在将部件与模板匹配时可容忍的旋转角度(以度为单位)。
- 示例: 设置为 ±20° 允许部件轻微旋转但仍可被检测到。
- 调整时机: 如果部件在生产过程中容易发生旋转,则增大该值;对于方向高度一致的情况,则减小该值。
灵敏度
- 功能说明: 控制系统在实时图像与模板之间查找匹配的精细程度。
- 效果:
- 高灵敏度 → 可检测到更细微的细节,适用于复杂部件。
- 低灵敏度 → 减少误匹配,但可能会遗漏细微特征。
置信度阈值
- 含义: 设置系统接受检测所需的最低置信度分数。
- 效果:
- 阈值越高 → 误报越少,但可能会漏掉临界匹配。
- 阈值越低 → 检测数量增多,但误报风险随之上升。
从中等值开始,根据测试结果进行调整。
尺度不变
- 含义: 允许系统检测比原始模板图像略大或略小的部件。
- 何时启用: 当部件尺寸可能因定位、距离变化或制造公差而略有差异时。
实时预览图例

1. 一个可配置的边界框,用于定义触发期间要监控的相机视野 FOV 中的特定区域。
- 用途: 确保相机仅聚焦于相关区域,忽略不必要的背景区域。
- 最佳用途:
- 对于移动物体,确保部件完全保留在检测区域内。
- 通过减少需要分析的图像数据量来优化处理速度。
2. 一个可视化的红点,显示图像中所有已定义 ROI(感兴趣区域)的中心点。
- 用途: 帮助您相对于部件或相机视图对齐并定位搜索区域。
3. 绿色线条表示已检测到物体的边缘。
如果您看到线条变为红色,请尝试增大 ROI 尺寸、调整 ROI 或提高灵敏度。

ROI(感兴趣区域)的定义与优化
检测类型
- 含义: 定义正在执行的检测类型,并将相似的 ROI(感兴趣区域)分组。
- 示例: "Holes"用于检查部件上孔的存在、尺寸或质量。
- 主要功能:
- 添加检测类型: 为不同的检测需求创建新类别。
- ROI 数量: 显示当前分配给该检测类型的 ROI 数量。
变换

- 含义: 调整所选 ROI 的位置和几何形状,以实现精确的对齐和放置。
- 字段及其用途:
- 高度/宽度: 更改 ROI 的尺寸。
- X / Y: 沿水平(X)和垂直(Y)轴移动 ROI 的位置。
- 角度: 围绕 ROI 中心旋转。
- 最佳用途: 当您有重复图案(如多个相同的孔)时,可加快设置速度。
检测区域

- 功能说明: 模板图像中定义的所有 ROI 的列表。
- 功能特性:
- 添加检测区域: 手动创建新的 ROI。
- 忽略区域: 将特定区域排除在处理之外。
- 编辑: 保存、删除或取消。
- 锁定图标: 表示已锁定的 ROI,解锁前无法移动。
实时预览模式
- 功能说明: 在调整或添加 ROI 后显示实时反馈。
- 使用场景: 非常适合在设置过程中精细调整 ROI 的位置和大小。
测试按钮
- 功能说明: 基于旧图像运行回测以验证更改。
- 使用场景: 将当前结果与之前的设置进行比较,以验证准确性和一致性。
数据采集与 AI 训练
定义不同的检测类别,并根据每个 ROI 指定的检测类型为其添加标签(参见下方示例)。

使用标注工具为图像添加标签/标注。使用画笔类别下拉菜单选择要标注的类别。分割任务当前每个程序最多支持 10 个类别。

优质数据的重要性

-
垃圾进,垃圾出: AI 模型的效果取决于所提供的数据质量。质量差或不一致的数据会导致结果不准确。
-
多样性至关重要: 采集能够代表所有现实变化的数据:不同班次、光照条件、零件位置和表面状况。
-
质量重于数量: 一个规模较小但干净且标注良好的数据集,通常比一个庞大但噪声大或不一致的数据集表现更好。
标注基础:
- 分类: 将整幅图像或 ROI 标记为特定类别(例如"良好"、"损坏")。
- 分割: 以像素级精度对特定关注区域进行涂刷、勾勒或高亮标注(例如表面上的划痕位置)。
- 一致性: 使用一致的规则和定义进行标注,以避免训练过程中的混淆。

常见陷阱
- 数据不足: 样本过少会导致欠拟合,从而在实际应用中表现不佳。
- 类别不平衡: 某一类别的过度代表(例如"良好"零件很多但缺陷零件很少)会使模型产生偏差。
- 标注质量差: 错误、不一致或仓促的标注会导致准确率显著下降。
- 忽略环境变化: 当光照、零件方向或表面状况发生变化时未更新数据集,会导致准确率漂移。
- 未验证数据: 训练前跳过质量检查通常会导致时间浪费和返工。
数据增强
图像数据增强通过人为修改训练图像来提高模型的鲁棒性。它们模拟真实世界中的变化,如亮度变化、旋转或噪声,使模型在不同条件下都能表现良好。
颜色增强

亮度 (Brightness)
- 含义: 调整图像的明暗程度。
- 使用场景: 用于应对生产过程中光照的轻微变化。
对于稳定的设置使用 ±0.1;如果光照变化较大,可适当增加。
对比度 (Contrast)
- 含义: 改变明暗区域之间的差异。
- 使用场景: 适用于具有纹理或多样表面的部件,帮助模型适应视觉差异。
色相 (Hue)
- 含义: 轻微地调整色调。
- 使用场景: 适用于光照颜色(例如 LED 色温)可能随时间变化的场景。
饱和度 (Saturation)
- 含义: 调整颜色的强度。
- 使用场景: 帮助应对使图像看起来更暗淡或更鲜艳的光照变化。
几何增强

旋转范围 (Rotation Range)
- 含义: 在设定范围内(例如 ±20°)随机旋转图像。
- 使用场景: 适用于可能以略微旋转的位置出现的部件。
对于通常方向固定的部件,请避免过度旋转。
翻转 (Flip)
- 含义: 水平、垂直或同时翻转图像。
- 使用场景: 适用于对称的部件,或在搬运过程中方向可能翻转的情况。
光照与颜色模拟

Planckian
- 含义: 模拟色温变化(例如暖光或冷光)。
- 使用场景: 应对不同班次或光源不同的工作单元。
高斯噪声 (Gaussian Noise)
- 含义: 为图像添加细微噪声。
- 使用场景: 如果您的生产环境中存在少量视觉噪声或相机传感器伪影,可提高鲁棒性。
运动模拟

运动模糊 (Motion Blur)
- 含义: 模拟捕获过程中部件移动所产生的轻微模糊。
- 使用场景: 对于可能出现运动模糊的高速产线至关重要。
概率 (prob)
- 含义: 设置训练期间应用每种数据增强的可能性。
- 示例: 0.50 = 有 50% 的概率将该变化应用于任何给定的训练图像。
大多数数据增强建议从 0.5 开始,并根据实际变化情况进行调整。
训练参数(分割)
训练参数(也称为超参数)是控制机器学习模型如何从数据中学习的设置。
学习率 (Learning Rate)
- 定义: 控制模型在训练期间更新其内部权重的速度。
- 值 (0.003): 学习率越高,模型学习得越快,但过高可能导致不稳定或精度较差。
- 滑块范围: 从 10^-4(非常慢)到 10^-1(非常快)。
通常,介于 0.001–0.01 之间的值是分割任务的良好起点。
ROI (Region of Interest) 大小
- 定义: 定义训练期间使用的图像区域大小(宽 × 高)。
- 未勾选: 默认情况下,模型会根据您的数据自动确定 ROI。
- 勾选时: 如果需要一致的输入尺寸(例如,所有图像都裁剪为 256×256 像素),您可以手动设置宽度和高度。
当您的数据集中包含不同大小的图像,并且希望获得一致的输入以提高稳定性、可复现性或匹配已知的模型架构时,请使用固定大小(例如 256×256)。
当您的数据已具有统一分辨率,或希望系统根据数据集特征优化最佳感兴趣区域时,请让系统自动选择。
迭代次数 (Epochs)
- 定义: 一个 epoch = 完整遍历整个训练数据集一次。
- 值 (100): 模型将进行 100 次完整训练遍历。
增加此数值通常会在一定程度上提高准确性,但耗时更长。
经验法则: 在训练期间监控训练损失和验证损失。如果验证损失停止下降而训练损失仍持续下降,则表明模型出现过拟合,您应尽早停止训练。
架构
- 定义: 选择神经网络的规模和复杂度。
- Small: 训练速度更快,通常对于大多数数据集已足够。适合快速实验或较小的数据集。
- 较大的模型 可以捕获更多细节,但在小数据集上可能会过拟合;较小的模型在数据有限时更高效且泛化能力更好。
从 Small 开始,通常已足够,并能帮助您在扩展之前更快地进行迭代。
外部 GPU
如需了解更多关于外部 GPU 的信息,请联系技术支持。
训练参数(分类)
训练参数(也称为超参数)是控制机器学习模型如何从数据中学习的设置。
学习率
- 定义: 控制模型在训练期间更新其内部权重的速度。
- 值 (0.003): 学习率越高,模型学习越快,但过高可能导致不稳定或准确性差。
- 滑块范围: 从 10^-4(非常慢)到 10^-1(非常快)。
通常,0.001–0.01 之间的值是分割任务的良好起点。
验证百分比
- 定义: 定义将数据集中多少比例的数据留作验证(训练期间的测试)。
- 用途: 验证数据有助于监控模型在未见样本上的表现,防止过拟合。
- 范围: 0–50%。
常见选择为 10–20%。
如果设置为 0%,则所有数据都用于训练,这可能会提高训练准确性,但更难检测过拟合。
ROI (Region of Interest) 尺寸
- 定义: 定义训练期间使用的图像区域的尺寸(宽 × 高)。
- 未勾选: 默认情况下,模型会根据您的数据自动确定 ROI。
- 勾选时: 如果需要一致的输入尺寸(例如,所有图像都裁剪为 256×256 像素),您可以手动设置宽度和高度。
当数据集包含不同尺寸的图像,且您希望获得一致的输入以提高稳定性、可复现性或匹配已知的模型架构时,请使用固定尺寸(例如 256×256)。
当您的数据已具有统一的分辨率,或希望系统根据数据集的特性优化最佳感兴趣区域时,请让系统自动选择。
迭代次数 (Epochs)
- 定义: 一个 epoch = 完整遍历一次整个训练数据集。
- 值 (100): 模型将进行 100 次完整训练。
增加此数字通常会在一定程度上提高准确性,但训练时间会更长。
经验法则: 在训练过程中监控训练损失和验证损失。如果验证损失停止下降而训练损失持续下降,则表明模型出现过拟合,您应尽早停止训练。
架构
- 定义: 选择神经网络的大小和复杂性。
- Small: 训练速度更快,通常足以应对大多数数据集。适合快速实验或较小的数据集。
从 Small 开始,通常已足够,并可帮助您在扩展之前更快地进行迭代。
| 架构与相机 | 描述 | 推荐用途 |
|---|---|---|
| ConvNeXt-Pico | 超轻量级模型,针对速度和低内存使用进行了优化。 | 非常适合快速实验或有限的硬件。 |
| ConvNeXt-Nano | 略大于 Pico;以极小的额外成本获得更好的准确性。 | 对于中小型数据集具有良好的平衡性。 |
| ConvNeXt-Tiny | 在保持高效的同时提供更高的准确性。 | 适用于中等规模数据集和较长时间的训练。 |
| ConvNeXt-Small | 此列表中功能最强大的变体。具有更高的容量和准确性。 | 适用于大型数据集或需要最高性能时。 |
外部 GPU
请联系技术支持了解更多有关外部 GPU 的信息。





