文档库 最新最全的文档下载
当前位置:文档库 › 【精品】基于OpenCV的人脸检测系统设计与实现毕业论文设计说明书

【精品】基于OpenCV的人脸检测系统设计与实现毕业论文设计说明书

(此文档为word格式,下载后您可任意编辑修改!)

毕业设计说明书

基于OpenCV的人脸检测系统设计与实现

毕业设计(论文)原创性声明和使用授权说明

原创性声明

本人郑重承诺:所呈交的毕业设计(论文),是我个人在指导教师的指导下进行的研究工作及取得的成果。尽我所知,除文中特别加以标注和致谢的地方外,不包含其他人或组织已经发表或公布过的研究成果,也不包含我为获得及其它教育机构的学位或学历而使用过的材料。对本研究提供过帮助和做出过贡献的个人或集体,均已在文中作了明确的说明并表示了谢意。

作者签名:日期:

指导教师签名:日期:

使用授权说明

本人完全了解大学关于收集、保存、使用毕业设计(论文)的规定,即:按照学校要求提交毕业设计(论文)的印刷本和电子版本;学校有权保存毕业设计(论文)的印刷本和电子版,并提供目录检索与阅览服务;学校可以采用影印、缩印、数字化或其它复制手段保存论文;在不以赢利为目的前提下,学校可以公布论文的部分或全部内容。

作者签名:日期:

学位论文原创性声明

本人郑重声明:所呈交的论文是本人在导师的指导下独立进行研究所取得的研究成果。除了文中特别加以标注引用的内容外,本论文不包含任何其他个人或集体已经发表或撰写的成果作品。对本文的研究做出重要贡献的个人和集体,均已在文中以明确方式标明。本人完全意识到本声明的法律后果由本人承担。

作者签名:日期:年月日

学位论文版权使用授权书

本学位论文作者完全了解学校有关保留、使用学位论文的规定,同意学校保留并向国家有关部门或机构送交论文的复印件和电子版,允许论文被查阅和借阅。本人授权大学可以将本学位论文的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存和汇编本学位论文。

涉密论文按学校规定处理。

作者签名:日期:年月日

导师签名:日期:年月日

基于OpenCV的人脸检测系统设计与实现

摘要

目前,人脸检测定位和跟踪已经成为计算机视觉与模式识别领域非常活跃的研究课题之一,在身份验证、信息安全、电子商务、基于内容的图像与视频检索、视频监控、智能人机交互、可视通信、虚拟现实、公安档案管理等很多方面都有着重要的应用价值。

人脸检测是人脸识别的首要环节,目的就是将人脸从图像背景中检测出来,是人脸识别、视频跟踪及人脸图像压缩等应用中的重要环节。由于受图像背景、亮度变化及人的头部姿势等因素的影响,使得人脸检测成为一项复杂的、具有挑战性的研究课题。

本文首先阐述了人脸检测技术的基本概念,对人脸检测领域的发展状况做了简要的介绍,然后对现有的各种人脸检测算法和技术做了深入的研究和讨论,并介绍了Intel 开源计算机视觉库OpenCV及其在VC++6.0下的配置方法,最后采用AdaBoost学习算法实现了基本的人脸检测,以及视频中的人脸检测、摄像头监控检测等功能。实验表明本文研究的人脸检测方法具有检测速度快、精度高、实时性好的特点,具有一定的理论价值与实用价值。

本文研究了基于Adaboost的人脸检测算法之后,发现虽然它具有具有很强的实时性,但当采样照片的背景色彩较为复杂或者光照较强时,该方法容易在周围环境景物中识别到错误的”人脸”,人脸检测率,错检率等指标不是很理想。

关键词:OpenCV,人脸检测及追踪,AdaBoost算法,Haar特征

Design and implementation of face detection system based on OpenCV

Author: Chen Jiang Ying

Tutor:Wang Hong Yong

Abstract

Currently, face detection and tracking the field of Computer Vision and Pattern Recognition. It value in such fields as personal identification, information security, electronic commerce,content-based image and video retrieval,video surveillance,intelligent -machine interaction, visual communication, virtual reality, criminal archive administration, etc.

Face detection is the first step of face recognition, and its aim is to detect faces from the background of image. It’s an important step in the field of face recognition, video tracking and face image compression, etc. However, the result of face detection is usually affected by the image background, brightness or , which makes face detection become a complicated and challenging subject.

