1、河北农业大学信息学院本科毕业论文 题 目: 人脸辨认算法研究与实现 学 院: 信息科学与技术学院 专 业: 电子信息科学与技术 学生姓名: 学 号: 指引教师: 职 称: 副专家 提交日期: 年 6 月 1 日 答辩日期: 年 6 月 4 日 中 国 河北 年 5 月摘要人脸辨认技术,作为当前模式辨认领域研究热点也是难点之一,其最早提出可以追溯到1888年”。然而,到当前为止,由于人脸辨认问题自身复杂性,使得虽然有众多科学研究人员潜心研究近年,也做出了许多成果,但离彻底解决并达到实用,仍旧有诸多核心性问题需要解决。本文对人脸辨认做了一定研究。论文一方面简介了人脸辨认背景、研究范畴以及办法,对人
2、脸辨认领域某些理论办法作了总体简介。本文中所采用人脸辨认办法是比较典型PCA(Principle Component Analysis)主成分分析。重要涉及:结合人脸库对人脸辨认预解决办法作了较为详细简介;简介了PCA人脸辨认办法;实现了一种基于PCA实时人脸检测辨认原型系统。核心字:MATLAB、图形顾客界面GUI、人脸辨认、PCAABSTRACT Face recognition technology,as one of the hotspot in research of pattern recognition is also difficult,its first suggested
3、dates back to 1888. so far,however,because of the complexity of the face recognition problem itself,that although there are many scientific researchers studying for many years,has made many achievements,but from the resolve and achieve practical,there are still many key problems need to solve. In th
4、is paper,the face recognition to do some research. Paper first introduces the background of face recognition,research scope and method,to some theoretical methods in the field of face recognition has made the overall introduction. Face recognition methods used in this article is the classical PCA (P
5、rinciple Component Analysis),principal Component Analysis. Mainly includes:combining face library pretreatment method of face recognition has made the detailed introduction;This paper introduces the methods of PCA face recognition;Implements a real-time face detection prototype system based on PCA.
6、keywords:MATLAB,graphical user interface GUI,face recognition,PCA 目录第一章 绪论21.1 概述21.1.1 简介21.2 课题研究背景和意义3121研究背景3122 研究意义31.2.2.1 重要学术价值31.2.2.2 较好应用前景313入脸辨认研究现状与困难4131研究现状41.3.2 存在重要困难41.4 论文内容及安排5第二章 人脸辨认实现所使用工具52.1 Matlab简介52.2 图形顾客界面GUI72.2.1 图形顾客界面GUI简介72.2.2 图形顾客界面 GUI 实例92.2.3 PCA 算法122.3 本章
7、小结12第三章 人脸辨认PCA算法及其功能实现133.1 PCA算法分析133.1.1 主成分普通定义133.1.2 主成分性质133.1.3 主成分数目选用143.2 PCA算法功能实现143.2.1 人脸空间建立143.2.2 特性向量选用153.2.3 人脸辨认15第四章 人脸辨认算法测试154.1 实验测试流程15第五章 个人总结18道谢18参照文献19附录-matlab 源码20第一章 绪论1.1 概述1.1.1 简介随着社会发展以及技术进步,特别是近年内计算机软硬件性能飞速提高,各方面对迅速高效自动身份验证规定日益迫切。生物辨认技术在科研领域获得了极大注重和发展。由于生物特性是人内
8、在属性,具备很强自身稳定性和个体差别性,因而是身份验证最抱负根据“1。其中,运用人脸特性进行身份验证又是最自然直接手段,与指纹、虹膜、掌纹等其她人体生物特性辨认系统相比,人脸辨认系统更加和谐,以便,易于为顾客所接受,有辽阔应用领域。例如:如:公安布控监控、监狱监控、司法认证、民航安检、口岸出入控制、海关身份验证、银行密押、智能身份证、智能门禁、智能视频监控、智能出入控制、司机驾照验证、各类银行卡、金融卡、信用卡、储蓄卡持卡人身份验证,社会保险身份验证等各种方面,还可以应用到医疗和视频会议等方面,体现出其强大生命力。所谓人脸辨认。43(FaceRecognition)就是运用计算机分析人脸图象,
9、从中提取有效辨认信息,用来辨别身份一门技术。即对已知人脸进行原则化解决后,通过某种办法和数据库中人脸标本进行匹配,寻找库中相应人脸及该人脸有关信息。 由于生物特性是人内在属性,具备很强自身稳定性和个体差别性,因而是身份验证最抱负根据“1。其中,运用人脸特性进行身份验证又是最自然直接手段,与指纹、虹膜、掌纹等其她人体生物特性辨认系统相比,人脸辨认系统更加和谐,以便,易于为顾客所接受,有辽阔应用领域。1。例如:如:公安布控监控、监狱监控、司法认证、民航安检、口岸出入控制、海关身份验证、银行密押、智能身份证、智能门禁、智能视频监控、智能出入控制、司机驾照验证、各类银行卡、金融卡、信用卡、储蓄卡持卡人
10、身份验证,社会保险身份验证等各种方面,还可以应用到医疗和视频会议等方面,体现出其强大生命力。从20世纪六十年代末到当前,人脸辨认发展经历了正面人脸辨认,基于多姿态和表情人脸辨认,动态跟踪人脸辨认和三维人脸辨认四个阶段“1。文献。”是对近十年来人脸辨认获得成果进行了总结。当前,全世界从事人脸辨认研究科研机构诸多”1,国外大学普通均有computer Vision研究组,并有从事人脸图象解决课题研究小组。其中知名大学涉及MIT,CMU等。国内清华大学、浙江大学、哈尔滨工业大学和中华人民共和国科学院某些研究机构等都从事这方面研究。同步也浮现了一批供人脸辨认有关产品公司。有些国外公司开发某些人脸辨认产
11、品已经被安全机构使用。1.2 课题研究背景和意义121研究背景自70年代以来.随着人工智能技术兴起.以及人类视觉研究进展.人们逐渐对人脸图像机器辨认投入很大热情,并形成了一种人脸图像辨认研究领域,.这一领域除了它重大理论价值外,也极具实用价值。在进行人工智能研究中,人们始终想做事情就是让机器具备像人类同样思考能力,以及辨认事物、解决事物能力,因而从解剖学、心理学、行为感知学等各个角度来探求人类思维机制、以及感知事物、解决事物机制,并努力将这些机制用于实践,如各种智能机器人研制。人脸图像机器辨认研究就是在这种背景下兴起,由于人们发现许多对于人类而言可以容易做到事情,而让机器来实现却很难,如人脸图
12、像辨认,语音辨认,自然语言理解等。如果可以开发出具备像人类同样机器辨认机制,就可以逐渐地理解人类是如何存储信息,并进行解决,从而最后理解人类思维机制。同步,进行人脸图像辨认研究也具备很大使用价依。犹如人指纹同样,人脸也具备唯一性,也可用来鉴别一种人身份。当前己有实用计算机自动指纹辨认系统面世,并在安检等部门得到应用,但还没有通用成熟人脸自动辨认系统浮现。人脸图像自动辨认系统较之指纹辨认系统、DNA鉴定等更具以便性,由于它取样以便,可以不接触目的就进行辨认,从而开发研究实际意义更大。并且与指纹图像不同是,人脸图像受诸多因素干扰:人脸表情多样性;以及外在成像过程中光照,图像尺寸,旋转,姿势变化等。
13、使得同一种人,在不同环境下拍摄所得到人脸图像不同,有时更会有很大差别,给辨认带来很大难度。因而在各种干扰条件下实现人脸图像辨认,也就更具备挑战性。国外对于人脸图像辨认研究较早,现己有实用系统面世,只是对于成像条件规定较苛刻,应用范畴也就较窄,国内也有许多科研机构从事这方而研究,并己获得许多成果。122 研究意义1.2.2.1 重要学术价值当前人脸辨认研究工作牵涉到模式辨认、图像解决、计算机视觉、生理学、心理学、以及认知科学和神经网络等各种领域诸多知识,并与基于其他生物特性身份鉴别办法以及计算机人机感知交互领域均有密切联系。因而人脸辨认研究对于开拓新兴技术领域,增进跨领域多学科综合发展具备重要科
14、学意义。1.2.2.2 较好应用前景人脸辨认已成为计算机视觉及有关领域中核心技术,在身份验证,刑侦破案,入口控制,视频监视,机器人智能化和医学等方面具备辽阔应用前景和商业价值。近年来,人脸辨认技术研究非常活跃,除了基于KL变换特性脸办法与以奇异值特性为代表代数特性办法获得了新进展外,人工神经网络、小波互换技术在人脸辨认研究中都得到了很广泛应用。并且浮现了不少人脸辨认新办法。下面将简介人脸辨认研究重要内容和办法。13入脸辨认研究现状与困难131研究现状 当前,国内、外人脸辨认办法各种各样,并且不断有新研究成果浮现。但是,由于人脸辨认问题巨大复杂性,要建立一种可以完全自动完毕人脸辨认任务计算机系统
15、难度是相称大,这不但涉及到数字图像解决,并且还涉及到计算机视觉,人工智能和计算机网络及通讯等各种学科领域广泛知识。解决特定环境下或某种应用背景下人脸辨认问题,仍将是该领域研究重要课题。1.3.2 存在重要困难 尽管已经获得了诸多研究成果,但如下几种问题始终会是此后研究工作重要难点“2“”所在,将极大影响人脸辨认走向实用化。1、人脸自身特点 一方面是由于人脸姿态多样性,在自然条件下获得人脸图象并不总是正面,人脸偏转或俯仰会导致面部信息某些缺失,给精准提取人脸特性导致一定限度困难;另一方面是人脸是一种柔性体而不是刚体,并且人脸表情丰富且表情变化细微而复杂。因而,建立人脸表情模型和情绪分类,把人脸表
16、情描述同面部特性变化联系起来,运用计算机进行抽象概括也是一种重要问题。2、环境影响 由于受到旋转、距离、尺度,光照,光源方向等不拟定因素影响,人脸获取系统获得人脸图像将体现出非常复杂模式。光照变化环境下,每个像素亮度值还依赖于环境中各种因素:光源位置、颜色和亮度,周边物体影响。当前许多辨认办法对光照条件有着不同限度依赖,过亮、过暗或偏光现象存在都也许导致辨认急剧下降。因而,对人脸图象进行特性提取和分类之前普通要作预解决。3、计算机自身限制 三维人脸投影在二维图像上,虽然有信息损失,但仍是一种复杂具备非常高维数视觉信息,包括了大量像素数据,并且每一像素都携带了大量信息。如何运用计算机对的解决巨大
17、信息量,同步,保证人脸辨认系统实时性规定也是计算机研究重要难点之一。1.4 论文内容及安排 第一章即本章重要简介人脸辨认前景和发展方向以及在现实生活中应用,同步也解说了在实际研究中仍存在某些问题。重要简介人脸辨认系统中所用到仿真软件Matlab、Matlab图像解决工具GUI、PCA算法。分别简介了各自简介和某些典型算法实例简介。第三章着重简介了PCA算法在人脸辨认上应用和功能实现。PCA算法应用中主成分普通定义、主成分性质、主成分数目选用,以及PCA算法功能实现环节:人脸空间建立、特性向量选用和人脸辨认。第四章是将已经编写好程序代码在PC机上运营,选取测试图片与人脸库进行辨认,最后计算精确率
18、以进一步改进算法。最后总结了全文工作并对后来需要进一步研究问题进行了展望。第五章是对整个人脸辨认研究总结以及此后研究方向。第二章 人脸辨认实现所使用工具2.1 Matlab简介MATLAB是由美国mathworks公司发布重要面对科学计算、可视化以及交互式程序设计高科技计算环境。它将数值分析、矩阵计算、科学数据可视化以及非线性动态系统建模和仿真等诸多强大功能集成在一种易于使用视窗环境中,为科学研究、工程设计以及必要进行有效数值计算众多科学领域提供了一种全面解决方案,并在很大限度上挣脱了老式非交互式程序设计语言(如C、Fortran)编辑模式,代表了当今国际科学计算软件先进水平。MATLAB优势
19、:1) 高效数值计算及符号计算功能,能使顾客从繁杂数学运算分析中解脱出来;2) 具备完备图形解决功能,实现计算成果和编程可视化;3) 和谐顾客界面及接近数学表达式自然化语言,使学者易于学习和掌握;4) 功能丰富应用工具箱(如信号解决工具箱、通信工具箱等) ,为顾客提供了大量以便实用解决工具。编程环境:MATLAB由一系列工具构成。这些工具以便顾客使用MATLAB函数和文献,其中许多工具采用是图形顾客界面。涉及MATLAB桌面和命令窗口、历史命令窗口、编辑器和调试器、途径搜索和用于顾客浏览协助、工作空间、文献浏览器。随着MATLAB商业化以及软件自身不断升级,MATLAB顾客界面也越来越精致,更
20、加接近Windows原则界面,人机交互性更强,操作更简朴。并且新版本MATLAB提供了完整联机查询、协助系统,极大以便了顾客使用。简朴编程环境提供了比较完备调试系统,程序不必通过编译就可以直接运营,并且可以及时地报告浮现错误及进行出错因素分析。简朴易用:Matlab是一种高档矩阵/阵列语言,它包括控制语句、函数、数据构造、输入和输出和面向对象编程特点。顾客可以在命令窗口中将输入语句与执行命令同步,也可以先编写好一种较大复杂应用程序(M文献)后再一起运营。新版本MATLAB语言是基于最为流行C+语言基本上,因而语法特性与C+语言极为相似,并且更加简朴,更加符合科技人员对数学表达式书写格式。使之更
21、利于非计算机专业科技人员使用。并且这种语言可移植性好、可拓展性极强,这也是MATLAB可以进一步到科学研究及工程计算各个领域重要因素。强解决能力:MATLAB是一种包括大量计算算法集合。其拥有600各种工程中要用到数学运算函数,可以以便实现顾客所需各种计算功能。函数中所使用算法都是科研和工程计算中最新研究成果,而前通过了各种优化和容错解决。在普通状况下,可以用它来代替底层编程语言,如C和C+ 。在计算规定相似状况下,使用MATLAB编程工作量会大大减少。MATLAB这些函数集涉及从最简朴最基本函数到诸如矩阵,特性向量、迅速傅立叶变换复杂函数。函数所能解决问题其大体涉及矩阵运算和线性方程组求解、
22、微分方程及偏微分方程组求解、符号运算、傅立叶变换和数据记录分析、工程中优化问题、稀疏矩阵运算、复数各种运算、三角函数和其她初等数学运算、多维数组操作以及建模动态仿真等。图形解决:MATLAB自产生之日起就具备以便数据可视化功能,以将向量和矩阵用图形体现出来,并且可以对图形进行标注和打印。高层次作图涉及二维和三维可视化、图象解决、动画和表达式作图。可用于科学计算和工程绘图。新版本MATLAB对整个图形解决功能作了很大改进和完善,使它不但在普通数据可视化软件都具备功能(例如二维曲线和三维曲面绘制和解决等)方面更加完善,并且对于某些其她软件所没有功能(例如图形光照解决、色度解决以及四维数据体现等),
23、MATLAB同样体现了出众解决能力。同步对某些特殊可视化规定,例如图形对话等,MATLAB也有相应功能函数,保证了顾客不同层次规定。此外新版本MATLAB还着重在图形顾客界面(GUI)制作上作了很大改进,对这方面有特殊规定顾客也可以得到满足。MATLAB对许多专门领域都开发了功能强大模块集和工具箱。普通来说,它们都是由特定领域专家开发,顾客可以直接使用工具箱学习、应用和评估不同办法而不需要自己编写代码。当前,MATLAB已经把工具箱延伸到了科学研究和工程应用诸多领域,诸如数据采集、数据库接口、概率记录、样条拟合、优化算法、偏微分方程求解、神经网络、小波分析、信号解决、图像解决、系统辨识、控制系
24、统设计、LMI控制、鲁棒控制、模型预测、模糊逻辑、金融分析、地图工具、非线性控制设计、实时迅速原型及半物理仿真、嵌入式系统开发、定点仿真、DSP与通讯、电力系统仿真等,都在工具箱(Toolbox)家族中有了自己一席之地。2.2 图形顾客界面GUI2.2.1 图形顾客界面GUI简介图形顾客界面(Graphical User Interface,简称 GUI,又称图形顾客接口)是指采用图形方式显示计算机操作顾客界面。与初期计算机使用命令行界面相比,图形界面对于顾客来说在视觉上更易于接受。 如Windows是以“wintel原则”方式操作,由于你可以用鼠标来点击按钮来进行操作,很直观。而DOS就不具
25、备GUI,因此她只能输入命令。DOS 这种界面叫CLI (Command line User Interface ) 命令行模式人机接口。GUI 是 Graphical User Interface 简称,即图形顾客界面,普通人机交互图形化顾客界面设计经常读做“goo-ee”精确来说 GUI 就是屏幕产品视觉体验和互动操作某些。GUI 是一种结共计算机科学、美学、心理学、行为学,及各商业领域需求分析人机系统工程,强调人机环境三者作为一种系统进行总体设计。这种面向客户系统工程设计其目是优化产品性能,使操作更人性化,减轻使用者认知承担,使其更适合顾客操作需求,直接提高产品市场竞争力。GUI 即人机
26、交互图形化顾客界面设计。纵观国际有关产业在图形化顾客界面设计方面发呈现状,许多国际知名公司早已意识到 GUI 在产品方面产生强大增值功能,以及带动巨大市场价值,因而在公司内部设立了有关部门专门从事 GUI 研究与设计,同业间也成立了若干机构,以互相交流 GUI 设计理论与经验为目。随着中华人民共和国 IT 产业,移动通讯产业,家电产业迅猛发展,在产品人机交互界面设计水平发展上日显滞后,这对于提高产业综合素质,提高与国际同等业者竞争能力等等方面无疑起了制约作用。GUI广泛应用是当今计算机发展重大成就之一,她极大地以便了非专业顾客使用。人们从此不再需要死记硬背大量命令,取而代之是可以通过窗口、菜单
27、、按键等方式来以便地进行操作。而嵌入式GUI具备下面几种方面基本规定:轻型、占用资源少、高性能、高可靠性、便于移植、可配备等特点。GUI构成某些:在启动时显示,也是界面中最底层,有时也指代涉及窗口、文献浏览器在内“桌面环境”。在桌面上由于可以重叠显示窗口,因而可以实现多任务化。普通界面中,桌面上放有各种应用程序和数据图标,顾客可以以此开始工作。桌面与既存文献夹构成里面相违背,因此要以特殊位置文献夹参照形式来定义内容。例如在微软公司Windows XP系统中,各种顾客桌面内容实际保存在系统盘(默以为C盘):Documents and Settings顾客名桌面 文献夹里。墙纸,即桌面背景。可以设
28、立为各种图片和各种附件,成为视觉美观重要因素之一。应用程序为使用数据而在图形顾客界面中设立基本单元。应用程序和数据在窗口内实现一体化。在窗口中,顾客可以在窗口中操作应用程序,进行数据管理、生成和编辑。普通在窗口四周设有菜单、图标,数据放在中央。在窗口中,依照各种数据/应用程序内容设有标题栏,普通放在窗口最上方,并在其中设有最大化、最小化(隐藏窗口,并非消除数据)、最前面、缩进(仅显示标题栏)等动作按钮,可以简朴地对窗口进行操作。在窗口中,一种数据在一种窗口内完毕方式。在这种状况下,数据和显示窗口数量是同样。若要在其她应用程序窗口使用数据,将相应生成新窗口。因而窗口数量多,管理复杂。在一种窗口之
29、内进行各种数据管理方式。这种状况下,窗口管理简朴化,但是操作变为双重管理。将系统可以执行命令以阶层方式显示出来一种界面。普通置于画面最上方或者最下方,应用程序能使用所有命令几乎所有都能放入。重要限度普通是从左到右,越往右重要度越低。命定层次依照应用程序不同而不同,普通注重文献操作、编辑功能,因而放在最左边,然后往右有各种设立等操作,最右边往往设有协助。普通使用鼠标第一按钮进行操作。即时菜单(又称功能表)与应用程序准备好层次菜单不同,在菜单栏以外地方,通过鼠标第二按钮调出菜单称为“弹出菜单”。依照调出位置不同,菜单内容即时变化,列出所批示对象可以进行操作。 显示在管理数据应用程序中数据,或者显示
30、应用程序自身。数据管理程序,即在文献夹中顾客数据管理、进行特定数据管理程序状况下,数据通过图标显示出来。普通状况下显示是数据内容或者与数据有关联应用程序图案。此外,点击数据图标,普通可以之间完毕启动有关应用程序后来再显示数据自身这两个环节工作。应用程序图标只能用于启动应用程序。 菜单中,运用限度高命令用图形表达出来,配备在应用程序中,成为按钮。应用程序中按钮,普通可以代替菜单。某些使用限度高命令,不必通过菜单一层层翻动才干调出,极大提高了工作效率。但是,各种顾客使用命令频率是不同样,因而这种配备普通都是可以由顾客自定义编辑。 2.2.2 图形顾客界面 GUI 实例这里先简朴实现选取图片并在坐标
31、系上显示图片功能。 1 、新建图形顾客界面模板。在菜单栏依次选取 FILE-NEW-GUI-Blank Gui.选取Push Button 和 Axes两个控件。如下图 图2-1 顾客图形界面实例图保存文献为test.fig,同步系统自动产生一种同名test.m文献。在test.m 文献 Push Button 回调函数中加入如下代码:function pushbutton1_Callback(hObject,eventdata,handles)% hObject handle to pushbutton1 (see GCBO)% eventdata reserved - to be defi
32、ned in a future version of MATLAB% handles structure with handles and user data (see GUIDATA) filename,pathname = uigetfile(*,读取图片); str=pathname filename; im=imread(str); axes(handles.axes1); imshow(im); titel(选取图片);执行test.m文献,会弹出下图窗口:图2-2 图形顾客界面实例图按下 Push Button 后选取图片图2-3 图形顾客界面实例图打开图片:图2-4 图形顾客界面
33、实例图2.2.3 PCA 算法 PCA (personal computer assistant) 个人计算机助理,智能手机时代手机与电脑结合演变名称 。PCA 重要 用于数据降维,对于一系列例子特性构成多维向量,多维向量里某些元素自身没有区别性,例如某个元素在所有例子中都为1,或者与1差距不大,那么这个元素自身就没有区别性,用它做特性来区别,贡献会非常小。因此咱们目是找那些变化大元素,即方差大那些维,而去除掉那些变化不大维,从而使特性留下都是“精品”,并且计算量也变小了。 对于一种k维特性来说,相称于它每一维特性与其她维都是正交(相称于在多维坐标系中,坐标轴都是垂直),那么咱们可以变化这些维
34、坐标系,从而使这个特性在某些维上方差大,而在某些维上方差很小。例如,一种45度倾斜椭圆,在第一坐标系,如果按照x,y坐标来投影,这些点x和y属性很难用于区别她们,由于她们在x,y轴上坐标变化方差都差不多,咱们无法依照这个点某个x属性来判断这个点是哪个,而如果将坐标轴旋转,以椭圆长轴为x轴,则椭圆在长轴上分布比较长,方差大,而在短轴上分布短,方差小,因此可以考虑只保存这些点长轴属性,来区别椭圆上点,这样,区别性比x,y轴办法要好!因此咱们做法就是求得一种k维特性投影矩阵,这个投影矩阵可以将特性从高维降到低维。投影矩阵也可以叫做变换矩阵。新低维特性必要每个维都正交,特性向量都是正交。通过求样本矩阵
35、协方差矩阵,然后求出协方差矩阵特性向量,这些特性向量就可以构成这个投影矩阵了。特性向量选取取决于协方差矩阵特性值大小。对于一种训练集,100个对象模板,特性是10维,那么它可以建立一种100*10矩阵,作为样本。求这个样本协方差矩阵,得到一种10*10协方差矩阵,然后求出这个协方差矩阵特性值和特性向量,应当有10个特性值和特性向量,咱们依照特性值大小,取前四个特性值所相应特性向量,构成一种10*4矩阵,这个矩阵就是咱们规定特性矩阵,100*10样本矩阵乘以这个10*4特性矩阵,就得到了一种100*4新降维之后样本矩阵,每个特性维数下降了。当给定一种测试特性集之后,例如1*10维特性,乘以上面得
36、到10*4特性矩阵,便可以得到一种1*4特性,用这个特性去分类。因此做PCA事实上是求得这个投影矩阵,用高维特性乘以这个投影矩阵,便可以将高维特性维数下降到指定维数。2.3 本章小结本章重要简介了matlab 和 GUI背景知识,以及PCA算法。其中matlab 是整个程序运营环境,GUI是运营工具,PCA算法是实现人脸辨认必要解决根据。第三章 人脸辨认PCA算法及其功能实现 对于一幅图像可以看作一种由像素值构成矩阵,也可以扩展开,当作一种矢量,如一幅N*N 象素图像可以视为长度为N2 矢量,这样就以为这幅图像是位于N2 维空间中一种点,这种图像矢量表达就是原始图像空间,但是这个空间仅是可以表
37、达或者检测图像许各种空间中一种。不论子空间详细形式如何,这种办法用于图像辨认基本思想都是同样,一方面选取一种适当子空间,图像将被投影到这个子空间上,然后运用对图像这种投影间某种度量来拟定图像间相似度,最常用就是各种距离度量。因而,本次试题采用PCA算法并运用GUI实现。对同一种体进行多项观测时,必然涉及各种随机变量X1,X2,Xp,它们都是有关性,一时难以综合。这时就需要借助主成分分析来概括诸多信息重要方面。咱们但愿有一种或几种较好综合指标来概括信息,并且但愿综合指标互相独立地各代表某一方面性质。 任何一种度量指标好坏除了可靠、真实之外,还必要能充分反映个体间变异。如果有一项指标,不同个体取值
38、都大同小异,那么该指标不能用来区别不同个体。由这一点来看,一项指标在个体间变异越大越好。因而咱们把“变异大”作为“好”原则来谋求综合指标。3.1 PCA算法分析3.1.1 主成分普通定义设有随机变量X1,X2,Xp, 其样本均数记为 , , ,样本原则差记为S1,S2,Sp。一方面作原则化变换,咱们有如下定义: (1) 若C1=a11x1+a12x2+ +a1pxp,且使 Var(C1)最大,则称C1为第一主成分; (2) 若C2=a21x1+a22x2+a2pxp, ,(a21,a22,a2p)垂直于(a11,a12,a1p),且使Var(C2)最大,则称C2为第二主成分; (3) 类似地,
39、可有第三、四、五主成分,至多有p个。3.1.2 主成分性质 主成分C1,C2,Cp具备如下几种性质: (1) 主成分间互不有关,即对任意i和j,Ci 和Cj有关系数 Corr(Ci,Cj)=0 ij(2) 组合系数(ai1,ai2,aip)构成向量为单位向量,(3) 各主成分方差是依次递减, 即 Var(C1)Var(C2)Var(Cp) (4) 总方差不增不减, 即 Var(C1)+Var(C2)+ +Var(Cp) =Var(x1)+Var(x2)+ +Var(xp) =p 这一性质阐明,主成分是原变量线性组合,是对原变量信息一种改组,主成分不增长总信息量,也不减少总信息量。 (5) 主成
40、分和原变量有关系数 Corr(Ci,xj)=aij =aij (6) 令X1,X2,Xp有关矩阵为R, (ai1,ai2,aip)则是有关矩阵R第i个特性向量(eigenvector)。并且,特性值li就是第i主成分方差, 即 Var(Ci)= li 其中li为有关矩阵R第i个特性值(eigenvalue) ll1l2lp03.1.3 主成分数目选用前已指出,设有p个随机变量,便有p个主成分。由于总方差不增不减,C1,C2等前几种综合变量方差较大,而Cp,Cp-1等后几种综合变量方差较小,严格说来,只有前几种综合变量才称得上主(要)成分,后几种综合变量实为“次”(要)成分。实践中总是保存前几种
41、,忽视后几种。 保存多少个主成分取决于保存某些累积方差在方差总和中所占比例(即合计贡献率),它标志着前几种主成分概括信息之多寡。实践中,粗略规定一种比例便可决定保存几种主成分;如果多留一种主成分,累积方差增长无几,便不再多留。3.2 PCA算法功能实现3.2.1 人脸空间建立假设一幅人脸图像包括N个像素点,它可以用一种N维向量表达。这样,训练样本库就可以用i(i=1,.,M)表达。 协方差矩阵C正交特性向量就是构成人脸空间基向量,即特性脸。将特性值由大到小排列:12.r,其相应特性向量为k。这样每一幅人脸图像都可以投影到由u1,u2,.,ur张成子空间中。因而,每一幅人脸图像相应于子空间中一点
42、。同样,子空间任意一点也相应于一幅图像。3.2.2 特性向量选用虽然协方差矩阵最多有相应于非零特性值k(k远不大于M)个特性向量,但是普通状况下,k依然很大,而事实上,依照应用规定,并非所有特性向量均有需要保存,而特性空间投影计算速度是直接与创立子空间所用特性向量数目有关,若考虑到计算时间因素,可以恰当减去某些信息量少特性向量,并且,去掉这些特性向量之后不一定不利于分类成果,有状况下反而可以提高辨认性能。3.2.3 人脸辨认有了这样一种由特性脸张成降维子空间,任何一幅人脸图像都可以向其投影得到一组坐标系数,这组系数表白了该图像在子空间中位置,从而可以作为人脸辨认根据。换句话说,任何一幅人脸图像
43、都可以表达为这组特性脸线性组合,其加权系数即是K-L变换展开系数,也可以称为该图像代数特性。因而,在获得特性脸之后,就可以对每一类别典型样本进行投影,由此得到每个人脸投影特性从而构成人脸特性向量,作为下一步辨认匹配搜索空间。输入图像及其在人脸空间上投影(重构图像),人脸图像在人脸空间中投影变化不明显而非人脸图像投影变化明显。因而,检测一幅图像中与否存在人脸基本思想是,计算该图像中任意位置处局部图像与人脸空间之间距离。其中,是局部图像与否为人脸度量。因而,计算给定图像任意一点上,就可以得到一映射图(x,y)。第四章 人脸辨认算法测试 4.1 实验测试流程 实验在两个图库上测试,一种是自建人脸库,
44、该库包括10个不同人物,每人有5张不同表情和姿态下图片,总共50幅。另一种是ORL人脸库,该库包括40个不同人物,每人有10张图片,共400幅。用训练样本进行测试,辨认率为100%。而随着训练样本增长,辨认率会有所提高,由于原则人脸库在采集时考虑了各种因素,人脸图像比较原则,因此辨认率较自建人脸库辨认率高,此外由于自建人连库图片太少,即训练样本太少,也会对成果产生影响,效果不是较好。进行直方图均衡化比灰度归一化辨认率高,预解决对辨认效果起着至关重要作用。而本次实验预解决还比较粗糙,PCA也只是起到了简朴特性脸降维作用,要有更好效果,还必要寻找更好特性表达,使得可以尽量消除光照、表情、遮掩和姿势
45、影响。下图为测试流程截图:一方面,运营程序.m文献图4-1 顾客使用界面图 图4-2 选取图片图图4-3 读取图片后图图4-4 查找成果图 第五章 个人总结 在大一时候主修过MATLAB基本这门课程,后大二时又学习了数字图像解决这门课并跟教师做过为期一种星期课程设计,MATLAB有比较夯实基本,因此本次试题我采用了Matlab中GUI(图形顾客界面)为重要体现形式,我以为在这次题目下GUI比单纯M文献会有更强应用、测试及体现效果,但由于之前对PCA算法不太理解,因此花了很长时间去分析理解,最后选取了较为简朴且实用PCA算法。从使用角度考虑,我还为库中每个人取了一种名字,最后查找届时会在标题处显
46、示其名字,下方显示库中与测试图片最接近库图片。由于是运用了有限10人人脸库,并且辨认人数不是诸多,因此最后成果还是不错。 道谢 在河北农业大学学习生活即将结束,在做毕设这些日子里,我教师、同窗予以了我无微不至关怀和协助,涉及课题选取和程序编译运营等等。借此毕业论文完毕之际,谨向她们致以我最真诚感谢! 一方面要感谢是我导师任力生教师。任教师知识渊博、态度严谨、平易近人,在学术上给了我悉心指引。由于在外找工作没有办法兼顾学校事情,任教师并没有因而有过多苛责,而是让我安心做设计,在研究方向和设计可行性等方面都给了非常宝贵指引意见。任教师对待工作严肃谨慎,不浮不躁,坚持踏实勤干学习态度,这将是我毕生工作和学习好榜样。 另一方面,我还要特别感谢我同窗李秀芸同窗,她在我程序最迷茫时候为我点明了核心所在,还细心给我解说了代码含义,让我对我课题有了更加进一步理解。 此外还要格外感谢一下马丽和斯永胜教师,这两位教师本不是负责我教师,而在我为选题苦恼、程序遇到bug无法运营时候,教师们给了我诸多参照建议,在此郑重感谢下两位教师。再次真心感谢所关于
©2010-2024 宁波自信网络信息技术有限公司 版权所有
客服电话:4008-655-100 投诉/维权电话:4009-655-100