基于OpenCV的人脸跟踪识别系统研究毕业论文
2021-03-10 23:25:21
摘 要
随着计算机视觉、人工智能技术的兴起,人脸的检测、跟踪和识别目前已有了成熟的发展成果。本文主要研究的有三个方面:(1)基于Adaboost算法的人脸检测。(2)基于Camshift算法的人脸目标跟踪。(3)基于Seetaface的人脸识别。除此之外,对人脸检测、跟踪和识别的其他方法进行了简单的阐述,通过研究不同算法的原理,对不同的方法,如基于肤色的人脸检测,Meanshift算法,LBP算法等进行比较,使用OpenCV和Visual studio进行编译,使用C 进行编程,通过理论研究法和实证研究法相结合,通过不同的人脸图像,对静态和动态的人脸都进行了检测。利用计算机自带的摄像头研究了人脸目标的跟踪以及使用Seetaface的三个模块,主要是:人脸检测、人脸特征点定位、人脸识别,通过三个模块自上而下的结合,最终取得良好的识别效果。
关键词:人脸;检测;跟踪;识别;OpenCV
Abstract
With computer vision and artificial intelligence technology developing rapidly, it has received unprecedented attention in the field of face detection, tracking and recognition. The face of the detection, tracking and identification has been very hot. There are three main aspects of this paper: (1) Face detection based on Adaboost algorithm. (2) Face tracking based on Camshift algorithm. (3) Face recognition based on Seetaface. In addition, other methods of face detection, tracking and recognition are briefly described. By studying the principle of different algorithms, different methods, such as skin-based face detection, Meanshift algorithm and LBP algorithm, are compared.Use OpenCV and Visual studio to compile and use C to program, through theoretical research and empirical research method, through different face images, static and dynamic face are detected. Use the computer’s own camera to research the tracking of face targets and Seetaface's three modules, mainly including: face detection, face feature point positioning, face recognition. Through the three modules from top to bottom combination, the research has achieved a good result.
Key words: face; detection; tracking; identification; OpenCV
目 录
第1章 绪论 1
1.1 选题背景 1
1.2 研究背景和意义 1
1.3 研究现状 2
1.3.1 国外研究与发展现状 2
1.3.2 国内研究与发展现状 3
1.4 本文研究问题 3
1.5 本文研究方法 4
1.6 章节安排 4
第2章 人脸检测方法 5
2.1 人脸检测方法的概述 5
2.1.1 基于特征分析的方法 6
2.1.2 基于统计分析的方法 6
2.2 本文采用的人脸检测的方法---Adaboost算法 7
2.3 本章小结 9
第3章 人脸跟踪方法 10
3.1 跟踪算法的概述 10
3.1.1 跟踪算法---Meanshift算法 10
3.1.2 跟踪算法---Kalman filter算法 11
3.2 本文采用的人脸跟踪算法---Camshift算法 12
3.3 本章小结 13
第4章 人脸识别方法 15
4.1 人脸识别算法的概述 15
4.1.1 利用Eigenfaces算法的人脸识别 15
4.1.2 利用Fisherface算法的人脸识别 15
4.1.3 利用LBP算法的人脸识别 19
4.2 本文采用的人脸识别的方法---Seetaface 21
4.2.1 Seetaface Detection对人脸进行检测 21
4.2.2 Seetaface Alignment对特征点进行定位 22
4.2.3 Seetface Identification人脸特征提取和比对 23
4.3 本章小结 24
第5章 实验结果分析 25
5.1 本文使用的编程工具和开发环境 25
5.1.1 OpenCV的介绍 25
5.2 人脸检测的实验结果分析 25
5.3 人脸跟踪的实验结果分析 29
5.4 人脸识别的实验结果分析 31
第6章 总结与展望 34
参考文献 35
致 谢 36
第1章 绪论
1.1 选题背景
人类从大自然获取信息的方式有很多,可以凭借视觉、知觉、嗅觉、触觉等获得有效的信息,人类不断地接收信息和传递信息,大部分来自人类的视觉,由此我们可以得到一个重要结论,通过视觉获取信息对人类来讲是非常重要的。
人脸是人类视觉中最为常见的场景之一,在人类的大脑神经中,能通过看到不同的人脸特征来对不同的人进行记忆和识别,虽然这一过程对人类来说,并不是一件难事,但如果要让计算机来实现这一过程,却不是那么容易。人脸是复杂的,也是一种多维的模式。同时也是一种典型的非刚性的模式之一。人脸提供了大量的视觉信息,目前,国内外在计算机视觉领域对人脸的研究也十分地深入,如人脸识别、人脸检测与跟踪等,而这些功能的实现都是在研究人脸的基础上进行的,所以研究人脸是十分必要的一步。人脸上的面部器官、形状、大小、表情、纹理等较为复制,很难使用同一的模式加以实现。考虑到一张人脸在不同的环境背景下、使用不同的拍摄设备、不同的修饰物(比如:有的人群佩戴眼镜、太阳镜等)时,除此之外,人脸面部的遮挡、面部的运动等情况也会客观存在,这些都对计算机视觉领域的人脸相关研究产生了很大的挑战。
计算机视觉的研究目的是希望计算机可以像人类的眼睛那样聪明,去观察、分析和理解我们所处的世界,这是一门交叉学科,涉及到数学、计算机科学、心理学、物理学、社会学等学科。通过研究人脸检测、人脸跟踪和人脸识别,让计算机用计算的方式来模拟人类的视觉活动机制,这也就达到了计算机视觉研究的目的。
1.2 研究背景和意义
随着人工智能、机器学习、计算机视觉、模式识别、数字图像处理等技术的快速发展,使得在计算机视觉的领域中人脸的研究领域取得了快速的进步。对人脸身份的验证需求,加速了人脸检测、人脸跟踪、人脸识别的技术发展。