跳到主要内容

AI 驱动文档

您想了解什么?

创建首个程序

OV10i 说明

OV10i 仅支持 classification 模型。本页中提到的 segmentation 功能仅在 OV20iOV80i 摄像头上可用。

本深度指南将解释什么是程序,概述分类(Classification)与分割(Segmentation)之间的区别,并提供创建程序的逐步指导。同时还包括图像设置配置、模板图像捕获与对齐设置、ROI 优化、数据采集与 AI 训练以及图像数据增强配置的详细说明。

视频指南

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


学习目标

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

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

什么是程序?

  • 一组配置好的指令,用于告知摄像头如何检测特定的零件或产品。
  • 定义摄像头设置,包括曝光、对焦和照明参数,以实现一致的图像捕获。
  • 包含处理逻辑,例如 ROI 定义、对齐器、分类或分割类别。
  • 存储输入/输出配置,以与自动化系统集成,实现通过/失败或高级信号。
  • 可被保存和重复使用,以确保跨班次、生产线或工厂的检测一致性。

分类 vs. 分割

定义

  • 分类(Classification):识别 ROI 中物体的类型
  • 分割(Segmentation):定位并分析图像/ROI 中的区域

示例

图像分类图像分割图像分类图像分割
什么是绵羊?哪些像素属于哪个物体?这个披萨是合格还是有缺陷?每片意大利香肠在哪里?
Sheep classifiedSheep segmentedPizza classifiedPizza segmented

关键对比

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

创建和导出程序

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

Export Recipe button

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

Export multiple Recipes button

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

Import Recipe button

备注

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

图像设置

对焦

Focus settings in Imaging Setup

  • 含义: 调整捕获图像的清晰度。
  • 使用方法: 滑动直至图像中的边缘和细节看起来清晰锐利。
提示

对焦时请使用具有清晰边缘的目标物体(如直尺或校准卡)。

图像旋转

Image Rotation settings in Imaging Setup

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

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

曝光 (ms)

Exposure settings in Imaging Setup

  • 含义: 图像捕获期间传感器暴露在光线下的时长。
  • 效果:
    • 较高曝光 → 图像更亮,但有运动模糊的风险。
    • 较低曝光 → 光线较少,但在快速运动应用中图像更清晰。
曝光不足曝光正确曝光过度
Example of underexposureExample of correct exposureExample of overexposure
提示

曝光呈对数关系,且曝光越高意味着延迟越大(因为图像捕获需要更多时间)。

增益

Gain settings in Imaging Setup

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

仅在无法调整曝光或照明时才增加增益。

自动白平衡

Auto White Balance settings in Imaging Setup

  • 含义: 自动调整颜色平衡,使白色呈现为白色。
  • 使用场景:
    • 适用于照明条件多变或不稳定的环境
    • 对于稳定的设置,手动白平衡可提供更一致且可重复的结果
备注

手动调整白平衡的方法:

  • 将自动白平衡开关切换至
  • 在相机下方或镜头前放置一张白纸
  • 将开关切换至以锁定白平衡设置。

Gamma

Gamma settings in Imaging Setup

  • 含义: 调整中间色调的亮度,对暗部或亮部区域影响较小。
  • 效果: 有助于显现阴影中的细节或抑制过亮的高光。

Lens Correction

Lens Correction settings in Imaging Setup

  • 含义: 校正广角镜头产生的畸变。
  • 何时启用: 如果图像边缘出现弯曲或畸变,请开启此选项以提高对齐任务的精度。

LED Strobe Mode

LED Strobe Mode settings in Imaging Setup

  • 含义: 控制相机内置 LED 灯的触发时机。
  • 选项:
    • Off:LED 持续常亮。
    • On:LED 仅在捕获图像时闪烁,可减少反光。

LED Light Pattern

LED Light Pattern settings in Imaging Setup

  • 含义: 选择 LED 的点亮方式(例如,全部点亮、全部关闭、左右、上下等)。
  • 用例: 根据您的照明设置进行调整,以获得最佳的零件照明效果。
提示

使用方向性照明模式可减少眩光或反光,方法是关闭直射反光表面的 LED,同时保持斜向光源开启,以获得更好的可见度。

LED Light Intensity

LED Light Intensity settings in Imaging Setup

  • 含义: 调整 LED 照明的亮度。
  • 最佳实践: 从低亮度开始逐步增加,以避免眩光或反光。

Photometric Control

LPhotometic Control settings in Imaging Setup

  • 含义:不同方向的照明(左、右、上、下)下捕获多张图像(通常为四张),然后将它们合成为一张增强后的图像。
  • 目的: 此技术通过提供均匀、一致的照明减少阴影并突出细微的表面特征。
  • 何时使用: 适用于复杂零件、高反光表面或表面纹理不均匀的零件,这些情况下标准单光源图像可能会遗漏关键细节。

Trigger Settings

Trigger Settings in Imaging Setup

