图形定位

图形定位模块可判断图像指定区域内是否存在指定图形(回字形和十字形),并输出指定图形的中心点、角度、尺度等信息。该模块常用于目标物体的粗定位,也可用于产品计数、判断有无等其他基于定位的业务场景。

本节内容包含:

模块原理

图形定位模块的算法原理与基于轮廓点的模板匹配算法基本相同,不同之处在于掩膜的形状。该模块支持回字形和十字形掩膜,分别创建回字形和十字形的模板。完成建模后,算法会利用创建的模板对目标图像进行匹配定位 。

回字形掩膜

建模结果

十字形掩膜

建模结果

使用方法

在流程中,图形定位的前序模块为图像源,两者配合可初步定位指定特征。图形定位的后序模块包括位置修正圆查找直线查找卡尺工具等,配合使用可修正ROI,辅助精定位。

下图中展示了通过图像源图形定位位置修正边缘交点模块组建流程,实现边缘交点检测的案例。

图 1 图形定位使用示例

特征模板

图形定位模块运行过程中的特征提取基于特征模板进行。运行该模块之前,需先完成特征模板配置。

请参照如下步骤配置特征模板。

  1. 在流程中双击模块打开模块配置窗口,并选择特征模板页签。
    图 2 特征模板页签
  2. 单击新建模型打开模板配置窗口。

    如果图像源模块已正常运行,则该窗口默认显示当前图像源模块采集的图像。如需基于其他图像进行模板配置,可单击选择其他图像

    图 3 模块配置窗口
  3. 选择掩膜类型(如下图所示)。

    十字形Mark点即上文模块原理中提及的十字形掩膜,矩形Mark点即回字形掩膜。

    图 4 选择掩膜类型
  4. 将光标悬浮至掩膜,显示掩膜节点,并在图像上拖拽掩膜节点调整掩膜大小和形状,直至掩膜覆盖目标特征区域。

    调整掩膜过程中,可滚动鼠标滚轴,按需缩放图像。

    图 5 掩膜节点
  5. 可选操作: 进行如下可选操作。
    选项 描述

    图像另存为

    右键单击模板图像,并在弹出的右键菜单上单击另存为,将模板图像另存至本地路径。

    ROI锁定

    右键单击模板图像,并在弹出的右键菜单上单击ROI锁定。锁定后,无法调整掩膜形状和大小。

    ROI解锁

    右键单击模板图像,并在弹出的右键菜单上单击ROI解锁。解锁后,可调整掩膜的形状和大小。

    移动图像

    单击后,将光标移动至图像上并拖拽图像进行移动。

    缩放图像

    单击/缩放图像;或将光标置于图像区域,并滚动鼠标滚轴缩放图像。

    清空掩膜

    单击清空掩膜。

    撤销上一步操作

    单击撤销上一步操作。

    恢复至撤销前

    单击取消撤销,恢复至撤销前的状态。

    图像自适应

    单击将图像大小设置为自适应模式。

    全屏显示

    单击将图像全屏显示。

  6. 单击生成模板。
    图 6 模板效果示例
  7. 如果模板中提取了不必要的轮廓点,单击,并将光标悬浮至这些轮廓点将其擦除。

    可单击右下角的三角形图标,并在弹出的浮窗滑动滑块调整“橡皮擦”的大小。

    图 7 调整“橡皮擦”大小
  8. 可选操作: 调整模板的配置参数,并重新生成模板,直至模板效果满足要求。
    定位方式

    设置定位方式,可选快速匹配高精度匹配

    尺度模式

    可选自动手动两种模式,默认为自动。如果自动模式能满足需求则无需调节;如果不能满足要求,可切换为手动模式并调整特征尺度

    速度尺度

    设置特征匹配速度。该值越大表示图像金字塔顶层的图像越小,相应提取的边缘点就越稀疏,进而加快特征匹配速度。取值范围为1~20。

    精度尺度

    仅在定位方式设置为高精度匹配时可配置,表示提取边缘点的精细程度。取值需小于或等于速度尺度,且仅可为整数。取值为1时提取边缘点数量最多,精度最高 。

    阈值模式

    设置对比度调整模式,可选自动手动,默认为自动。如果自动模式能满足需求则无需手动调整对比度;如果不能满足,可切换至手动模式并调整对比度阈值

    对比度阈值

    此处“对比度”指特征点和背景的灰度值差距。对比度阈值越大,被淘汰的特征点越多。取值范围为1~255。

    图 8 对比度阈值配置效果
    旋转角度

    掩膜与待检测图片之间的角度阈值。实际检测中,两者之间的角度超过该阈值时无法匹配。建模时若没有成功匹配到结果建议增大该参数取值。

    旋转步长

    取值范围为0.1~1,建议使用默认值0.5

    投影区间

    取值范围为1~10,建模时若检测到的匹配点数量较少,建议增大该参数取值。

    Mark类型

    设置掩膜的的细分类型。如果上文步骤中掩膜类型选择为十字形Mark点,此处可设置为实心十字空心十字

  9. 可选操作: 在掩膜列表单击/隐藏或显示掩膜。
    图 9 掩膜列表
  10. 单击模板配置窗口右下角的确定,完成模板配置,并返回特征模板页签。
    图 10 特征模板页签
  11. 可选操作: 特征模板页签进行如下可选操作。
    选项 描述

    编辑模板

    单击编辑模板继续编辑模板。

    删除模板

    单击删除模板。

    导出模板

    单击将当前模板导出至本地路径。

    载入模板

    单击从本地路径载入模板。

