收藏 分享(赏)

基于ASM的人脸定位.doc

上传人:wo7103235 文档编号:6253042 上传时间:2019-04-03 格式:DOC 页数:41 大小:2.59MB
下载 相关 举报
基于ASM的人脸定位.doc_第1页
第1页 / 共41页
基于ASM的人脸定位.doc_第2页
第2页 / 共41页
基于ASM的人脸定位.doc_第3页
第3页 / 共41页
基于ASM的人脸定位.doc_第4页
第4页 / 共41页
基于ASM的人脸定位.doc_第5页
第5页 / 共41页
点击查看更多>>
资源描述

1、基于 ASM的人脸定位ASM算法设计摘要 随着计算机技术的飞跃发展,人脸识别作为一种生物识别技术,在通关、企业安全和管理、刑侦等各个领域的广泛应用成为可能。人脸检测是人脸识别技术中的一个重要部分,它首先判断图像内是否存在人脸,如果有,要锁定其大体位置;接下来,运用人脸定位技术进行人脸轮廓和五官的准确定位。ASM 算法目前研究人脸定位与对齐的一个主流方法,也是一种非常精妙的思想。本文着重介绍 ASM(Active Shape Model 主动形状模型是一种对在图片中的已知实物对象的进行识别定位)算法的思想理论和具体设计。对它的学习可以从高度抽象的建模过程,一步步深入到最细节的计算分析。本文就将秉

2、着由浅入深的宗旨,和读者分享作者对于 ASM 算法的学习心得和体会。关键词 ASM 主动形状模型 人脸定位 平均模型Face Location Based On ASM- ASM Algorithm DesignAbstract With the rapidly development of computer technology, as a kind of biometrical recognition method, Face Recognition has an increasing possibility of being utilized in many fields, such a

3、s 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 approximately, the other is locating the very d

4、etails 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 mainstream tool used in Face Location, bu

5、t 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 study is from a simple way to profou

6、nd explanations.Key words ASM;Active Shape Model;Face Location;Average Model目 录第一章 引言 11.1 人脸识别、人脸检测与人脸定位 .11.2 人脸定位与 ASM 算法 .2第二章 ASM 算法的基本思想 .32.1 为人脸图像建立向量 32.2 人脸样本采集 .52.3 分析建立平均模型 .52.4 搜索匹配人脸 .6第三章 ASM 算法的数学基础 .83.1 线性代数基础 .83.1.1 向量组及其线性组合 83.1.2 向量组的解空间 83.1.3 特征值和特征向量 93.2 概率论基础 .93.3 一种减少

7、计算量的工具 主成分分析(PCA) .103.4 一种减少计算量的方法 求取平均向量 .11第四章 ASM 算法的具体实现 .134.1 ASM 算法建立模型的详述 134.1.1 样本采集 134.1.2 对齐样本形状 144.1.3 通过 PCA 分析建立模型 174.2 ASM 算法搜索匹配的详述 184.2.1 搜索匹配算法思想 184.2.2 灰度值搜索的范围 194.2.3 灰度值分布建模 194.2.4 搜索匹配 204.2.5 搜索效果讨论 214.2.6 ASM 算法改进 AAM 及其它 224.3 ASM 算法在系统设计中各模块中的分布 224.3.1 样本采集 样本取点器

8、 244.1.2 计算平均模型 254.1.3 平均模型的显示 模型浏览器 254.1.4 搜索匹配人脸 27第五章 总结 29致谢语 30参考文献 32ContentChapter1 Introduction.11.1 Face Recognition, Face Detection and Face Location11.2 Face Location and ASM2Chapter2 The Basis of ASM.32.1 The Establishment of Facial Vector .32.2 Face Sampling 52.3 The Analysis and Esta

9、blishment of the Average Model52.4 Searching and Matching Face.6Chapter3 The Mathematical Algorithm Basis for ASM.83.1 Linear Algebra Basis .83.1.1 Vector Group and Its Linear Combination 83.1.2 Vector Groups Solution Space.83.1.3 Eigenvalues and Eigenvectors .93.2 Probability Basis93.3 Principal Co

