通过匹配检查存在状态

使用此工具通过匹配来检查对象的存在状态。

此工具在训练模式下使用。这意味着,必需基于选择的参考对象和指定的训练参数进行训练。只要设置了或更改了训练参数,训练就会自动开始。

工具在工具面板左侧提供训练区域。它让您能够通过单击相应的图像,在用于搜索的处理模式和用于训练匹配模型的训练模式之间切换。图形窗口显示当前处于活动状态模式的图像,该图像以蓝色在训练区域中高亮显示。除左上方的搜索参数外,该工具还在工具右上方提供用于训练的更多参数。

请参阅使用训练模式,进一步了解如何使用需要训练的工具。

工具面板 分为 工具栏 左侧的训练区域和右侧的图形窗口。

训练参数

训练区域

图形窗口

显示的图像

训练部分显示三个图像:处理中的图像和两个训练图像。

  • 处理图像:当前“图像”接收自前一工具。
  • 两个训练图像:它们用于定义参考对象和预计对象在图像中所处的参考位置。

定义训练设置

只要设置了或更改了训练参数,训练就会自动开始。

选择训练图像和训练模式

训练需要两个训练图像:

  • 一个训练图像用于“对象模型”模式。此模式用于定义训练的参考对象。
  • 一个训练图像用于“参考位置”模式,该模式用于训练对象在图像中预期的位置。

您必须通过单击 按钮选择这些图像,以将图像传输到训练区域。图像标记为“未使用”,您必须手动分配模式。

如果添加更多图像到训练区域,这些图像会标记为“未使用”,因为一次只能分别为“参考位置”和“对象模型”选择一个图像。但是,您可以将有用的图像准备为“未使用”并使用它们测试训练。为此,您可将它们与当前为“对象模型”或“参考位置”选定的图像交换,方法是先将相应图像设为“未使用”模式,然后为其他图像设置新模式。

您也可以选择不同的图像用于训练。您只需单步运行程序,直到所需图像显示在图形窗口中以及在处理中区域。单击 按钮将图像转移到训练区域并为训练图像设置所需的模式。

设置训练参数

定义训练的参考对象
  1. 单击工具面板左侧“对象模型”的训练图像。该图像将显示在图形窗口中,您可以先从选择参考对象开始。只能定义一个参考对象。其他 ROI 将成为参考对象的一部分。
  2. 在要用作搜索参考对象的对象上绘制一个或多个感兴趣区域 (ROI)。建议使用多个 ROI 来增加状态检查的稳健性,尤其在参考对象的形状不适合单个 ROI 的情况下。

训练参数位于工具右上方。它们会自动根据选定的模型 ROI 进行调整。每次模型 ROI 更改时,训练参数将会估算。

定义预期的出现次数
  1. 在训练参数“参考位置数量”中定义图像中的预期对象数量。建议直接输入值,而不要使用滑块,因为这会导致在滑块上的每个中间值处阻止训练的执行。
定义位置参考
  1. 通过“参考位置”模式更改训练图像,以定义预期参考对象出现的相应参考位置。该工具突出显示适合参考对象的训练图像中的潜在对象。
  2. 检查训练图像,查看是否在正确的位置找到所有训练对象。
  3. 如果没有,则可在预期存在对象的图像部分绘制 ROI,以将搜索区域限制为 ROI 区域。此 ROI 仅可用于缩小搜索区域,即,它无法用于定义参考位置本身。已找到的参考对象的确切位置在内部作为点 ROI 存储。使用 Ctrl 按钮绘制多个 ROI,直到其数量与预期参考位置的数量相符。

如果前一工具中已经提供对象模型的参考位置,您可改为使用已知位置数据,并将前一工具的相应 ROI 结果连接至“参考位置”参数。请参阅参考位置参数的说明,了解更多详细信息。

调整搜索参数

  1. 单击处理图像。
  2. 工具面板左侧根据训练调整搜索参数。它们依赖于您的应用程序的图像,其不会自动调整。
  3. 通过使用一系列图像运行应用程序,检查当前训练设置和搜索参数是否适合。在图像中验证使用训练匹配模型进行状态检查是否正常。
  4. 如有必要,进一步调整参数。
区域限制

部分位于图像之外的对象将在处理中被忽略。

参数

根据参数“匹配方法训练”的选定训练方法,一些连接器会显示为灰色。这意味着它们不适用于当前选定的训练方法,因此不起作用。

基本参数

图像

此参数表示用于此工具的输入图像。它既可用作训练图像来确定匹配模型,也可用作处理图像来测试训练数据。

如果在此工具中将彩色图像用作输入图像,仅第一个通道(即红色通道)将用于处理。

