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

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

请注意: 每个程序一次仅支持一种检测类型,即分割或分类。在开始设置之前,请选择正确的类型。
图像设置
对焦
- 含义: 调整捕获图像的清晰度。
- 使用方法: 滑动直至图像中的边缘和细节看起来清晰锐利。
对焦时请使用具有清晰边缘的目标物体(如直尺或校准卡)。
图像旋转
- 含义: 旋转图像(0° 或 180°)。
- 使用场景: 如果相机以某个角度安装,但您希望在界面中以另一个方向显示图像。
如果需要将图像旋转 90°,请旋转相机。
曝光 (ms)
- 含义: 图像捕获期间传感器暴露在光线下的时长。
- 效果:
- 较高曝光 → 图像更亮,但有运动模糊的风险。
- 较低曝光 → 光线较少,但在快速运动应用中图像更清晰。
| 曝光不足 | 曝光正确 | 曝光过度 |
|---|---|---|
曝光呈对数关系,且曝光越高意味着延迟越大(因为图像捕获需要更多时间)。
增益
- 含义: 通过数字方式人为提亮图像(类似相机上的 ISO)。
- 效果:
- 较高增益 → 图像更亮,但会增加噪点(颗粒感)。
- 较低增益 → 图像更干净,但需要良好的照明。
| 高增益 | 低增益 |
|---|---|
![]() | ![]() |
| 更亮但噪点更多 | 更暗但噪点更少 |
仅在无法调整曝光或照明时才增加增益。
自动白平衡
- 含义: 自动调整颜色平衡,使白色呈现为白色。
- 使用场景:
- 适用于照明条件多变或不稳定的环境。
- 对于稳定的设置,手动白平衡可提供更一致且可重复的结果。
手动调整白平衡的方法:
- 将自动白平衡开关切换至开。
- 在相机下方或镜头前放置一张白纸。
- 将开关切换至关以锁定白平衡设置。
Gamma
- 含义: 调整中间色调的亮度,对暗部或亮部区域影响较小。
- 效果: 有助于显现阴影中的细节或抑制过亮的高光。
Lens Correction
- 含义: 校正广角镜头产生的畸变。
- 何时启用: 如果图像边缘出现弯曲或畸变,请开启此选项以提高对齐任务的精度。
LED Strobe Mode
- 含义: 控制相机内置 LED 灯的触发时机。
- 选项:
- Off:LED 持续常亮。
- On:LED 仅在捕获图像时闪烁,可减少反光。
LED Light Pattern
- 含义: 选择 LED 的点亮方式(例如,全部点亮、全部关闭、左右、上下等)。
- 用例: 根据您的照明设置进行调整,以获得最佳的零件照明效果。
使用方向性照明模式可减少眩光或反光,方法是关闭直射反光表面的 LED,同时保持斜向光源开启,以获得更好的可见度。
LED Light Intensity
- 含义: 调整 LED 照明的亮度。
- 最佳实践: 从低亮度开始逐步增加,以避免眩光或反光。
Photometric Control
- 含义: 在不同方向的照明(左、右、上、下)下捕获多张图像(通常为四张),然后将它们合成为一张增强后的图像。
- 目的: 此技术通过提供均匀、一致的照明,减少阴影并突出细微的表面特征。
- 何时使用: 适用于复杂零件、高反光表面或表面纹理不均匀的零件,这些情况下标准单光源图像可能会遗漏关键细节。
Trigger Settings
Manual Trigger
- 含义: 当您按下 HMI 屏幕上的按钮时捕获图像。
- 最适用于: 测试、设置或手动检测。
Hardware Trigger
- 含义: 使用电信号(例如来自传感器)来触发相机。
- 最适用于: 由传感器检测零件到位的自动化生产线。
PLC Trigger
- 含义: 通过工业控制器 (PLC) 发送触发信号,以与其他机器同步工作。
- 最适用于: 需要精确时序的全自动化系统。
Aligner Trigger
- 含义: 当系统检测到视野范围内的零件对齐时自动触发。
- 最适用于: 需要在捕获前保持一致定位的应用,或没有其他可靠触发源的场景。
Interval Trigger
- 含义: 按设定的时间间隔触发相机。
- 最适用于: 连续生产流程或在无零件检测传感器的情况下监控移动生产线。
模板图像与对齐
跳过对齐器
- 功能说明: 在检测过程中关闭对齐步骤。
- 使用场景: 当零件在图像中始终处于相同位置和方向时使用。
模板区域
- 功能说明: 定义用于对齐的模板图像区域。
- 矩形: 绘制矩形感兴趣区域。
- 圆形: 绘制圆形感兴趣区域。
- 忽略模板区域: 将某些区域排除在对齐之外,以避免干扰图案或不相关特征。
- 最佳用途: 帮助系统仅关注最具辨识度的零件特征,以实现精确对齐。
旋转范围
- 功能说明: 设置系统在将零件与模板进行匹配时可容忍的旋转角度(以度为单位)。
- 示例: 设置 ±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,未解锁前无法移动。
实时预览模式
- 定义: 在调整或添加 ROI 后显示实时反馈。
- 使用场景: 非常适合在设置过程中微调 ROI 的位置和大小。
测试按钮
- 定义: 基于旧图像运行回测以验证更改。
- 使用场景: 比较当前结果与先前设置,以确保准确性和一致性。
数据收集与 AI 训练
定义不同的检测类别,并根据指定的检测类型为每个 ROI 添加标签(参见下方示例)。

