跳到主要内容

AI 驱动文档

您想了解什么?

检测工具:该用哪一个

OV Spark 提供七种工具。难点不在于配置,而在于选对工具,所以请从你要检查的内容出发,而不是从工具名称出发。

您需要检测什么?

选择最接近的描述。大多数程序会组合多个工具,因此您可以在第一个工具运行后再回来添加其他工具。

配置一个工具​

选对工具是成功的一半。下面每个工具都附带一个决定其判定结果的关键设置的实时演示,以及相机引导你完成的步骤、实际默认值和最耗时的常见错误。

对齐Alignment无需训练

定位零件,使所有其他工具都在同一位置进行检测。除非夹具每个周期都以完全相同的方式固定零件,否则这应是第一个工具,其他所有工具都引用它。

关于定位›设置›实时预览›示教
  1. 首先添加。 工具列表中的顺序即为工具的运行顺序,对齐器必须在依赖它的所有工具之前运行。
  2. 设置。 按 部件已就位,开始捕获 冻结一个合格零件,然后在始终存在的特征上添加1至3个模板区域,并尽量分散布置。
  3. 实时预览。 在画面中移动真实零件,并设置置信度阈值,使合格零件明显高于该阈值。
  4. 将其他工具指向它。 每个工具都有自己的对齐器步骤,您可在其中选择此对齐器,之后其区域将跟随零件移动。
通过一张参考捕获进行训练,因此无需标注数据集。可选的训练步骤可添加3至25个样本,并仅保留在所有样本中都稳定的特征。
设置范围默认控制内容
旋转范围0 到 180 度15 度搜索的旋转角度范围。较窄的范围可同时用于方向排除。
灵敏度0 到 21.0边缘查找的强度。仅在高亮保持绿色时才提高。
置信度阈值0 到 10.5,推荐 0.6 到 0.9对齐器判定部件已找到前所需达到的确信程度。
  • 对齐器不判定零件。它仅决定零件是否被已找到。
  • 如果未找到,所有引用它的工具都会已跳过,并由步骤 4 判定决定这是否算作失败。

零件是否被找到、置信度、中心位置、旋转角度和处理时间。

  • 切勿锚定到标签、贴纸或缺陷上。 对齐器会跟随贴纸而不是零件,并将所有检测区域一起拖动。
  • 分散锚点。两个锚点靠得太近几乎无法提供旋转基线,这是最常见的设置错误。
  • 在此基础上构建任何内容之前先验证它。事后修复对齐器意味着重做每个引用它的工具。

这是简短版本。对齐 页面提供完整的四步讲解,以及一个说明离散度为何重要的锚定实验。

对齐器在 对齐器 页面有专门的说明,因为几乎每个程序都从它开始。

相机中的同一目录​

你会在程序编辑器的 Add tool 下找到同一组工具:

OV Spark 工具目录,显示所有检测工具及其一行描述

底部有一个内置的 AI 助手:Not sure which one? Describe the check in your own words(不确定用哪个?用你自己的话描述检查内容),并提供诸如 "Is the connector fully seated?"(连接器是否完全插入?)和 "The part lands at a different angle every time."(每次零件落位的角度都不一样。)之类的提示语。如果你更愿意描述问题而不是从列表中挑选,就用它。

完整工具集​

工具类别训练功能
AI ClassificationAI设备端将一个区域归入你训练过的某个类别
AI CountAI设备端检测并计数物体,与预期数量进行比较判定
AI SegmentationAI设备端逐像素勾勒特征,按面积和斑点数量判定
AI OCRAI无需训练,可选调优读取印刷或蚀刻的文本并检查内容
Barcode Read传统无读取 1D 或 2D 码并检查内容
Color Match传统无检查区域颜色是否正确并报告偏差
Alignment定位无定位零件,使其他所有工具都检测同一位置
七个工具中有四个完全无需训练