最大距离

此参数定义对象位置与已训练的参考位置的差异程度。它以像素为单位并默认设为 5 像素。这意味着,待检查对象的位置可能会与训练位置最多有 5 像素的差异。您可以在相应参数将“最大距离”更改为介于 0 和 100 像素之间的值,以适应搜索容差。如果“标定数据”可用并用于处理,则“最大距离”以介于 0 和 100 像素范围内的标定距离表示。如果已知有多少个对象的位置可以在图像中发生变化,则可以相应地调整“最大距离”。

最低分值

此参数定义匹配精确度。它用于搜索模型和确定图像中必须显示多少训练模型才能找到匹配对象。默认情况下设置为 0.5。也就是说图像中可以封闭一半的模型。您可以在相应的连接器中更改其值。该值可以设置为 0.1和 1 之间的数。“最低分值” 越高,搜索速度越快。如果预计模型在图像中绝不会封闭,则可将 “最低分值” 设置为高达 0.8 甚或 0.9。否则,您可能需要减小此参数的值,以便在已训练模型大部分封闭的图像中寻找匹配。

为了加速搜索,使用了所谓的缩小图像金字塔。每个等级的匹配度都需要足够大才能进行此类识别。这可能会导致排除一些匹配项,虽然这些匹配项在原始图像中的匹配度大于最低匹配度,原因在于它们在更高缩小等级的可识别度不够。这些错过的匹配项可使用更低的匹配度找到。

您可以测试当前 “最低分值”,方法是逐步运行应用程序并查看是否在所有图像中正确检查了对象的存在状态。

其他参数

参考位置

此参数定义预期对象出现的参考位置。如果预期参考位置已知或已经在前一工具中确定,则可使用它。您可重复使用数据并将前一工具的相应 ROI 结果连接至此参数。传输的数据随后用于定义训练对象模型的参考位置。位置必须以点 ROI 的形式提供。因此,您需要确保应连接自前一工具的可用位置以点 ROI 的形式返回。默认情况下,此参数中不定义任何参考位置。

如果前一工具不提供参考位置,您可使用“参考位置”模式确定训练图像中对象的预期位置,如设置训练参数部分所述。但是,如果有有效的位置数据传输到“参考位置”参数,它们的优先级将高于在训练图像中确定的可能位置参考。

标定数据:

此参数定义校正可能的镜头失真和相对于图像平面的相机位置所需的标定数据。默认情况下,不定义任何标定数据。如果想要使用标定数据,您必须将参数连接至前一工具的适当结果(例如,标定相机),以确保标定数据会传输到此工具。它会立即应用到图像。

如果此工具使用了“标定数据”,则表示像素值的所有结果都将自动转换为对应的现实坐标。

对齐数据:

此参数表示用于对齐 ROI 的对齐数据。默认情况下不会连接对齐数据,因此不显示任何效果。如果想要使用特定对齐数据,您必须将参数连接至前一工具的适当结果,例如通过匹配确定对齐确定与直线边缘对齐对齐图像旋转图像

处理失败

此参数定义了在给定参数位置无法找到任何对象时,“绝对距离”和“相对距离”结果返回的值。默认情况下,此参数设置为 “忽略”。您可以在相应连接器中将参数设置为下列值。

描述

忽略

如果找不到对象将不返回任何值。

-1

对每个未找到的对象返回 -1。您可以直接在连接器的输入字段中输入任何想要返回的数字或字符串来代替它。

*

对每个未找到的对象返回 *。您可以直接在连接器的输入字段中输入任何想要返回的数字或字符串来代替它。

变形容差

此参数定义允许的对象最大变形。它以像素为单位并默认设为 1 像素。也就是说,相对于训练模型的参考对象的形状发生最多 1 个像素变形的对象也会被找到。您可以在相应连接器的滑块上将其值更改为介于 0 到 10 像素之间及以上(手动输入)的值。如果您将值设置为 0,仅会找到没有任何变形的对象。但是,“变形容差” 越高,找到错误对象的风险也就越高,尤其是那些结构精细的对象。因此,应选择尽可能小的 “变形容差”,只有在必要时才选择大的值。如果已知对象在图像中的预期变形程度,您可以相应地更改“变形容差”的值。“变形容差”仅在“匹配方法训练”设置为“基于形状”时有效。

最大重叠

此参数定义要找到的对象所允许的重叠上限,即,定义了此重叠容差。此重叠是由环绕对象的最小矩形确定,而不是对象自身区域。因此,即使实际区域未相交,两个对象也有可能重叠。