This paper firstly presented the basic concept of face detection technology, and gave a brief introduction of the development of face detection; then some existing face detection algorithms are deeply studied and discussed, and it introduced Intel Open Source Computer Vision Library and the configuration method under the environment of VC++6.0; lastly used Adaboost-based learning algorithm and relized the basic function of face detection, face detection in the video and camera face monitoring. The experiment indicate that the method of face detection proposed in this paper degree of theoretical and practical value.

After studying the Adaboost-based algorithm of face detection in this paper, we can see that it the background color of the sample image is relatively complex or faces” in the surrounding environment, and face detection rate, error detection rate is not satisfying.

Keywords:OpenCV, Face Detection and Tracking, AdaBoost algorithm, Haar Feature

目录

1 绪论 (1)

1.1 课题背景及目的 (1)

1.2 人脸检测技术概况 (1)

1.3课题研究背景及意义 (3)

1.4人脸检测研究现状 (4)

1.5论文研究内容 (5)

1.6论文组织结构 (5)

1.7本章小结 (6)

2 人脸检测算法综述 (7)

2.1基于几何特征的方法 (7)

2.2基于模板匹配的方法 (8)

2.3基于统计模型的方法 (9)

2.4本章小结 (13)

3 OpenCV概述及安装配置方法 (14)

3.1 OpenCV概述 (14)

3.2 OpenCV的安装及在VC++6.0环境下的配置 (16)

3.3 本章小结 (20)

4 人脸检测系统设计与实现 (21)

4.1 系统开发环境 (21)

4.2 系统可行性分析 (21)

4.3 系统功能需求分析 (22)

4.4 系统功能模块实现 (23)

4.5 本章小结 (27)

5 系统运行与测试 (28)

5.1 系统运行 (28)

5.2 系统测试方案与结果 (28)

5.3 系统的优点与不足 (34)

5.4 本章小结 (35)

6 结论 (36)

致谢 (37)

参考文献 (38)

1 绪论

1.1 课题背景及目的

近年来,随着计算机技术的迅猛发展和安全入口控制、信息安全、金融贸易、电子商务等方面应用需求的快速增长,生物识别技术渐渐得到广泛的重视。人脸识别技术由于其具有的非接触型认证、直接、友好、方便等特点得到广泛的研究和开发,成为近30年模式识别和计算机视觉领域最有潜力的生物身份验证手段和最热门的研究课题之一。

人脸检测是人脸识别研究中重要的第一步,目的就是从图像中分割出不包括背景的人脸区域。但是由于早期的人脸识别研究主要针对具有较强约束条件的人脸图像(如无背景图像),往往假设人脸位置已知或者容易获得,因而人脸检测问题并未受到重视。近几年,随着电子商务等应用的不断发展,人脸检测开始作为独立的课题受到研究者的重视。今天,人脸检测的研究已经远远超过了人脸识别系统的范畴,在身份验证、基于内容的图像检索、视点监测等方面都有着重要的应用价值。

对人脸检测技术的研究,已经经历了由简单到复杂,由静态图像检测到视频流实时检测的发展,目前正在向三维人脸检测的方向发展,特别是Viola等人于2001年提出的基于积分图像的AdaBoost算法,是第一个实时的人脸检测算法,从根本上解决了检测速度的问题,成为目前最为流行、检测效率最高的一种算法。

目前对人脸检测的研究不仅实现了对静态图像进行单个、多个人脸的检测,而且能够对动态视频图像的人脸进行检测和跟踪。但对动态人脸的检测还处于初级阶段,还有很多问题有待解决。目前对于人脸检测技术的研究距实际应用还有一定的距离,性能和检测准确率还有待提高;因而,在今后的社会发展和研究领域中,人脸检测与跟踪的研究不仅具有重要的理论意义,而且具有十分重要的应用价值。

1.2 人脸检测技术概况

1.2.1 基本概念

人脸检测是指在输入图像或动态的场景中确定所有存在的人脸的位置、大小、位姿、数量等的过程。人脸检测作为人脸信息处理中的一项关键技术,近年来成为模式

识别和计算机视觉领域内一项受到普遍重视、研究相当活跃的课题,它是目标检测和识别的一个典型案例。

人脸检测研究具有重要的学术价值和很大的挑战性,其研究的难点主要在于:人脸是一类高度非刚性的目标;

