基于Android系统的人脸识别算法研究与实现毕业论文
2021-04-19 01:18:49
摘 要
近年来,随着对个人手机安全的需求日益迫切,以及生物识别技术的日渐成熟,这两者的结合逐步成为了一个新的社会需求和研究热点。越来越多的手机厂商推出了具有生物特征解锁功能的智能手机产品,其中人脸识别由于交互方式简单、性能稳定在很多场合都是最佳选择。本文就以智能手机操作系统Android为系统环境,在该平台上设计一个应用程序,实现拍照、人脸检测和人脸识别的处理流程。人脸数据库以及整个过程都是在离线状态下完成,应用程序使用Android SDK中的人脸检测类,单纯通过双眼进行人脸检测,再通过主成分分析法进行人脸识别。主成分分析法是一种对样本空间进行降维处理,再通过向量映射完成图像识别的统计学方法。此外,文中还通过多种输入对应用程序性能进行了分析。
关键词:人脸识别,人脸检测,安卓,主成分分析法
Abstract
In recent years, with the increasing requirement on personal mobile phone security and the development in biological recognition, the combination of these two technologies has become a new social demand and research hotspot. More and more manufactures had produced cell phones with biometric unlock function. Among biological recognition, face recognition often becomes a good choice because of its simple interaction and stability. In this paper, Android, the top mobile operation system, is taken as the system environment. On this software platform, an application which realizes the process of picture collection, face detection and recognition is designed. The face database and the entire processing is finished offline. The application uses the Class of Face Detector in Android SDK to finish the face detection through the eyes. And face recognition is realized by Principle Component Analysis (PCA). PCA is a statistical method which reduces the dimension of the sample space and finishes the image recognition through the vector mapping. In addition, the paper analyzed the performance of the application with various input modes.
Key Words: Face Recognition, Face Detection, Android, Principle Component Analysis
目 录
第1章 绪论 1
1.1 研究背景及意义 1
1.1.1 人脸识别技术 1
1.1.2 Android设备的人脸识别应用 1
1.2 国内外研究现状 2
1.2.1 人脸检测的研究现状 2
1.2.2 人脸识别的研究现状 3
1.3 设计内容 3
第2章 人脸检测算法 4
2.1 人脸检测基本原理 4
2.2 预处理 5
2.2.1 灰度归一化 5
2.2.2 几何归一化 6
2.3 人脸检测流行算法 6
2.3.1 基于知识法 7
2.3.2 特征不变法 7
2.3.3 模板匹配法 7
2.3.4 基于表象法 8
第3章 人脸识别算法 9
3.1 人脸识别算法概述 9
3.1.1 主成分分析法 9
3.1.2 隐马尔可夫模型方法 9
3.1.3 基于人工神经网络的方法 10
3.1.4 支持向量机法 10
3.2 主成分分析法人脸识别 10
3.2.1 K-L变换 11
3.2.2 主成分提取 11
3.2.3 距离计算 12
3.2.4 PCA人脸识别流程 12
第4章 应用程序设计 14
4.1 Android系统及开发环境 14
4.1.1 Android系统架构 14
4.1.2 Android程序组件 15
4.1.3 Eclipse开发环境 16
4.2 项目工程 17
4.2.1 根目录 17
4.2.2 配置文件 18
4.3 程序模块设计 19
4.3.1 人脸检测 19
4.3.2 归一化 19
4.3.3 特征空间 21
4.3.4 匹配计算 22
4.4 程序流图 23
第5章 测试与分析 25
5.1 理论结果 25
5.2 运行结果 26
5.3 性能分析 29
第6章 总结与展望 30
参考文献 31
致 谢 32
第1章 绪论
1.1 研究背景及意义
1.1.1 人脸识别技术
现代社会,手机、电脑等电子设备的功能已经从最初的计算、通信、娱乐等上升到了全方位的工作支持和生活服务。由于支付功能和一些重要信息文件的存在,这些电子设备如今也已经涉及到使用者的人身财产安全问题。因此,电子设备层面的身份识别也就成为了电子设备使用安全的重要保障。除了个人用户的身份确认之外,计算机身份识别还可以应用于公共场所的安全检查以及企业员工的考勤签到等领域,可谓是信息时代社会中一项不可或缺的技术。
对于电子信息层面的身份识别问题,人们最初采用的解决方式是密码。但在社会需求不断发展的背景下,密码记忆难度高、可以被窃取盗用的缺点逐渐迫使人类寻求新的途径。生物识别技术将生物技术、计算机技术与图像处理技术结合起来,着眼于通过一些人体自带的生物特征进行身份确认。这些特征与生俱来且难以模仿,在便利度和可靠性上都非常满足现代社会的需求,因此生物识别也是现阶段最被广泛接受的身份识别技术。其中,虹膜识别、指纹识别和人脸识别是最常见的。
在这三种生物识别技术中,虹膜识别操作麻烦、使用条件苛刻,应用度一直不高;而指纹识别是三者中最先被广泛应用的识别技术,但其要求手指保持干燥和清洁,同时指纹也容易被仿制,应用中存在着一定的弊端。人脸识别交互方式简单快捷,无需用户刻意配合,具有良好的实用用途和发展前景。