使用标注工具对图像进行标记/标注。使用画笔类别下拉菜单选择要标注的类别。目前每个程序最多支持 10 个分割类别。

优质数据的重要性

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

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

亮度 (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(感兴趣区域)尺寸
- 定义: 定义训练期间使用的图像区域的尺寸(宽 × 高)。
- 未勾选时: 默认情况下,模型根据您的数据自动确定 ROI。
- 勾选时: 如果您需要一致的输入尺寸(例如,所有图像都裁剪为 256×256 像素),可以手动设置宽度和高度。
当您的数据集包含不同尺寸的图像,并且您希望获得一致的输入以提高稳定性、可重现性或匹配已知的模型架构时,请使用固定尺寸(例如 256×256)。
当您的数据已具有统一的分辨率,或者您希望系统根据数据集特征优化最佳感兴趣区域时,请让其自动选择。
迭代次数(Epochs)
- 定义: 一个 epoch = 完整遍历整个训练数据集一次。
- 值 (100): 模型将进行 100 次完整训练遍历。
增加此数值通常会在一定程度上提高准确度,但训练时间会更长。
经验法则: 在训练期间监控训练损失和验证损失。如果验证损失停止下降而训练损失继续下降,则表明模型出现过拟合,您应提前停止训练。
架构
- 定义: 选择神经网络的规模和复杂度。
- Small: 训练速度更快,通常足以应对大多数数据集。非常适合快速实验或小型数据集。
从 Small 开始,它通常已经足够,并能帮助您在扩大规模之前更快地迭代。
| 架构与相机 | 描述 | 推荐用途 |
|---|---|---|
| ConvNeXt-Pico | 超轻量模型,针对速度和低内存使用进行了优化。 | 非常适合快速实验或硬件资源有限的场景。 |
| ConvNeXt-Nano | 比 Pico 略大;以极小的额外成本获得更好的准确度。 | 在中小型数据集上取得良好平衡。 |
| ConvNeXt-Tiny | 在保持高效的同时提供更高的准确度。 | 适用于中等规模的数据集和较长的训练周期。 |
| ConvNeXt-Small | 此列表中能力最强的变体。具有更高的容量和准确度。 | 适用于大型数据集或需要最高性能的场景。 |
外部 GPU
如需了解更多关于外部 GPU 的信息,请联系支持团队。