人脸由于相貌、表情、肤色等差异,具有模式可变性;

人脸上可能存在一些附属物,如眼镜、胡须等;

人脸姿态千变万化,而且可能受光照、遮挡物等的影响;

待检测图像的性质差异,如分辨率等。

人脸检测的过程涉及从复杂的背景中分割、提取人脸区域和可能用到的人脸器官特征。一个成功的人脸检测系统应该能够很好地处理光线、噪声、遮挡等不可预测因素的影响。因此,如果能够找到解决上述问题的方法,成功构造人脸检测和跟踪系统,将为解决其它类似的复杂模式检测问题提供重要的启示。

1.2.2 发展历史

人脸检测问题最初来源于人脸识别,对人脸识别的研究可以追溯到上个世纪六、七十年代,经过几十年的发展已日趋成熟。早期的人脸识别研究主要针对有约束条件的人脸图像,而且假设人脸的位置固定或容易获得。因此人脸检测问题并没有得到重视。近年来,随着电子商务和人们安全意识的提高,对人脸识别系统的各种应用需求要求识别系统能够对一般环境具有一定的适应能力,由此吸引了很多研究者对各方面检测技术的研究,并逐渐形成一个独立的研究方向。

人脸识别的研究已经有相当长的历史,大致可以分为四个阶段:

1.第一阶段:人类最早的研究至少可追朔到20世纪50年代在心理学方面的研究和六十年代在工程学方面的研究:J. S. Bruner于1954年写下了关于心理学的The perception of people,Bledsoe在1964 年就工程学写了Facial Recognition Project Report,国外有许多学校在研究人脸识别技术,其中有从感知和心理学角度探索人类识别人脸机理的,如美国Texas At Dallas大学的Abdi 和Tool小组,由Stirling大学的Bruce教授和Glasgow大学的Burton 教授合作领导的小组等;也有从视觉机理角度进行研究的,如英国的Graw 小组和荷兰Groningen 大学的Petkov 小组等。

2.第二阶段:始于20世纪70年代的关于人脸的机器识别研究:以Allen 和Parke 为代表,主要研究人脸识别所需的面部特征。研究者采用计算机实现了较高质量的人

脸灰度图模型。这一阶段工作的特点是识别过程完全依赖于操作人员,不能完成自动识别。

3.第三阶段:人机交互识别阶段:Harmon 和Lesk 用几何特征参数来表示人脸正面图像。他们采用多维特征矢量表示人脸面部特征,并设计了基于这一特征表示法的识别系统。Kaya 和Kobayashi 则采用了统计识别方法,用欧氏距离来表示人脸特征。但这类方法需要来自操作员的先验知识,仍摆脱不了人的干预。

4.第四阶段:20世纪90 年代以来,随着高性能计算机的出现,人脸识别方法有了重大突破,对于人脸识别的研究进入了真正的机器自动识别阶段。

1.3课题研究背景及意义

1.3.1 研究背景

人脸检测问题最初来源于人脸识别,一个完整的人脸识别应用系统应该包括人脸检测、特征提取和识别三大基本过程。早期人脸识别研究主要针对具有较强约束条件的人脸图像,即简单人脸检测,因此人脸检测问题并未受到重视。

近年来,随着社会的发展和视觉监控、远程教育和智能人机交互等方面应用需求的急速增长,人脸识别以其非侵犯性、直接、友好和方面的优势成为最有潜力的、使用最广泛的生物统计识别手段,这种应用背景要求人脸识别系统能够适应通用人脸检测范畴的应用,由此所面临的一系列问题引起了众多研究者对人脸检测各个方面研究的极大兴趣,人脸检测渐渐独立于人脸识别成为一个专门的研究方向。今天,人脸检测的研究背景已经远远超出了人脸识别,在身份验证、人机交互、虚拟现实、图像检索等方面都有着广泛的应用。

1.3.2 研究意义

人脸检测作为人脸识别的第一步,目的就是将人脸从图像背景中分割出来。虽然近年来人脸方面的研究取得了一些可喜的成果,但现有的人脸研究算法对人脸位置和状态都有一定的要求,通常要求事先己经知道人脸所处的位置、人脸大小,并且对人脸的旋转角度、亮度和对比度也有较严格的要求,因而具有一定的局限性。实际应用中,图像和视频中人脸的位置、朝向和旋转角度都不是固定的,而且图像背景,光照等条件也是变化的,这就需要首先进行人脸检测,得到人脸位置并分离背景,对视频图像则需跟踪数帧中的人脸状态,从中选出适合处理算法的人脸图像。人脸检测系统