Manual Trigger

  • 含义: 当您按下 HMI 屏幕上的按钮时捕获图像。
  • 最适用于: 测试、设置或手动检测。

Hardware Trigger

  • 含义: 使用电信号(例如来自传感器)来触发相机。
  • 最适用于: 由传感器检测零件到位的自动化生产线。

PLC Trigger

  • 含义: 通过工业控制器 (PLC) 发送触发信号,以与其他机器同步工作。
  • 最适用于: 需要精确时序的全自动化系统。

Aligner Trigger

  • 含义: 当系统检测到视野范围内的零件对齐时自动触发。
  • 最适用于: 需要在捕获前保持一致定位的应用,或没有其他可靠触发源的场景。

Interval Trigger

  • 含义: 按设定的时间间隔触发相机。
  • 最适用于: 连续生产流程或在无零件检测传感器的情况下监控移动生产线。

模板图像与对齐

跳过对齐器

模板图像与对齐中的跳过对齐器设置

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

模板区域

模板图像与对齐中的模板区域设置

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

旋转范围

模板图像与对齐中的旋转范围设置

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

灵敏度

模板图像与对齐中的灵敏度设置

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

置信度阈值

模板图像与对齐中的置信度阈值设置

  • 功能说明: 设置系统接受检测结果所需的最低置信度分数。
  • 效果:
    • 阈值较高 → 误报较少,但可能错过边缘匹配。
    • 阈值较低 → 检测结果增多,但误报风险增加。
提示

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

尺度不变

模板图像与对齐中的尺度不变设置

  • 功能说明: 允许系统检测尺寸略大于或略小于原始模板图像的零件。
  • 启用时机: 当零件尺寸因定位、距离变化或制造公差而可能略有变化时启用。

实时预览图例

模板图像与对齐中的实时预览

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

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

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

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

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

提示

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

边缘检测示例

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

检测类型

Inspection Type settings in Inspection Setup

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

变换

Transformation settings in Inspection Setup

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

感兴趣区域 (ROI)

Regions of Interest (ROIs) settings in Inspection Setup

  • 定义: 模板图像中定义的所有 ROI 的列表。
  • 功能:
    • 添加感兴趣区域 (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 标记为特定类别(例如 "Good"、"Damaged")。
  • 分割: 以像素级精度涂刷、勾勒或高亮特定的关注区域(例如表面上的划痕位置)。
  • 一致性: 使用一致的规则和定义进行标注,以避免训练过程中的混淆。

Example of good annotations

常见陷阱

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

数据增强

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

颜色增强

Color Augmentation settings

亮度 (Brightness)

  • 定义: 调整图像的明暗程度。
  • 使用场景: 用于应对生产过程中光照的轻微变化。
提示

在稳定的环境中使用 ±0.1;如果光照变化较大,可适当增加。

对比度 (Contrast)

  • 定义: 改变明暗区域之间的差异。
  • 使用场景: 适用于具有纹理或表面变化的部件,帮助模型适应视觉差异。

色调 (Hue)

  • 定义: 轻微改变色调。
  • 使用场景: 适用于光照颜色(例如 LED 色温)可能随时间变化的环境。

饱和度 (Saturation)

  • 定义: 调整颜色的强度。
  • 使用场景: 帮助应对光照变化导致图像显得暗淡或更鲜艳的情况。

几何增强

Geometric Augmentation settings

旋转范围 (Rotation Range)

  • 定义: 在设定的范围内随机旋转图像(例如 ±20°)。
  • 使用场景: 适用于可能以略微旋转位置出现的部件。
提示

对于通常固定方向的部件,避免过度旋转。

翻转 (Flip)

  • 定义: 水平、垂直或双向翻转图像。
  • 使用场景: 适用于对称部件或在搬运过程中方向可能翻转的情况。

光照与颜色模拟

Lighting & Color Simulation settings

Planckian

  • 定义: 模拟色温变化(例如暖光或冷光)。
  • 使用场景: 应对不同光源偏移或具有不同光源的工作单元。

高斯噪声 (Gaussian Noise)

  • 定义: 在图像中添加细微噪声。
  • 使用场景: 如果您的生产环境存在轻微的视觉噪声或相机传感器伪影,可提高鲁棒性。

运动模拟

Motion Simulation settings

运动模糊 (Motion Blur)

  • 定义: 模拟部件在捕获过程中移动产生的轻微模糊。
  • 使用场景: 对于可能发生运动模糊的高速产线至关重要。

概率 (prob)

Probability settings

  • 定义: 设置在训练过程中应用每种数据增强的概率。
  • 示例: 0.50 = 任何给定的训练图像有 50% 的概率应用该变化。
提示

大多数数据增强从 0.5 开始,并根据实际变化情况进行调整。

训练参数(分割)

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

学习率 (Learning Rate)

Learning Rate settings

  • 定义: 控制模型在训练过程中更新内部权重的速度。
  • 值 (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(感兴趣区域)尺寸

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 的信息,请联系支持团队。