首页 > 其他分享 >visionpro篇 PMAlign工具

visionpro篇 PMAlign工具

时间:2024-09-27 08:50:06浏览次数:9  
标签:PMAlign 极性 visionpro 特征 粒度 工具 pixels 模板

目录


本文参考visionpro官方文档——PatMax Software,加上自己的理解。

visionpro是一款机器视觉软件,集成了很多工具,本文介绍一下识别定位工具——PMAlign tool。

1、概述

和其他的模板定位技术一样,PMAlign首先训练一个模板,然后在其他图片中定位与该模板相匹配的部分。当然,和其他模板定位技术不同的是,PMAlign不是基于像素而是基于特征进行模板匹配的,这样可以更加快速和准确地实现模板匹配。而基于像素的一个明显的缺点是:如果图像发生了移动、旋转或者缩放,那么这种方法将不再准确和有效。
基于像素:我们都知道,在手机、电脑中显示的图片都是由很多像素组成的,那么很显然,如果图片中的图案发生移动、旋转或者缩放,各位置的像素值会发生变化,像素量也可能会增多或者减少。
在这里插入图片描述

基于特征:根据图案的几何特征,如边、角、曲线。

通过上面的描述,清楚了要使用PMAlign进行识别定位,第一步就是要获取一个包含目标的几何特征的模板。PMAlign有两种路径来获取模板:图片训练、形状训练。
在这里插入图片描述
图片训练

在这里插入图片描述
在这里插入图片描述

如图,我们对图片中框选的部分进行训练,得到包含图案几何特征的模板。
形状训练

Shape training:The process of training a PatMax pattern using one or more shape model objects.
形状训练也就是使用一个或多个形状模型训练模板的过程。
在这里插入图片描述
如图,使用建模器添加一段轮廓,训练模板。使用模板识别其他图片,就可以显示匹配到的形状模型了。

在这里插入图片描述

PMAlign支持两种模板匹配算法,PatMax和PatQuick,相比于PatQuick,PatMax精度更高,但是需要更多的运行时间。

什么是模板?
在这里插入图片描述
PMAlign抽取图片中用户感兴趣的物体得到模板Pattern,模板由一系列的几何特征Features以及各几何特征之间的空间关系组成,每一个Feature又由很多点组成,这些点位于像素值不同的两个区域边界上,也就是说点的两边的像素值差别较大,这样的点包含物体重要的几何特征。

关于图片训练和形状训练的区别,我这里说一下自己的理解,形状训练与图片训练相比少了一个找特征的过程,形状训练的特征由人给出,而图片训练的特征是PMAlign将图像中像素值差异较大地方的点连在一起形成的。当然这个理解不知道对不对,等我以后学了更多再回来验证。

2、PMAlign工作原理

2.1 模板(Pattern)

2.1.1 模板特征(Pattern Features)

在这里插入图片描述

组成模板的特征有大有小,PMAlign的策略是:使用大特征在运行图片中快速找到近似的模板匹配,使用小特征精确确定模板位置。
PMAlign能检测到多大的特征取决于设置的特征粒度。特征粒度设置得大,就只能检测到大的特征;特征粒度设置得小,就可以同时检测到大的特征和小的特征。
在这里插入图片描述
如图,当粗糙粒度设置为1时,图案的特征能较好的拟合。
在这里插入图片描述
当粗糙粒度设置为20时,拟合效果差很多。

特征粒度有粗糙粒度和精细粒度,粗糙粒度大于或等于精细粒度,粗糙粒度和精细粒度是最大和最小的特征粒度,在训练模板时,PMAlign会在粗糙粒度和精细粒度之间自动地选取一系列最优的特征粒度。

2.1.2 模板极性(Pattern Polarity)

模板特征由一系列的特征边界点组成,每个边界点有它的位置和方向,边界点的方向垂直于边界线,且由像素值小的一边指向像素值大的一边,即 dark-to-light。
每个边界点还有极性。
在这里插入图片描述
如图,对于训练模板来说,深色的图案处于浅色的背景中,那么同样的左侧的三张图片也是深色的图案处于浅色的背景中,我们就说它们是极性相同的;而右侧的三张图片是浅色的图案处于深色的背景中,我们就说它们是极性不同的。

在这里插入图片描述
如图,如果我们勾选了“忽略极性”,那么PMAlign可以找到与训练模板极性不同的对象,而如果我们没有勾选“忽略极性”,那么PMAlign就只能找到与训练模板极性相同的对象。
在形状训练时,如果我们没有勾选“忽略极性”的话,所有形状的极性必须被定义;而如果形状的极性不确定的话,只能选择勾选“忽略极性”。
忽略极性的运行速度会比考虑极性慢大概10%,这是因为在考虑极性的情况下,PMAlign可以根据极性不同直接排除掉一些图片,而忽略极性导致PMAlign需要做更多的工作。

2.1.3 模板掩膜(Pattern Masking)

当使用图片训练模板时,可以使用掩膜排除掉我们不想考虑在内的特征。
比如我们只想通过零件的外轮廓来进行模板匹配,那么我们就可以将其他部分作掩膜处理。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
模板掩膜不支持形状训练,因为你在形状描述中可以选择只描述自己关注的特征,因此没有必要再通过掩膜把不想要的特征覆盖掉。
模板掩膜使用于输入图片中存在杂波像素的情况,这些杂波会干扰模板匹配;而在形状训练中,模型是理想的,并不存在干扰因素,因此就不需要掩膜。
以下是官方文档中的一段话,暂时不能理解是什么意思,先放在这里。

