跳到主要内容

AI 驱动文档

您想了解什么?

首个程序创建

本深度指南阐述了什么是程序,介绍了分类与分割之间的差异,并提供了创建程序的分步指导。同时还包括图像设置配置、模板图像捕获与对齐设置、ROI 优化、数据采集与 AI 训练,以及图像数据增强配置的详细演练。

视频指南

观看该主题的实际操作:如何在几分钟内创建分割程序


学习目标​

完成本深度指南后,您将了解:

  • 什么是程序
  • 分类与分割的区别——以及各自的使用场景
  • 如何创建程序
  • 如何配置图像设置
  • 如何捕获模板图像并配置对齐器
  • 什么是 ROI(感兴趣区域)以及如何优化它们
  • 用于 AI 训练的数据采集
  • 程序测试与验证

什么是程序?​

  • 一组已配置的指令集,用于告知相机如何检测特定零件或产品。
  • 定义相机设置,包括曝光、增益和白平衡,以实现一致的图像捕获。镜头对焦和光圈通过 C-mount 镜头进行机械设置。
  • 包括处理逻辑,例如 ROI 定义、对齐器、分类或分割类别。
  • 存储输入/输出配置,以与自动化系统集成,实现通过/失败或高级信号。
  • 可保存和重复使用,以确保跨班次、生产线或工厂的一致检测。

分类与分割​

定义​

  • 分类:识别 ROI 中对象的类型
  • 分割:定位并分析图像/ROI 中的区域

示例​

图像分类图像分割图像分类图像分割
什么是绵羊?哪些像素属于哪个对象?这个披萨是合格的还是有缺陷的?每片意大利辣香肠在哪里?
绵羊分类绵羊分割披萨分类披萨分割

关键对比​

分类分割
速度速度取决于图像设置和复杂度。在简单设置下通常高效快速优化后可与分类一样快甚至更快,尤其是使用精简模型时
准确性适用于整体通过/失败或零件类型识别对精确缺陷定位具有更高准确性
复杂度简单易于设置和维护;参数较少复杂 – 需要更多数据、标注和调优
数据需求低 – 所需标注图像较少中等 – 需要大量带有详细像素级精确标注的图像
使用场景零件存在、方向、基本质量检查、零件是否插入等。表面缺陷、精细特征检测、多缺陷检测、计数、测量等。

创建和导出程序​

使用程序旁边的 Export Recipe 按钮导出单个程序。

Export Recipe button

使用屏幕顶部的 Export 按钮一次导出多个程序。

Export multiple Recipes button

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

Import Recipe button

备注

请注意: 每个程序一次仅支持一种检测类型,即分割或分类。请在开始设置前选择正确的类型。

图像设置​

图像旋转​

Image Rotation settings in Imaging Setup

  • 功能说明: 旋转图像(0° 或 180°)。
  • 使用场景: 如果相机以某个角度安装,但您希望图像在界面中以另一方向显示。
备注

如果需要将图像旋转 90°,请旋转相机。

增益​

Gain settings in Imaging Setup

  • 功能说明: 以数字方式人为地提亮图像(类似相机上的 ISO)。
  • 效果:
    • 增益越高 → 图像越亮,但会增加噪点(颗粒感)。
    • 增益越低 → 图像越干净,但需要良好的光照。
高增益低增益
Example of high gainExample of low gain
更明亮但噪点更多更暗但噪点更少
提示

只有在无法调整曝光或光照的情况下才提高增益。

模板图像与对齐​

跳过对齐器​

Skip Aligner settings in Template Image and Alignment

  • 功能说明: 在检测过程中关闭对齐步骤。
  • 使用场景: 如果部件在图像中始终处于相同的位置和方向。

模板区域​

Template Regions settings in Template Image and Alignment

  • 功能说明: 定义用于对齐的模板图像区域。
    • 矩形: 绘制矩形感兴趣区域。
    • 圆形: 绘制圆形感兴趣区域。
    • 忽略模板区域: 将某些区域排除在对齐之外,以避免干扰性图案或无关特征。
  • 最佳用途: 帮助系统仅关注最具辨识度的部件特征,以实现精准对齐。

旋转范围​

Rotation Range settings in Template Image and Alignment

  • 功能说明: 设置系统在将部件与模板匹配时可容忍的旋转角度(以度为单位)。
  • 示例: 设置为 ±20° 允许部件轻微旋转但仍可被检测到。
  • 调整时机: 如果部件在生产过程中容易发生旋转,则增大该值;对于方向高度一致的情况,则减小该值。

灵敏度​

