ASM算法原理及实现过程

您所在的位置:网站首页 解说漫画合集 ASM算法原理及实现过程

ASM算法原理及实现过程

#ASM算法原理及实现过程| 来源: 网络整理| 查看: 265

一、ASM算法引入 当我们试图去对一个目标物体进行形状建模时,那么就用一个简单的矩形来说明如何对矩形(目标物体)进行形状建模吧。我们用四个顶点和每条边的中点来构造一个矩形,这样我们就可以仅仅通过排列这八个点来建立一个新的矩形实力。为了确保这个模型(八个点)总是能构造一个矩形,我们必须对这些点和他们之间的关联添加相应的限制。如下图所示,P2到P1的距离必须等于其到P3的距离,P3P5构成的向量必须与P5P7构成的向量垂直。 8个点对矩形形状建模 接下来,我们来想想如何对人的手进行形状建模吧,这更符合我们当下的需求。我们用手可以摆出各种各样的姿势,所以我们不仅要描述手指每个节点之间的关系,而且还要描述节点的位置如何随着手的姿态变化而变化。我们需要一种能够自动从样本形状中提取上述规则(类似如何通过对八个点的限制来生成矩形)的方法。 基于此我们就引出了ASM(Active Shape Model,主观形状模型),通过形状模型对目标物体进行抽象。ASM从一系列训练的形状模型中学习,得到一系列形状向量和目标物体的平均形状。SM是一种基于PDM的算法,。在PDM(Point Distribution Model,基于点分布模型)中,外形相似的物体,例如人脸、人手、心脏、肺部等的几何形状可以通过若干关键特征点(landmarks)的坐标依次串联形成一个形状向量来表示。 在这里插入图片描述在这里插入图片描述 二、ASM算法实现过程 首先我们定义一个含有n个点的向量来表示一个形状x={p1,p2,…,pn},这些点表示在笛卡尔坐标系中。在2维中表示,pk=(xk,yk)。利用这一表示方法,我们来进行ASM的训练。在实际应用中,ASM算法的实现一般分为训练过程和搜索过程。通过训练图像样本获取训练图像样本的特征点分布的统计信息,并且获取允许特征点存在的变化方向,实现在目标图像上寻找对应的特征点的位置。训练样本需要手动的标记所有的特征点的位置,记录特征点的坐标,并且计算每一个特征点对应的局部灰度模型作为局部特征点调整用的特征向量。

ASM的训练过程 1)我们有N个用于训练的样本图像,对每个样本进行手动标记我们要建立模型的形状,并保存下来。这些用于标记的点,通常被称为物体形状的关键特征点,一般来说这些特征点应当很容易在训练样本中的所有图像中找到。 2)有步骤1)得到的形状来自于不同的图像,我们很难保证目标物体在这些图像中处于相同的位置和方向。一般来说,我们使用Procrusts方法对这些形状进行相应的校正。这也是ASM训练的关键过程,可以理解为一种空间几何变换。 3)计算平均形状。通过以上两步,我们得到了一组形状尽可能对齐的训练集X。我们有N个包含n个点的形状训练集,由此得到平均形状: 4)PCA降维。降维的主要作用是减少非关键维度的影响,同时可以减少数据量、提升训练效果。 5)描述每个已知特征点的局部特征,以便在该特征点附近进行搜索(可以在特征点附近矩形框中搜索,也可以沿法线方向搜索),以迭代的方式寻找新的特征点匹配位置。ASM的搜索过程 先根据形状检测结果的大致形状位置,将前面计算得到的平均形状进行仿射变换(一种空间几何变换形式,图像的仿射变换可以理解为将图像按比例缩放、旋转、平移或剪切的组合,每个仿射变换对应图像空间的一个变换矩阵),得到一个初始的特征点模型(即初始化对齐形状),然后搜索特征点即可。换言之,ASM的搜索过程就是以空间几何变换为基础,在每个特征点的领域内进行迭代搜索,并结合局部特征点的特征匹配,获取新的特征点位置。


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3