1. 介绍
【简单讲,靠训练的图片和形状抓取被检测图片中的相似实例,并给出相较于原始训练图片的位置和角度偏移】
【再简单讲,根据训练图片,抓图片】
【用途:1、获取特征区域原点和角度偏移 2、获取符合特征的对象数量

PMAlign 编辑控件为 CogPMAlignTool 及其组件提供了图形用户界面,这使你能够训练一个模式,然后让该工具在连续的输入图像中搜索它。你可以指定在执行模式训练或模式搜索时要使用的算法类型,并在从图像或从一组形状模型中创建训练模式之间进行选择。模式搜索可以通过输入图像中的可选搜索区域进行约束

  • PatMax 是图形定位搜索技术
  • PatMax 图案不依赖与像素网格
  • 特征是一种轮廓,它代表图像中不同区域之间的边界
  • 基于特征轮廓可以更快速被转换(找寻)相较于基于像素点网格的定位
  • 使用PatMax可以抓取如下信息:
    • 图案位置信息
    • 相较于训练图形的大小关系
    • 相较于训练图形的角度关系
  • 精度可以达到:
    • 最高1/40 像素的平移
    • 最高1/50 度的旋转
    • 最高0.05%的比例变化

2、图示

3、Train Params

算法

  • PatQuick 速度最快,对于三维或者低质量原件最佳,承受更多图像差异。
  • PatMax 精度最高,在二维原件上表现最佳,最适合细微细节。
  • PatFlex 为高度灵活的图案设计,在弯曲不平的表面表现最佳。
  • PatMax High sensitivity 适用于对比度低或者视频噪音或图像严重变形。
  • Perspective PatMax 适用于已经历透视失真的二维特征。

训练模式

  • 图像
  • 带图像的形状模型
  • 带转换的形状模型
    选择似是否应根据训练图像的像素内容或根据你使用建模器创建和修改的形状模型来训练PMAlign样本

忽略极性
如果启用,将忽略样板的极性,如果禁用,则只能找到极性与样板匹配的形状。

模型区域: 模型区域就是你用来作为模型特征的区域公
模型原点: 模型原点就是您想要在模型中得到的点,一般选择中心原点。
极性: 极性表示特征边界点是从黑到白还是从的到黑,忽略极性可以增加模型的多样性。
弹性 Elasticity: 弹性是一个运行时参数,代表能承受非线性变化的程度。

粒度 Coarse: 粒度代表探测模型精细特征的程度。

3. 运行期间参数 Run Param



自由度
**
**

4.训练区域及原点

定义该区域的边界框
像素对齐边界框(Pixel Aligned Bounding Box)将定义的区域封闭在一个矩形内。这意味着图像中位于定义区域之外但在边界矩形之内的部分也会被包含进来。
像素对齐边界框调整遮罩(Pixel Aligned Bounding Box Adjust Mask)将定义的区域封闭在一个矩形内,但会遮蔽位于区域之外但在封闭矩形之内的图像部分。其结果是,定义的区域更接近您所指定的区域。
如果您正在根据一组形状模型训练一个模式,则必须使用像素对齐边界框,因为形状训练不支持像素对齐边界框调整遮罩区域。
训练区域
选择输入区域的形状。选择 “无 = 使用整个图像” 意味着该工具使用整个输入图像。PMAlign 工具支持以下输入区域形状:
CogCircle(圆形)
CogEllipse(椭圆形)
CogPolygon(多边形)
CogRectangle(矩形)
CogRectangleAffine(仿射矩形)
CogCircularAnnulusSection(圆形环形截面)
CogEllipticalAnnulusSection(椭圆形环形截面)
出现的一组区域定义参数取决于您使用的区域形状

5.Tune tab 调谐
在调整的对齐设置阶段,您可以使用 “调整(Tune)” 选项卡上的控件来管理存储在此模式的 CogPMAlignComposite 对象的 CompositeData 集合中的图像和对齐位姿(Poses)集合。