The mask image is interpreted as follows:

  • All pixels in the training image that correspond to pixels in the mask image with values greater than or equal to 192 are considered care pixels. All feature boundary points detected within care pixels are included in the trained pattern.
  • All pixels in the training image that correspond to pixels in the mask image with values from 0 through 63 are considered don’t care but score pixels. Feature boundary points detected within don’t care but score pixels are not included in the trained pattern. When the trained pattern is located in a run-time image, features within the don’t care but score part of the trained pattern are treated as clutter features.
  • All pixels in the training image that correspond to pixels in the mask image with values from 64 through 127 are considered don’t care and don’t score pixels. Feature boundary points detected within don’t care and don’t score pixels are not included in the trained pattern. When the trained pattern is located in a run-time image, features within the don’t care and don’t score part of the trained pattern are ignored and not treated as clutter features.
  • Mask pixel values from 128 through 191 are reserved for future use by Cognex.

Note: If you use the PatQuick algorithm (which does not consider clutter pixels), then mask image pixel values from 0 through 63 are treated the same as mask image pixel values from 64 through 127.

标签:PMAlign,极性,visionpro,特征,粒度,工具,pixels,模板
From: https://blog.csdn.net/sc_1313/article/details/142351930

相关文章

  • CurveFitter一款好用且免费的曲线拟合工具
    软件介绍CurveFitter一款好用且免费的曲线拟合工具用于将分析函数非线性曲线拟合到实验数据的免费软件。易于使用的图形用户界面使您无需学习曲线即可开始拟合项目。软件下载https://pan.quark.cn/s/6692512731f2安装教程1、双击运行自解压文件2、点击解压(解压码后台......
  • 5款免费可视化工具大揭秘:选择你的最佳助手
    选择合适的可视化工具对于分析和展示数据至关重要,以下是五款免费的可视化工具,它们各具特色,能够适应各种需求。本文将介绍每款工具的优势与不足,帮助你找到最合适的解决方案。1. 山海鲸可视化介绍:山海鲸可视化是一款难得的完全免费的国产报表工具,更难能可贵的是它还提供了完整且......
  • 哪个编程工具让你的工作效率翻倍?
    方向一:工具介绍VisualStudioCode(VSCode)VisualStudioCode是一款由微软开发的轻量级但功能强大的源代码编辑器,它支持几乎所有主流的开发语言和框架,如JavaScript、TypeScript、Python、C++、Java等。VSCode凭借其丰富的扩展生态、智能的代码补全、强大的调试功能......
  • 完整的 redux 工具包(第 4 部分)
    第4部分:rtk查询中的高级主题。本部分将重点介绍rtk查询中的高级功能和用例,包括自定义查询、处理身份验证、乐观更新和性能优化。第4部分:rtk查询中的高级主题1.高级rtk查询概念介绍在上一部分中,我们介绍了使用rtk查询来获取和变异数据的基础知识。现在,我们......
  • Java中集合工具类的学习
    集合工具类目录集合工具类Collections类Arrays类Comparator接口总结Java中的集合工具类主要帮助开发者对集合(如List、Set、Map等)进行高效的操作和管理。虽然“三种集合工具类”这一表述可能不完全精确,因为Java集合框架中包含了多个工具类和接口,但我可以根据常见的和重要的工具......
  • 视频压缩工具哪个好?没有充足内存的朋友用这几个工具就对了
    是不是每次录完视频,看着那惊人的文件大小就头疼不已?想发朋友圈又怕占内存的朋友快看过来吧~我有办法能让视频既拥有小巧体积又维持清晰画质——借助高质量的视频压缩手机app和软件就可以啦!今天我就来好好向大家安利几款配备智能压缩算法的优质工具,相信它们超强的实力能够帮你......
  • PDF、图片、视频压缩工具
     文件太大,不利于传输、不利于保存,我们通常情况下会想到压缩文件体积,就会使用压缩包来对文件进行压缩。每次需要文件的时候都需要先进行解压。今天分享一个压缩工具,帮助我们原格式压缩文件体积。支持压缩PDF文件,各个格式的视频文件以及图片文件。首先,奥凯丰压缩精灵支持图片......
  • 【实用教程】如何使用kernelbase.dll修复工具解决常见问题?利用KernelBase.dll修复工具
    引言:在使用Windows操作系统时,有时会遇到因KernelBase.dll文件损坏或缺失而导致的系统崩溃、程序无响应等问题。KernelBase.dll是Windows核心库文件之一,负责提供许多基本的系统级功能。当这个文件出现问题时,系统的稳定性和性能会受到影响。幸运的是,通过使用KernelBase.dll修复......
  • .esd 文件通常由微软安装程序创建,如果你需要转换 .wim 文件,可以使用 DISM 工具进
    使用PowerShell备份和还原系统的.wim文件可以通过以下步骤完成。.wim文件是Windows映像格式,用于存储操作系统的完整映像。备份系统到 .wim 文件打开PowerShell以管理员身份运行:在开始菜单中搜索“PowerShell”,右键点击并选择“以管理员身份运行”。使用DIS......
  • 提升开发者效率的秘密武器:探索最佳编程工具
    哪个编程工具让你的工作效率翻倍?在现代工作环境中,选择合适的编程工具对提升开发者的工作效率至关重要。不同的软件工具具有独特的功能,能够帮助我们简化开发流程、提高代码质量、加快调试速度,甚至优化团队协作。接下来,我将介绍几款常见的编程工具,并分析它们的优缺点,帮助大家选......