的构造将为解决人脸识别、表情分析、性别、种族、年龄判别等类似的复杂模式奠定良好的基础,同时也为这些问题的解决提供重要的启示。因此,人脸检测与识别课题具有十分重要的理论和应用研究价值。

1.4人脸检测研究现状

1.4.1 国外研究现状

由于人脸检测有着相当广泛的应用和研究价值,因此,许多国家很早就展开了相关方面的研究。主要有美国、欧洲国家、日本、韩国等科技发达的国家。早在1993年,美国国防部高级研究项目组(ARPA)和美国陆军研究实验室(ARL)成立了Feret(Face Recognition Technology)项目组,建立了Feret人脸数据库,广泛应用于评价人脸检测算法的性能。

目前,国外对人脸检测问题的研究层出不穷,英国、美国等许多国家都有大量的研究小组从事人脸检测方面的研究,这些研究受到了军方、警方以及一些身份验证等公司的高度重视和支持。著名的研究机构有美国麻省理工大学(MIT)的Media lab、AI lab,卡内基梅隆大学(CMU)的Human-Computer Interface Institute,Microsoft Research,英国的Department of Engineering in University of Cambridge,法国的INRIA研究院,日本的ATR研究院等等。关于人脸检测的学术交流活动也相当活跃。在一些重要的国际会议上,如国际计算机视觉会议(ICCV)、计算机视觉与模式会议(CVPR)、计算机图形学大会(Siggraph)都设有人脸检测的专题。

1.4.2 国内研究现状

人脸检测技术在机关单位考勤、网络安全、物业管理等领域起着越来越重要的作用,我国对人脸检测的研究起步于20世纪80年代,主要的研究单位有清华大学,哈尔滨工业大学,中科院计算所,中科院自动化所,复旦大学,北京科技大学等,并都取得了一定的成果。研究方法主要集中在几何特征、代数特征、神经网络和模板匹配等方面,特别是对神经网络的研究比重较大。

在此基础上,基于多分类器的人脸检测受到的关注较大,研究成果也较多。特别在引入三维特征后,利用二维信息和三维信息的融合进行人脸检测成为了另一个亮点和热点。中国科学院计算所的国家863项目“面像检测与识别核心技术”通过成果鉴定并得以初步应用,标志着我国在人脸检测这一当今热点科研领域得到了飞跃的进

步,并掌握了一定的核心技术[3]。2005年1月18日,由清华大学电子系苏光大教授主持承担的国家“十五”攻关项目《人脸识别系统》通过了由公安部主持的专家鉴定,鉴定委员会认定该项技术达到了国内领先水平和国际先进水平。

虽然国内的研究取得了突飞猛进的进展,但对人脸检测和识别的研究仍处于初级阶段,研究方向比较狭隘,与国际研究水平仍存在一定的差距。

1.5论文研究内容

本文在理论上对人脸检测与跟踪关键技术进行研究,了解和掌握了数字图像处理和人脸检测的主要算法,通过Visual C++和OpenCV结合编程实现了人脸检测系统的主要功能,并作了详细的分析。

具体来说,本文主要研究内容归结如下:

(1) 对人脸检测技术的产生和发展过程等进行了调查研究,介绍了各种人脸检测算法的实现原理。

(2) 了解Intel开源计算机视觉库OpenCV的基本结构,掌握其在Visual C++6.0开发环境下的配置方法。

(3) 利用OpenCV基本函数和VC++开发环境编程,采用Adaboost算法和矩形特征构建人脸检测级联分类器,开发人脸检测系统界面,实现人脸检测和跟踪。

(4)总结分析系统的检测性能,并对影响性能的因素如光照、遮挡等进行探讨,以改进系统性能。

1.6论文组织结构

论文系统完整地分析和讨论了基于OpenCV开源计算机视觉库的人脸检测实现方法,各章内容的安排如下:

概述:简要介绍了人脸检测技术的概念、发展历史和研究现状及本文的课题背景、研究意义,以及论文的主要研究内容。

人脸检测技术综述:介绍了各种人脸检测算法的实现原理。

OpenCV概述及安装配置方法:首先介绍了Intel开源计算机视觉库OpenCV的概念、基本结构和特点,其次介绍了它的安装和在VC++6.0环境下的配置方法。

