基于OpenCV的人脸检测系统毕业论文
2020-06-02 19:41:50
摘 要
人脸检测是人脸识别系统中的一个关键环节。随着电子商务等应用的发展,人脸检测成为模式识别与计算机视觉领域的一个重要研究内容。人脸检测是指对于给定的图像,采用一定的策略对其进行搜索来确定其中是否含有人脸,如果是则返回脸的位置、大小和姿态。
本课题采用Qt平台,利用计算机视觉图形库OpenCV,研究人脸检测的相关技术和算法,并在此基础上使用C 语言初步实现了一个人脸检测应用程序。本文首先对人脸检测的研究背景、意义、目前相关技术的发展情况进行了介绍,然后对人脸检测的算法进行比较分析,并简单介绍了软件环境的搭建和设计,最后进行了功能的测试。
关键词:人脸检测 计算机视觉 Qt OpenCV
Face Detection System Based on OpenCV
Abstract
Face detection is a key part of face recognition system. With the development of e-commerce and other applications, face detection has become an important research content in pattern recognition and computer vision. Face detection refers to using strategy to search for a given image to determine whether it contains the face, if it is to return to the face of the location, size and pattern.
This paper studies the related techniques and algorithms of face detection by using Qt platform and computer vision graphics library OpenCV, and on this basis uses the
C language to achieve a preliminary face detection application.In this paper, the research background, significance and current development of face detection are introduced at first. Then, the algorithm of face detection is compared and analyzed. And the build of software environment and software design are introduced simply. Finally, the function test is carried out.
Key Words: Face Detection;Computer Vision;Qt;OpenCV
目录
摘 要 I
Abstract II
目录 1
第一章 绪论 1
1.1 设计背景和意义 1
1.2 目前相关技术的发展情况 2
1.3 论文组织结构 3
第二章 人脸检测算法 4
2.1 人脸检测算法综述 4
2.2.1 人脸检测算法比较 4
2.2.2 本文算法选择 4
2.2 Haar级联分类器 5
2.2.1 Haar特征 5
2.2.2 弱分类器 6
2.2.3 强分类器 7
2.2.4 级联分类器 8
2.2.5 利用级联分类器检测人脸 9
2.3 模版匹配 10
2.4 Haar级联与模版匹配的结合 11
第三章 软件环境搭建 13
3.1 Qt环境搭建 13
3.1.1概述 13
3.1.2 编译Qt 14
3.2 OpenCV环境搭建 14
3.2.1 概述 14
3.2.2 编译OpenCV 15
3.3 在Qt中使用OpenCV 15
3.3.1 Qt的.pro文件简介 15
3.3.2使用OpenCV 16
第四章 软件设计 17
4.1 程序流程与功能分析 17
4.2 具体程序分析与设计 18
4.2.1 程序界面搭建 18
4.2.2 使用Qt获取视频 19
4.2.3 使用OpenCV打开和操作视频文件 21
4.2.4 Qt与OpenCV对应数据分析与转化 23
4.2.5在Qt中显示视频 24
4.2.6 使用算法检测人脸 26
4.2.7 在视频中框选出人脸 27
4.2.8 使用多线程提高程序运行效率 28
4.3 软件功能测试 30
第五章 小结 34
5.1 结语 34
5.2 需进一步解决的问题 34
参考文献 36
致谢 38
绪论
1.1 设计背景和意义
人类感知世界很直观的一个手段就是视觉,经由视觉而得到的信息占总量的70%以上,计算机性能的跨越式成长使得运用计算机模拟人的视觉的技术逐渐发展起来。
人脸分析在安防、人工交互等领域发挥着很大的使用价值。这项研究对人类社会安全有着重大意义,公安机关、检察院、法院这些司法机关使用这项技术可以大大提高办事效率,给社会带来的影响是非常正面的,有利于社会的安定。在火车站、汽车站这些地方我们经常会看到身份验证的终端系统,只有经过人脸识别,获取摄像头中的画面进行人脸检测并与身份证照片进行对比才能通过检查,这种方式有效的避免了车站作为一个出入口而给人们带来的安全隐患。
在一些对安全级别要求高的地方,比如政府、银行、重要会议场所、机场、军队等,都需要对进入场所的相关人员进行非常严格的门禁管理。平板、电脑、手机等个人电子产品以及手机银行、支付宝等手机终端应用程序,为了保障个人的利益,也需要用到身份验证功能。而身份验证的关键一步就是检测人脸。人脸检测技术的发展对安全领域无疑是必不可少的。
人们的许多娱乐活动都是和脸部有关的,现在人们使用的拍照软件都使用了人脸检测技术,在检测到人脸的基础上,进行添加贴纸,进行美颜等;专业相机使用人脸检测技术为聚焦提供了巨大的方便。人脸检测的发展丰富了人类的精神生活。
视频会议和可视电话的飞速发展,把这项技术提升到更高的层次。在基于内容的检索中,给出一张图像,使用人脸检测,能够很快在数据库中找到系列相关图像[7]。顺理成章地,人脸检测因为这些实用价值成为一项很有意义的研究。
1.2 目前相关技术的发展情况
虽然人脸检测技术在不断发展,但是目前还是一项面临很多挑战的技术,问题的焦点主要集中在:一、人脸是非刚性的,存在外观、表情等方面的差异。二、人脸会存在许多附属物。三、存在姿态变化,且有时会存在遮挡物。四、待测图像性质存在很多方面的差异,如分辨率。五、不同种类和角度的光,会产生不同的反射和的阴影[3]。这些不可预见的情况都给技术的前进增加了很多困难,促使人脸检测成为一个具有很大挑战性的研究方向。
人脸检测的算法可由三类组成,分别是基于启发式模型,此算法利用灰度信息的操作存在缺陷,在将彩色图像转换成灰度图像的过程中会产生遗失,降低检测率。基于肤色模型,比较简单,检测效率高。基于统计理论,检测准确率高,但需要大量样本进行训练,需要的时间长,速度慢。目前检测方法大多是适用于正面较端正的人脸,多姿态人脸尤其是侧面的检测仍然面临诸多问题,这也是一个重难点。
相关图片展示: