浅谈 VisionMaster 中的视觉工具系列:模板匹配
介绍模板匹配工具。vm中几种模板匹配的区别。 深入讨论一下,模板匹配的原理(选看)

模板匹配,是工业图像处理,最重要的算法。(最常用,最基础,最好用)

所以这个算法实现的优劣,直接体现了该算法平台的实力。(衡量标准:鲁棒性,精度 和 速度)

以本人目前的见识来说,halcon 应该是做的最好。然后是visionpro。再是VM。

但这并不妨碍VM的模板匹配是个优秀的工具。只是某些方面与halcon有些差距。(主要是速度以及可调参数,这部分我们会在最后讨论。)

本篇分两部分。

第一部分,介绍vm中的模板匹配工具的使用。以及常用参数的意义。

第二部分,介绍模板匹配的原理,以及vm与halcon的对比。


vm中有四个模板匹配,如下图:


其中 :高精度匹配,快速匹配,图像定位,都是轮廓匹配。

他们的不同,主要是默认参数,开发的可调参数,不一样。

而图像定位,则是在制作模板的时候,提供了空心十字,空心矩形的方式。再提供高精度,快速匹配两种方式。

快速匹配:默认不可见参数最多。也是最常用的。(你接触到的项目,99.9%的匹配需求,都可以用快速匹配达到目的)

多说一句,就是匹配的目的,通常都是粗定位,偏差几个像素,是可以接受的,匹配速度,反而很关键。匹配算法其实是比较复杂的算法。很多参数,对大部分人来说只是负担。所以可调参数少,通常来说反而是件好事。

我们来看一下,快速匹配有哪些参数?

首先,创建模板:

只有有2个参数:特征尺度(特征点的疏密程度,系数越小,特征点越密集,反之越稀疏),对比度阈值(字面意思,被选中的特征点最低对比度阈值,系数越小,特征点选入门槛越低,被选入的特征点就越多,反之被选中的特征点越少)。如果选中的特征对比度好,直接默认自动参数就可以。



然后,运行参数:

最小匹配分数:字面意思。

最大匹配个数:字面意思。

匹配极性:简易理解就是 对象比背景白,还是比背景黑。 这个因素是否被考虑

角度范围:字面意思

尺度范围:字面意思 支持模板缩放范围。

高级参数:

最大重叠率:字面意思 支持对象部分被遮挡。

排序类型:字面意思

阈值类型:字面意思

延拓阈值:本人理解是对阈值类型的补充,就是查找的时候,对图片中特征选择阈值范围,可以超过阈值类型范围的补充。

超时控制:字面意思,超过这个时间就跳出程序,不再继续匹配。匹配到了就匹配到了,没匹配到就没匹配到。(测试时候,发现bug,超时时,如果没有匹配到对象,会跳出,算法不超时。如果匹配到了对象,算法不会跳出。还会继续执行。导致算法超时)

重点讲一下匹配极性:

考虑极性的意思是,如果你制作模板时候,匹配对象比背景白,那就只匹配白的对象。不会匹配比背景黑的对象。

不考虑极性就是,不管你制作模板时,匹配对象比背景黑,还是白。匹配的时候,会把黑的,白的,都找到。

如上图所示,图片中有一白,一黑对象,背景介于黑白之间。如果我做模板时候,用白对象做模板。

查找对象的时候,考虑极性,就不会找到黑的对象。只会找到白的对象。

查找对象的时候,不考虑极性,那么黑白对象都会找到。


高精度匹配:(只讲与快速匹配不同的地方)

如下图所示,与快速匹配相比,就是多开放2个参数可调。

1,创建模板时,多一个 速度尺度。(快速匹配这个参数不可见,是给了一个默认最大值)这个参数只是限制特征尺度的最大值。

2,运行参数中,xy方向尺度可以单独调试,就是xy两个方向的缩放可以单独调。

运行过程中,使用高度度匹配和快速匹配,使用同样的参数,运行速度不一样。我猜测,还有内在参数不一样。应该是角度匹配的步距,缩放匹配的步距不一样。


图形定位:

如下图所示,制作模板时的图像,比较特殊,是空心矩形和空心十字行。

还有就是高级参数,因为确实对这个参数理解不到位。(目的应该是提高匹配精度)

结合运行参数中,定位类型参数。

图形定位这个算法,除了模板匹配外,还会对匹配到的对象,再进行一次 矩形或十字行匹配。提高匹配精度。(特殊项目,比如mark点是 十字型,或空心矩形)

因为没有实际应用对比,这部分就不展开了。



灰度匹配:

如字面意思,不再是对轮廓特征进行匹配。而是对整个图片的灰度值进行匹配(匹配原理就是滑窗的卷积)。

一般用于图片轮廓对比度太低,或者轮廓太多太杂乱。(其实通常非常少用,该匹配速度慢,鲁棒性,更差)。

其中,制作模板,只有一个参数可调。金字塔层数。(匹配前,先下采样,缩小模板和图片,提高速度)

运行参数有一个 角度步长(因为支持旋转匹配,在匹配的角度范围,要不同角度多次匹配,步长就是决定不同的匹配角度。比如-10 到 +10 ° 范围内匹配,角度步长为1.那么就是 会在 -10,-9,-8......8,9,10。这些角度分别匹配。  如果步长为5。那么只会在 -10,-5,0, 5,10  这几个角度下进行匹配)

以上就是VM 匹配工具的介绍。



由于本贴内容比较多。第二部分,单独再开一贴来讲。(多说一句,轮廓匹配是基于轮廓梯度方向来匹配的。基本原理是linemod的原理,用向量加法优化速度,替代滑窗的卷积。)

版权声明:本文为V社区用户原创内容,转载时必须标注文章的来源(V社区),文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件至:v-club@hikrobotics.com 进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容。
上一篇

浅谈 VisionMaster 中的流程控制

下一篇

浅谈 VisionMaster 中的视觉工具系列:模板匹配 (第二部分)

评论请先登录 登录
全部评论 3

您好能找您做个项目吗?

2023-09-22 10:56:48 广西
回复

请问怎么样能看到这个模板匹配源码

2023-07-07 14:18:43 未知地区
回复

大神,要多像你学习

2022-08-04 22:07:53 未知地区
回复
  • 1
Lv.0
0
关注
458
粉丝
28
创作
860
获赞
相关阅读
  • 探寻机器视觉新星|第二届“启智杯”机器视觉设计大赛获奖名单公布
    2024-04-08 浏览 0
  • 每日分享|3D视觉成像之双目立体视觉原理
    2024-03-21 浏览 0
  • VM4.4更新亮点
    2024-04-12 浏览 0
  • 海康AMR应用场景中蜂鸣器的使用
    2024-04-03 浏览 0
  • 第二届启智杯—光伏电池片质检视觉方案设计
    2024-04-15 浏览 0

请升级浏览器版本

您正在使用的浏览器版本过低,请升级最新版本以获得更好的体验。

推荐使用以下浏览器