通过匹配定位
使用此工具可通过匹配定位对象。
概述
此工具在训练模式下使用。这就是说先根据指定的训练参数来训练待定位对象。只要设置了或更改了训练参数,训练就会自动开始。
然后可以通过相同工具内的其他图像来测试训练模型。
通过匹配定位对象时,将首先在图像中搜索对象的训练模型。如果找到模型实例,则将其计为对象。
工具在工具面板左侧提供训练区域。它让您能够通过单击相应的图像,在用于搜索的处理模式和用于训练匹配模型的训练模式之间切换。图形窗口显示当前处于活动状态模式的图像,该图像以蓝色在训练区域中高亮显示。除左上方的搜索参数外,该工具还在工具右上方提供用于训练的更多参数。
请参阅使用训练模式,进一步了解如何使用需要训练的工具。
工具面板 分为 左侧的训练区域和右侧的图形窗口。
训练参数
训练区域
图形窗口
定义训练设置
选择训练图像
工具面板左侧的第一个图像显示当前加载的图像,第二个图像显示训练图像。
对于此工具,只可以将一个图像用作训练图像。插入工具时,当前处理图像会自动用作训练图像。您还可通过以下步骤更改训练图像:
- 单步运行程序,直到所需图像在图形窗口中以及在“处理”区域中显示。
- 单击左侧训练区域中的
按钮,用来自“处理”区域的图像替换当前训练图像。训练模式会自动激活,新的训练图像则会在图形窗口中显示。
选择匹配模型
本工具可使用 easyTouch 和 easyTouch+。 这意味着您可按如下步骤以交互方式选择对齐的匹配模型:
- 单击 工具面板 左侧的训练图像。训练图像将在图形窗口中显示,您可以从选择匹配模型开始。
- 将鼠标移至图像上方以显示模型的感兴趣区域 (ROI) 的预览。或者使用 ROI 选择按钮画一个模型 ROI。使用 easyTouch 选择模型时,预览模型 ROI 的颜色可指示 ROI 是否适合训练,即矩形内对象是否适合训练。精度、比例和旋转不变性均取决于基础对象的对比度、尺寸和形状。不同颜色的含义如下:
- 可能的良模型 ROI 以定义的“已选取”颜色高亮显示,例如,默认为绿色。
- 如果模型 ROI 以定义的“警告”颜色高亮显示(例如,默认为黄色),则它可能不是最佳训练 ROI,例如,因模型边缘缺失或过少。
- 差模型 ROI 以定义的“已拒绝”颜色高亮显示,例如,默认为红色。如果矩形非常靠近图像边界,则以红色显示,因为对象可能仅在处理图像中部分可见。
- 如果要为对齐使用突出显示的 ROI,请单击 ROI 以确认选择。相应的训练参数会自动确定。
定义搜索设置
调整搜索参数
与训练参数不同,左侧的搜索参数不会自动调整。它们依赖于您的应用程序的图像,并应相应调整。
您可以检查训练和搜索参数的当前设置是否适合。通过一系列图像运行应用程序,您可以立即在图形窗口中检查是否可在图像中正确地找到已训练的匹配模型。如有必要,您可以进一步调整参数。
区域限制
对象的搜索区域由“处理区域”和“搜索 ROI” 确定。
如果对象的重心位于此搜索区域内,将被返回。如果重心位于对象之外,应调整搜索区域,使重心包含在内。这可以确保对象被找到。
部分位于图像之外的对象将在处理中被忽略。
参数
根据参数“匹配方法训练”的选定训练方法,一些连接器会显示为灰色。这意味着它们不适用于当前选定的训练方法,因此不起作用。
基本参数
图像:
此参数表示应定位对象的图像。它既可用作训练图像来确定匹配模型,也可用作处理图像来测试已确定的匹配模型。
如果在此工具中将彩色图像用作输入图像,仅第一个通道(即红色通道)将用于处理。
最低分值:
此参数是一个数值,用于定义定位时的匹配精确度。它确定了图像中必须显示多少训练模型才能找到匹配。默认情况下设置为 0.5。也就是说图像中可以封闭一半的模型。您可以在相应的连接器中更改其值。该值可以设置为 0.1和 1 之间的数。“最低分值” 越高,搜索速度越快。如果预计模型在图像中绝不会封闭,则可将 “最低分值” 设置为高达 0.8 甚或 0.9。
为了加速搜索,使用了所谓的缩小图像金字塔。每个等级的匹配度都需要足够大才能进行此类识别。这可能会导致排除一些匹配项,虽然这些匹配项在原始图像中的匹配度大于最低匹配度,原因在于它们在更高缩小等级的可识别度不够。这些错过的匹配项可使用更低的匹配度找到。
您可以测试当前的“最低分值”,方法是逐步运行应用程序并查看是否在所有图像中正确检查了对象的存在状态。
方向容差:
此参数定对象可在图像中显示的旋转容差。它以度为单位并默认设为 180°。您可以在相应的连接器中将“方向容差”更改为“0°”和“180°”之间的角度。
最大对象数量:
此参数定义了图像中应计数的“最大对象数量”。默认情况下,此参数设置为 1。您也可以在相应的连接器中更改该值。增加“最大对象数量”可能会导致搜索时间延长。
其他参数
搜索 ROI:
此参数定义需要处理的感兴趣区域 (ROI)。ROI 和“处理区域”并集之外的图像部分将不进行处理。此外,如果其中一个为空,将处理两者交集的图像部分。如果两者均为空,将处理整个图像。 但是,如果使用 easyTouch 选择匹配模型,则会使用整个图像进行处理。
默认情况下,ROI 定义为空 ROI。如果想要使用非空的 ROI 进行处理,您必须将参数连接至前一工具的适当 ROI 结果,或者必须使用可用的 ROI 按钮在图像中绘制新的 ROI。
如果仅部分训练模型(例如,仅两个模型 ROI 中的一个)位于搜索区域之内,则可能足以查找匹配。但是,如果训练模型位于此区域之外,则不会找到它。
标定数据:
此参数定义校正可能的镜头失真和相对于图像平面的相机位置所需的标定数据。默认情况下,不定义任何标定数据。如果想要使用标定数据,您必须将参数连接至前一工具的适当结果(例如,标定相机),以确保标定数据会传输到此工具。它会立即应用到图像。
如果此工具使用了“标定数据”,则表示像素值的所有结果都将自动转换为对应的现实坐标。
对齐数据:
此参数表示用于对齐 ROI 的对齐数据。默认情况下不会连接对齐数据,因此不显示任何效果。如果想要使用特定对齐数据,您必须将参数连接至前一工具的适当结果,例如通过匹配确定对齐、确定与直线边缘对齐、对齐图像或旋转图像。
变形容差:
此参数定义允许的对象最大变形。它以像素为单位并默认设为 1 像素。也就是说,相对于训练模型的形状发生最多 1 像素变形的对象也会被找到。您可以在相应连接器中将值更改为介于 0 到 5 像素之间及以上(需手动输入)的值。如果您将值设置为 0 像素,则仅会找到没有任何变形的对象。但是,“变形容差” 越高,找到错误对象的风险也就越高,尤其是那些结构精细的对象。
因此,应选择尽可能小的 “变形容差”,只有在必要时才选择大的值。如果已知模型在图像中的预期变形程度,您可以相应地更改“变形容差”的值。“变形容差”仅在“匹配方法训练”设置为“基于形状”时有效。
最大重叠:
此参数定义计数的对象所允许的重叠上限,即,定义了此重叠容差。此重叠是由环绕对象的最小矩形确定,而不是对象自身区域。因此,即使实际区域未相交,两个对象也有可能重叠。“最大重叠”以百分比值表示并默认设为 50%。也就是说,在搜索图像中对象的最小环绕矩形封闭不超过 50% 才能被包含在计数中。如果对象有超过 50% 被封闭,将无法进行计数。您可以在相应的连接器中将“最大重叠”的值更改为 0 和 100 之间的值。如果您将值设置为 0,仅会找到没有任何重叠的对象。但是,“最大重叠”值越高,找到错误对象的风险也就越高。
处理区域:
此参数定义需要处理的区域。ROI 和“处理区域”并集之外的图像部分将不进行处理。此外,如果其中一个为空,将处理两者交集的图像部分。如果两者均为空,将处理整个图像。
默认情况下,“处理区域” 定义为空区域。要指定 “处理区域”,您需要将该参数连接至前一工具的适当区域结果,以确保某个区域会传输到此工具。
如果使用 easyTouch 选择匹配模型,则会使用整个图像进行处理。
训练参数
基本训练参数
匹配方法训练:
此训练参数定义用作确定训练模型的匹配方法。默认情况下,此参数设置为 “基于形状”。您可以在相应的连接器中更改“匹配方法训练”。
|
值 |
描述 |
|---|---|
|
基于形状 |
此匹配方法通过轮廓形状来描述训练模型。 如果要通过查找图像中最佳形状模型匹配的匹配方法来确定训练模型,可以使用此方法。 |
|
基于相关性 |
此匹配方法通过所含像素的灰度值关系来描述训练模型。 如果要通过归一化互相关 (NCC) 来匹配对象或图案的匹配方法来确定训练模型,可以使用此方法。 |
其他训练参数
其他训练参数按其相关的匹配方法列出。可设置其他方法的参数,但对生成的训练模型不会有任何影响。
此训练参数定义了已使用模型的边缘对比度。它以灰度值为单位并默认设为 10。这意味着将找到对比度至少为 11 个灰度值的对象。可通过多种方法设置边缘对比度:
- 由 easyTouch 自动处理
使用 easyTouch 在训练图像中选择对象。参数值将根据 easyTouch 的选择自动调整。
- 使用感兴趣区域 (ROI) 自动处理
在连接器中手动将边缘对比度设置为 0,并在您想要查找参考对象的训练图像的每个部分,绘制一个模型 ROI。工具会自动检测任何对比度的所有可能对象。如果您想要添加更多的对象作为训练参考,必须确保将模型 ROI 手动绘制到图像中。在手动更改值或使用 easyTouch 之前,连接器上的参数值保持为 0。
- 手动
在相应的连接器中手动设置所需的边缘对比度,并在您想要查找参考对象的训练图像的每个部分,绘制一个模型 ROI。您可以使用滑块设置值,也可以在文本字段中输入 1 到 1,000,000,000 之间的值。这样即可找到适合所定义边缘对比度的所有可能对象。如果您想要添加更多的对象作为训练参考,必须确保将模型 ROI 手动绘制到图像中。使用 easyTouch 选择对象时,参数值会自动调整,而之前定义的设置将会丢失。
此训练参数定义用于搜索训练图像中对象的边缘对比度。它以灰度值为单位并默认设为 5。这意味着将找到对比度至少为 6 个灰度值的对象。可通过多种方法设置边缘对比度:
- 由easyTouch
使用 easyTouch 在训练图像中选择对象。参数值将根据 easyTouch 的选择自动调整。
- 使用感兴趣区域 (ROI) 自动处理
在连接器中手动将边缘对比度设置为 0,并在应为搜索确定和使用边缘对比度的训练图像的每个部分,绘制一个模型 ROI。工具会自动检测任何对比度的所有可能对象。如果您想要添加更多的对象作为边缘对比度参考,必须确保将模型 ROI 手动绘制到图像中。在手动更改值或使用 easyTouch 之前,连接器上的参数值保持为 0。
- 手动
在相应的连接器中手动设置所需的边缘对比度,并在您想要以所定义对比度确定边缘的训练图像的每个部分,绘制一个模型 ROI。您可以使用滑块设置值,也可以在文本字段中输入 1 到 1,000,000,000 之间的值。这样即可找到适合所定义边缘对比度的所有可能对象。如果您想要添加更多的对象作为训练参考,必须确保将模型 ROI 手动绘制到图像中。使用 easyTouch 选择对象时,参数值会自动调整,而之前定义的设置将会丢失。
此参数定义在搜索期间所用金字塔等级的数量。默认情况下,此参数设置为 “自动”。在训练图像中选定模型 ROI 后,“最高金字塔层数”将由 easyTouch 自动确定。您可以在相应的连接器中手动将其值更改为 2 和 8 之间的等级。应设置得尽可能大,以减少找到对象所需的时间。但是,如果设置得太大,该模型可能无法识别。因此,还应设置得足够小,以便模型仍然可被识别。
合适的金字塔等级(即至少可以找到一个形状模型实例的最高金字塔等级)的选择将取决于模型和输入图像。适当的“最高金字塔层数”可能因图像的不同而各异。如果输入图像质量较差,例如图像散焦、变形或噪点多,可能会由于边缘缺失或变形而导致通过默认设置找不到模型实例。在此情况下,请减小“最高金字塔层数”的值。
如果将“最高金字塔层数”参数设置得太小,找到模型所需的时间可能会增加,并导致 MERLIC 变得非常慢。尤其是在使用了大尺寸图像的情况下。在此情况下,我们建议增大“最高金字塔层数”的值。
此训练参数定义了所使用模型边缘的最小长度。它以像素为单位并默认设为 5 像素。可通过多种方法来确定边缘长度:
- 由 easyTouch 自动处理
使用 easyTouch 在训练图像中选择对象。参数值将根据 easyTouch 的选择自动调整。
- 使用感兴趣区域 (ROI) 自动处理
在连接器中手动将边缘对比度设置为 0,并在您想要确定训练的边缘最小长度的训练图像的每个部分,绘制一个模型 ROI。工具会自动检测所有可能边缘的最小长度。如果您想要为训练添加更多的对象,必须确保将模型 ROI 手动绘制到图像中。在手动更改值或使用 easyTouch 之前,连接器上的参数值保持为 0。
- 手动
在相应的连接器中手动设置所需的边缘长度,并在您想要以所定义长度查找边缘的训练图像的每个部分,绘制一个模型 ROI。这让您可以定义仅将具有所指定最小长度的模型边缘包含到训练中。您可以使用滑块设置值,也可以在文本字段中输入 1 到 1,000,000,000 像素之间的值。如果您想要为训练添加更多的对象,必须确保将模型 ROI 手动绘制到图像中。使用 easyTouch 选择对象时,参数值会自动调整,而之前定义的设置将会丢失。
该参数确定在图像中识别模型的条件。默认情况下设置为“使用极性”。
|
值 |
描述 |
|---|---|
|
使用极性 |
如果使用此极性指标,则训练图像和处理图像中的对象必须具有相同的对比度,例如,如果模型是深色背景上的明亮对象,则仅当对象也比背景亮时才找到该对象。 此指标只能应用于单通道图像。如果将多通道图像用作训练图像或处理图像,则只会使用第一个通道。 |
|
忽略颜色极性 |
如果使用此极性指标,则即使局部的颜色对比度发生变化(例如,对象的某些部分的颜色从绿色变为红色),也会找到模型。如果事先不知道对象在哪些通道中可见,则此模式很有用。但如果使用此极性指标,处理模式下的运行时间可能会大幅增加。 此指标可用于具有任意数量通道的图像。如果用于单通道图像,则其效果与“忽略局部极性”相同。在训练模型的创建和搜索中,通道数量可以不同。这可用于根据合成生成的单通道图像创建模型。此外,通道不需要像 RGB 图像一样包含光的光谱细分。通道还可以包含通过从不同方向照亮对象而获得的同一对象的图像。 |
|
忽略全局极性 |
如果使用此极性指标,则即使对比度全局反转,也可以在图像中找到模型,例如,如果模型是深色背景上的明亮对象,则不仅在它比背景明亮时(即“使用极性”)会被发现,而且它比背景暗时也会被发现。在这种情况下,处理模式下的运行时间将略有增加。 此指标只能应用于单通道图像。如果将多通道图像用作训练图像或处理图像,则只会使用第一个通道。 |
|
忽略局部极性 |
如果使用此极性指标,则即使局部的颜色对比度发生变化也会找到模型。如果对象包含具有中等灰度值的部分,且该部分中有较暗或较亮的子对象,则此功能很有用。但如果使用此极性指标,处理模式下的运行时间可能会大幅增加。 此指标只能应用于单通道图像。如果将多通道图像用作训练图像或处理图像,则只会使用第一个通道。 |
此参数定义在搜索期间所用金字塔等级的数量。默认情况下,此参数设置为 “自动”。在训练图像中选定模型 ROI 后,“最高金字塔层数”将由 easyTouch 自动确定。您可以在相应的连接器中手动将其值更改为 2 和 8 之间的等级。应设置得尽可能大,以减少找到对象所需的时间。但是,如果设置得太大,该模型可能无法识别。因此,还应设置得足够小,以便模型仍然可被识别。
合适的金字塔等级(即至少可以找到一个形状模型实例的最高金字塔等级)的选择将取决于模型和输入图像。适当的“最高金字塔层数”可能因图像的不同而各异。如果输入图像质量较差,例如图像散焦、变形或噪点多,可能会由于边缘缺失或变形而导致通过默认设置找不到模型实例。在此情况下,请减小“最高金字塔层数”的值。
如果将“最高金字塔层数”参数设置得太小,找到模型所需的时间可能会增加,并导致 MERLIC 变得非常慢。尤其是在使用了大尺寸图像的情况下。在此情况下,我们建议增大“最高金字塔层数”的值。
该参数确定在图像中识别模型的条件。默认情况下设置为“使用极性”。
|
值 |
描述 |
|---|---|
|
使用极性 |
如果使用此极性指标,则训练图像和处理图像中的对象必须具有相同的对比度,例如,如果模型是深色背景上的明亮对象,则仅当对象也比背景亮时才找到该对象。 此指标只能应用于单通道图像。如果将多通道图像用作训练图像或处理图像,则只会使用第一个通道。 |
|
忽略颜色极性 |
如果使用此极性指标,则即使局部的颜色对比度发生变化(例如,对象的某些部分的颜色从绿色变为红色),也会找到模型。如果事先不知道对象在哪些通道中可见,则此模式很有用。但如果使用此极性指标,处理模式下的运行时间可能会大幅增加。 此指标可用于具有任意数量通道的图像。如果用于单通道图像,则其效果与“忽略局部极性”相同。在训练模型的创建和搜索中,通道数量可以不同。这可用于根据合成生成的单通道图像创建模型。此外,通道不需要像 RGB 图像一样包含光的光谱细分。通道还可以包含通过从不同方向照亮对象而获得的同一对象的图像。 |
|
忽略全局极性 |
如果使用此极性指标,则即使对比度全局反转,也可以在图像中找到模型,例如,如果模型是深色背景上的明亮对象,则不仅在它比背景明亮时(即“使用极性”)会被发现,而且它比背景暗时也会被发现。在这种情况下,处理模式下的运行时间将略有增加。 此指标只能应用于单通道图像。如果将多通道图像用作训练图像或处理图像,则只会使用第一个通道。 |
|
忽略局部极性 |
如果使用此极性指标,则即使局部的颜色对比度发生变化也会找到模型。如果对象包含具有中等灰度值的部分,且该部分中有较暗或较亮的子对象,则此功能很有用。但如果使用此极性指标,处理模式下的运行时间可能会大幅增加。 此指标只能应用于单通道图像。如果将多通道图像用作训练图像或处理图像,则只会使用第一个通道。 |
结果
基本结果
中心点:
此结果包含所定位对象的中心点的图形表示。返回结果为点 ROI。如果要以 ROI 的形式处理这些点,可使用此结果。
匹配度:
此结果返回指示已定位对象和搜索的已训练模型之间匹配度的值。返回的结果为一个介于 0 和 1 之间的实数。如果匹配度值为 1,已发现对象与已训练模型之间的匹配准确性为 100%。如果找到多个对象,会以元组形式返回相应的匹配度。
X 轴:
此结果包含所定位对象中心点的 X 轴坐标。如果找到多个明亮区域,则将以元组的形式返回相应的 X 轴 坐标。
Y 轴:
此结果包含所定位对象中心点的 Y 轴坐标。如果找到多个明亮区域,则将以元组的形式返回相应的 Y 轴 坐标。
方向:
此结果包含所定位对象相对于训练模型方向的方向角度。
工具状态:
“工具状态”返回有关工具状态的信息,因此可用于处理错误。请参阅主题工具状态结果,了解关于不同工具状态结果的更多信息。
其他结果
模型边缘:
此结果包含训练模型棱边的轮廓。
方向箭头:
此结果代表已用于训练的 ROI “方向箭头”。它将以轮廓的形式返回。
处理时间:
此结果返回最近一次执行工具的持续时间(以毫秒为单位)。该结果作为附加结果提供。因此,默认情况下它是隐藏的,但是可以通过工具结果旁边的 按钮显示。有关更多信息,处理时间请参工具参考中所阅部分。
应用程序示例
此工具用于以下 MERLIC Vision App 示例:
- measure_distance_to_center_led.mvapp