精华内容
下载资源
问答
  • asm算法 opencv实现

    热门讨论 2013-04-17 10:24:41
    asm算法的opencv实现,中含有三个工具,分别可以从图片,摄像机中获得人脸识别特征点描述
  • ASM算法实现对齐功能代码 经典算法asm,内部对齐部分代码,就是求解那个矩阵代码
  • ASM算法简介.pdf

    2021-03-10 00:30:28
    ASM算法简介
  • 描述Active Shape Models的基础算法
  • ASM算法原理及实现过程

    千次阅读 2019-03-15 20:26:28
    一、ASM算法引入 当我们试图去对一个目标物体进行形状建模时,那么就用一个简单的矩形来说明如何对矩形(目标物体)进行形状建模吧。我们用四个顶点和每条边的中点来构造一个矩形,这样我们就可以仅仅通过排列这八个...

    一、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算法的实现一般分为训练过程和搜索过程。通过训练图像样本获取训练图像样本的特征点分布的统计信息,并且获取允许特征点存在的变化方向,实现在目标图像上寻找对应的特征点的位置。训练样本需要手动的标记所有的特征点的位置,记录特征点的坐标,并且计算每一个特征点对应的局部灰度模型作为局部特征点调整用的特征向量。

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

    2012-05-30 09:06:54
    ASM算法源码,在matlab中可直接应用,选取自己的样本进行描点训练识别。
  • ASM算法使用demo

    热门讨论 2012-06-15 19:33:57
    国外一个课程资料,包含了AAM和ASM的使用例子以及算法实现文档!还是很实用的!算法使用的图片里面都有!是AAM和ASM使用的必备教程!
  • ASM算法简介

    万次阅读 2014-06-04 20:46:20
    ASM是基于统计学习模型的特征点提取的一种方法。...方法的提出人Tim Cootes后来还提出了aam算法,也很有名,但如果简单是特征点的定位的话,我认为asm的效果可能更好一些。ASM跟大多数统计学习方法一样,

    http://blog.sina.com.cn/s/blog_6d8e91f401015pv5.html

    ASM是基于统计学习模型的特征点提取的一种方法。这个方法是95年就提出来的,不过至今仍是我认为比较好的人脸特征点提取的方案。方法的提出人Tim Cootes后来还提出了aam算法,也很有名,但如果简单是特征点的定位的话,我认为asm的效果可能更好一些。ASM跟大多数统计学习方法一样,也包括train和test(or fit)两部分,也就是形状建模build和形状匹配fit。这个算法其实很简单,可以用来做实时性的检测,但我还是看了很久,而且还有理解有问题的地方,肯定有很多不对的地方,希望大家多多指正。

    一、模型的建立(build)

    1.选择合适的特征点

    特征点的选取很重要啊,这点不用我多说啦。好的特征点大概应该或多或少满足如下几点:边缘点、曲率大的、T型连接点和以上这些点的连线上的等分点。(如下图)


    记录好这些特征点的顺序,以便于后面确定图形的边界和连线等等。这也是asm方法的优点,得到的特征点是有序的。这样得到一组特征点集X


    我们这里把它看做是一个2n维的向量


    2.形状统计模型

    刚刚得到的2n维向量维数很高(因为图像中我们选择的特征点往往很多),但这2n维彼此是有很强的相关性的,彼此的位置距离是大致不变的。这里作者使用最最常用的PCA来进行降维,提取出主成分,这里作者叫它modes。于是任意一组特征点集可以看做是主成分向量空间的一个坐标点,而这个坐标原点就认为是这些点集的平均,这样任意点就是坐标原点加上一个向量。即:


    这里P是包含了前t个主成分的协方差矩阵,b是一个t维的向量,用来控制特征点形状的变化,当b为0时,x即坐标原点(平均形状),其实是很好理解哈。但这里b不要太大,如果太大,会导致整个形状变化超出人脸的变化范围,会使人变得异常狰狞,大家懂的。。。所以作者这里做了约束


    这步还有个问题,就是PCA中主成分个数t的选取,有两种方法:1)选择前s个;2)选择前k%的分量,这里作者推荐使用第二种方法。

    3.把模型和新点集进行匹配

    这个过程是asm方法的核心所在了,贯穿始终。说来也简单,无非就是把刚得到的模型进行旋转,放缩,平移。


    其中T为旋转放缩平移矩阵


    我们的目的就是是模型X和图像特征点集Y最接近,这里目标函数选择是其各点欧氏距离和最小


    具体的匹配过程就是,先初始化b向量为0,得到模型X,用其他方法找到变换矩阵T,这个很简单,可以用其他方法(haar人脸检测器,光流法,kalman滤波等等等等)大致找到目标的位置和大小以及方向。求的Y,再利用Y反求b,并且更新b,直到收敛。这里比较容易陷入局部最小,也是该方法的一个缺点。

    二、模型在图像中的匹配(fit)

    说白了,也就是在图像中找到模型的匹配点,前面已经说过了,可以利用其它方法大致找到模型的位置大小方向(不要小瞧这步,如果预处理的不好,是很容易陷入局部最小的),接下来就是如何改善参数得到好的匹配结果了。模型中可以调整的参数有b、Xt、Yt、s、theta这5个参数。这里作者提到了两种手段:

    1)先验信息认为特征点主要是图像的强边缘点,并且图像灰度的梯度服从高斯分布,只要找到模型特征点附近梯度最大的值,即认为是特征点所在的位置


    示意图如下:


    这种方法很明显,对图像的噪声很敏感,我这里不太推荐

    2)对模型特征点周围的纹理信息进行采样,对比图像和模型训练集的纹理,找到纹理最接近的点即认为是特征点。作者这里比较纹理的工具是马氏距离。为了提高搜索的效率,作者还提到了多分辨率搜索周围像素纹理,对于粗糙的尺度,搜索范围大,对于细致的尺度,进行细致的搜索,提高了匹配的效率。这个方法是我比较推荐的。

    至于代码,找到了很多版本,有基于opencv的,也有matlab的,大家可以到wiki的asm页面找到对应的链接,但我自己实践下来,总结一下,matlab我不是太熟悉,代码量太大,我放弃了学习。asmlib-opencv是一个在国外读书的国人写的,有源代码,但效果一般。还有个很牛的国人的作品asmlibrary,但核心部分只提供了lib,他的方法效果很好,代码风格也非常棒,实时性也很好,这里感谢作品作者对我的指点。还有个牛人猛写了不基于opencv的stasm,代码量太大,我果断放弃了。至于其他的一些作品都是只有demo,没有code,很让人遗憾。如果哪位大神有asm效果很好的基于opencv的源代码,能提供给小弟,不胜感激。

    展开全文
  • stasm 基于ASM算法的人脸特征点提取 VC++6.0 + openCV1.0 本人亲测是好用的。运行时带上参数 可以实现人脸68个特征点的提取
  • ASM(Acitve Shape Model)

    2018-07-22 20:57:28
    利用ASM(Active Shape Model),进行人脸识别,属于PCA算法之一。
  • ASM算法源代码

    2019-04-02 17:07:02
    ASM算法,包含有68个特征点的人脸检测,其中提供75个特征点的model。有参考网站。
  • ASM算法介绍

    千次阅读 2013-07-23 16:50:22
    ASM是一种基于点分布模型(Point Distribution Model, PDM)的算法。在PDM中,外形相似的物体,例如人脸、人手、心脏、肺部等的几何形状可以通过若干关键特征点(landmarks)的坐标依次串联形成一个形状向量来...

    ASM是一种基于点分布模型(Point Distribution Model, PDM)的算法。在PDM中,外形相似的物体,例如人脸、人手、心脏、肺部等的几何形状可以通过若干关键特征点(landmarks)的坐标依次串联形成一个形状向量来表示。本文就以人脸为例来介绍该算法的基本原理和方法。首先给出一个标定好68个关键特征点的人脸面部图片,如下所示:










    来源:http://blog.csdn.net/carson2005/article/details/8194317


    展开全文
  • 适合新手啊 有例子啊
  • 人脸识别之人脸对齐(二)--ASM算法

    千次阅读 2018-07-26 23:59:13
    原文: ASM(active shape models)算法介绍http://www.thinkface.cn/thread-2-1-1.html ...方法的提出人Tim Cootes后来还提出了aam算法,也很有名,但如果简单是特征点的定位的话,我认为asm的效果可能更好一...

    原文:

    ASM(active shape models)算法介绍
    http://www.thinkface.cn/thread-2-1-1.html

    ASM是基于统计学习模型的特征点提取的一种方法。这个方法是95年就提出来的,不过至今仍是我认为比较好的人脸特征点提取的方案。方法的提出人Tim Cootes后来还提出了aam算法,也很有名,但如果简单是特征点的定位的话,我认为asm的效果可能更好一些。ASM跟大多数统计学习方法一样,也包括train和test(or fit)两部分,也就是形状建模build和形状匹配fit。这个算法其实很简单,可以用来做实时性的检测,但我还是看了很久,而且还有理解有问题的地方,肯定有很多不对的地方,希望大家多多指正。

    一、模型的建立(build)1.选择合适的特征点

    特征点的选取很重要啊,这点不用我多说啦。好的特征点大概应该或多或少满足如下几点:边缘点、曲率大的、T型连接点和以上这些点的连线上的等分点。(如下图)

     

      

          

    记录好这些特征点的顺序,以便于后面确定图形的边界和连线等等。这也是asm方法的优点,得到的特征点是有序的。这样得到一组特征点集X

    我们这里把它看做是一个2n维的向量

    2.形状统计模型

    刚刚得到的2n维向量维数很高(因为图像中我们选择的特征点往往很多),但这2n维彼此是有很强的相关性的,彼此的位置距离是大致不变的。这里作者使用最最常用的PCA来进行降维,提取出主成分,这里作者叫它modes。于是任意一组特征点集可以看做是主成分向量空间的一个坐标点,而这个坐标原点就认为是这些点集的平均,这样任意点就是坐标原点加上一个向量。即:

    这里P是包含了前t个主成分的协方差矩阵,b是一个t维的向量,用来控制特征点形状的变化,当b为0时,x即坐标原点(平均形状),其实是很好理解哈。但这里b不要太大,如果太大,会导致整个形状变化超出人脸的变化范围,会使人变得异常狰狞,大家懂的。。。所以作者这里做了约束

    这步还有个问题,就是PCA中主成分个数t的选取,有两种方法:1)选择前s个;2)选择前k%的分量,这里作者推荐使用第二种方法。

    3.把模型和新点集进行匹配

    这个过程是asm方法的核心所在了,贯穿始终。说来也简单,无非就是把刚得到的模型进行旋转,放缩,平移。

    其中T为旋转放缩平移矩阵

    我们的目的就是是模型X和图像特征点集Y最接近,这里目标函数选择是其各点欧氏距离和最小

    具体的匹配过程就是,先初始化b向量为0,得到模型X,用其他方法找到变换矩阵T,这个很简单,可以用其他方法(haar人脸检测器,光流法,kalman滤波等等等等)大致找到目标的位置和大小以及方向。求的Y,再利用Y反求b,并且更新b,直到收敛。这里比较容易陷入局部最小,也是该方法的一个缺点。

    二、模型在图像中的匹配(fit)

    说白了,也就是在图像中找到模型的匹配点,前面已经说过了,可以利用其它方法大致找到模型的位置大小方向(不要小瞧这步,如果预处理的不好,是很容易陷入局部最小的),接下来就是如何改善参数得到好的匹配结果了。模型中可以调整的参数有b、Xt、Yt、s、theta这5个参数。这里作者提到了两种手段:

    1)先验信息认为特征点主要是图像的强边缘点,并且图像灰度的梯度服从高斯分布,只要找到模型特征点附近梯度最大的值,即认为是特征点所在的位置

    示意图如下:

    这种方法很明显,对图像的噪声很敏感,我这里不太推荐

    2)对模型特征点周围的纹理信息进行采样,对比图像和模型训练集的纹理,找到纹理最接近的点即认为是特征点。作者这里比较纹理的工具是马氏距离。为了提高搜索的效率,作者还提到了多分辨率搜索周围像素纹理,对于粗糙的尺度,搜索范围大,对于细致的尺度,进行细致的搜索,提高了匹配的效率。这个方法是我比较推荐的。


    另外一篇:

    http://blog.csdn.net/carson2005/article/details/8194317

    ASM是一种基于点分布模型(Point Distribution Model, PDM)的算法。在PDM中,外形相似的物体,例如人脸、人手、心脏、肺部等的几何形状可以通过若干关键特征点(landmarks)的坐标依次串联形成一个形状向量来表示。本文就以人脸为例来介绍该算法的基本原理和方法。首先给出一个标定好68个关键特征点的人脸面部图片,如下所示:

    

    展开全文
  • 人脸特征点提取—ASM算法

    千次阅读 2017-05-23 21:37:59
    最近在做一个关于驾驶员疲劳驾驶项目,要分析人脸,做闭眼检测,首先想到的就是人脸特征点的提取,我的导师就建议我是用ASM,于是我就自学了一些它的知识,ASM 是一种基于点分布模型( Point Distribution Model,...
  • ASM(active shape model)算法学习总结

    千次阅读 2017-10-24 20:59:19
    引言 大二利用ASM算法做完项目后,一直没有进行总结。时至今日读了ASM原始论文,以及多篇ASM算法介绍的博客,做以下总结。 ASM(active shape model)大多地方译作 :主动(主观)形状模型,我个人认为如果译作:...
  • 算法状态机ASM(A1gorithmic State Machine)图就是—种描述时钟驱动的控制器的工作流程的方法,它采用类似于流程图的形式来描述控制器在不同的时间内应完成的一系列操作,反映了控制条件及控制器状态的转换。...
  • 人脸对齐(二)--ASM算法

    万次阅读 2016-09-18 10:27:20
    原文: ASM(active shape models)算法介绍http://www.thinkface.cn/thread-2-1-1.html ...方法的提出人Tim Cootes后来还提出了aam算法,也很有名,但如果简单是特征点的定位的话,我认为asm的效果可能更好一...
  • ASM、AAM算法介绍

    千次阅读 2018-12-08 10:47:21
    概述 下面给大家介绍一下人脸关键点检测之ASM、AAM模型,人脸关键点检测主要...人脸关键点检测的算法大致有如下几个,ASM主动形状模型、AAM主动表观模型、CLM局部约束模型、CPR级联姿态回归模型之后就是深度学习,本...
  • ASM人脸特征提取算法的模型训练部分的实现。代码实现从文本中读入数据,对其操作,pca分析,特征向量集确定,最终可以通过改变形状参数来改变模型人脸的特征的生成,主要是演示ASM形状参数是如何改变特征人脸的...
  • ASM和AAM算法学习

    2015-12-08 20:03:21
    ASM模型的训练1. 标记图片特征点。2. 对齐模型,对齐算法是Procrustes算法的变种。3. 对模型做PCA处理。ASM模型的搜索1. 初始化模型。2. 根据图片特征(有很多二维图像特征算法可选)计算模型的目标位移dX。3. 根据...
  • 人脸特征点提取算法包对比(ASM/深度学习)

    万次阅读 多人点赞 2016-04-27 19:35:33
    将现有的ASM公开算法包进行对比,且以ASMLibrary为例,进行了简单实验,保存人脸68个特征点坐标。另外也罗列了深度学习在人脸特征点检测的相关英文教程,并进行了简单总结。
  • ASM(active shape model)算法简介(一)

    万次阅读 多人点赞 2015-05-29 18:37:54
    概要ASM是一种基于点分布模型(Point Distribution Model...ASM算法需要通过人工标定的方法先标定训练集,经过训练获得形状模型,再通过关键点的匹配实现特定物体的匹配。ASM 的优点是 能根据训练数据对于参数的调节加
  • 该项目实现了Esko Ukkonen的近似字符串匹配算法,并扩展了Hal Berghel和David Roach的“Ukkonen增强动态规划ASM算法扩展”的思想。
  • 算法状态机ASM(A1gorithmic State Machine)图就是—种描述时钟驱动的控制器的工作流程的方法,它采用类似于流程图的形式来描述控制器在不同的时间内应完成的一系列操作,反映了控制条件及控制器状态的转换。...
  • ASM(Active Shape Model)算法介绍

    万次阅读 多人点赞 2012-11-17 18:07:22
    ASM是一种基于点分布模型(Point Distribution Model, PDM)的算法。在PDM中,外形相似的物体,例如人脸、人手、心脏、肺部等的几何形状可以通过若干关键特征点(landmarks)的坐标依次串联形成一个形状向量来...
  • 基于ASM的姿势鲁棒的人脸识别算法
  • 算法可以用来定位人脸特征点,算法流程如下: (愚蠢的我不会旋转图片) 参考博客:http://blog.csdn.net/carson2005/article/details/8194317 http://blog.csdn.net/u013263891/article/details/79565063...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 20,153
精华内容 8,061
关键字:

asm算法