通过匹配计数

使用此工具可通过匹配计数对象数量。

概述

此工具在训练模式下使用。这就是说先根据指定的训练参数来训练待计数对象。只要设置了或更改了训练参数,训练就会自动开始。

训练的结果会立即在图形窗口中显示。然后可以通过相同工具内的其他图像来测试训练模型。

通过匹配计数对象时,将首先在图像中搜索对象的已训练模型。如果找到模型实例,则将其计为对象。

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

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

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

训练参数

训练区域

图形窗口

定义训练设置

选择训练图像

工具面板左侧的第一个图像显示当前加载的图像,第二个图像显示训练图像。

对于此工具,只可以将一个图像用作训练图像。插入工具时,当前处理图像会自动用作训练图像。您还可通过以下步骤更改训练图像:

  1. 单步运行程序,直到所需图像在图形窗口中以及在“处理”区域中显示。
  2. 单击左侧训练区域中的 按钮,用来自“处理”区域的图像替换当前训练图像。训练模式会自动激活,新的训练图像则会在图形窗口中显示。
选择匹配模型

本工具可使用 easyToucheasyTouch+。 这意味着您可按如下步骤以交互方式选择对齐的匹配模型:

  1. 单击 工具面板 左侧的训练图像。训练图像将在图形窗口中显示,您可以从选择匹配模型开始。
  2. 将鼠标移至图像上方以显示模型的感兴趣区域 (ROI) 的预览。或者使用 ROI 选择按钮画一个模型 ROI。使用 easyTouch 选择模型时,预览模型 ROI 的颜色可指示 ROI 是否适合训练,即矩形内对象是否适合训练。精度、比例和旋转不变性均取决于基础对象的对比度、尺寸和形状。不同颜色的含义如下:
    • 可能的良模型 ROI 以定义的“已选取”颜色高亮显示,例如,默认为绿色。
    • 如果模型 ROI 以定义的“警告”颜色高亮显示(例如,默认为黄色),则它可能不是最佳训练 ROI,例如,因模型边缘缺失或过少。
    • 差模型 ROI 以定义的“已拒绝”颜色高亮显示,例如,默认为红色。如果矩形非常靠近图像边界,则以红色显示,因为对象可能仅在处理图像中部分可见。
  3. 如果要为对齐使用突出显示的 ROI,请单击 ROI 以确认选择。相应的训练参数会自动确定。

要增强与旋转变化有关的训练的稳定性,我们建议选择两个不同的模型 ROI,从而通过位于图像对边最佳位置的两个 ROI 来训练匹配模型。

定义搜索设置

调整搜索参数

与训练参数不同,左侧的搜索参数不会自动调整。它们依赖于您的应用程序的图像,并应相应调整。

您可以检查训练和搜索参数的当前设置是否适合。通过一系列图像运行应用程序,您可以立即在图形窗口中检查是否可在图像中正确地找到已训练的匹配模型。如有必要,您可以进一步调整参数。

区域限制

对象的搜索区域由“处理区域”和“搜索 ROI” 确定。

如果对象的重心位于此搜索区域内,将被返回。如果重心位于对象之外,应调整搜索区域,使重心包含在内。这可以确保对象被找到。

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

参数

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

基本参数

图像

此参数表示应计数其对象数量的图像。它既可用作训练图像来确定匹配模型,也可用作处理图像来测试已确定的匹配模型。

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

最低分值

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

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

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

方向容差

此参数定对象可在图像中显示的旋转容差。它以为单位并默认设为 180°。您可以在相应的连接器中将“方向容差”更改为“0°”和“180°”之间的角度。

其他参数

搜索 ROI

此参数定义需要处理的感兴趣区域 (ROI)。ROI 和“处理区域”并集之外的图像部分将不进行处理。此外,如果其中一个为空,将处理两者交集的图像部分。如果两者均为空,将处理整个图像。 但是,如果使用 easyTouch 选择匹配模型,则会使用整个图像进行处理。

