1、基于 ASM 的 人脸定位 ASM 算法设计 摘要 随着计算机技术的飞跃 发展 , 人脸识别作为一种生物识别技术,在 通关 、 企业安全和管理 、 刑侦等 各个领域 的 广泛应用成为可能 。 人脸检测是人脸识别技术中的一个重要部分,它首先判断图像内是否存在人脸,如果有,要锁定其 大体位置 ;接下来,运用人脸定位 技术进行人脸轮廓和五官的准确定位。 ASM 算法目前研究人脸定位与对齐的一个主流方法,也是一种非常精妙的思想。 本文着重 介绍 ASM( Active Shape Model 主动形状模型是一种对在图 片中的已知实物对象的进行识别定位)算法 的思想理论和具体设计 。对它的学习可以 从
2、高度抽象的建模过程,一步步深入到最细节的计算分析。本文就将秉着由浅入深的宗旨,和读者分享作者对于 ASM 算法的学习心得和体会。 关键词 ASM 主动形状模型 人脸 定位 平均 模型 Face Location Based On ASM - ASM Algorithm Design Abstract With the rapidly development of computer technology, as a kind of biometrical recognition method, Face Recognition has an increasing possibility of b
3、eing utilized in many fields, such as pass, enterprise security and administration, police detection and so on. One of its most important parts is Face Detection, which consists of two parts. One is inspecting the existence of a human face in the material given and anchoring its position approximate
4、ly, the other is locating the very details of a human face with the technology called Face Location. This paper would mainly discuss both theory and practice of ASM, Active Shape Model, which is a popular statistical tool for locating examples of known objects in images. It is not only the most main
5、stream tool used in Face Location, but also a very delicate idea, which could be started with a highly abstraction of progress and ended up with most detailed calculation. The main purpose of this paper is to share the authors experience of researching ASM with all readers under a principle that the
6、 study is from a simple way to profound explanations. Key words ASM; Active Shape Model; Face Location; Average Model 目 录 第一章 引言 . 1 1.1 人脸识别、人脸检测与人脸定位 . 1 1.2 人脸定位与 ASM 算法 . 2 第二章 ASM 算法的基本思想 . 3 2.1 为人脸图像建立向量 . 3 2.2 人脸样本采集 . 5 2.3 分析建立平均模型 . 5 2.4 搜索匹配人脸 . 6 第三章 ASM 算法的数学基础 . 8 3.1 线性代数基础 . 8 3.1
7、.1 向量组及其线性组合 . 8 3.1.2 向量组的解空间 . 8 3.1.3 特征值和特征向量 . 9 3.2 概率论基础 . 9 3.3 一种减少计算量的工具 主成分分析( PCA) . 10 3.4 一种减少计算量的方法 求取平均向量 . 11 第四章 ASM 算法的具体实现 . 13 4.1 ASM 算法建立模型的详述 . 13 4.1.1 样本采集 . 13 4.1.2 对齐样本形状 . 14 4.1.3 通过 PCA 分析建立模型 . 17 4.2 ASM 算法搜索匹配的详述 . 18 4.2.1 搜索匹配算法思想 . 18 4.2.2 灰度值搜索的范围 . 19 4.2.3 灰
8、度值分布建模 . 19 4.2.4 搜索匹配 . 20 4.2.5 搜索效果讨论 . 21 4.2.6 ASM 算法改进 AAM 及其它 . 22 4.3 ASM 算法在系统设计中各模块中的分布 . 22 4.3.1 样本采集 样本取点器 . 24 4.1.2 计算平均模型 . 25 4.1.3 平均模型的显示 模型浏览器 . 25 4.1.4 搜索匹配人脸 . 27 第五章 总结 . 29 致谢语 . 30 参考文献 . - 32 - Content Chapter1 Introduction . 1 1.1 Face Recognition, Face Detection and Face
9、 Location. 1 1.2 Face Location and ASM. 2 Chapter2 The Basis of ASM . 3 2.1 The Establishment of Facial Vector . 3 2.2 Face Sampling . 5 2.3 The Analysis and Establishment of the Average Model. 5 2.4 Searching and Matching Face . 6 Chapter3 The Mathematical Algorithm Basis for ASM . 8 3.1 Linear Alg
10、ebra Basis . 8 3.1.1 Vector Group and Its Linear Combination . 8 3.1.2 Vector Groups Solution Space . 8 3.1.3 Eigenvalues and Eigenvectors . 9 3.2 Probability Basis . 9 3.3 Principal Component Analysis: A Computation-Curtailing Tool . 10 3.4 Average Vector: A Computation-Curtailing Method . 11 Chapt
11、er4 ASM Algorithm to Achieve the Specific. 13 4.1 Description of How ASM Establishs A Model . 13 4.1.1 Sampling . 13 4.1.2 Aligning Sampling Shapes . 14 4.1.3 Establish a Model by Principal Component Analysis. 17 4.2 Description of How ASM Searchs and Matchs . 18 4.2.1 The Overview of Searching and
12、Matching Algorithm . 18 4.2.2 The Search Scope of Gray Value . 19 4.2.3 Establish A Model of Gray Value Distribution. 19 4.2.4 Searching and Matching Algorithm. 20 4.2.5 Search Results Discussed . 21 4.2.6 ASM Improvement: AAM & etc. 22 4.3 ASM in the Modules in System Design . 22 4.3.1 Pointing Too
13、l: Sampling . 24 4.1.2 Compute a Model . 25 4.1.3 Model Browser: Showing the Average Model . 25 4.1.4 Searching and Matching Face . 27 Chapter5 Summary . 29 Acknowledgement . 30 Reference . - 32 - 厦门大学本科毕业论文 - 1 - 第一章 引言 1.1 人脸识别 、 人脸检测 与人脸定位 人脸识别是指根据场景中的静态图像或视频,利用给定的人脸数据库信息,鉴别或确认该场景中的一位或多位人的身份的过程 ,
14、 是生物识别的一个重要分支 。 人脸识别是基于脸像的身份鉴别,旨在使计算机具有通过脸像来鉴别身份的功能,是一种依托于图像理解、模式识别、计算机视觉等高技术的智能系统,与其它人体生物特征识别技术相比具有直接、友好、方便的特点,是最自然直接的手段,易于为用户所接受。 在不同的生物特征识别方法中,人脸识别有其自身特殊的优势,因而在生物识别中有着重 要的地位。 首先, 人脸识别无需干扰人们的正常行为就能较好地达到识别效果 。不同于我们常在电影中看到的指纹或视网膜识别技术, 被识别者 只要在摄像机前自然地停留片刻,用户的身份就会被正确识别。 其次,人脸识别的 采集设备简单,使用快捷。一般来说,常见的摄像
15、头就可以用来进行人脸图像的采集,不需特别复杂的专用设备 , 采集一般可在数秒内完成。 另外, 通过人脸识别身份,与人类的习惯一致。也就是说,人和机器都可以使用人脸图片进行识别,这使得人和机器可以配合工作。而指纹 、 虹膜等方法没有这个特点。一个没有经过特殊训练的人,无法利用指纹和虹 膜图像对其他人进行身份识别。 而 人脸识别拥有这些良好的特性,使其具有非常广泛的应用前景,正在引起学术界和商业界越来越多的关注。随着近十年来人脸识别技术的飞速发展,它且正在越来越多被应用在通关,企业安全和管理,刑侦等各个领域。 早期的人脸识别技术 都是在认为 已得到 一个 正面 人脸或者人脸很容易获得的前提下进行的
16、 ,然而随着其在各个领域的广泛应用, 这种 前提下 的研究不再能满足需求 。作为人脸识别的第一个基本条件,即人脸图像存在的确认, 人脸检测开始作为独立的研究内容发展起来 。它 的 基本思想是首先粗略定出人脸可能存在的区域 , 然 后在可能的区域内进一步细致匹配 ,以证实人脸的存在并对其进行准确定位 。 在粗略检测中利用人脸的肤色分布统计模型将人脸从背景中分割出来 ; 在准确定位中联合人脸 轮廓 的 灰度值变化, 统计 不同相貌 、 不同方向的- 2 - 人脸平均 模型 , 用模糊模式匹配的方法进行准确定位 。 本项目设计中的 人脸定位 ,也就是人脸检测基本思想中,提到的第二步,准确定位。它假设
17、 已经通过粗略检测 将人脸从背景中分割出来 (用手动操作替代模型搜索分割),在已知定位中,通过 搜索匹配,进行人脸细节的准确定位。 1.2 人脸 定位 与 ASM算法 ASM( Active Shape Model) ,即 主动形状模型 , 是目前最 主流 的 针对 人脸 定位和 对齐方法之一 。它 是一种对在图片中的已知实物对象的进行识别定位的工具,是概率统计线性代数等数学知识的一种很巧妙地应用 。 本文就将在下文详细介绍此种算法。 ASM( Active Shape Model)是当今很流行的一种基于灰度差别的对象识别算法,具有相当的通用性,可用于对各种形状相对稳定的物体进行识别,如常见的
18、人脸识别。 1995 年,Cootes 提出 ASM,从那以后, ASM 已经发展和完善了很多年。 ASM 对图片中已知对象的检测是利用之前用希望在图片检测到 的模型对其进行训练,然后在新给的图片中进行搜索,并与之前的训练样本作参照,找到尽可能匹配的模型。 ASM 是由一组轮廓模型集和一组可改变形状的模型组成, ASM 模型描述了一组手动标注的形状轮廓的集合(有的可以用程序标注)的典型变化,轮廓模型描述了每个形状轮廓点的灰度值的结构的统计情况,通过各个点的灰度值统计模型,我们可以在被搜索的图片上找到具有类似灰度值结构的点,通过足够准确的起始点, ASM 会利用轮廓模型(之前用来训练的数据模型)
19、试图在新给的图像数据中寻找最佳的匹配模型,在搜索过程中, ASM 会应用全局变 量限制来保证模型在一个可能的变化范围内变形以匹配新的数据中的模型。 ASM 的思想是可以高度概括的。这也就为我们学习它提供了一个阶梯性质的由浅入深的过程。这对于我这样的初学者来说,是一个很好的特质。但是 ASM 算法入门容易,理解其思想过程容易,但深入研究和程序实现的过程则是充满了困难和挑战的。这个感慨作为我毕业设计的最大心得之一,我在 论文最后 还将有所详述。这里还是秉着由浅入深的思想,按照我的学习研究顺序来介绍。 首先, 我将 概括简略地介绍 ASM 算法的思想及流程;再将综合复习一下 ASM 算法中用到的数学
20、知识 ;然后,再将前两者相互结合,详细系统地 、从头至尾地介绍 ASM 算法 的理论思想和算法 设计。 - 3 - 第二章 ASM 算法 的 基本 思想 前文提到, ASM 算法的思想可以高度概括。 “ ASM”的缩写最后一个字母是“ M”,是英文“ model”(模型)的意思, 也暗示了 ASM 算法是一个 数学 建模的过程 ,一般按照 数学模型 “ 准备 假设 建立 求解 分析 检验 应用”的过程模式,具体到 ASM算法在 人脸检测的应用中,大致可以 概括为这样一个过程: 图 2 ASM 算法思想最简 流程图 其中,前三步用点背景的过程,属于数学建模中“建立”模型的过程,在 ASM 算法中
21、也包括了“求解”和“分析”过程 ; 最后一步用斜线背景的过程, 属于“检验 应用”模型的过程,在后章记录的学习研究过程中,将与前三步区隔开来。 2.1 为人脸图像建立向量 在图 2 中我们看到,流程图的第一个步骤应当是人脸样本采集啊,怎么先介绍如何为人脸图像建立向量呢?其实图 2 中的流程图应当说是在我深入了解了 ASM 算法后,自己概括出来的一个步骤。在深入了解后,我的思维是建立在已知如何抽象简化人脸为数学模型的前提上的。然而,如果按照我 的学习顺序来讲,首先应该有一个概念储备,也就是我还是要先知道,怎样 认出一个 “ 对象 ” 是人的脸 ,什么样的模型可以进行数学计算? 我于是首先了解到,
22、一个类似于人脸的实物对象,在目前主流的 ASM 基础算法中,都为人脸图像建立向量 人脸样本 采集 分析建立平均模型 搜索匹配人脸 - 4 - 是用向量来表示的。 说到“向量”这个概念,我就想起了遥远的高中和大一学过的线性代数知识,所以在学习 ASM 算法的最初,我首先还温习了需要用到的数学知识。数学知识的储备非常重要,因此我将在后文单独开辟一章来陈述。 那么一张人脸该如何用向量来表示呢? 因为本项目中,所涉及到的人脸标本都是以 二维图片形式出现的。我们知道 , 在 计算机世界中,图片中的每一个点都是一个像素,因此我们可以用图片人脸轮廓的关键点距离左上角第一个点的像素差来作为此点的坐标,比如( 269,160)。 图 2-1 人脸轮廓关键点及其坐标示例 而每一张人脸轮廓的关键点都有若干个,假设在每一张脸的五官轮廓上共取 n 个点,那么这 n 个点按一定规则连起来,就可以构成一张抽象简化后的人脸。于是这 n 个点 的坐标组成向量,即 Tnn yyyyxxxx , 321321 . (1) 由数学知识可知,此向量的维度是 2n。(在许多文献资料中,此向量还可以表示为 Tnn yxyxyxyx , 332211 。) 同理,在处理三维图像时,向量为 3n 维向量 Tnnn zzyyxx , 111 .