本文来源于我个人博客www.chenbiaolong.com
概要
ASM是一种基于点分布模型(Point Distribution Model,PDM)的算法。在PDM中,外形相似的物体,例如人脸、人手、心脏、肺部等的几何形状可以通过若干关键特征点(landmarks)的坐标依次串联形成一个形状向量来表示。ASM算法需要通过人工标定的方法先标定训练集,经过训练获得形状模型,再通过关键点的匹配实现特定物体的匹配。ASM 的优点是
能根据训练数据对于参数的调节加以限制,从而将形状的改变限制在一个合理的范围内。本文将根据ASM的原始论文和一些资料,整理ASM算法的数学原理。
训练图像的标定
为了建立ASM,需要一组标有n个特征点的N幅人脸图象(包括多个人的不同表情和姿态)作为训练数据。特征点可以标记在脸的外部轮廓和器官的边缘,如下图所示。
这张图中有67个标定点,需要注意的是各个标定点的顺序在训练集中的各张照片需要一致。比如2
和12
这两点分别对应脸和耳朵的连接处,在其他的训练图像中也要有一样的标定点。
假设我们一共有N
张的训练图,每一张图都有n
个点,第i
张图像的第k
点坐标表示为
对于第i张图像,各个标定点可以用一个矩阵表示:
其中1<=
i
<=N;
训练图像的对齐
为了研究训练图象的形状变化,比较不同形状中相对应的点,应先对这些图象进行对齐。对齐是指以某个形状为基准,对其它形状进行旋转,缩放和平移使其尽可能的与基准形状接近的过程。
与基准形状尽可能接近,在数学上我们经常用欧式距离的大小衡量接近的程度。假设图像i的标定点矩阵为Xi,图像j的标定点矩阵为Xj,二者的欧式距离大小为
也可以用如下的矩阵运算形式表示:
有时我们需要对各个点加上不同的权值,设加权矩阵为 W,加权的欧式距离为