10、mponent Analysis: A Computation-Curtailing Tool 103.4 Average Vector: A Computation-Curtailing Method 11Chapter4 ASM Algorithm to Achieve the Specific 134.1 Description of How ASM Establishs A Model134.1.1 Sampling.134.1.2 Aligning Sampling Shapes144.1.3 Establish a Model by Principal Component Anal

11、ysis174.2 Description of How ASM Searchs and Matchs184.2.1 The Overview of Searching and Matching Algorithm .184.2.2 The Search Scope of Gray Value.194.2.3 Establish A Model of Gray Value Distribution.194.2.4 Searching and Matching Algorithm.204.2.5 Search Results Discussed214.2.6 ASM Improvement: A

12、AM & etc.224.3 ASM in the Modules in System Design .224.3.1 Pointing Tool: Sampling244.1.2 Compute a Model .254.1.3 Model Browser: Showing the Average Model.254.1.4 Searching and Matching Face27Chapter5 Summary 29Acknowledgement30Reference.32厦门大学本科毕业论文- 1 -第一章 引言1.1 人脸识别、人脸检测与人脸定位人脸识别是指根据场景中的静态图像或视频

13、,利用给定的人脸数据库信息,鉴别或确认该场景中的一位或多位人的身份的过程,是生物识别的一个重要分支。人脸识别是基于脸像的身份鉴别,旨在使计算机具有通过脸像来鉴别身份的功能,是一种依托于图像理解、模式识别、计算机视觉等高技术的智能系统,与其它人体生物特征识别技术相比具有直接、友好、方便的特点,是最自然直接的手段,易于为用户所接受。在不同的生物特征识别方法中,人脸识别有其自身特殊的优势,因而在生物识别中有着重要的地位。首先,人脸识别无需干扰人们的正常行为就能较好地达到识别效果。不同于我们常在电影中看到的指纹或视网膜识别技术,被识别者只要在摄像机前自然地停留片刻,用户的身份就会被正确识别。其次,人脸

14、识别的采集设备简单,使用快捷。一般来说,常见的摄像头就可以用来进行人脸图像的采集,不需特别复杂的专用设备,采集一般可在数秒内完成。另外,通过人脸识别身份,与人类的习惯一致。也就是说,人和机器都可以使用人脸图片进行识别,这使得人和机器可以配合工作。而指纹、虹膜等方法没有这个特点。一个没有经过特殊训练的人,无法利用指纹和虹膜图像对其他人进行身份识别。而人脸识别拥有这些良好的特性,使其具有非常广泛的应用前景,正在引起学术界和商业界越来越多的关注。随着近十年来人脸识别技术的飞速发展,它且正在越来越多被应用在通关,企业安全和管理,刑侦等各个领域。早期的人脸识别技术都是在认为已得到一个正面人脸或者人脸很容

15、易获得的前提下进行的,然而随着其在各个领域的广泛应用,这种前提下的研究不再能满足需求。作为人脸识别的第一个基本条件,即人脸图像存在的确认,人脸检测开始作为独立的研究内容发展起来。它的基本思想是首先粗略定出人脸可能存在的区域,然后在可能的区域内进一步细致匹配,以证实人脸的存在并对其进行准确定位。在粗略检测中利用人脸的肤色分布统计模型将人脸从背景中分割出来;在准确定位中联合人脸轮廓的灰度值变化,统计不同相貌、不同方向的- 2 -人脸平均模型,用模糊模式匹配的方法进行准确定位。本项目设计中的人脸定位,也就是人脸检测基本思想中,提到的第二步,准确定位。它假设已经通过粗略检测将人脸从背景中分割出来(用手

16、动操作替代模型搜索分割) ,在已知定位中,通过搜索匹配,进行人脸细节的准确定位。1.2 人脸定位与 ASM 算法ASM( Active Shape Model) ,即主动形状模型,是目前最主流的针对人脸定位和对齐方法之一。它是一种对在图片中的已知实物对象的进行识别定位的工具,是概率统计线性代数等数学知识的一种很巧妙地应用。本文就将在下文详细介绍此种算法。ASM( Active Shape Model)是当今很流行的一种基于灰度差别的对象识别算法,具有相当的通用性,可用于对各种形状相对稳定的物体进行识别,如常见的人脸识别。1995 年,Cootes 提出 ASM,从那以后,ASM 已经发展和完善