在调试阶段,您可以使用 “调试” 选项卡上的控件来配置调试参数,选择哪些图像用于调试,并查看调试结果

6.Graphics Tab

训练特征显示

您可以在包含已训练图案的 Current.TrainImage 缓冲区中显示这些特征:
显示在粗粒度限制下训练的特征。特征以黄色显示。相当于 CreateGraphicsCoarse 方法。
显示在细粒度限制下训练的特征。特征以绿色显示。相当于 CreateGraphicsFine 方法。
只有在图案训练成功时,上述特征才会出现

  • 显示形状模型
  • 如果您提供了运行时掩码(run - time mask),“显示搜索图像掩码(Show Search Image Mask)” 会显示代表该掩码的图形。该图形显示在 Current.InputImage 显示界面上。
  • 如果您提供了训练时掩码(training - time mask),“显示训练图像掩码(Show Train Image Mask)” 会显示代表该掩码的图形。该图形显示在 Current.TrainImage 显示界面上

显示结果特征

您可以在 LastRun.InputImage 缓冲区中显示这些特征,该缓冲区包含 PMAlign 工具上次搜索的图像以及该搜索的结果。使用 CreateResultGraphics 方法生成这些结果。
-训练图案的原点
-训练图案的坐标轴
-匹配区域
-已找到特征的形状模型

诊断显示

“显示匹配特征(Show match features)” 显示用于匹配已训练图案的已找到特征。并非所有已训练特征都可能出现。对于每个匹配的特征,图形的颜色表示匹配的质量(红色表示匹配较差,黄色表示匹配尚可,绿色表示匹配良好)。
“显示搜索区域(Show search region)” 显示在 Current.InputImage 缓冲区(或在 “搜索区域” 选项卡中)定义的搜索区域。
“显示诊断搜索图像掩码(Show Diagnostic Search Image Mask)” 显示运行时掩码(如果指定了的话)。
“显示输入图像(Show Input Image)” 选项按钮允许您指定是显示输入图像的引用还是输入图像的深拷贝作为 LastRun.InputImage。您也可以指定不显示图像。
“显示弹性变形网格(Show Flex Deformation Grid)” 复选框将显示一个表示计算出的变形变换的网格。您必须为运行时算法指定 PatFlex,并且在选中此复选框后必须重新运行该工具才能看到结果。
“显示弹性展开图像(Show Flex Unwarped Images)” 复选框将显示输入图像的展开版本。在与已训练图案对应的区域内展开最为准确。您必须为运行时算法指定 PatFlex,并且在选中此复选框后必须重新运行该工具才能看到结果。

7.结果

显示每个结果的以下信息:
此结果的得分。范围是 0.0 到 1.0,分值越高表示匹配度越高
拟合误差(FitError),这是对找到的图案与经过训练的图案特征匹配紧密程度的度量,不考虑缺失特征。范围是从** 0(完美拟合)**到无穷大(拟合较差)。仅用于 PatMax 算法。
覆盖率(Coverage),即在搜索结果中找到的经过训练图案中的特征所占的百分比。范围是 0.0 到 1.0。仅用于 PatMax 算法。
杂波(Clutter),结果中存在的无关特征数量除以经过训练图案中的特征数量。范围是从 0.0 到无穷大。仅用于 PatMax 算法。
最大粗接受阈值(MaxCoarseAcceptThreshold),允许找到此结果的最大粗接受阈值。
坐标、角度和缩放因子通过 GetPose 方法获取。
X、Y 是在输入图像(InputImage)所选空间中测量的图案原点坐标。
角度(Angle)是在输入图像所选空间中测量的图案空间旋转角度。
缩放比例(Scale)、X 轴缩放比例(ScaleX)和 Y 轴缩放比例(ScaleY)是图案空间与输入图像所选空间之间的缩放因子。