Sensitivity settings in Template Image and Alignment

  • 功能说明: 控制系统在实时图像与模板之间查找匹配的精细程度。
  • 效果:
    • 高灵敏度 → 可检测到更细微的细节,适用于复杂部件。
    • 低灵敏度 → 减少误匹配,但可能会遗漏细微特征。

置信度阈值​

Confidence Threshold settings in Template Image and Alignment

  • 含义: 设置系统接受检测所需的最低置信度分数。
  • 效果:
    • 阈值越高 → 误报越少,但可能会漏掉临界匹配。
    • 阈值越低 → 检测数量增多,但误报风险随之上升。
提示

从中等值开始,根据测试结果进行调整。

尺度不变​

Scale Invariant settings in Template Image and Alignment

  • 含义: 允许系统检测比原始模板图像略大或略小的部件。
  • 何时启用: 当部件尺寸可能因定位、距离变化或制造公差而略有差异时。

实时预览图例​

Live Preview in Template Image and Alignment

1. 一个可配置的边界框,用于定义触发期间要监控的相机视野 FOV 中的特定区域。

  • 用途: 确保相机仅聚焦于相关区域,忽略不必要的背景区域。
  • 最佳用途:
    • 对于移动物体,确保部件完全保留在检测区域内。
    • 通过减少需要分析的图像数据量来优化处理速度。

2. 一个可视化的红点,显示图像中所有已定义 ROI(感兴趣区域)的中心点。

  • 用途: 帮助您相对于部件或相机视图对齐并定位搜索区域。

3. 绿色线条表示已检测到物体的边缘。

提示

如果您看到线条变为红色,请尝试增大 ROI 尺寸、调整 ROI 或提高灵敏度。

Example of edge detection

ROI(感兴趣区域)的定义与优化​

检测类型​

Inspection Type settings in Inspection Setup

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

变换​

Transformation settings in Inspection Setup

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

检测区域​

Inspection Regions settings in Inspection Setup

  • 功能说明: 模板图像中定义的所有 ROI 的列表。
  • 功能特性:
    • 添加检测区域: 手动创建新的 ROI。
    • 忽略区域: 将特定区域排除在处理之外。
    • 编辑: 保存、删除或取消。
    • 锁定图标: 表示已锁定的 ROI,解锁前无法移动。

实时预览模式​

Live Preview Mode in Inspection Setup

  • 功能说明: 在调整或添加 ROI 后显示实时反馈。
  • 使用场景: 非常适合在设置过程中精细调整 ROI 的位置和大小。

测试按钮​

Test button in Inspection Setup

  • 功能说明: 基于旧图像运行回测以验证更改。
  • 使用场景: 将当前结果与之前的设置进行比较,以验证准确性和一致性。

数据采集与 AI 训练​

定义不同的检测类别,并根据每个 ROI 指定的检测类型为其添加标签(参见下方示例)。

Example of defined inspection classes and labeled ROIs

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

Example of annotated classes

优质数据的重要性​

Examples of good and bad data

  • 垃圾进,垃圾出: AI 模型的效果取决于所提供的数据质量。质量差或不一致的数据会导致结果不准确。

  • 多样性至关重要: 采集能够代表所有现实变化的数据:不同班次、光照条件、零件位置和表面状况。

  • 质量重于数量: 一个规模较小但干净且标注良好的数据集,通常比一个庞大但噪声大或不一致的数据集表现更好。

标注基础:

  • 分类: 将整幅图像或 ROI 标记为特定类别(例如"良好"、"损坏")。
  • 分割: 以像素级精度对特定关注区域进行涂刷、勾勒或高亮标注(例如表面上的划痕位置)。
  • 一致性: 使用一致的规则和定义进行标注,以避免训练过程中的混淆。

Example of good annotations

常见陷阱

  • 数据不足: 样本过少会导致欠拟合,从而在实际应用中表现不佳。
  • 类别不平衡: 某一类别的过度代表(例如"良好"零件很多但缺陷零件很少)会使模型产生偏差。
  • 标注质量差: 错误、不一致或仓促的标注会导致准确率显著下降。
  • 忽略环境变化: 当光照、零件方向或表面状况发生变化时未更新数据集,会导致准确率漂移。
  • 未验证数据: 训练前跳过质量检查通常会导致时间浪费和返工。

数据增强​

图像数据增强通过人为修改训练图像来提高模型的鲁棒性。它们模拟真实世界中的变化,如亮度变化、旋转或噪声,使模型在不同条件下都能表现良好。

颜色增强​

颜色增强设置

亮度 (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) 大小​