Alignment、AI OCR、Barcode Read 和 Color Match 只要画出区域并设置规则就能工作。只有 Classification、Count 和 Segmentation 需要从你的示例中学习。如果某个无需训练的工具能解决你的问题,部署会更快,维护也更容易。

每个工具的容量​

工具上限
AI Classification64 个区域,16 个类别
AI Segmentation64 个区域,64 个类别
AI Count主图像上 256 个标记零件
AI OCR16 个字段,8 个模式
Color Match10 个参考样本

编辑器会阻止你添加超过上限的内容。如果一个程序需要更多,可将工作拆分到两个同类型的工具中。

导入您已有的图像​

您无需实时捕获每一张模板或训练图像。在任何工具要求提供图像的地方,您也可以从相机的库中选择一张,或从您的电脑上传一张。

在捕获按钮旁查找 Use existing image,无论工具要求您在何处捕获:对齐器的模板、每个工具 Set Up 和标注步骤中的参考及训练捕获、AI Count 主图像以及 Color Match 样本。只需要一张图像的步骤导入一张;构建训练集的步骤则一次导入多张。

捕获主图像下的 Use existing image 按钮

它将打开选择器:

带有 From library 和 Upload from computer 选项卡的添加图像选择器,包含 Capture ID、Trigger ID、捕获时间、程序和判定过滤器,以及 Import 按钮

选项卡工作方式
From library按 Capture ID、Trigger ID、捕获时间、程序或判定进行过滤,勾选所需的捕获,然后按 Import
Upload from computer将 JPEG 或 PNG 文件拖放到页面上,或点击选择文件,然后按 Import
From dataset当工具已有训练集时显示,以便您可以复用其中的某张图像作为参考

导入的图像会带有 Imported 标记,每个文件都会报告其是否已导入或未能导入的原因。

上传必须与相机完全匹配

上传的图像必须是相机自身的分辨率(OV Spark 为 1280×960),且为 8 位 JPEG 或 PNG。如果尺寸不同、为 16 位、含有透明通道、带有 EXIF 旋转信息,或超过 32 MiB,都将被拒绝。相机绝不会对上传的图像进行缩放,因为区域和模板是以传感器像素存储的。安全的来源是由本相机拍摄并从其库中导出的图像。

固定您以后需要的捕获

当存储空间填满时,相机会删除最旧的未固定捕获,而图像已消失的捕获无法导入。当某个部件出现您希望用于训练的缺陷时,请在库中将其固定。

定位优先​

如果您的部件没有被夹具固定,定位几乎总是程序中的第一个工具。它向相机训练一个参考图案,在每一帧中找到该图案,并报告部件的实际位置。

其他工具随后会引用对齐器,因此它们的区域会跟随部件移动,而不是固定在画面上。没有它,一个向左偏移 5 mm 的部件会带动所有区域一起移动,良品也会在毫无可见原因的情况下开始判为失败。

AI 工具详解​

AI Classification​

当答案是一个类别时使用它。 存在或缺失、装配到位或缺件、破损或完好、良品或不良、哪个变体、哪个缺陷等级。

绘制一个或多个区域,为每个类别标注少量示例图像,然后在设备上几秒钟内完成训练。运行时,每个区域都会被分类并根据您设置的判定规则进行评级。

当差异是视觉上的,并且您能为每种结果提供示例时效果最佳。

标注是这里的全部工作:每张捕获的图像上,每个区域都会被赋予一个类别。亲自试试:

试一试点击 ROI 以重新标注
Screw_1 · presentScrew_2 · absentScrew_3 · presentScrew_4 · presentScrew_5 · presentScrew_6 · damaged

点击螺丝可在三个类别之间循环切换。右侧的输出表格会实时更新,全局判定则反映您在 IO模块 中编写的规则。

类别

点击标签以仅高亮显示该类别。

输出 · 6 个 ROI
Screw_1present 0.97
Screw_2absent 0.94
Screw_3present 0.97
Screw_4present 0.97
Screw_5present 0.97
Screw_6damaged 0.82
判定结果FAIL