参数配置

以下仅介绍该模块的运行参数详情。通过配置运行参数,可定义当前模块如何处理输入的数据。

说明:
最小匹配分数

设置特征模板与待匹配图像中目标的相似度阈值。算法仅在相似度达到该阈值时,才会将该搜索到的目标判定为有效匹配结果。该参数最大可设置为1,表示完全契合。默认为0.5。

最大匹配个数

设置允许查找到的最大目标数量,默认值为1,有效取值范围为1~1000。

匹配极性

设置极性表示图形边缘到背景的颜色过渡情况(从黑到白或者从白到黑)。

如果查找目标的极性和特征模板的极性不一致时,仍要保证目标被查找到,则需将该参数设置为不考虑极性。如不需要则可设置为考虑极性,缩短查找时间。

角度范围

快速匹配模块同名参数定义相同,详见该模块的角度范围

定位类型

可以选择直接映射以及二次修正两种定位类型。直接映射耗时短,精度较低。二次修正耗时长,精度高。

直接映射

直接使用模板匹配的定位结果作为最终输出的图形定位。

二次修正

基于模板进行粗定位后,再对图形进行一次精定位,获取更精准的定位结果。

最大重叠率

设置搜索多个目标且其中两个匹配目标彼此重合时,两个匹配框的最大重叠比例。该参数取值越大表示两个目标可重叠的程度越大。取值范围0~100,默认50。当两个目标的重叠率大于所设置的参数值时,算法将舍弃相似度得分较低的目标,保留得分较高的目标。

图 11 效果示例
排序类型

设置匹配结果的排序依据,如按分数降序排序、按角度降序排序、按X由小到大排序等。

下图为按分数降序排序的示例。

图 12 排序示例
按分数降序排序

按照特征匹配的得分降序排列。

按角度降序排序

按照当前结果里面相对角度偏移降序排列。

按X由小到大排序

按照匹配框中心的X轴坐标由小到大排序。

按Y由小到大排序

按照匹配框中心的Y轴坐标由小到大排序。

X由小到大,Y由小到大

按照匹配框中心点X轴坐标由小到大排序,当X坐标整数化后值相同时再按照Y轴坐标从小到大排序。

Y由小到大,X由小到大

按照匹配框中心点Y轴坐标由小到大排序,当Y坐标整数化后值相同时再按照X轴坐标从小到大排序。

阈值类型

设置边缘阈值的类型。边缘阈值指边缘对比度阈值,即轮廓点和背景的灰度值的差距阈值。仅大于该阈值的轮廓点可被提取。

自动阈值

根据目标图像自适应边缘阈值。

模板阈值

以模板的边缘阈值经过内部转换后作为匹配阶段的边缘阈值。

手动阈值

以手动设定的边缘阈值作为边缘阈值。

是否考虑杂斑

开启后,算法会考虑杂斑特征。如果特征存在毛刺,则评分降低。默认关闭。

如下图所示,是否考虑噪点会对匹配分值产生影响。(左:匹配模板,中:考虑噪点,右:不考虑噪点)。

图 13 效果示例
延拓阈值

延拓阈值为特征在图像边缘显示不全时,特征缺失的部分相对于完整的特征的比例。当被查找的目标被图像边缘截断时,设置延拓阈值可保证目标被找到。

下图中只要设置延拓阈值大于40时就可以保证图像上方被截断的目标被查找到。

图 14 效果示例
超时控制

设置搜索超时的时长。搜索时间达到超时时长算法将停止搜索,不返回任何搜索结果。取值范围:0~10000,单位:ms。如设置为0,则关闭超时控制功能。

轮廓使能

勾选后显示模板轮廓特征点。

不勾选则不显示特征点,只显示匹配框,可降低匹配耗时。

模块结果

该模块输出结果中各项参数详情,请参见图形定位模块的输出结果