人脸检测系统设计与实现:对系统开发环境进行了介绍,并进行了系统可行性分析、需求分析,详细介绍了各个模块的实现方法。

系统运行与测试:对系统运行界面进行了展示,并对各个模块进行了测试,并给

出了测试结果;然后分析了系统的优缺点。

第六章总结与展望:对论文的工作进行了总结,并对人脸检测技术的发展方向进行了展望。

1.7本章小结

本章主要介绍了人脸检测技术概况,对人脸检测这个热门的前沿技术课题进行了大体的分析。首先通过引言引出了人脸检测在计算机视觉领域的研究发展过程,然后对人脸检测技术的概念和发展历史进行了详细的介绍,并给出了本课题的研究背景和研究意义,对国内外在人脸检测领域的研究现状进行了分析,最后给出了论文的主要研究内容和结构组织框架。

2 人脸检测算法综述

2.1基于几何特征的方法

人脸的几何特征指的是人脸面部器官在几何上体现的特征阁。

基于几何特征的人脸检测方法的思想是把典型人脸的几何特征编码并规则化的

人脸检测方法。它通过检测不同的人脸面部特征的位置,然后根据它们的空间几何关系来定位人脸,当图像中的待测区域符合准则,即被检测为人脸。

2.1.1基于器官特征的方法

正如世界上没有两片完全相同的叶子一样,人脸也各不相同,但是器官也遵循着一些普遍适用的规则,即五官形状及其分布的几何规则。检测图像中是否存在人脸,即是否存在满足这些规则的图像块。

这种方法的步骤一般是先对人脸的器官或器官的组合建立模板,然后检测图像中几个器官可能分布的位置,对这些位置点分别进行组合,用器官分布规则进行筛选,从而找到可能存在的人脸。

2.1.2基于轮廓特征的方法

人脸的轮廓可以近似地被看成一个椭圆形状,所以对图像进行人脸检测可以通过检测椭圆轮廓来确定是否有人脸存在。具体来说,首先对待检测的图像进行边缘检测,并对细化后的边缘提取曲线特征,然后计算各曲线合成人脸的评估函数来确定是否存在人脸。采用轮廓特征的方法对侧脸的检测同样适用。

2.1.3基于颜色纹理的方法

肤色是人脸的重要信息,它不依赖于人脸面部的细节特征,在旋转、表情变化等情况下都能保持不变,具有相对稳定性,并且和大多数背景物体的颜色相区别,因此肤色特征是在对彩色图像的人脸检测中最常用的一种特征。肤色特征主要由肤色模型描述,常用的肤色模型有高斯模型、混合高斯模型和直方图模型。

此方法主要利用人脸皮肤表面颜色和纹理所具有的稳定性来进行人脸检测。人脸的肤色在颜色空间中的分布相对集中,且大多数和背景物体的颜色相区别,可以利用这个特点检测人脸。用肤色信息进行人脸检测的关键是合理选择色度坐标。常用的方案是将彩色的R、G、B分量归一化处理。目前人们研究更多的是将R、G、B彩色空间转化为其它彩色空间,以突出色度信息。其它模型主要有YUV、YIQ、XYZ、YCbCr等等,其中YCbC是使用最多的一种,YCrCb是YUV模型中的一种,是一个色差模型,利用了人对色度远没有对亮度敏感而建立的,更符合人眼的视觉特点。其中,Y是亮度信号,CrCb是色度或彩度信号。

这种方法的最大优点是可以在不同视角中检测到人脸,对姿态变化不敏感。利用

肤色特征检测出的人脸区域可能不够准确,但如果在整个系统实现中作为人脸检测的粗定位环节,它具有直观、实现简单、快速等特点,可以为后面进一步进行精确定位创造良好的条件,以达到最优的系统性能。研究中可以和其他方法交叉使用,提高检测速度和精度。

2.2基于模板匹配的方法

模板匹配是一种经典的模式识别方法,该方法的思想是首先建立一个标准的人脸模板,由包含局部人脸特征的子模板构成,然后对一幅输入图像进行全局搜索,对应不同尺度大小的图像窗口,计算模板与待检测图像之间的相关性,通过预先设置的阈值来判断候选图像区域是否为人脸区域。检测时,将模板在被检测的区域内分别在行和列方向上移动,计算出相关值最大的区域就是人脸区域。