默认情况下,“搜索 ROI” 定义为空 ROI。如果您想要使用非空的“搜索 ROI” 进行处理,您必须将参数连接至前一工具的适当 ROI 结果以确保某个 ROI 会传输到此工具,或者必须使用可用的 ROI 按钮在图像中绘制新的 ROI。如果使用前一工具的 ROI,您还可使用 ROI 按钮绘制额外的 ROI。

如果仅部分训练模型(例如,仅两个模型 ROI 中的一个)位于搜索区域之内,则可能足以查找匹配。但是,如果训练模型位于此区域之外,则不会找到它。

对齐数据:

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

最大对象数量

此参数定义了图像中应计数的“最大对象数量”。它可用于定义对象的预期数量。默认情况下设置为 50。这意味着,如果在图像中找到超过 50 个匹配度大于“最低分值”的对象,仅会返回匹配度最高的 50 个对象。您也可以在相应的连接器中更改该值。增加“最大对象数量”可能会导致搜索时间延长。

如果“最大对象数量”设置为 0,对象数量将不设置上限。这表示,超过“最低分值”的所有对象都会被找到。

变形容差:

此参数定义允许的对象最大变形。它以像素为单位并默认设为 1 像素。也就是说,相对于训练模型的形状发生最多 1 像素变形的对象也会被找到。您可以在相应连接器中将值更改为介于 0 到 5 像素之间及以上(需手动输入)的值。如果您将值设置为 0 像素,则仅会找到没有任何变形的对象。但是,“变形容差” 越高,找到错误对象的风险也就越高,尤其是那些结构精细的对象。

因此,应选择尽可能小的 “变形容差”,只有在必要时才选择大的值。如果已知模型在图像中的预期变形程度,您可以相应地更改“变形容差”的值。“变形容差”仅在“匹配方法训练”设置为“基于形状”时有效。

最大重叠

此参数定义计数的对象所允许的重叠上限,即,定义了此重叠容差。此重叠是由环绕对象的最小矩形确定,而不是对象自身区域。因此,即使实际区域未相交,两个对象也有可能重叠。“最大重叠”以百分比值表示并默认设为 50%。也就是说,在搜索图像中对象的最小环绕矩形封闭不超过 50% 才能被包含在计数中。如果对象有超过 50% 被封闭,将无法进行计数。您可以在相应的连接器中将其值更改为 0 和 100 之间的值。如果您将值设置为 0,仅会找到没有任何重叠的对象。但是,“最大重叠”值越高,找到错误对象的风险也就越高。

处理区域

此参数定义需要处理的区域。ROI 和“处理区域”并集之外的图像部分将不进行处理。此外,如果其中一个为空,将处理两者交集的图像部分。如果两者均为空,将处理整个图像。

默认情况下,“处理区域” 定义为空区域。要指定 “处理区域”,您需要将该参数连接至前一工具的适当区域结果,以确保某个区域会传输到此工具。

如果使用 easyTouch 选择匹配模型,则会使用整个图像进行处理。

训练参数

基本训练参数

匹配方法训练

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

描述

基于形状

此匹配方法通过轮廓形状来描述训练模型。

如果要通过查找图像中最佳形状模型匹配的匹配方法来确定训练模型,可以使用此方法。

基于相关性

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

如果要通过归一化互相关 (NCC) 来匹配对象或图案的匹配方法来确定训练模型,可以使用此方法。

其他训练参数

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

结果

基本结果

数量

此结果包含根据指定参数计数的对象的“数量”。返回的结果为整数

匹配度

此结果返回指示已计数对象和搜索的已训练模型之间匹配度的值。返回的结果为一个介于 0 和 1 之间的实数。如果“匹配度”值为 1,已发现对象与已训练模型之间的匹配准确性为 100%。如果找到多个对象,会以元组形式返回相应的匹配度。

工具状态

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

其他结果

模型边缘

此结果包含训练模型棱边的轮廓。

方向箭头

此结果代表已用于训练的 ROI方向箭头”。它将以轮廓的形式返回。

处理时间:

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

应用程序示例

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

  • check_pen_parts.mvapp
  • count_frozen_dough_with_training.mvapp