基于OpenCV的中远距离人脸检测
无需注册登录,支付后按照提示操作即可获取该资料.
基于OpenCV的中远距离人脸检测(论文15000字)
摘 要
人脸检测技术,是指利用计算机采用一定的算法或者策略,在动态或者复杂的场景、背景中检测出人的脸部的存在,并确定人脸的位置、大小以的技术。作为人脸识别、表情识别、人脸跟踪等技术的基础和前提技术,人脸检测技术在智能控制、模式识别等其他领域也引起了广发的重视。
本论文主要介绍的是基于OpenCV的人脸检测应用程序的开发,简单介绍了国内外人脸识别技术研究及应用的发展现状及其重难点分析。
在第二章重点分析了AdaBoost算法中集成机器学习的一个重要机制:多个弱分类器集成的方法,机器学习中的弱学习到强学习,集成的关键是投票,最简单的方法是“绝对多数”的方法,详细分析了AdaBoost算法检测速度快、可以检测任意尺度的图像的特点。
本人开发的人脸检测和识别软件是基于OpenCV的Haar级联分类器进行人脸识别,通过对OpenCV开源代码的研究学习,掌握了OpenCV提供的重要的图像分析和处理函数以及基础的数据类型、帮助的数据类型,并Visual C++集成开发环境做平台下搭建了基于OpenCV的人脸检测系统。通过对实例空间内大量图像内对目标区域即人脸的识别,证明了利用Harr级联分类器来进行人脸检测和识别的方法是一种速度快、精度高的方法。
关键字:人脸检测;AdaBoost;分类器;OpenCV
ABSTRACT
Human face detection means that for a given image or video,to determine whether it contains face regions,if so,determines the number, the exact location and the size of all the faces.Human face detection is not only a necessary precondition of face recognition,expression recognition technology, face tracking,but also,it plays ail important role in applications like in the intelligent human-computer interaction,video conferencing,intelligent surveillance,video retrieval and so on.Therefore,face detection technology attracted widespread attention in pattern recognition,computer vision,human-computer interaction and other fields.
This paper mainly introduces the number of face detection application program which is based on the OpenCV. This paper describes the national and international recognition technology applications research and development and analysis the difficult situation.
In chapter 2 on the analysis of the AdaBoost algorithms integration of machinery to study of an important mechanism : more integrated approach in the classification of the study of study at the learning and integration is the key to the vote, the simplest method is the absolute majority . Also, detailed analysis AdaBoost algorithm test speed, you can detect any scale the image quality.
I developed the application program by using the Haar cascade classifier of the OpenCV for face recognition. The so-called Haar cascade classifier is a greater level of classifier which is associated with several simple boost classifiers, the detected targets pass through each classifier, the one who passed through all he classifiers can be judged as the face region. By the experiment of sample photos recognition, it proved that the Harr cascade classifier face-detection method is a kind of high speed and precision method.
This paper’s research is based on the OpenCV source code,in which some basic data type and helping data type were created,and because of the opermess of the code,we build a human face detection system in the Visual C++ environment.
Key words: face detection ; AdaBoost ; classifier ; OpenCV
目 录
1. 概述 1
1.1 引言 1
1.2概念介绍 2
1.3 研究现状 3
1.4 应用领域 4
1.4 评价标准 5
2. Adaboost人脸检测算法 6
2.1 概述 6
2.1.1 Adaboost算法简介 6
2.1.2 Adaboost人脸检测算法 6
2.2弱学习与强学习 7
2.3 PAC基本模型 8
2.3.1 概述 8
2.3.2 基本概念 8
2.3.3 PAC模型的不足 9
2.4 Boosting算法 9
2.5 Adaboost算法性能分析 10
3. OpenCV训练分类器 11
3.1 OpenCV平台概述 11
3.1.1 OpenCV简介 11
3.1.2 OpenCV函数 11
3.1.3 OpenCV特征 12
3.2 目标检测法 12
3.3 样本的创建 13
3.3.1创建负样本(反例样本) 14
3.3.2创建正样本(正例样本) 14
3.4训练分类器 16
3.5 检测目标 19
3.6创建Haar特征并载入样本 19
3.6.1 载入正样本 19
3.6.2 载入负样本 20
3.6.3 计算Haar特征值并生成XML文件 21
4. 核心实验设计 23
4.1程序流程图 23
4.2关键代码 23
4.3为何增加检测视频记录 25
4.3各个分类器处理结果对比 25
5. 结 论 28
致谢 29
参考文献 30
附录:人脸检测主程序 31