17、了很多年。ASM 对图片中已知对象的检测是利用之前用希望在图片检测到的模型对其进行训练,然后在新给的图片中进行搜索,并与之前的训练样本作参照,找到尽可能匹配的模型。ASM 是由一组轮廓模型集和一组可改变形状的模型组成,ASM 模型描述了一组手动标注的形状轮廓的集合(有的可以用程序标注)的典型变化,轮廓模型描述了每个形状轮廓点的灰度值的结构的统计情况,通过各个点的灰度值统计模型,我们可以在被搜索的图片上找到具有类似灰度值结构的点,通过足够准确的起始点,ASM 会利用轮廓模型(之前用来训练的数据模型)试图在新给的图像数据中寻找最佳的匹配模型,在搜索过程中,ASM 会应用全局变量限制来保证模型在一个

18、可能的变化范围内变形以匹配新的数据中的模型。ASM 的思想是可以高度概括的。这也就为我们学习它提供了一个阶梯性质的由浅入深的过程。这对于我这样的初学者来说,是一个很好的特质。但是 ASM 算法入门容易,理解其思想过程容易,但深入研究和程序实现的过程则是充满了困难和挑战的。这个感慨作为我毕业设计的最大心得之一,我在论文最后还将有所详述。这里还是秉着由浅入深的思想,按照我的学习研究顺序来介绍。首先,我将概括简略地介绍 ASM 算法的思想及流程;再将综合复习一下 ASM 算法中用到的数学知识;然后,再将前两者相互结合,详细系统地、从头至尾地介绍 ASM 算法的理论思想和算法设计。- 3 -第二章 A

19、SM 算法的基本思想前文提到,ASM 算法的思想可以高度概括。 “ASM”的缩写最后一个字母是“M” ,是英文“model ”(模型)的意思,也暗示了 ASM 算法是一个数学建模的过程,一般按照数学模型“准备假设建立求解分析检验应用”的过程模式,具体到ASM 算法在人脸检测的应用中,大致可以概括为这样一个过程:为人脸图像建立向量人脸样本采集分析建立平均模型搜索匹配人脸图 2 ASM算法思想最简流程图其中,前三步用点背景的过程,属于数学建模中“建立”模型的过程,在 ASM 算法中也包括了“求解”和“分析”过程;最后一步用斜线背景的过程,属于“检验应用”模型的过程,在后章记录的学习研究过程中,将与

20、前三步区隔开来。2.1 为人脸图像建立向量在图 2 中我们看到,流程图的第一个步骤应当是人脸样本采集啊,怎么先介绍如何为人脸图像建立向量呢?其实图 2 中的流程图应当说是在我深入了解了 ASM 算法后,自己概括出来的一个步骤。在深入了解后,我的思维是建立在已知如何抽象简化人脸为数学模型的前提上的。然而,如果按照我的学习顺序来讲,首先应该有一个概念储备,也就是我还是要先知道,怎样认出一个“对象”是人的脸,什么样的模型可以进行数学计算?我于是首先了解到,一个类似于人脸的实物对象,在目前主流的 ASM 基础算法中,都- 4 -是用向量来表示的。说到“向量”这个概念,我就想起了遥远的高中和大一学过的线

21、性代数知识,所以在学习 ASM 算法的最初,我首先还温习了需要用到的数学知识。数学知识的储备非常重要,因此我将在后文单独开辟一章来陈述。那么一张人脸该如何用向量来表示呢?因为本项目中,所涉及到的人脸标本都是以二维图片形式出现的。我们知道,在计算机世界中,图片中的每一个点都是一个像素,因此我们可以用图片人脸轮廓的关键点距离左上角第一个点的像素差来作为此点的坐标,比如(269,160) 。图 2-1 人脸轮廓关键点及其坐标示例而每一张人脸轮廓的关键点都有若干个,假设在每一张脸的五官轮廓上共取 n 个点,那么这 n 个点按一定规则连起来,就可以构成一张抽象简化后的人脸。于是这 n 个点的坐标组成向量

