浅谈 VisionMaster 中的视觉工具系列:模板匹配 (第二部分)
第二部分,介绍模板匹配的原理,以及vm与halcon的对比。

接上贴所提到,轮廓匹配是基于轮廓梯度方向来匹配的。基本原理是linemod的原理,用向量加法优化速度,替代滑窗的卷积。

本人认为vm轮廓模板也是使用该原理。

Linemod算法小结原文链接:https://blog.csdn.net/zmdsjtu/article/details/79933822

linemod原理原文链接讲解的很清楚。下文主要讲一下实现中的问题以及 mv对比halcon速度实测。


匹配原理已经有了。工程实现是个问题。我们轮廓模板匹配,只需要2D,而且需要旋转,缩放。

所以创建模板对象的时候,需要根据不同的金字塔层,创建不同步长(旋转步长,缩放步长)的模板。

以下就是工程实现过程中,我认为的一个提升速度方法:

匹配的时候,由高层开始匹配。根据高层匹配程度(速度快,精度差),决定底层匹配(速度慢,精度高)时,是否需要剪裁无效区域后再匹配。

例如:假设模板尺寸(i*j),原图尺寸(m*n),假设取了五层金字塔层。  

先在第五层下匹配。第五层模板尺寸(i/32  * j/32).第五层原图尺寸(m/32 * n/32)。全角度,全缩放 匹配到的坐标是 (c1,r1)。

然后再第四层匹配。第五层模板尺寸(i/16  * j/16).第五层原图尺寸(m/16 * n/16)。全角度,全缩放 匹配到的坐标是 (c2,r2)。

如果(c1,r1)*2 = (c2,r2) (等于或偏差2个像素以内)。可以认为这个匹配点是正确的,那就直接跳到原图去匹配。并把匹配区域缩小 只比模板大20个像素。

即:原模板  尺寸(i*j), 原图尺寸(i+20  *  j+20)。在这个尺度范围内匹配,角度和缩放,取刚才对比的最大范围。这样极大加快是匹配速度,同时保证了匹配精度。

如果(c1,r1)*2 != (c2,r2)(等于或偏差比较大),那继续去第三差匹配。丢掉第五层。让第三层与第四层匹配结果对比。依次类推。



使用同一组图片测试。图片分辨率是 5472*3648  两千万黑白图片。

用一组图片测试 vm 快速匹配 平均时间大概是35ms   精度匹配 平均时间大概是 45ms


而用halcon测试, 平均时间大概是 5ms


本测试不是非常严谨,主要是vm可调参数少,只能是让vm可调参数与halcon的一致,其他参数控制不了。

本测试只能大致的说明,halcon在调整好参数后,可以做到高速匹配。2000万图片,5ms。真的非常快了。

当然VM也很优秀,35ms。这个速度,基本上可以满足99.9%以上的项目需求。

(因为把全图查找,缩小为局部查找(2000*2000范围 400万像素内)速度迅速提升,耗时只要10ms左右。

(我自己写的匹配算法,大概要120ms左右。还有很大的进步空间。)


以上就是模板匹配的分享。

在工程中,模板匹配是最常用的工具。主要用来纠正对象位置不一致。

接着就是位置修正。然后是精定位,比如找圆。找直线,找交点,找垂线等等。


下图是halcon的组手工具,显示的是halcon最基础也是最重要的工具。其中就有 “模板匹配”,测量矩形 ,标定,字符训练检测,图片采集。


下一篇,测量矩形   测量矩形是所有测量的基础,是找圆,找直线的基础。

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

浅谈 VisionMaster 中的视觉工具系列:模板匹配

下一篇

浅谈 VisionMaster 中的视觉工具系列:测量矩形

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

优秀

2024-09-06 12:10:03 安徽省
回复

楼主做的对比很客观,也我让更多了了解了两种软件的区别。。。

2023-03-11 10:11:36 未知地区
回复

VM采用的是顶层和底层两层搜索架构,并无中间过渡层,和halcon还是有区别的😃

2022-06-24 17:23:27 未知地区
回复
  • 1
Lv.0
0
关注
559
粉丝
29
创作
968
获赞
所属专题
  • 好消息!!!听说VM文档首次全面优化完成了~
  • 小白,怎么学习VisionMaster--1
  • 小白,怎么学习VisionMaster--2
  • 小白,怎么学习VisionMaster--3
  • 浅谈 VisionMaster 中的视觉工具系列:测量矩形
  • 浅谈 VisionMaster 中的视觉工具系列:模板匹配 (第二部分)
  • VM组合模块的使用方法(VM4.1)
  • 【共享学习】VM还有这种操作?分享十个使用技巧!
  • VM算法平台,利用点点测量1个点到其他N个点的距离使用方法。
  • 技术分享——VM识别模块基础使用介绍
相关阅读
  • 【3D系列】我们用2D相机实现3D无序抓取了
    2024-10-21 浏览 0
  • 【3D系列】我们用2D相机实现3D无序抓取了
    2024-10-21 浏览 0
  • 第三届“悉灵杯”基于MV-DT01SDU相机识别果蔬等数据集
    2024-10-14 浏览 0
  • 第三届“悉灵杯”基于MV-DT01SDU相机识别果蔬等数据集
    2024-10-14 浏览 0
  • [启智杯]赛事资料下载说明
    2024-10-29 浏览 0

请升级浏览器版本

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

推荐使用以下浏览器