基于Android的人脸定位与识别系统设计毕业论文
2021-07-12 22:27:52
摘 要
人脸识别技术作为当前研究的热点广受大家关注,其在图像或视频上体现出个人的位置或是形状等具体信息,可以用来检测、定位等,被很多方面广泛运用。如签到系统、人脸门禁系统、交易确认、监控识别等多种产品。尤其是伴随着网络的迅速推广与客户端的广泛推进,更加促使了人脸识别技术不断推广、成长与运用。
本文以简要介绍与人脸识别在国内外的成长现状为切入点,进行初步探索。基于JAVA编程语言的Android系统作为实现基本功能的平台成为设计的基础。在这个基础上,本文先对算法进行了选择,并采用AdaBoost算法和直方图匹配来支撑整个系统的算法结构。平台系统将OpenCV转移进入,且用Eclipse编程达成功能实现的目的。
关键词:Android ,AdaBoost,人脸识别,Eclipse
Abstract
As a research point the face recognition technology has widely attracted everyone's attention, which is reflected in the image or video information on a specific individual's location or shape, can be used to detect, locate, etc. So it is widely used in many fields,such as attendance systems,face recognition entrance guard, trade confirmation, monitoring, identification and other products. Especially with the rapid promoting spread of the Internet and clients, prompting the development and application of more face recognition technology.
This paper briefly describes the development status and recognition at home and abroad as a starting point, doing a preliminary exploration. Based on the Android system using JAVA programming language as the basic functions of the platform,and the system is the basis for the design. On this basis, this paper firstly selects the algorithm and uses ADABOOST algorithm and histogram matching algorithm to support the structure of the entire system. OpenCV platform system will be transferred to enter it, and achieve the purpose of the function implemented by Eclipse programming.
Keywords: Android ;AdaBoost;face recognition;Eclipse
目 录
第1章 绪论 1
1.1研究背景及意义 1
1.2 人脸识别技术在Android中的应用意义 1
1.3 国外现状 2
1.4 国内现状 2
1.5 课题内容及目标 2
1.6 本章小结 3
第2章 Android及OpenCV简介 4
2.1 Android的简介 4
2.1.1 Android背景的介绍 4
2.1.2 Android平台架构 4
2.2 Android系统的应用特色 5
2.3 Android布局介绍 6
2.3.1线性布局方式(LinearLayout) 6
2.3.2相对布局(Relative Layout) 6
2.3.3绝对位置布局(AbsoluteLayout) 6
2.3.4框架布局(FrameLayout) 6
2.3.5表格布局(TableLayout) 7
2.3.6其他布局 7
2.3.6.1列表视图(List View) 7
2.3.6.2网格视图(Grid View) 7
2.3.6.3标签布局(Tab Layout) 7
2.4开发工具和开发语言的介绍 7
2.4.1开发工具Eclipse简介 7
2.4.2开发语言JAVA简介 8
2.5 OpenCV介绍 8
第3章 人脸检测识别的算法 9
3.1研究内容 9
3.2 人脸检测 9
3.2.1 基于知识的方法 10
3.2.2特征不变方法 10
3.2.3模板匹配的方法 11
3.2.4基于表象的方法 11
3.3人脸识别 11
3.3.1基于几何特征的识别方法 11
3.3.2 特征脸法 12
3.3.3 神经网络 12
3.3.4支持向量机 12
3.4 本章小结 12
第4章 AdaBoost算法和直方图 13
4.1 特征和特征值计算 13
4.1.1 矩形特征 13
4.1.2 积分图 14
4.2 AdaBoost分类器 15
4.2.1弱学习与强学习 15
4.2.2 AdaBoost 算法 16
4.2.3 弱分类器和强分类器 17
4.2.4 级联分类器 17
4.3 直方图 18
4.4 本章小结 19
第5章 方案实施 20
5.1 Android开发环境搭建 20
5.2 OpenCV编译移植 21
5.3整体设计 21
5.4 应用设计 21
5.5应用实现 22
5.5.1实现过程 22
5.5.2 JAVA平台程序开发 22
5.5.3 JNI层函数接口 23
5.5.4 脚本 23
5.6软件测试 24
5.6.1实验环境 24
5.6.2实验结果 24
5.7 人脸识别 24
5.7.1 图片抓取 24
5.7.2 实验结果 26
5.8实验结果 27
总结与展望 28
参考文献 29
致 谢 30
第1章 绪论
1.1研究背景及意义
电子信息技术的迅猛成长,推进了个人身份的识别技术的飞快的成长。近年来随着生物技术的成长,更多身份生物辨认方式出现了。目前比较常用的生物方法包括:虹膜、指纹和人脸识别等。与其他技术对比,人脸识别技术由于其简单、精确,可被广泛用在进口和出口、身份验证、安全等方面。当前,微电子和视觉系统的成本大大降低。人脸识别包含人脸检测和人脸身份认证,人脸检测是依靠视频图片,通过图像处理和CV,从图像中判断有没有人脸以及人脸的数目和位置,匹配库里的脸。
人脸识别来进行身份验证具有以下优点: