1、基于 ASM 的人脸定位 系统设计 本科毕业论文 (科研训练、毕业设计 ) 题 目: 基于 ASM 的 人脸定位 系统设计 姓 名: 学 院: 软件学院 系: 软件工程 专 业: 软件工程 年 级: 学 号: 指导教师(校内): 职称: 年 月 基于 ASM 的人脸定位 系统设计 II 基于 ASM 的人脸定位 系统设计 摘 要 本文介绍了一个 基于 ASM( Active Shape Model 主动形状模型 ) 1人脸定位 系统 的设计过程。 本系统 设计的目的 是对人脸的轮廓进行几何对齐 2实现人脸 轮廓定位 目 标 。 在 该系统 中 我们事先 采集 了 M 个 不同身份 人 的 不同
2、姿态 免冠 照片 共 S 张 作为训练样本集合 , 对训练样本 采用 ASM 进行 特征 点定位,根据 标定的 N 个特征点坐标组成的向量空间 进行 PCA 3 (Principal Component Analysis 独立主元 分析 )建模 ,得到一个降维的模型作为人脸几何结构的统计模型 4。 之后对 用户给定的正面人脸照片 ,通过 ASM 算法 训练好的 人脸结构的统计 模型 ,移动到当前 图片中各特征 位置 沿法线方向的邻域内最佳匹配的位置 ,同时 通过训练样本 计算出它 的平均轮廓 5, 以及 相应的 几何 平均 轮廓 上出现 的 变化 ;然后 对图像经过几次几何变化后得到最佳 匹配
3、 对齐的人脸轮廓 线条 模型 。 这 个 系统 ,可以基本消除人脸几何差异性的影响 对轮廓实现几何对齐 , 生成高质量的正面人脸 轮廓模型,实现人脸定位。 通过系统的 设计 目的 本文将详细介绍本系统的设计 过程和 程序实现过程。 关键词 ASM( Active Shape Model) 几何对齐 主元 分析 (PCA) 统计模型 平均轮廓 基于 ASM 的人脸定位 系统设计 III ASM -based Face Positioning System Design Process Abstract This paper is about ASM -based (Active Shape Mo
4、del) 1 Face Positioning System design process. The purposes of the system design are to draw the outline of a human face and to achieve face position. In the system we collect some photos with different pose from different people as a training sample collection, we use ASM algorithm to posit charact
5、eristic points of training samples, according to the characteristic demarcation point coordinates of the vector space Independent PCA 3 model, with a drop-dimensional model of the human face as a geometric structure of the statistical model 4. After the user inputs image and searches result of ASM,
6、training human face of the statistical model, moving to the current picture in the direction of the normal the facial feature points along the neighborhood of matching the best location, at the same time, through training sample calculation The Mean Shape 5, and the corresponding profile on the geom
7、etric mean of a change, then the image after several geometric changes after matching the best alignment face contour lines of the model. This system can basically eliminate differences in facial geometry of the impact of geometric contours to achieve alignment, generating high-quality positive face
8、 contour model, and face positioning. Through this system is designed to introduce the system in detail the design, implementation of the procedures. Keywords ASM (Active Shape Model); geometric alignment; statistical model; PCA (principal component analysis); Mean Shape 基于 ASM 的人脸定位 系统设计 IV 目录 第一章
9、引 言 . 8 第二章 ASM 算法详细介绍 . 9 2.1 ASM 算法思想综述 . 9 2.2 ASM 算法的数学背景 . 10 2.2.1 ASM 算法用到的线性代数知识 . 10 2.2.2 ASM 算法用到的概率与统计知识 . 11 2.3 PCA 分析 . 12 2.3.1 PCA 原理在人脸建模上的应用 . 13 2.3.2 用 PCA 人脸 建模 的步骤 . 15 2.4 本章小结 . 16 第三章 基于 ASM 人脸 定位 系统的总 体 设计 . 17 3.1 系统开发的环境 . 17 3.1.1 MFC 简介 . 17 3.2 系统设计的目的 . 18 3.3 系统总体设计
10、过程 . 18 3.3.1 样本采集工具 . 19 3.3.2 样本数据计算与处理 . 19 3.3.3 样本数据验证 . 20 3.3.4 系统集成 . 20 3.3.5 待定位的人脸照片输入 . 20 3.3.6 图像搜索与匹配 . 20 3.3.7 搜索匹配后结果输出 . 21 3.4 本章小结 . 21 第四章 基于 ASM 人脸 定位 系统的详细设计 . 22 4.1 系统详细构架 . 22 4.2 工具集合 . 23 4.2.1 样本取点器 . 23 基于 ASM 的人脸定位 系统设计 V 4.2.2 线条连接设计器 . 25 4.2.3 矩阵浏览器 . 26 4.2.4 模型浏览
11、器 . 26 4.2.5 图像处理模块 . 29 4.2.6 代数运算模块 . 29 4.3 本章小结 . 30 第五章 基于 ASM 人脸 定位 系统程序实 现 . 31 5.1 系统界面 . 31 5.1.1 工具菜单 . 32 5.2 程序主要类的说明 . 34 5.2.1 CSignalStudioDoc 类 . 35 5.2.2 CSignalStudioView 类 . 36 5.2.3 CAmplifyRateManager 类 . 36 5.2.4 CMagicRect 类 . 37 5.2.5 其它类 . 38 5.3 完成一次实例搜索定位 . 39 第六章 总结 . 42
12、致谢语 . 43 参考文献 . 44 基于 ASM 的人脸定位 系统设计 VI Contents Chapter 1 Introduction . 8 Chapter 2 ASM algorithm detailed . 9 2.1 Summary of ASM algorithm . 9 2.2 ASM mathematical algorithm background. 10 2.2.1 ASM algorithm used linear algebra knowledge . X 2.2.2 ASM algorithm used probability and statistics. X
13、I 2.3 PCA Introduction . XII 2.3.1 PCA principles in the face modeling .XIII 2.3.2 The steps of PCA modeling face .XV 2.4 Summary of chapter. XVI Chapter 3 The total design of ASM-based Face Positioning System . XVII 3.1 System development environment. XVII 3.1.1 MFC Introduction . XVII 3.2 The purp
14、ose of system design. 18 3.3 System design process . 18 3.3.1 Sampling tool . 19 3.3.2 Sample data calculation and processing . 19 3.3.3 Sample data verification .XX 3.3.4 System Integration .XX 3.3.5 Photos of to be targeted Face the importation .XX 3.3.6 Image search and match.XX 3.3.7 Search resu
15、lts output after matches . XXI 3.4 Summary of chapter. XXI Chapter 4 The detailed design of ASM-based Face Positioning System. XXII 4.1 Detailed framework . XXII 4.2 Tool collection . XXIII 基于 ASM 的人脸定位 系统设计 VII 4.2.1 Samples from point . XXIII 4.2.2 Lines connecting Designer . XXV 4.2.3 Matrix brow
16、ser.XXVI 4.2.4 Model browser .XXVI 4.2.5 Image processing module . 29 4.2.6 Algebraic operations module . 29 4.3 Summary of chapter. XXX Chapter 5 ASM -based Face Positioning System program .XXXI 5.1 System interface.XXXI 5.1.1 Tools menu . XXXII 5.2 Major classes of procedures . XXXIV 5.2.1 CSignal
17、StudioDoc class. XXXV 5.2.2 CSignalStudioView class . XXXVI 5.2.3 CAmplifyRateManager class . XXXVI 5.2.4 CMagicRect class .XXXVII 5.2.5 Other class . XXXVIII 5.3 Complete example of a targeted search . 39 Chapter 6 Conclusion .XLII Acknowledgement . XLIII References. XLIV 基于 ASM 的人脸定位 系统设计 VIII 第一章
18、 引言 本文介绍了基于 ASM 人脸定位 系统 ,人脸面部特征定 位 是 人脸识别 过程 中的重要环节。人脸识别 可以分为 人脸检 测、 面部特征定位 、 人脸比对 三个部分 。 人脸定位技术 是 在人脸检测的基础上, 对 人脸 面部关键特征 定位 , 试图检测人脸 的主要的面部特征点的位置 眼睛 、 嘴巴 、 鼻子 、 下巴 等主要器官的形状信息。 对于定位问题人们采用众多方法来实现如 灰度积分投影曲线分析、模板匹配、可变形模板、 Hough 变换、 Snake算子、基于 Gabor 小波变换的弹性图匹配技术、 ASM 主动性状模型和 AAM 主动外观模型是常用的方法。 本 课题采用 ASM
19、( Active Shape Model) 主动形状模型 方法,它 是近年来流行的一般对象形状提取算法,其核心思想是在某种局部点模型匹配的基础上,利用统计模型对待识别的人脸的形状进行约束 ,从而转化为一个优化的问题 ,并期望最终收敛到实际的人脸形状上去 , 搜索和匹配到最佳的人脸轮廓, 达到 人脸定位。 上述简要介绍了 本 系统的开发背景及核心算法 接下来 的章节将 主要围绕以下内容展开。 首先详细的介绍 ASM( Active Shape Model 主动形状模型) 算法 思想,这是 本系统的设计基础 ;其次对人脸定位系统的总体设计进行阐述,从一个宏观的角度 分析 系统的设计过程; 再次对系
20、统详细设计进行 说明,对主要工具设计及其功能的实现进行 阐述 ;第四对本系统最后调试运行与实现情况进行 论述;最后 是 对本系统进行客观的评价以及对系统的未来完善的畅想。 基于 ASM 的人脸定位 系统设计 IX 第 二 章 ASM 算法详细介绍 2.1 ASM 算法思想综述 ASM( Active Shape Model) 主动形状模型是一种对在图片中的已知实物对象的进行 识别定位的工具,是概率统计线性代数等数学知识的一种很巧妙地应用。 它是一种数学建模方法,更是思维方式的提升。 ASM 是当今很流行的一种基于灰度差别的对象识别算法,具有相当的通用性,可用于对各种形状相对稳定的物体进行识别,
21、如常见的人脸识别。 1995 年, Cootes et al 提出 ASM1,从那以后, ASM 已经发展和完善了很多年。 ASM 是由一组 统计 模型 4集和一组可改变形状的模型组成, 可变模型描述了一组手动标注的形状轮廓 集合(有的可以用程序标注)的典型变化, 统计 模型描述了每个形状轮廓点的灰度值的结构的统计情况 。 通过各个点的灰度值统计模型,我们可以在被搜索的图片上找到具有类似灰度值结构的点,通过足够准确的起始点, ASM 会利用 统计 模型(之前用来训练的数据模型)试图在新给的图像数据中寻找最佳的匹配模型 。 在搜索过程中, ASM 会应用全局变量限制来保证模型在一个可能的变化范围
22、内变形以匹配新的数据中的模型。 目前有很多关于 ASM 的扩展研究,很多人在单纯的 ASM 基础上加入了一些新的算法以弥补 ASM 的一些不足 。 如 ASM 易受图片采集时的光照条件的影响, 有人把 LBP (Local Binary Pattern)6与 ASM结合来强化 ASM对光照变化的稳定度和健壮性。而另一种由 ASM 的演化来的更强的识别算法就是 AAM7( Active Appearance Model) 6, AAM 的匹配能力和健壮性都很强 , 它的所有思想基本上都是从 ASM 上继承而来的。与 ASM 的不同之处是 它 不仅 利用了对象的形状信息而且利用了对象的纹理信息,这
23、种模型的匹配精度比较好,但与 ASM 相比,其执行一交搜索的时间要长一些。另一种弥补的方法是 ASM 采用参数化的采样形状来构成对象形状模型,并利用 PCA 方法建立描述形状的控制点的运动模型,最后利用一组参数 值 来控制形状控制点的位置变化从而逼近当前对象的形状,然而该方法只单纯利用对象的形状,准确率不高。 基于 ASM 的人脸定位 系统设计 X 2.2 ASM 算法的数学背景 ASM 算法作为一种 图像 建模的方法,它巧妙的将概率统计及线性代数等数学知识融合应用发展成为现今的一种成熟图像处理识别算法。 ASM 用到的线 性代数知识主要是矩阵的特征值和特征向量;向量场及其切平面空间;概率与统
24、计上的样本平均均值,样本方差,协方差矩阵; PCA 分析等; 在 ASM 的编程实现过程中用到的数学单位向量的,角平分线等。 2.2.1 ASM 算法用到的线性代数知识 8 ( 1)基础解系 ASM 的数学的基本思想源自线性代数中的解空间的数学理论,即在一个 n 维的空间中,任意一个点的位置可以由任意一组 n 维的线性无关的长度为 n 的向量线性表示,也就是可以由任意一组基础解系线性表示 n 维空间中的任一点。 如下面的线性运算,形式如下 : 向量 1nxx可以由一个线性无关的同维数的向量组 11 11nn nnaaaa表示为 21 2111 131212 2 2 31 2 32 11* *
25、* *nnnnn nn nnaa aaxa aaab b b bx a aa a 的表达式 。 其中的向量 21111naaa,向量12222naaa, 向量13231naaa, ., 向量 21nnnnaaa为向量 1nxx的一组基础解系, 1b , 2b , 3b nb 为各个 基础 解分量的系数 。 如果把每一张人脸都表示成 n 维空间中的一个点,也即表示成一个从原点 (0 , 0 , 0 ) 出发的一个 n 维空间中的一个向量,然后从一堆点向量中找出足够表示所有可能脸向量的一组类似的基础解系。之所以用“类似”,并不是说找出来 的解就是代数中完全的基础解系,而只是这基础解系中“主要”的一部分解,因为一般情况下,一张脸会用很多点表示,就会形成一个很高维度的向量(一般有上百个维),如果求其的完全解系,就需要很多的训练样本和大量的运算。在找出基础解系后,我们就可以用它来表示所有可