22、,即. (1) Tnn yyxx , 321321 由数学知识可知,此向量的维度是 2n。 (在许多文献资料中,此向量还可以表示为。 )Tnyxyx,321同理,在处理三维图像时,向量为 3n 维向量 .Tnnnzyx,111- 5 -2.2 人脸样本采集我们假设自己就是一片空白的计算机,我们之前不知道人脸到底是什么样子,我们怎么认出一个实物对象是人的脸?这就需要我们见过很多不同的人脸,然后我们才能再见到另一张人脸时,知道这是人脸。人脸样本的数量应该是在可执行范围内越多越好,这样得到的平均模型才更有效。假设样本数量为 M,那么 M 张人脸就有 M 个 2n 维的向量。每一个向量都可以看作是2n

23、 维向量空间中从原点(0,0,0,0 )出发的向量。这样的一个样本空间的意义,我无法直接表示,但如果用一个我们熟知的二维坐标图来解释,就一目了然了。图 2-2 样本意义示意2.3 分析建立平均模型图 2-2 的意思用上一节开头的例子来解释,就是一片空白的我们在看过 M 张人脸后,就在脑中形成了一张人脸的标准。这个标准就是平均模型。具体到我们的算法中,就是平均向量,其数学表达式为。 (2)miixx1有了这个平均向量,首先可以将某个样本与平均向量的差量表示为:. (3)xdxii- 6 -我们就可以计算协方差矩阵了:, (4)miTiidxS1转换一下,也就是: 。设 ,则mxdxS21 1b。

24、其中,b 1,b2,bn 为加权系数。mbxS21我们已经有了平均模型和协方差矩阵,有了它们,就可以用来表示所有的可能人脸模型了,到这里也就完成了对人脸模型的数学建模。2.4 搜索匹配人脸在建立人脸平均模型的同时,我们还要按照一定理论、一定范围搜索了关键点及周围的灰度值分布情况,建立一个灰度值分布模型。在搜索匹配人脸的时候,同时利用平均脸模型和平均灰度分布模型,在稍大于取得灰度值范围的范围内,搜索灰度值匹配的关键点,作为匹配后模型显示的关键点。采用迭代搜索的方式,进行精准度慢慢提高的匹配。下面是取值范围和搜索范围的大小比较(仅作示意):- 7 -图 2-3 灰度值建模范围与搜索匹配范围比较示意

25、上图为建模范围,下图为搜索范围。- 8 -第三章 ASM 算法的数学基础我们之前曾经强调过,学习 ASM 算法需要拥有扎实的数学基础,因为它是数学知识的一种很巧妙地应用。其实这些数学基础知识,我们计算机类专业的学生早在大一大二的时候就已经学过了,只是那个时候并没有认识到,这些基础知识的重要性,主要是因为看不出来那些高深的公式到底跟编程有什么联系。现在,终于知道这些数学基础知识不是白学的,可也有些后悔当时没有认真消化知识,多是为了应付考试,囫囵吞枣而已。因此,在接下来的一章里,有些涉及到的知识会相对浅显,不是低估读者知识储备的意思,实在是因为我基础不够扎实,因此在项目开始的最初,都统统将这些知识

26、重新复习了一遍,因为本文一直是沿着我学习的轨迹来着,就把这些知识也都列进来了。3.1 线性代数基础3.1.1 向量组及其线性组合定义 1 n 个有次序地数 所组成的数组成为 n 维向量。n 维向量的全体所组na,21成的集合叫做 n 维向量空间 。定义 2 给定向量组 A: ,如果存在不全为零的数 ,使n21, nk,21, (1)0aan21 kk则称向量组 A 是线性相关的,否则称它线性无关。3.1.2 向量组的解空间定义 3 齐次线性方程组的解集的最大无关组称为该方程组的基础解系。定理 1 在一个 n 维的空间中,任意一个点的位置可以由任意一组 n 维的线性无关的长度为 n 的向量线性表

27、示,也就是可以由任意一组基础解系线性表示 n 维空间中的任一点。如下面的线性运算:- 9 -向量 可以由一个线性无关的同维数的向量组 表示。即:nyy321 nnnaaaa 212211.nnnnnn babaabaabaay 21321221121213.1.3 特征值和特征向量定义 4 设 A 是 n 阶矩阵,如果数 和 维非零列向量 x 使关系式n(2)A即(3)0|E0xE成立,那么,这样的数 成为方阵 A 的特征值,非零向量 x 使称为的对应于特征值 的特征 向量。3.2 概率论基础定义 5 设离散型随机变量 X 的分布率为.,21,kpxPk若级数 1kkx绝对收敛,则称级数 的和

