基于opencv的人脸识别系统.docx
- 文档编号:23701275
- 上传时间:2023-05-20
- 格式:DOCX
- 页数:52
- 大小:960.89KB
基于opencv的人脸识别系统.docx
《基于opencv的人脸识别系统.docx》由会员分享,可在线阅读,更多相关《基于opencv的人脸识别系统.docx(52页珍藏版)》请在冰豆网上搜索。
基于opencv的人脸识别系统
攀枝花学院本科毕业设计(论文)
基于OPENCV的人脸检测与识别系统
*****************
学生学号:
************
院(系):
数学与计算机学院
年级专业:
09级信息与计算机科学
指导教师:
陈尧硕士助教
二零一三年六月
摘要
近几年来计算机网络传输、监控及视频分析在社会上不断的兴起,数字信息已经超越了模拟信息其主要原因在于数字信息更易于存储和分析,因此,在视频监控领域采用计算机对视频信息进行采集、压缩、分析、存储得到了很多人的青睐。
基于OPENCV的人脸检测与识别系统在计算机模式计算和模式识别等方面具有极其重要的作用。
在基于人脸识别,图像压缩,视频监控,运动物体检测等方面有着更重要的应用价值。
近年来计算机视觉技术在视觉领域中取得了飞速的发展,并在其他领域中得到了广泛的应用。
本论文以OPENCV库为基础,采用QT作为图形界面开发,具有人脸采集,图片训练,数据库管理及人脸识别等功能。
该系统能够进行长时间的运行并测试稳定,在程序中提供了统一的接口以并进行二次开发。
关键词:
人脸检测,人脸识别,级联分类检测器
ABSTRACT
Inrecentyears,computernetworktransmission,monitoring,andvideoanalysisshowedthatthecontinuousriseinthesocial,digitalinformationhasgonebeyondthemainreasonisthatanaloginformationiseasiertostoredigitalinformationandanalysis,therefore,inthefieldofvideosurveillancevideoinformationbycomputeracquisition,compression,analysis,storagegetalotofpeopleofallages.
Opencvbasedonfacedetectionandrecognitionsysteminthecomputermodelandpatternrecognition,andsohasanextremelyimportantrole.Basedonfacerecognition,imagecompression,videosurveillance,detectionofmovingobjectsandsohasamoreimportantapplicationvalue.Inrecentyears,inthevisualfieldofcomputervisiontechnologyhasmaderapiddevelopment,andinotherareashasbeenwidelyused.Thisthesisisbasedopencvlibrary,usingqtasagraphicalinterfacedevelopmentwithhumanfacecapture,imagetraining,databasemanagement,andfacerecognitionandotherfunctions.Thesystemiscapableofstablelongrunandtesttheprograminordertoprovideaunifiedinterfaceandsecondarydevelopment.
Keywords:
Facedetection,facerecognition,cascadeclassificationdetect
1绪论
人脸检测与识别是计算机视觉与模式识别领域中重要的研究方向,人脸识别在图像处理与视频检索、视频监控、视频显示等方面占据着重要的位置。
本文提出了基于32位彩色图像对人脸进行识别的方法,介绍的主要内容是图像处理,重点分析基于OPENCV人脸检测与识别的原理及方法,采用基于OPENCV的级联分类检测器,能够根据视频图像提取人脸特征进行训练。
目前,高性能的微电子和视觉处理系统已经运用在各个领域中,特别是基于视觉处理系统中的人脸识别系统已经走在了科学前沿。
在生物识别技术中人脸识别是运用最为广泛的技术,对图像进行处理主要用到,光线补偿技术、高斯平滑技术和二值化技术等。
对图像先进行补光处理,处理过后的图片通过定位眼睛、鼻子、嘴唇来确定脸部区域,最后根据人脸固有的眼睛对称性来确定是否是一个人脸,再使用高斯平滑,用来消除图像的噪声,最后进行二值化处理,采用局部阈值来进行二值化,接下来就对图片中的人脸进行定位,特征提取和识别操作。
经过验证,图像通过预处理对以后的识别率有很大的影响,可以提高人脸检测和识别的准确率。
在其他国家,人脸识别技术已经运用在智能家居、智能机器人、以及军事安防和其他安全部门。
在国内,我们对人脸识别技术的研究始于20世纪90年代,主要用在公共安全领域、智能家居、金融管理、物业管理、以及网络安全和考勤等方面。
1.1课题提出的背景
随着数字信号和模拟信号处理理论和计算机的发展,通过CMOS摄像头获取的模拟信号转化为数字信号,然后使用计算机实现对视觉信息的处理,这就提出了一个新的理念“怎样通过计算机来进行生物的识别”,随着科学技术的不断创新及发展,这个理念被实现了,生物特征识别技术中人脸的自动识别占有重要的地位,人脸识别技术与其他生物识别方法相比,人脸识别具有算法简单、设计更直接、友好和方便等特点,因而人脸自动识别问题的研究不仅具有重要的应用价值,而且具有重要的理论意义。
人脸识别主要用在公共安全领域、智能家居、金融管理、物业管理、以及网络安全和考勤等方面。
由于数字信息比模拟信息更易于存储和处理,因此,在视频监控领域采用计算机对视频信息进行采集、存储、分析得到许多人的青睐[1]。
基于OPENCV的人脸检测和识别在计算机模式识别与视觉领域中占有重要的地位,人脸检测和识别利用分析比较人脸特征来进行身份鉴定的生物技术,通过级联分类检测器来进行人脸图片的训练,然后从摄像头上采集图片在库中进行比对,如果比对结果在预设的阀值之内,则表示识别成功。
1.2人脸识别技术的研究意义
怎样使计算机能够像人一样能够分析各种视觉信息,使用一种编制的方式来计算获得的视觉数据。
使机器智能化,通过机器来模拟人类所拥有的能力,像人类一样通过眼睛来观察和获得视觉信息,并使用大脑来处理视觉所获得的信息。
近年来各个领域使用了计算机视觉技术来解决该问题,该技术在视觉模式中具有重要的应用价值。
人脸识别技术采用了视频数据的采集,为采集的数据分配PCA空间,将视频数据进行格式的转换,将数据库中存储的视频数据进行训练,最后得到一个32位的浮动图,该技术具有操作更简单、直接等优点。
人脸检测与识别在生物体特征识别技术中具有重要的应用价值。
视频跟踪识别技术除了在智能视频监控系统中具有非常重要的应用外,在视频会议、人机交互、门禁控制、家庭娱乐以及信息安全等场合也有着重要的应用[2]。
1.3课题研究方法
1.3.1人脸检测的原理
采集的图片进行人脸检测通过以下步骤,先对需要检测的目标进行特征的提取,利用这些特征数据建立目标检测模型,然后将需要识别的图像与目标模型进行匹配,如果匹配成功则使用矩形来进行标记。
1.3.2人脸识别的原理
人脸识别技术股由于受到一些光线,环境的影响会造成识别的精度不高,
现在大多数都集中研究在正面人脸图像的识别上,但由于人脸面部表情、拍照角度或拍照光照等条件的变化下,得到的人脸照片中的特征不同,因此使用数据库中存储的样本的有限个角度拍摄的照片,去识别任意角度的照片,使识别范围得到很大的限制。
为了解决以上出现的问题,现在人们提出了使用几何特征识别法来进行人脸的识别,选取的特征点必须具有代表性,能代表一个人的面部特征,唯一标识该个体,选取眼角点、鼻翼点、嘴角点等标识眼、耳、口、鼻及脸部轮廓的特征点。
1.4人脸识别的国内外发展概况
在许多领域中已经使用到了人脸检测与识别技术,人脸识别技术在世上起到了举足轻重的作用,英国的布莱索在1996年开始了对人脸识别技术的研究,经过三十多年的发展,人脸识别技术已经得到了高速的发展,且取得了巨大的成功。
1.4.1国内发展概况
在我国对人脸识别技术的研究始于20世纪80年代,国内主要有清华大学,北京理工大学,和自动化所的研究人员从事人脸检测与识别的研究,国内主要从以下三个方面进行研究:
(1)基于几何特征的人脸正面自动识别方法。
(2)基于代数特征的人脸正面自动识别方法。
(3)基于连接机制的人脸正面自动识别方法。
近年来,随着计算机硬件性能的不断发展,基于图像传感器的视屏监控系统获得了迅猛的发展,各种面向复杂的应用背景的视频监控系统也随之大量涌现,随着信息技术的不断发展,视频监控系统在商业、国防安全和军事应用领域中的需求将日益增加。
由于视频监控系统具有如此大的应用背景,它引起了许多国家的高度重视,一些国家投入了大量资金和科研人员进行了广泛的研究[3]。
1.4.2国外发展概况
国外很多人从事对人脸检测与识别问题的研究,主要有著名的MIT,CMU,欧洲,日本等国家,随着人脸检测的深入发展研究,国际上发表的有关论文数量也在大幅度的增加,国外主要从以下几个方面进行研究:
(1)模板匹配
(2)示例学习
(3)神经网络
(4)基于隐马尔可夫模型的方法
(5)基于AdaBoost的人脸识别算法
(6)基于彩色信息的方法
(7)基于形状分析的方法
2系统的需求分析与方案选择
基于OPENCV的人脸识别系统应用非常广泛,人脸识别技术现已经日趋成熟,且现在都具有高可靠性,高识别率等特点,在我国及其他一些国家的专家学者正处于研究阶段,该技术在不断的改进与更新,以便使系统的识别率达到新的高度。
2.1可行性分析
现在一些科研人员已研发了一套算法,很精确的能够在一定的环境下进行人脸的识别,还存在一些科研爱好者来研究人脸识别算法,使得现在基于OPENCV的人脸识别技术已经发展的非常迅速,我在原有的算法基础上进行了改进,融合了自己的一些方法以提高了检测精度。
2.1.1技术可行性
在对视频图像的处理方法有很多,我根据系统的需要,有选择地使用了一些算法。
在对视频图像脸部进行标记及采集,使用的方法有肤色识别,我主要使用的特征采集及转换技术来进行人脸的识别,识别率率可以达到90%,缩短了识别的时间,并且该识别算法简单易懂。
光线补偿技术:
因为在不同的环境中,光线对图像会产生干扰,图像就会变得或明或暗,我们就要对其进行调整,所以采用光线补偿来处理图像的亮度变化。
高斯平滑技术:
在视频图像的采集过程中,由于外界条件的干扰,则采集的图片中会出现一些噪音,这就会使图像在进行转化、识别时发生的数据的遗失和损坏等,这些会对以后图片的训练产生干扰,所以将图片进行平滑处理来消除噪声的干扰。
灰度变换技术:
进行灰度转换时,我们要保证图像信息保持不变。
我们在使用灰度转换时,先对图像数据进行统计,经过比较后得出一个合适的灰度值,然后对图像进行灰度变换。
灰度均衡技术:
经过灰度转换后,就要进行灰度均衡化操作,最后通过灰度分布来对图像进行灰度均衡。
对比度增强技术:
通过对某个图片的点进行定位,然后将其周围的像素值进行统计,再通过聚集技术将相邻的像素值拉开,使他们之间的差距拉大。
2.1.2操作可行性
基于OPENCV的人脸识别技术运行在以下环境中:
CPU:
500M以上;内存:
64M以上。
安装有Linuxfedora、Linuxubuntu、Linxucore等操作系统中的其中一种。
另还装有摄像头进行图片采集和识别,该系统主要使用的为CMOS摄像头,也可使用USB摄像头来进行图像的采集。
因此,从操作可行性来看,只要系统用户的硬件软件设备满足如上的要求,就可以使用该系统进行人脸的识别。
2.2需求分析
2.2.1应用程序的功能需求分析
通过这个系统先通过CMOS摄像头对人脸进行采集,然后对人脸进行检测,将采集到的人脸图片进行训练得到一个模型,最后使用当前的图像与该模型进行比对,这个过程称之为预处理。
预处理这个模块在整个人脸识别系统的开发过程中占有很重要的地位,只有预处理模块做的好,才可能很好的完成后面的人脸定位和特征提取这两大关键模块[4]。
本系统的主要具备如下功能:
(1)图像获取功能:
图片的获取主要是通过从CMOS或者USB摄像头来获取图像,从CMOS摄像头获取的为模拟信号,必须要通过YUV转换得到数字信号,得到的图片保存在数据库中。
(2)图像预处理功能:
该模块主要包括图像光线补偿、图像变成灰色、高斯平滑、均衡直方图、实现图像对比度增强、二值化变换等[8]。
(3)人脸定位功能:
从摄像头获取的图片经过前期的预处理后,将通过检测器来标记眼睛、鼻子、嘴唇来确定人脸区域,并对该图片的特征进行提取。
(4)特征提取功能:
对人脸检测通过后将对人脸进行特征的提取,因为每个人的脸型不一样,而且两眼之间的距离等因素,可以确定每个人的不同特征。
(5)识别功能:
从摄像头获取的图片进过处理后,将提取的特征值与预先训练好的目标模型进行比对,来对当前的图片进行识别。
2.2.2开发环境需求分析
2.2.2.1硬件环境
(1)硬件配置原则
硬件的配置需要该硬件具有可靠性、稳定性、安全性等特点,在软件支持的环境下,能实时的运行程序。
(2)运行本软件所需的硬件资源
CPU:
800M及以上;内存容量:
内存达128M以上。
2.2.2.2软件环境
(1)识别系统的软件运行规则
能够在指定的运行环境下,满足该软件的耦合性,易扩性和规范性。
(2)系统软件的配置方案
①软件的配置需要有高度集成性,高稳定性,能够运行在嵌入式的平台下,如Windows2000,WindowsNT,UNIX,Linux等。
②配置需要满足ISO的标准,并且能够保持系统的兼容性。
如:
Qtdesigner。
③熟悉C++/C等编程语言。
2.2.2.3运行环境需求分析
(1)系统运行的硬件环境
CPU:
500M以上;内存容量:
64M以上。
(2)系统运行的软件环境
该系统可以使用在以下操作系统中。
如Linux3.0.5内核、Linuxubuntu系统、Linuxferdor系统等。
3研究方案及技术路线
3.1人脸检测方案
在生物特征识别技术中人脸检测不同于其他的计算机视觉识别技术,人脸检测通过将视觉信号转换为机器能够识别的数字信号,从而使用计算机来进行判断处理。
计算机通过摄像头看到的东西要简单的多,简单来说,就是一堆由数字组成的矩阵,这些数字表明了物体发出的光的强弱,摄像头的光敏元件将光信号转化成数字信号,将其量化为矩阵[5]。
计算机如何能够从训练出来的数据库中比对出这是一个人脸,这是一个比较困难的事情,但是计算机可以通过对颜色数据的判断来进行处理。
彩色图片中的像素是由许多色彩通道组成的,所有的彩色图片由RGB三通道组成,分别代表有红色通道,绿色通道和蓝色通道,灰度图都是由RGB组成,如果某个点由6位组成,该像素的通道值为2^6=64。
那么该像素的总和通道值为3*6=18位,则该图片由18位色彩值组成的。
对18位的图片进行转换是很复杂的事情,我们就需要先对图片进行前期的转换,即是将彩色图片转换为灰度图片,通过这样的转换后可以减低数据量。
先将图片转化为灰度图,然后将这个灰度图的对比度增高,这样可以使得图片本来暗的地方更暗,亮的地方更亮一些。
这样处理以后,图片就更容易被算法设别出来了[6]。
图3.1级联分类器
在扫描待检测图片的时候,以边界特征中的(a)为例,正如前面提到的那样,计算机中的图片是一个数字组成的矩阵,程序先计算整个窗口中的灰度值x,然后计算矩形框中的黑色灰度值y,然后计算(x-2y)的值,得到的数值与x做比较,如果这个比值在某一个范围内,则表示待检测图片的当前扫描区域符合边界特征(a),然后继续扫描,因为是基于视频流的目标检测,我们事先不太可能知道要检测的目标的大小,这就要求我们的级联表中的分类器具有按比例增大(或者缩小)的能力。
当小的窗口移动完整个待检测图片没有发现目标时,我们可以调整分类器的大小,然后继续检测,直到检测到目标或者窗口与待检测图片的大小相当为止[7]。
在从CMOS摄像头中获得图片后,首先对这张图片进行前期的处理,将获取的图片从RGB模式转化为灰度图,然后进行灰度图直方均衡化操作。
基于OPENCV的人脸检测中,先进行图像的采集,然后建立自适应模型并将该模型进行训练,使用XML文件保存该训练模型数据,有了这个模型后我们就可以从新使用新的模型来进行图片的对比,把当前的图片与该模型进行匹配得出的结果使用矩形进行标记,并在QT界面上画出该目标区域,并保存。
3.2人脸识别方案
因为噪声会对视频图像产生干扰,为了提高检测精确度,经常使用的自适应加权均值滤波方法对视频图像进行去噪预处理,通过减弱噪声来提高检测精度。
然后,将降噪后视频图像再进行一些优化,对后面进行图片的识别、检测有很大的帮助。
图3.2系统框图
当前许多视频图像中的运动目标检测系统中大都采用滤波技术来减弱噪声
对目标的影响,在对噪声图像的预处理中,使用中值滤波法,中值滤波首先确定一个目标点,然后以该点为中心周围的像素进行排列,然后将获取的像素中间值作为该区域的所有像素的值。
当目标区域中有运动物体时,可以使用中值滤波的方式对运动目标进行平滑处理[8]。
中值滤波是基于排序统计理论的一种能有效抑制噪声的非线性信号处理技术,中值滤波的基本原理是把数字图像或数字序列中一点的值用该点的一个临域中各点值的中值代替,让周围的像素值接近的值,从而消除孤立的噪声点。
方法是去某种结构的二维滑动模板,将板内像素按照像素值的大小进行排序,生成单调上升(或下降)的为二维数据序列。
二维中值滤波输出为g(x,y)=med{f(x-k,y-l),(k,l∈W)},其中,f(x,y),g(x,y)分别为原始图像和处理后图像。
W为二维模板,通常为2*2,3*3区域,也可以是不同的的形状,如线状,方形,圆形,十字形,圆环形,菱形等。
例如平滑锐化滤波就含有取中值和样点计算的过程,另一种方法是先计算周边像素灰度的平均值,若所考虑像素的灰度与此平均值的差异超过一定临界值时,则判定该像素为干扰,该点的值应采用先前计算所得的平均值来替代,若不超出临界则用该点实际像素的灰度值作为滤波器的输出,此种方法更接近于人眼的实际感觉[9]。
中值滤波的实质是通过一种计算方式来处理图片像素差异很大的像素点,即保留那些处于中间的像素值,然后将该像素值作为整个图像的像素。
通过中值滤波可以使图像的像素处于柔和的状态,通过中值滤波的处理后,不仅可以消除图片的一些不规则噪音,也可以使图片更加清晰。
采用中值滤波器对于消除脉冲噪声是有很大的作用的[10]。
对背景图像的获取先通过背景差法来获取当前的像素点,然后减去前一张图片的像素点,得到的就是静止的像素点。
通过获取的背景图像建立模型,将从当前的摄像头获取的图片与该模型进行比对,通过这个方式可以得到运动的物体,并进行标记。
但是由于环境,光线等影响就会造成许多伪目标的出现,为了避免这种干扰,就必须建立高斯混合模型来进行对多模型的运算。
混合高斯法是将每个像素按照多个高斯分布混合建模,以同时处理多种背景变化,该模型的参数可以自适应更新,不像非参数模型要缓存视频[11]。
混合高斯模型是利用前景和背景进行建模,当摄像头在移动的过程中,背景像素以及前景像素都会发生改变,所以我们就需要对这两种背景进行建模,在当前的像素下与模型进行比对,但是当光线及外界条件太复杂则建模过程很复杂,就需要不断的降低模型参数来进行建模,当检测的目标太大或者移动台慢,则使用该模型检测达不到预期的效果。
缺点是它对全局亮度的突然变化非常敏感,如果场景很长时间没变,则背景分量的变化就非常小,但是全局亮度的突然变化会将整个视频帧认为是前景[12]。
3.3使用技术
3.3.1子空间法
开始时人脸识别技术只能用在对单一图片进行识别,经过科学家不断的改进和发展,现在已经发展到能够动态实时的对人脸进行检测与识别。
目前,一些学者提出了向三维空间的人脸检测与识别方向研发。
子空间分析的思想就是根据一定的性能目标来寻找线性或非线性的空间变换,把原始信号数据压缩到一个低维的子空间中,使数据在子空间中的分别更加紧密,为数据的更好描述提供了手段[13]。
现在的人脸识别技术能够处理一些比较简单的背景图片,但是由于环境等因素的影响,人脸识别技术就要向更深层次的发展,以便能够处理那些具有复杂背景中的人脸检测,所以现在的人脸识别技术是需要不断的发展与更新。
子空间法即基于特征空间的方法,子空间法的工作原理是根据人脸区域图像变换到某一个特定的空间,通过线性计算来区分出人脸和背景,利用统计分析和线性计算来找出图片中的人脸样本和非人脸样本,综合两者之间的特征来构建分类器,再利用构建好的分类器来进行人脸的识别。
子空间方法主要包括两类,主分量分析(PCA)方法和线性判别分析(LDA)方法。
PCA方法根据图像的特征进行正交变化(KL变换),以消除原来各分量之间的相关性,取变换后所得到的最大的若干个特征向量来表示原来的图像,保留了原图像差异的最大信息,这若干个特征向量就称为主分量[14]。
人脸识别的原理,将人脸图像投影到一个由若干个最大的特征向量构成的子空间,若要显示某个特定的人脸,通过对这些特征向量加权求和即可,则根据定义的阀值来进行判断是否为库内人员[15]。
使用背景差法来对正在进行运动的物体的进行判断,通过获取前一张图片的图片数据与当前获取的图片数据进行比对,如果在当前位置的图片像素与前一帧在当前位置的图片像素一致,则说明该像素点是静止得,否则表示该物体移动了。
3.3.2meanshift算法
meanshift算法利用概率密度的梯度爬升来寻找局部最优,meanShift利用均值漂移,在聚类、图像平滑、分割、跟踪等方面应用很广泛,输入一个图像的范围,然后根据反向投影图和输入的方框进行meanshift迭代,它是向重心移动,即向反向投影图中概率大的地方移动,所以始终会移动到目标上,meanshift算法是一个变步长的梯度上升算法[16]。
3.4信息查询与维护流程图
管理员通过获取管理权限后就可以进行数据的查询和对库内人员进行更改了,主要的功能包括,增加库内人员,修改库内人员,删除库内人员。
通过系统管理员进入系统后则可以操作库内的人员,登录系统需要用户名和密码来进入系统,还可以为每个普通用户增加超级权限,库内现在进行信息的登记,采集的人员图片数目为9张图片,经过测试分析,采集9张图片能够更好的提高识别精度,增加了库内人员后,需要通过数据库对库内人员进行保
存,保存的数据以二进制的形式保存。
图3.3信息查询与维护流程图
4系统的概要设计
本节介绍了该系统的运行流程和设计思路,详细的介绍各个模块的原理和功能,介绍各个模块的功能和他们之间的联系。
4.1应用程序的总体结构设计流程图
图4.1总体结构设计流程图
4.2图像预处理的层次图
对图像的处理主要包含以下几个步骤:
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 opencv 识别 系统
![提示](https://static.bdocx.com/images/bang_tan.gif)