Override ROI Size settings

  • 定义: 定义训练期间使用的图像区域大小(宽 × 高)。
  • 未勾选: 默认情况下,模型会根据您的数据自动确定 ROI。
  • 勾选时: 如果需要一致的输入尺寸(例如,所有图像都裁剪为 256×256 像素),您可以手动设置宽度和高度。
提示

当您的数据集中包含不同大小的图像,并且希望获得一致的输入以提高稳定性、可复现性或匹配已知的模型架构时,请使用固定大小(例如 256×256)。

当您的数据已具有统一分辨率,或希望系统根据数据集特征优化最佳感兴趣区域时,请让系统自动选择。

迭代次数 (Epochs)​

Number of Iterations (Epochs) settings

  • 定义: 一个 epoch = 完整遍历整个训练数据集一次。
  • 值 (100): 模型将进行 100 次完整训练遍历。
提示

增加此数值通常会在一定程度上提高准确性,但耗时更长。

经验法则: 在训练期间监控训练损失和验证损失。如果验证损失停止下降而训练损失仍持续下降,则表明模型出现过拟合,您应尽早停止训练。

架构​

Architecture settings

  • 定义: 选择神经网络的规模和复杂度。
  • Small: 训练速度更快,通常对于大多数数据集已足够。适合快速实验或较小的数据集。
  • 较大的模型 可以捕获更多细节,但在小数据集上可能会过拟合;较小的模型在数据有限时更高效且泛化能力更好。
提示

从 Small 开始,通常已足够,并能帮助您在扩展之前更快地进行迭代。

外部 GPU​

External GPU IP Address settings

如需了解更多关于外部 GPU 的信息,请联系技术支持。

训练参数(分类)​

训练参数(也称为超参数)是控制机器学习模型如何从数据中学习的设置。

学习率​

Learning Rate settings

  • 定义: 控制模型在训练期间更新其内部权重的速度。
  • 值 (0.003): 学习率越高,模型学习越快,但过高可能导致不稳定或准确性差。
  • 滑块范围: 从 10^-4(非常慢)到 10^-1(非常快)。
提示

通常,0.001–0.01 之间的值是分割任务的良好起点。

验证百分比​

Validation Percent settings

  • 定义: 定义将数据集中多少比例的数据留作验证(训练期间的测试)。
  • 用途: 验证数据有助于监控模型在未见样本上的表现,防止过拟合。
  • 范围: 0–50%。
提示

常见选择为 10–20%。

如果设置为 0%,则所有数据都用于训练,这可能会提高训练准确性,但更难检测过拟合。

ROI (Region of Interest) 尺寸​

Override ROI Size settings

  • 定义: 定义训练期间使用的图像区域的尺寸(宽 × 高)。
  • 未勾选: 默认情况下,模型会根据您的数据自动确定 ROI。
  • 勾选时: 如果需要一致的输入尺寸(例如,所有图像都裁剪为 256×256 像素),您可以手动设置宽度和高度。
提示

当数据集包含不同尺寸的图像,且您希望获得一致的输入以提高稳定性、可复现性或匹配已知的模型架构时,请使用固定尺寸(例如 256×256)。

当您的数据已具有统一的分辨率,或希望系统根据数据集的特性优化最佳感兴趣区域时,请让系统自动选择。

迭代次数 (Epochs)​

Number of Iterations (Epochs) settings

  • 定义: 一个 epoch = 完整遍历一次整个训练数据集。
  • 值 (100): 模型将进行 100 次完整训练。
提示

增加此数字通常会在一定程度上提高准确性,但训练时间会更长。

经验法则: 在训练过程中监控训练损失和验证损失。如果验证损失停止下降而训练损失持续下降,则表明模型出现过拟合,您应尽早停止训练。

架构​

Architecture settings

  • 定义: 选择神经网络的大小和复杂性。
  • Small: 训练速度更快,通常足以应对大多数数据集。适合快速实验或较小的数据集。
提示

从 Small 开始,通常已足够,并可帮助您在扩展之前更快地进行迭代。

架构与相机描述推荐用途
ConvNeXt-Pico超轻量级模型,针对速度和低内存使用进行了优化。非常适合快速实验或有限的硬件。
ConvNeXt-Nano略大于 Pico;以极小的额外成本获得更好的准确性。对于中小型数据集具有良好的平衡性。
ConvNeXt-Tiny在保持高效的同时提供更高的准确性。适用于中等规模数据集和较长时间的训练。
ConvNeXt-Small此列表中功能最强大的变体。具有更高的容量和准确性。适用于大型数据集或需要最高性能时。

外部 GPU​

External GPU IP Address settings

请联系技术支持了解更多有关外部 GPU 的信息。