第3章 ASM人脸识别算法
第3章 ASM人脸识别算法
3.1 ASM模型的定义
主动形状模型(ASM)是一种物体形状描述技术,最早Cootes[24,25,26,27]等人提出的。它的基本思想是选取一组训练样本,用一组特征点来描述样本的形状,然后对各样本的形状进行配准(使得形状尽可能地相似),对这些配准后的形状向量利用主分量分析方法进行统计建模得到物体形状的统计学描述,最后利用建立的模型在新的图像中搜索物体轮廓,从而定位出目标物体。
3.2 ASM人脸识别的优势
3.2.1 ASM搜索算法的特点
主动统计对象模型通过训练的方法得到对象的统计知识,从而建立对象的统计模型。统计对象模型的优点在于能够对各种形状的对象进行建模,因为关于对象的知识可以从训练数据中学习得到,所以它非常适合于形状复杂的对象分割。训练过程需要手工标定对象的形状,这虽然比较耗时费力,然而它却能够对各种形状进行建模,特别是不规则的形状(如鼻子、眉毛等)。因此人脸定位主要采用主动统计对象模型。主动统计对象模型和变形模板的主要区别在于统计模型中的各个参数是从数据中学习而来,是统计参数,参数之间的相互关系明确,而变形模板中的参数是人为设计的,参数之间的关系不明确,在设计能量函数的时候如何对它们进行权衡是非常困难的事情。同时,主动统计对象模型的匹配过程也通过统计学习得到,它往往没有明确的能量函数。ASM模型是典型的自顶向下图像理解的策略,它用全局的模型在图像解释的过程中去约束指导我们。而仅用内力的Snake方法是数据驱动的或自下向上的策略,从低层次的图像的梯度纹理等信息出发,通过启发式的局部信息的合成来辨认感兴趣的目标区域,这是很困难的。主动统计对象模型有优秀的性质,这种方法的优点主要体现在[28]:
其具有广泛的适用性,同一套算法可以被应用于许多不同的问题,区别
15
第3章 ASM人脸识别算法
仅仅在于提供不同的训练集;模型给出了一个简洁的表达方式,它允许一定范围内的变化,但是有足够的能力排除训练集得到的变化范围以外的任何变化;除了从训练集学习到的特征,系统不需要标定的对象特征的其他任何先验假设,比如模型中不需要类似边界光滑度的一些参数。ASM模型主要包括两部分:模型的建立和目标搜索,下面将详细介绍。
由于是基于统计的模型,所以在进行处理之前要先在程序中预存一些训练图片,这些训练图片要进行标定特征点,勾勒出其所要识别器官的轮廓,这一步很重要,所以训练图片越多,特征点选取越多,特征点选取的越精确,最后的识别精度也就越高,但是要注意,所选的特征点不能过多,否则会使计算强度过大,使计算速度减慢,从而无法实现动态识别。
为拟合出人脸轮廓,首先在平均模板基础上生成一个初始形状估计,然后根据一定的搜索策略调整标记点位置,让初始形状在待识别的图像不断地变形,直至收敛,最终拟合出人脸的轮廓。初始形状估计和搜索策略的选择对算法的搜索效率至关重要。
3.2.2 几种识别方式对比分析
在第一章中介绍了人脸识别的三种主要研究方向,现进行对比分析,见表3-1[29]:
表3-1 识别方式特点比较
特点 方法 肤色区域分割与人脸验证方法 基于人工神经网的方法 基于启发式模型的方法 可以很好的实现脸部定位 便于建模,鲁棒性较好 可用于复杂背景图像中人 脸检测,检测速度快 对器官的定位精度较低 运算速度较慢 需要解决图像处理方面的一些难题 优点 缺点 由表可以看出,在对实时性要求比较高的驾驶疲劳检测中,基于启发式的模型方法是有优势的,而ASM模型这是基于这一思路的,也是对灰度和纹理特点进行分析,所以该模型是合适的。
16
第3章 ASM人脸识别算法
与现在比较流行的Adaboost人脸检测方法进行比较,ASM模型在反应速度上和精度上都都较易达到较高要求。
3.3 ASM的模型建立
ASM中的一个核心部分是用统计的方法建立所考察对象的形状模型。通常用一系列的坐标点来定义某类目标的形状。这样的定义方法是可以推广的,例如可以用点的2-D坐标,也可以用其3-D坐标,还可以加上时间轴的坐标等。
通常在2-D图像中,假定目标的形状可以用一系列(手工标定的)点的坐标x来表示,即
x?(x1,y1,x2,y2,...,xn,yn)T (3-1)
为了建立统计模型,需要有大量的类似数据作训练样本。同样在这些训练标本上需要仔细地标定好上述用来表征目标形状的点,这些点的选取精度和样本的丰富性直接影响所建立的形状模型的应用性能。同时还应注意到,在对上述样本作统计分析之前,必须保证这些点在同一个参考帧坐标系下,即需要做一个样本标准化的过程。标准化是为了保证所有样本具有相同的尺度意义、相同的旋转方向,并去除掉简单的刚性变化的影响,使模型能一致地对感兴趣的特征进行建模。标准化过程通常是经过一个简单的迭代过程来实现的,这个过程可用以下流程描述[30]:(原点,,形状标准化配准)
(1)将每个样本位移到它的中心处。
(2)选取某个样本作为初始的平均形状的估计值x0,它的尺度设成
|x0|?1,并将该初始估值设为默认的参考帧。
(3)将所有的样本向当前的平均形状作对齐(向量x2,与向量x1对齐,即将x2进行面内旋转、坐标平移、尺度缩放得到x2',定义距离d(x1,x2),并使其最小)。
(4)重新计算新的样本平均值。
(5)将新的平均值按照默认的参考帧标准化。
(6)如果新的平均变化小于某个阈值,认为收敛,否则跳转到步骤(3)继续迭代直至收敛。
17
第3章 ASM人脸识别算法
得到调整好的训练样本后,就可以对训练集统计分析与建模,所得到的样本集可看作是一堆点x的集合。现在的任务是寻找这样一个参数模型
x?M(b),其中b是模型的参数向量。如果给一个参数b,应能用该模型生
成一个x,并且这样的x是有意义的。如果还能进一步的到模型的参数分布
P(b),用该模型解出适当的参数b,进而完成对原始图像的解释。
将所有的形状与训练集中的某个形状(如第一幅图像)对准计算对准后的平均值形状规格化平均值形状将训练集中所有的形状与这个平均值形状对准所有的形状都没有明显的调整是对准完成否
图3-1 形状对齐过程
下面是利用利用PCA方法进行形状模型建模的流程: (1)计算样本的均值。
1K(3-2)x??xiKi?1
(2)计算样本的协方差矩阵。
W?(x?x)(x?x)T (3-3)
(3)计算协方差矩阵W的特征值,并按特征值从大到小排序,即大的在最前面,小的在最后面,pi(i?1,2,...,M)为对应的特征向量。
18
第3章 ASM人脸识别算法
(4)令P?[p1,p2,...,pj],1?j?M,在主要分析中,将特征向量pi称为这组数据的主要成分,P称为这组数据的主要成分矩阵。如上建立的模型可以表示成:
x?x?P*b (3-4)
对于任何一个形状向量x都可由参数b确定,即
b?PT(x?x) (3-5)
向量b即是所得到的模型参数,通过变化参数b,可以变化形状向量以得到期望的结果。
通常假定参数b的分布是独立同分布的且都是高斯分布的,则每一个参数b则都满足如下分布:
jlogp(b)??0.5?i?1bi2?i?const
(3-6)
为了从参数b得到有效的形状,应对参数b作如下的限制:
logp(b)??0.5?i?1jbi2?i?const?threshold
(3-7)
亦即
??i?1jbi2i?Mj
(3-8)
更简单的形式是参数b满足:
|3?i?i |bi?
(3-9)
上式表明每一个特征值实际上在假设参数是独立同分布的高斯分布时是参数的方差。为了保证模型生成的例子同原来的训练样本一致,上面的约束条件是必要的。
3.4 ASM模型的搜索算法
主动形状模型的搜索过程是一个启发的迭代搜索,其过程如下: (1)由模板的形状系数b和式(3-4)重构出归一化的形状,再由几何变换参数生成当前的特征点集s?GT(b)。
19