此方法的优点是简单好用;缺点是计算量大,速度慢,算法复杂度高。

2.2.1 通用模板匹配法

此方法首先根据人脸的先验知识设计出一个或多个人脸轮廓模板以及各个器官特征子模板,然后通过计算样本图像中脸部轮廓区域和人脸轮廓模板的相关值来检测出人脸候选区域,最后利用眼睛、鼻子等器官特征子模板验证上一步检测出的人脸候选区域是否包含人脸。

这种方法的优点是比较简单,但由于人脸特征复杂且变化很大,很难得到有效的通用模板来表示人脸的共性,且不能有效处理尺寸、姿态和形状的变化,因而在很多场合并不适用。这种方法目前已不多见,但人们在有的系统中将其作为粗检测或预处理的手段。

在实际中多采用多分辨率、多尺度、多子模板和可变形模板实现模板匹配,用来增加适应性和准确性。

2.2.2 可变形模板匹配法

可变形模板匹配是Wiskott等提出的一种基于小波变换的人脸匹配算法。该方法用小波变换的结果描述人脸的局部信息,并通过人脸网格特征点的不断移动,搜索特征点的准确位置,可以说是几何特征方法的一种改进。找到特征点后,就可以根据每个特征点上小波变换的结果,对待检测人脸和库中的人脸进行识别比较。

具体来说,该算法主要思想是根据脸部特征和形状特点定义一个可变形的参数模

板和一个能量函数来描述特征,通过一个非线性最优化方法求得能使能量函数最小的参数模板,此模板即被认为是所求特征的描述。

此方法的优点是充分考虑到了人脸是变形体的特点,稳定可靠,而且与姿态和光照无关,但仍然存在能量函数的加权系数难以适应一般情况和能量函数优化耗时、计算量巨大的问题,所以难以实现实时的应用。

2.3基于统计模型的方法

此方法遵循一种统一的模式,将人脸检测问题转化为模式识别的二分类问题,即利用统计分析与机器学习的方法来寻找出人脸样本与非人脸样本各自的统计特征,继而在大量训练样本集的基础上构建一个能对人脸和非人脸样本进行正确识别的分类器,然后对被检测图像进行全局扫描,使用分类器扫描完成人脸检测。

采用这种检测模式的理论依据是:人脸具有统一的结构模式(都是由眉毛,眼睛,鼻子和嘴唇等人脸器官构成),如果把所有的图像集看作一个高维线性空间,那么整个人脸图像集仅对应于其中的某个子空间。于是可以通过检验待测图像窗口是否落在这个子空间中来确定是否为人脸。因此,可以通过大量的人脸和非人脸样本来建立一个分类器,使它能够正确分辨这两种不同的图像模式,再利用训练好的分类器在未知的图像中检测人脸。采用这种检测策略的关键在于如何选取大量的具有代表性的图像样本,特别是非人脸图像样本训练分类器。

此方法是目前比较流行的方法,是解决复杂人脸检测问题的有效途径。它的优点如下:

1)不依赖于人脸的先验知识和参数模型,可以避免不精确或者不完整知识造成的错误;

2)采用了样本学习方法得到模型的参数,在统计意义上更加可靠;

3)通过增加样本的训练可以扩充检测模式的范围、提高检测系统的鲁棒性。因此,基于统计模型的方法大多适用于复杂背景图像中的人脸检测。

2.3.1 子空间方法

子空间分析(Subspace Analysis)方法是基于统计模型方法中的一种,又称为基于特征空间方法。它的主要思想就是把高维空间中松散分布的人脸图像通过线性或非线性变换压缩到一个低维的子空间中去。根据其在子空间中的分布规律划分“人脸”与“非人脸”两类模式。子空间方法主要包括两类:

⑴主分量分析(PCA)方法

主分量分析方法(PCA,Principal-Component Analysis)是最早由Pentland引入到人脸检测的子空间方法,它根据图像的统计特性进行正交变换(KL变换),以消除原来各分量之间的相关性,取变换后所得到的最大的若干个特征向量(即特征脸)来表示原图像,保留了原图像差异的最大信息,这若干个特征向量就称为主分量。

⑵线性判别分析(LDA)方法

线性判别分析(Liner Discriminant Analysis)方法也叫做Fisher线性判别法(Fisher Liner Discriminant),是模式识别的经典算法。它是在1996年由Belhumeur引入模式识别和人工智能领域的。