最大重叠”以百分比值表示并默认设为 30%。也就是说,在搜索图像中对象的最小环绕矩形封闭不超过 30% 才能被包含在状态检查中。如果对象超过 30% 被封闭,将无法找到对象。您可以在相应的连接器中将其值更改为 0 和 100 之间的值。如果您将值设置为 0,仅会找到没有任何重叠的对象。但是,“最大重叠”值越高,找到错误对象的风险也就越高。

训练参数

训练参数仅影响训练,它们在工具执行期间不可更改。它们的名称以“‑‑‑训练”后缀标记,以便将它们与应用工具时使用的对应参数区分开来。

基本训练参数

参考位置数量训练

此训练参数定义对象预期属于理想情况的参考位置数。因此,它定义了预期的对象的数目。默认情况下,此参数设置为 1。这意味着参考对象只有一个参考位置进行了训练,因此在处理中的图像中仅搜索了一个对象。您必须在相应的连接器手动调整数量。参考位置数目可以最高设置为 100。如果您已调整了该值,则相应的对象会立即在“参考位置”模式的训练图像中以可视化的方式呈现。建议通过键盘直接输入值,而不要使用滑块,因为这会导致在滑块上的每个中间值处无法执行训练。

匹配方法训练

此训练参数定义了用于检查的匹配方法。默认情况下,此参数设置为 “基于形状”。您可以在相应的连接器中更改“匹配方法训练”。

描述

基于形状

此匹配方法通过轮廓形状来描述训练模型中的参考对象。

如果要通过查找图像中最佳形状模型匹配的匹配方法来检查对象存在状态,可以使用此方法。

基于相关性

此匹配方法通过所含像素的灰度值关系来描述训练模型中的参考对象。

如果要通过归一化互相关 (NCC) 来匹配对象或图案的匹配方法来检查对象的存在状态,可以使用此方法。

其他训练参数

其他训练参数按其相关的匹配方法列出。可设置其他方法的参数,但对生成的训练模型不会有任何影响。

结果

基本结果

对象已被选取

此结果返回布尔值 tuple,表明是否在预计位置找到单个对象。如果对象存在于正确位置,则对此区域返回布尔值 1。如果未找到对象,并且对象在预期位置不存在,则对此区域返回布尔值 0。所有对象的结果值在一个 tuple 中返回。

所有对象均已被选取

此结果返回一个布尔值,表明是否在预期的位置找到所有对象。如果在正确的位置存在所有对象,则返回布尔值 1。如果至少一个对象在其位置上不存在,则返回值 0。

绝对距离

此结果返回每个找到对象的位置与预期位置之间的距离。所找到对象的实际位置可能不同于训练的参考位置。因此,“绝对距离”包含训练的参考位置与找到位置之间的实际距离。距离将作为一个实数在一个 tuple 中返回。如果没有在图像中找到对象,则对该对象返回“测量失败”中定义的值。如果“标定数据”可用并用于处理,将作为标定距离返回“绝对距离”。

相对距离

此结果为从每个找到对象的位置到预期位置的相对距离。所找到对象的实际位置可能不同于训练的参考位置。因此,“相对距离”返回介于“绝对距离”和定义的“最大距离”之间的相对值,例如,如果“绝对距离”为 20,且“最大距离”设置为 40,则“相对距离”为 0.5。距离将作为一个实数在一个 tuple 中返回。如果没有在图像中找到对象,则对该对象返回“测量失败”中定义的值。

工具状态

工具状态”返回有关工具状态的信息,因此可用于处理错误。请参阅主题工具状态结果,了解关于不同工具状态结果的更多信息。

其他结果

已选取的对象

此结果返回在预期位置找到的对象的轮廓。它们以定义的“正常”颜色设置显示,默认为绿色。

已拒绝的对象

此结果返回在预期位置未找到并因此被拒绝的对象的轮廓。它们以定义的“已拒绝”颜色设置显示,默认为红色。

模糊对象

此结果返回模糊对象的轮廓。如果在参考位置旁边找到多个对象,则这些对象返回为“模糊对象”。“最大距离”的值较高可能会导致返回模糊对象。

处理时间:

此结果返回最近一次执行工具的持续时间(以毫秒为单位)。该结果作为附加结果提供。因此,默认情况下它是隐藏的,但是可以通过工具结果旁边的 按钮显示。有关更多信息,处理时间请参工具参考中所阅部分。

训练结果

基本训练结果

使用的最高金字塔层数训练

此结果返回最后执行训练期间使用的“最高金字塔层数训练”。

其他训练结果

参考位置输出

此参数定义在上次执行的训练期间使用的参考位置。

应用程序示例

此工具用于以下 MERLIC Vision App 示例:

  • check_bent_leads.mvapp