AI Count​

当答案是一个数量时使用。 泡罩中的药片、连接器中的插针、托盘中的物品。

在几张捕获的图像上标注对象,并在设备上训练一个小型检测器。运行时,该工具会计算区域内所有匹配项,并根据您设定的数量范围判定通过或失败。

在标注之前,您需要先捕获一张主图像。

AI Segmentation​

当答案是"有多少"时使用。 污染范围、涂层覆盖、缺陷大小。

在几张图像上为每个关注的类别绘制像素掩码,然后在设备上训练。运行时,该工具会测量区域内每个类别的面积和斑点数量,并根据您为每个类别设定的最小值和最大值判定通过或失败。

只要在一张图像上绘制了掩码即可开始训练,仅用几张图像训练的模型已经可用。更多样化的示例仍会带来更好的模型。

这是设置工作量最大的工具,因此只有在简单的通过或失败确实不够用时才使用它。工作量主要在绘制上:

试一试涂抹每处缺陷以进行标注

在右侧选择一个类别,然后拖动进行涂抹。像素覆盖率会随涂抹实时更新,判定会应用示例 当总量 > 2% 时判为 FAIL 规则。点击 自动涂抹 可查看标准标注结果。

类别调色板
掩膜 · Surface_Top
scratch
0.00%
stain
0.00%
缺陷总量
0.00%
PASS

AI OCR​

当您需要读取文本时使用。 批号、有效期、序列号。

为每行文本绘制一个字段,声明该字段可以包含的内容,并可选择固定其格式或日历规则,这样过期日期将判定为失败,而不仅仅是被读取。开箱即用,无需训练。

经典工具​

Barcode Read​

读取 1D 条码(Code 128、EAN-13)或 2D 码(Data Matrix、QR)并报告解码后的文本。通过表示成功读取了一个码,并且如果您设置了预期模式,则文本与之匹配。

请宽松地绘制此区域,与其他工具相反

在本页其他地方,建议都是紧密裁剪。条码是例外。码周围需要安静区域才能解码,因此请围绕码可能出现的区域绘制感兴趣区域(ROI),而不是紧紧围绕码本身。

差异并非微不足道:紧凑的框在 300 次中成功解码 21 次,而同一个码留出两倍边距后 300 次中读取了 158 次。同样要包含整个码,因为半个码读取结果等于什么都没读到。

如果码在画面中太小,请将相机移近。扩大区域没有帮助,覆盖画面大部分的区域搜索可能需要超过一秒钟。

Color Match​

在要检查的颜色上绘制一个区域,并通过样本或手动设置参考。每次检测都会报告该区域的平均颜色、它与参考的 ΔE2000 距离以及由此得出的匹配分数:

score = 100 - 4 x deltaE

当分数达到或超过您的阈值时,该工具判定通过,默认值为 70。如果良品失败则降低阈值,如果不良品通过则提高阈值。

无需训练。一旦设置好区域和参考即可运行。

它不是色度计

此处的 ΔE 是相对于本相机在当前光照下的测量值。请在零件之间互相比较,切勿与实验室读数比较。请先在图像设置中设定手动白平衡,因为自动白平衡会在零件颜色变化时重新适应,而这恰恰是您想要测量的内容。

在相近选项之间做选择​

如果您在以下选项之间犹豫不决选择原因
Classification 和 SegmentationClassification如果通过或失败的结果就已足够,它训练更快、运行更轻
Classification 和 CountCount如果数量本身就是规格要求,而不仅仅是是否存在
Count 和 SegmentationSegmentation如果物体相互融合、无法分离
OCR 和 Barcode ReadBarcode Read如果标记是一个码。它比读取文本更快、更可靠
Color Match 和 ClassificationColor Match如果检测确实是关于色调的,则无需训练
第 8 步,共 13 步
下一步 →步骤 4:判定