此算法的基本思想是将高维的模式样本投影到最佳鉴别矢量空间,以达到抽取分类信息和压缩特征空间维数的效果,投影后保证模式样本在新的子空间中具有最佳可分离性,因此它是一种有效的特征提取方法。

2.3.2人工神经网络方法

人工神经网络(Artificial Neural Network,ANN)方法的研究具有悠久的历史,它是一种以大量处理单元(神经元)为节点,大量处理单元之间实现加权值互联的复杂拓扑结构,处理单元是人类大脑神经单元的简化,结构上更类似于人脑,是一种更接近人智能的信息处理方式。人工神经网络是一个非线性动力学系统,在解决问题的自适应性和鲁棒性方面表现出极好的特性,其特色在于信息的分布式存储的并行协同处理,具有非线性特性、良好的容错能力、联想记忆功能以及通过学习获取知识并解决问题的能力,用以解决复杂模式识别与行为控制问题。

基于神经网络的人脸识别方法是最近几年比较活跃的一个研究方向,已被应用于人脸检测、正面人脸识别、表情分析等问题,并取得了较好的效果。MIT(麻省理工大学)的学者首先对样本集合中的人脸样本集和非人脸样本集进行类聚,以测试样本与人脸样本集和非人脸样本集的子类之间的距离作为识别特征向量,利用多层感知网络作为分类器。CMU的研究人员则直接以图像作为神经网络的输入,设计了一个具有独特结构的适用于人脸特征的神经网络分类器,并且通过前馈神经网络对人脸检测结果进行了优化。

基于神经网络的人脸识别方法要求训练集中包含较多的人脸的数目,只能适合于小型人脸库。另外,由于原始灰度图像数据量庞大,神经网络的神经元数目通常很大,

因此该方法仍然存在运算量大、训练时间长、过程较复杂、收敛速度慢以及容易陷入局部最小等问题,成为制约其在人脸识别中更加广泛应用的主要因素。

2.3.3 支持向量机方法

支持向量机(SVM,Support Vector Machine)是由Boser、Guyon、Vapnik等人在COLT-92上提出的一种基于结构风险最小化原理的统计学习理论,用于分类与回归问题。由于其出色的学习性能,该技术已成为当前国际机器学习界的研究热点,在模式识别、回归估计、函数逼近等领域有了广泛的应用。

支持向量机的基本思想是通过内积函数定义的非线性变换,将输入空间变换到一个高维的线性空间,然后在这个空间中求取最优分类面。为了解决小样本的学习问题,Osuna首先将支持向量机引入人脸检测中。

支持向量机方法是依据统计学习理论(Statistical Learning Theory,SLT)发展起来的一种通用的模式识别方法,根据有限的样本信息在模型的复杂性和学习能力之间寻求最佳折衷,以期获得最好的推广能力。传统学习理论力图使经验风险(Experience Risk)最小化,而SVM力图使学习过程中的结构风险(Struemral Risk)最小化,从而表现出很多优于已有方法的性能。90年代以来,一直引起各领域的广泛注意和研究者的极大兴趣。

2.3.4隐马尔可夫模型

隐马尔可夫模型(Hidden Markov Model)是用于描述信号统计特性的一组常用统计模型,能够很好的处理随机时序数据的识别与预测。HMM使用马尔科夫链来模拟信号统计特征的变化,而统计特征的变化又是间接地通过观察序列来描述的,因此HMM过程是一个双重随机过程。其中之一是马尔可夫链,这是基本随机过程,它描述状态的转移;另一个随机过程描述状态和观察值之间的统计对应关系。

在HMM中,用节点来表示状态,用有向边来表示状态之间的转移,一个状态可以具有特征空间中的任意特征。对同一特征,不同状态表现出这一特征的概率不同。HMM的主要问题是评估、估计和解码。根据状态转移的类型,HMM可分为遍历型和左右型。前者表示状态转移是任意的,可以到本身和其他所有状态;后者状态转移只限于本身和下一个状态。由于HMM是一个统计模型,对于同一特征序列,可能会对应许多状态序列,特征序列与状态序列之间的对应关系是非确定的。这种模型对于状态序列来说是隐含的,可以观察到的是各个状态产生的非确定的观察值,因此称为

隐马尔可夫模型。