28、为随机变量 X 的 数学期望,记为 E(X),即1kkpx- 10 -。 (3)1)(kkpxXE定义 6 设 n 维随机变量(X 1, X2, , Xn)的二阶混合中心矩njiCovc jjiijiij ,21,)()(),( 都存在,则称矩阵 nnncccc 212211C为 n 维随机变量(X 1, X2, , Xn)的协方差矩阵。由于 cij = cji,因而它是一个对称矩阵。3.3 一种减少计算量的工具主成分分析(PCA)PCA(Principal Components Analysis)是一个很重要的数学分析工具。我们知道,在一个 n 维空间的基础解系一定是 n 个 n 维的线性无

29、关的向量。在我们分析人脸向量的基础解系时,由于人脸向量的维度很高。我们经过求其协方差的特征向量会有 n 个,同时可以得到 n个特征值。由于是协方差的特征向量,因此,由线性代数理论我们可以知道,这 n 个 n 维向量是相互垂直的。我们可以用它们来表示任意脸向量与平均脸的差别。但 n 往往很大,如果我们直接把得到的 n 个特征值用来计算,会造成过大的计算负担,严重影响计算数度和效率,于是我们引进了 PCA 分析。PCA 的基本方法是这样的:当我们通过计算得到协方差矩阵的 n 个特征向量和 n 个特征值后,我们把 n 个特征值从大到小排列,然后从第一个特征向量开始取,取 m 个特征向量,使得这 m

30、个特征向量的总和大于所有特征向量总和的一个百分值,如 98%。假如计算后并把特征值的大小从大到小排列后,我们得到 n 个特征向量:,n21,其对应的特征值为:。n,21- 11 -我们假设,niiTV1我们取前面的 t 个特征值,使得:, (4)TtiiVp1其中 p 为比例系数(一般 p 取 98) ,然后把得到的 t 个特征向量组成一个新的矩阵。,21t在得到一个新的矩阵 后,我们就可以用它来近似地表示所有的人脸模,21t型与平均人脸的差别,也就是说,我们可以用平均人脸模型加上这个矩阵的一个线性组合来表示任何一张脸,通过 PCA 变换后,我们就可以减少计算的规模,和表示一张人脸所需的维度。

31、我们之所以用这样的少数的几个特征就可以比较准确地表示一个 n 维空间的一个向量,是因为人脸有一种比较稳定的,有统计规律的向量。其在 n 维空间的分布应该集中在一个特定的区域,并不是整个 n 维空间都有分布,我们正是利用人脸向量在 n 维空间的分布情况,来选取一个适当的坐标系统。一个坐标系统就是一个相互垂直的基础解系,我们选择的是协方差矩阵的特征向量作为一个坐标系统,这个坐标系统的一个轴是穿过所有人脸向量的组成的点雾集,即所人脸向量在 n 维空间中的分布是集中在一块区域上,这个区域包含着所有可能的人脸向量的点,这些点看上去就像一团雾。其它的坐标轴都与那条穿过去雾的轴(不妨叫它主轴)垂直,它们是用

32、来表示云雾与分布在主轴上的点的偏移,由于大多数的向量是集中在一个区域内,因此,在不十分严格准确的条件下,我们可以忽略一些不明显的偏移,就是这 PCA 分析法的目的,它在计算特征值的同时能得到一组对应的特征向量,特征值对应该的特征向量的大小决定其在空间中的重要程度,特征值越大,其表示的偏移就越大,就越不能忽略,因此,特征最大那个特征向量就是那条主轴。于是我们在上面的运算中,只用其中特征值最大的前 t 个向量就足够近似地表示所有人脸的可能变形情况。3.4 一种减少计算量的方法求取平均向量ASM 人脸定位中运用了大量的代数运算,其中一个核心的思想就是:把每一张人脸都表示成 n 维空间中的一个点,也即

33、表示成一个从原点(0 , 0 , 0 , , 0 ) 出发的一个 n 维空间- 12 -中的一个向量,然后从一堆的点向量中找出足够表示所有可能脸向量的一组类似的基础解系。之所以用“类似” ,并不是说找出来的解就是代数中的完全的基础解系,而只是这基础解系中“主要”的一部分解。因为一般情况下,一张脸会用很多点表示,就会形成一个很高维度的向量(一般有上百个维) ,如果求其的完全解系,就需要很多的训练样本和大量的运算。在找出基础解系后,我们就可以用它来表示所有可能情况下的人脸。只要改变一下各个解分量的系数就可以得到不同形状的人脸。在 ASM 中,其基础解系并不是直接解脸向量的解空间,而是先求出脸向量的

34、平均值,也叫平均脸,然后求出各个样本的脸向量与平均脸的协方差矩阵,再求协方差的基础解系,这样,任何一张脸就可以表示成另一种形式,即: iQSb即是平均脸向量, 为由协方差求得的特征向量组成的一个类基础解系, 是SiQ ib中各个向量分量的系数。之所以可以这样表示,是因为一个向量组中的任意一个向量都iQ可以由这些向量组的平均值加上其与平均值的差。于是在人脸向量的表示也是适用的,我们可以形象一点地表示这种等式关系,如下图:图 3-4 人脸向量与平均值关系从图中我们可以看到,S 0就是平均脸,S 即是我们要表示的新脸, S 可以用 S0加上方差矩阵的线性的成的一个差值。另外,既然在这里,我们谈到了要

35、减少计算量,我还要解释一个问题。那就是,既然本项目是以二维图片做图像资料的,为什么不直接用轮廓关键点的二维坐标组成一个向量组,再用 n 个训练样本的向量组做计算呢?其实,这也是为了节省计算量,尽管 n 维向量的计算量要比二维向量大很多,可是因为我们要求平均向量,然后求出各个样本的脸向量与平均向量的协方差矩阵,再求协方差的基础解系,这个计算量尽管计算机可以做到,但仍然是要耗费大量时间的,严重影响了计算效- 13 -率。- 14 -第四章 ASM 算法的具体实现在前文第二章中,我提到过自己学习 ASM 算法的过程是由浅入深,对 ASM 算法的整个过程其实不止通过一遍。每过一遍,都比前一遍深入一点,

36、也学到复习到更多的知识,受益不浅。在这一章中,我将详细讲解 ASM 的具体实现过程。由于算法第四步搜索匹配人脸,属于数学建模中的模型检验部分,与前三步建立模型的部分应当区分开来,因此,在本章第二节,我将专门单独介绍搜索匹配人脸的算法实现。4.1 ASM 算法建立模型的详述4.1.1 样本采集当我们采集到所需的人脸数据后,我们需要对其进行处理。人脸可以用 n 个点(Landmark)来表示,n 可以取不同的维度 d,在人脸图片中 d = 2。此外,需要保证在每一张样本图片中所取得的点集能可靠有效地描述一张人脸,点的数量要足够以描述人脸的整体轮廓。根据算法要求,我们在二维图像中,沿着人脸的轮廓边缘

37、取点,取点方式如下图所示:图 4-1-1(1) 标注人脸- 15 -从图中我们看出,除了少数灰度边缘取的点间距比较大之外,在人脸的同一个部分,人脸外围轮廓,眉毛,眼睛和嘴巴的取点基本上是等间距的。我们看到每一个点旁边都有标号,这其实是要求每一张人脸样本的采点数和采点顺序都是一致的,这个需求我想很容易理解。4.1.2 对齐样本形状我们得到一些人脸样本并把它们组成向量,我们可以把这些向量看成是在 2 *n 维空间中的一个个点,每个点到原点就组成一个从原点出发的维度为 2 * n 矢量。但这些矢量长度不一,我们希望一个人脸模型应该是与模型的尺度,方向和位置无关的。因此,我们有必要对这些人脸向量进行一

38、些规范化,我们把它们统一平移和缩放为重心在原点的单位向量。为此,我们必需把所有这些向量对齐到一个统一的参考向量,一般取所有向量的平均向量。我们利用 Procrustes 算法来完成这些任务,这种算法对齐所有向量,使得所有向量与平均向量的平方差达到最小,即 最小。2xiProcrustes 算法:向量形状对齐的算法1. 移动所有人脸向量,使其重心在原点(0,0)2. 选择一个向量作为初始的平均模型(一般选择第一个人脸向量)然后将其缩放成单位向量,即 1|x3. 把第一个平均估计作为默认的参考帧,记为 x04. 把所有的模型与当前的平均模型对齐5. 重新计算平均模型6. 把得到的新的平均模型与 x

39、0 对齐,并重新对其变换,保证 1|x7. 如果 变化不是很大就停止,否则回到第 4 步x算法的第一步除去了模型因在不同的位置而影响对齐的结果。当所有的模型的重心都在原点后,第四步只要进行缩放和旋转就可以了,这一步是把所有模型与平均模型对齐。我们假设一个变换, 把 X 放大 S 倍,并旋转 角度。假设 x1和 x2是两个重心在原点,xTs,- 16 -通过选择适当的放大率S和旋转角,使 达到最小,我们就可以说这个变21, |xTs换把 x 1 对齐到了 x 2。一般经过几次的迭代就可以达到很好的对齐效果,平均模型的求法很简单,只要把所有向量相加,然后除以向量的数量就可以,即:,ni1ix把向量

40、单位化用公式:,xyxiini12)(即把向量除以它的模长后即是单位向量。如何对齐两个向量由线性代数我们知道,对一个重心在原点的向量缩放 S 并旋转 可以用一个矩阵来实现,即,从矩阵内容关系我们可以看简化一下变化矩阵,设,于是变化矩阵变成,现在假设我们要把 x 到齐到 x ,我们先对 x 做变换:即设函数,变换后,这个函数的值可以达到最小,即两个模型的差别最小化,我们利用高等数学的知识- 17 -把等式变换为:。分别对 a 和 b 求偏导得到下面的两个方程:通过求解就可以得到 a 和 b 的表达式:把 a 和 b 代码变换矩阵就可以求出变换后的模型。注:这里的 x,y 都是模型的 x 分量和

41、y 分量,即由一个模型的所有 x 坐标和 y 坐标组成的分向量:。下面两图片是对齐前后所有图像采集来的点的分布情况:图 4-2-2 模型点对齐前后比较在把所有模型与平均对齐时,我们引入了非线性关系,即由变换矩阵引入的可能的旋转- 18 -和缩放。为了改善这些向量的线性关系,我们对起进行另一种变换,就是把所有的向量投影到平均模型的切线空间。这是一种不改变向量方向的缩放,这种变换是在算法一到了第四步后进行的。我们把所有的向量都乘以 ,其中 xi 是第 i 个向量。通过证明可以知道,xi1这个变换是把所有脸向量在 2*n 空间对应的点都移到了和平均向量垂直的平面上。通过坐标变换,我们在用某个基础解系

42、来表示这些点集,若基础解系的几个分量和这个平面平行,我们用来表示这些点所需的基础分量数就可以减少,也就是增加这些向量的线性系数。这样就能增加它们之间的线性相关程度,线性程度的增加有助于后继工作中减少运算量。4.1.3 通过 PCA分析建立模型之前的工作已经得到了平均模型,而由概率统计和高等代数的知识我们可以知道,任何一个人脸模型都可以表示成平均模型加上一个偏差。因此,我们下面的工作就是找到模型能反映模型之间差别的数学模型。因为人脸向量是高维的向量,数学中能反映高维向量差别情况的模型是协方差矩阵,于是我们下面就计算这些样本的协方差矩阵 S:1、求协方差矩阵:,miTiidxS1其中 m 为样本的

43、数量。2、特征值和特征向量:利用数学模型我们可以求得 S 的特征值和对应的特征向量,并按特征值的大小,从大到小排列特征向量:,n21,其对应的特征值为:,其中 。n,21 1ii3、利用 PCA 的思想和相关算法,我们得到一个变换矩阵:。,21tT4、利用前面几步得到的结果,我们就可以用得到的矩阵和一组参数 b 加上平均模型来表示大致表示任一人脸向量 S,即:- 19 -(1)TbS其中 b 是一个 t 维的向量(tLp 的的数据,对其进行相同的变换处理。与一个点在寻找一个最佳新位置时,将其对应的平均模型沿这长为 L 的数据段进行比较,利用(3)式计算函数值,值最小的一点就是最佳匹配。4.2.

44、5 搜索效果讨论ASM 算法的搜索理论思想的方向应该是没有错的,但实际操作中却受到很多因素的影响,比如说光照效果的不同、建模用的样本较少等等,导致了搜索的效果不甚理想。在许多ASM 的改进算法中,都提到了对搜索匹配思想的改进。比如基于二值边缘图像、加入纹理信息(AAM)等等针对于辅助灰度值提取的方法,还有改提取搜索范围为区域而不仅仅是线段、加入 LBP 等等针对于改变提取搜索范围的方法。这些方法首先都承继了 ASM 算法原本的搜索匹配理论,在其原有的基础之上有所改进,其搜索效果都显著增强。我在学习这部分的算法时,就图 4-2-2 中所述的提取方向感到迷惑,当时就曾大胆地假设过,如果我们把搜索的

45、“特定范围”改为以模型每个关键点为圆心,取一定长度为半径的圆形区域内(如下图所示),是否搜索效果会更好呢?图 4-2-5 圆形搜索范围但我随即放弃了这个想法,因为我们从图中也可以看到,由于关键点间隔疏密不同,圆形区域互相重叠,必然会导致搜索中一些重复匹配的点,从而降低搜索效率。而且也由于我个人对数学知识的应用不够灵活,我暂时还不能够就这种搜索范围提出相应的比较算法,列出形如(3)式中的函数。但是不妨假设,这是一个研究 ASM 搜索算法改进的方向,也许在未来的工作中,我能够有缘再遇到关于 ASM 算法的项目,到那时有了一定的知识积累,- 23 -或许我能将这个想法付诸于实践。4.2.6 ASM算

46、法改进AAM 及其它AAM 与 ASM 相似,建立了一个融合形状和纹理于一体的外观 (appearance)模型。通过优化外观模型的参数实现特征配准,最终目标是期望合成的图像纹理能够最佳的匹配输入图像纹理.但是由于人脸外轮廓点邻域的纹理信息相对较少,因此 AAM 对外轮廓的定位不十分准确,并且它依赖于训练集合中的图像外观的变化情况,推广能力较差。而且,由于 ASM 和 AAM 本身具有的优化迭代过程同时也不可避免的导致了算法具有较高的复杂度,并且易于陷入局部极小。基于这些算法上的缺陷,在传统的 ASM、AAM 基础上,很多研究人员对此进行了扩展,提出了更加实用,鲁棒的统计模型或改进策略。Cro

47、wley、Berard 等人提出了基于不同视角视图(view) 的主动外观模型方法,通过若干不同视角外观统计模型来覆盖较大范围的视角的变化,这些模型还可用于在大的视角变化下估计头部方向,跟踪人脸。同时,这些不同视角的外观模型参数之间的约束关系还可以用于由一幅某个视角的视图预测生成该人脸新视点下的图像,或者在对同一人脸的多幅图像同时进行特征定位时作为优化过程的一个约束条件。Rein-Lien Hsu 等提出对 ASM 方法在原有的形状先验知识以及每个特征点邻域局部纹理约束的基础上又加入全局纹理限制,使形状定位更加精确,对光照变化也更加鲁棒,取得了比 ASM 更为稳定,精确的结果 .4.3 ASM

48、 算法在系统设计中各模块中的分布在本项目进行中,我并非是独自独力的。尽管我和同组的于慧霞同学在项目开发中分工不同,侧重不同,但彼此的开发进行互相咬合紧密。我侧重 ASM 算法学习和设计,但要在程序中实现,还需要和她的系统设计相辅成。我最初的设想是,她负责除去 ASM 算法之外的一切工程,包括系统设计和详细设计等等,我则专攻 ASM 算法,但经过和她的一番沟通讨论后,发现如果这样分,一则我一个人的工作量太重,我编程能力有限,不能胜任,二则她的系统设计也不会完整,这种彻底分工其实对项目开发不利,我们二人都不会得到充分、深入的学习和锻炼,也就无法达到最初的学习目的。于是,我们达成了新的共识,那就是,将彼此的构思和分工互相融汇,我了解她对整个- 24 -系统的设计,她清楚我对 ASM 算法的认识过程。这样我在编程中实现 ASM 算法的过程也就更有方向了。根据她的系统设计,开发过程为下两图中所述的各个模块:样本采集 样本数据计算 样本数据处理 样本数据验证系统集成待检测的图像输入图像搜索与匹配搜索匹配后结果输出图 4-3(1) 模块开发顺序图

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 学术论文 > 毕业论文

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报