利用HMM对人脸进行描述和识别,把面部器官特征和一个状态转移模型联系起来,既考虑了人脸的各个器官的不同特征,又考虑了他们的关联,比起孤立地利用各个器官的数值特征有概念上的进步,该模型的参数能较好的表示具体的人脸模型。HMM方法的鲁棒性较好,对表情、姿态变化不太敏感,对于不同角度的人脸图像和不同的光照条件,都可以达到满意的识别精度。

2.3.5 AdaBoost方法

AdaBoost 算法是由Yoav Freund和Robert Eschapire在1995 年提出的一种快速人脸检测算法,它是人脸检测领域里程碑式的进步,其核心思想是针对同一个训练集训练不同的分类能力一般的简单分类器(弱分类器),然后把这些弱分类器集合起来,构成一个更强的最终分类器(强分类器)。其算法本身是通过改变数据分布来实现的,它根据每次训练集之中每个样本的分类是否正确,以及上次的总体分类的准确率,来确定每个样本的权值。将修改过权值的新数据集送给下层分类器进行训练,最后将每次训练得到的分类器融合起来,作为最后的决策分类器。使用AdaBoost分类器可以排除一些不必要的训练数据特征,并将关键放在关键的训练数据上面。这种算法根据弱学习的反馈,适应性地调整假设的错误率,使在效率不降低的情况下,检测正确率得到了很大的提高。

AdaBoost算法是目前人脸检测方面检测速度较快、检测效率较高的一种检测方法,它是把弱分类器采用级联的方式训练成为强分类器的迭代方法。这些弱分类器只需满足比随机猜测好一点,就能通过不断修正每个弱分类器的权值,即挑选好的分类器,抛弃不好的分类器,最终形成由这些弱分类器组成的强分类器,与其它的人脸检测算法相比,AdaBoost方法对每个弱分类器的权值的形成都是完全自动化的,因而AdaBoost算法有着很好的易用性。大量的实验证明,AdaBoost算法训练的分类器具有比较好的分类效果,检测速度较快,效率高。

Viola等人在2001年提出使用AdaBoost学习算法的快速人脸检测方法,实现了实时的正面人脸检测系统。Viola的系统中核心思想主要有三个:

⑴提出了一种称为“积分图像”的图像表示方法,这种表示法能够快速计算出检测器用到的特征;

⑵采用基于Haar-like特征的AdaBoost学习算法,从一个较大的特征集中选择

少量的关键视觉特征,产生一个高效分类器;

⑶再用级联的方式将单个的分类器合成为一个更加复杂的分类器,使图像的背景区域可以被快速地被丢弃,而在有可能存在目标(人脸)的区域花费更多的计算。

该人脸检测系统在实时正面人脸检测中能够达到15帧秒的速率。由于该方法能够达到较高的检测率并且具有目前最好的实时性,因此激发了更多研究人员在基于类Haar特征和Boost学习算法的实时人脸检测算法方面的研究。

2.4本章小结

本章主要对人脸检测的各种算法进行了综述,将人脸检测进行分类,分为基于几何特征、基于模板匹配和基于统计模型三大块进行介绍,介绍了各种人脸检测算法的基本原理和优缺点。

3 OpenCV概述及安装配置方法

3.1 OpenCV概述

3.1.1 OpenCV简介

OpenCV(Open source Computer Vision Library)是Intel公司开发的图像处理和计算机视觉开放源码库,是于1999年在俄罗斯设立的软件开发中心“Software Development Center”开发的,它由一系列的C函数和C++类组成,实现了图像处理和计算机视觉方面的很多通用算法。OpenCV包含300多个CC++函数的跨平台的中、高层API(Application Programming Interface,应用程序编程接口),具有强大的图像和矩阵运算能力。尽管也可以使用某些外部库,但OpenCV不依赖于其他的外部库。

OpenCV是在IPL图像处理库(Image Processing Library)的基础上发展起来的,在IPL支持下,可轻松实现物体轮廓跟踪、图像的几何处理、形态学处理、图像特征提取、背景分离、金字塔算法、种子填充算法、光流算法、主动轮廓算法、相机的较正、姿势的识别等很多操作。OpenCV的设计简单易用,其中大部分类及库函数的设计都有其特定的在实际应用中的背景,因此整个库的体系结构非常简单明了提供了一些与诸如EiC、Ch、MATLAB等其它语言或环境的接口,最大的特点是具有开放性。

相关文档
相关文档 最新文档