人脸检测算法
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
人脸检测算法(转)
2009-03-01 23:06
人脸检测是一个开放性的,比较活跃的研究课题。
在人脸检测算法中,依照时间顺序的发展有模板匹配模型,肤色模型,ANN模型,SVM模型,Adaboost模型等。
其中Adaboost 模型在速度与精度的综合性能上表现最好。
前段时间,把各个模型的算法都实现了一次,并比较了一下:
模板匹配模型:不需要训练,但是精度比较差,速度较慢;基本的思想就是通过一个人脸模板与待检测图象匹配,寻找匹配的位置。
肤色模型:通过统计学习的方法,估计出人脸肤色在Y-Cr-Cb颜色空间中的概率模型,然后对检测点的肤色通过训练的概率模型的估计判断该点是否属于人脸区域,然后再进一步判断。
下面是结合肤色模型与模板匹配的效果图:
可见该方法的精确度不是很高,有很多漏检与误检的地方。
ANN与SVM方法:该方法是基于机器学习的方法,以人脸像素作为分类器的输入,然后判断区域是否是人脸。
由于训练图象的尺度是固定的,但是检测做不到尺度不变,所以需要对多个尺度的图象进行检测,造成检测速度比较慢。
另外ANN的训练速度也很慢,同样数据量的情况下,ANN训练大约要17小时,但是SVM算法训练2分钟就可以得到一个较好的分类模型了。
但是两者的检测速度都比较慢。
下面是SVM算法的检测效果图:Adaboost算法:是目前人脸检测最为成功的算法之一,该算法的特点就是训练慢,检测快。
实验中采用的弱分类器是一种双阀值分类的方法,与opencv中的cart算法不一样,同时与Voila的原始算法也不同。
另外在训练过程中采用了动态调整阀值的方法,使得分类器需要的弱分类器大大的减少了。
下面是用Adaboost算法的效果图,注意该检测算法的速度是最快的。
只要1秒的时间。
试验代码:
/source/585029
与
/source/616511
人脸检测算法(2)
人脸检测不仅是全自动人脸识别系统的基本步骤,而且本身也可以独立的应用于视频监控、图像检索等领域,因而具有重要的研究价值。
尽管Viola等人于2001年提出的基于AdaBoost的人脸检测算法以其卓越的性能而得到了大家的青睐,并已基本解决了大多数情况下的人脸检测问题,但在实际应用中,尤其是智能监控应用中,仍然存在较多挑战性问题。
人脸检测领域的主要工作包括:
·人脸检测样本重采样技术
问题:分类器设计固然是最重要的,但分类系统的性能也在很大程度上依赖于训练数据的分布。
一般而言,训练集合越大则可以有更好的推广能力,但是样本收集和整理过程是非常耗时费力的任务。
前人主要采用Bootstrap策略对反例(非人脸)样本进行重采样,我们则重点考虑了对正例(人脸)样本的重采样问题。
思路1:基于GA的人脸样本重采样
给定一个训练集合,通过交叉、变异等遗传算法操作对已有样本进行扩展并通过优化选择来“优胜劣汰”新生代样本,从而最终扩大训练集合的规模。
其中,交叉操作是通过交换不同人脸的眼睛、鼻子、嘴巴等部件来完成的,而变异则包括各种相似变化、灰度变换等,参见[FG04,ICPR04,软件学报]。
思路2:基于流形的人脸样本重采样
收集到的人脸样本训练集往往不可避免的会有噪声数据,或者由于采样过程的无意“有偏”导致样本分布的偏差。
因此,有必要对训练样本进行“重采样”,“净化掉”噪声样本。
而人脸样本的多样性导致数据分布的非线性,因此我们采用了流形学习的方法。
参见[A VBPA2005]。
·基于Gabor特征表示的人脸检测方法
问题:Viola等人提出的AdaBoost算法中人脸弱特征表示采用的是Haar特征,Haar特征具有计算简单的优点,但其缺点是特征表示能力比较弱,因此在一定程度上容易带来较多的误检。
思路:考虑到Gabor特征已被广泛应用于人脸识别中区分人与人之间的细微差别,因而具有更强的表示能力,我们尝试了将其应用到人脸检测中。
结果表明:在不考虑计算效率问题的条件下,基于Gabor特征的人脸表示方法取得了比Haar特征更好的检测性能。
但考虑到Gabor特征的计算复杂度较高,不适于应用到要求快速检测的场合,因此我们考虑了系统前端采用Haar特征尽快过滤大量非人脸区域,而在最后阶段采用复杂度更高但具有更好的区分能力的Gabor特征,实验表明这样的由粗到细的检测策略在一定程度上提高了检测算法的性能。
参见[ABPA2004]。
·基于最富信息空间直方图的物体检测方法
问题:近年来,基于空间直方图的物体表示方法得到了人们的重视。
通过改变位置、尺度等,可以提取大量空间直方图特征,但他们并不具有同等的判别能力,有必要进行降维和选择。
思路:采用Fisher可分性判据及其彼此之间的相关性对空间直方图特征进行选择,形成低维度的空间直方图作为物体的更加紧凑高效的表示。
参见[IJCNN2005]
·基于人脸灰度重心模板的人脸检测方法
思路:该方法是一种基于规则模板匹配的人脸检测方法,通过对原始图像的Mosaic化提取对应面部主要器官的横纹重心特征,并与专家总结出的若干标准人脸模板进行比对实现人脸检测,参见[IJIG2003]。
面像识别技术的原理及其技术指标2009-03-01 23:04
九十年代后期,随着计算机处理速度的飞速提高及图形识别算法的革命性改进,"面像识别"技术脱颖而出。
他以其独特的方便、经济、准确而受到世人的瞩目。
1.面像识别技术简介
面像识别技术包含面像检测、面像跟踪与面像比对等课题。
面像检测是指在动态的场景与复杂的背景中,判断是否存在面像并分离出面像。
面像跟踪指对被检测到的面像进行动态目标跟踪。
面像比对则是对被检测到的面像进行身份确认或在面像库中进行目标搜索。
面像检测分为参考模板、人脸规则、样本学习、肤色模型与特征子脸等方法。
参考模板方法首先设计一个或数个标准人脸模板,然后计算测试样本与标准模板之间的匹配程度,通过计算机比对来判断是否存在人脸;人脸具有一定的结构分布特征,人脸规则即提取这些特征生成相应的规则以判断是否测试样本包含人脸;样本学习则采用模式识别中人工神经网络方法,通过对面像样本集和非面像样本集的学习产生分类器;肤色模型依据面像肤色在色彩空间中分布相对集中的规律来进行检测;特征子脸将所有面像集合视为一个面像子空间,基于检测样本与其在子空间的投影之间的距离判断是否存在面像。
上述方法在实际系统中也可综合采用。
面像跟踪一般采用基于模型的方法或基于运动与模型相结合的方法,另外,肤色模型跟踪也不失为一种简单有效的手段。
面像比对从本质上讲是采样面像与库存面像的依次比对并找出最佳匹配对象。
因此,面像的描述决定了面像识别的具体方法与性能。
目前主要有特征向量与面纹模板两种描述方法,特征向量法先确定眼虹膜、鼻翼、嘴角等面像五官轮廓的大小、位置、距离、角度等等属性,然后计算出它们的几何特征量,这些特征量形成一描述该面像的特征向量;面纹模板法则在库中存储若干标准面像模板或面像器官模板,在比对时,采样面像所有象素与库中所有模板采用归一化相关量度量进行匹配。
另外,还有模式识别的自相关网络或特征与模板结合的方法。
面像识别系统则采用"局部特征分析"(Local Feature Analysis,LFA)算法,该算法速度快,误认低,无需学习,利用人脸各器官及特征部位的方位、比例、对应几何关系等数据形成识别参数,与数据库中所有原始参数比较、判断、确认。
与其他>生物识别技术,诸如指纹识别,掌形识别,眼虹膜识别和声音识别相比较,面像识别具有以下两点独一无二的特性:
1)其他每种生物识别方法都需要一些人的配合动作,而面像识别不需要被动配合,可以自动用在隐蔽的场合,如公安部门监控行动。
2)当记录一个企图登录的人的生物记录时,只有面像能更直观,更方便的核查该人的身份。
由于与传统的生物识别技术相比,面像识别具有更为简便、准确、经济及可扩展性良好等众多优势,可广泛应用于安全验证、监控、控制等各个方面。
2.面像识别技术原理
2.1 基本算法--局部特征分析
任何一个面像识别系统的基本要点是如何将面像进行编码。
面像识别技术使用局部特征分析LFA来描述面部图象,他源于类似搭建积木的局部统计的原理。
LFA 是基于以下事实的一种计算方法,即所有的面像(包括各种复杂的式样)都可以从由很多不能再简化的结构单元子集综合而成.这些单元使用了复杂的统计技术而形成的,它们代表了整个面像.他们通常跨越多个象素(在局部区域内)并代表了普遍的面部形状,但并不是
通常意义上的面部特征。
实际上面部结构单元比面像的部位要多得多。
然而,要综合形成一张逼真,精确的面像,只需要整个可用集合中很少的单元子集(12-40特征单元).要确定身份不仅仅取决于特性的单元,还决定于他们的几何结构(比如他们的相关位置)。
通过这种方式,LFA将个人的特性对应成一种复杂的数字表达方式,可以进行对比和识别。
2.2 面像识别的步骤:
1)建立面像档案:可以从摄像头采集面像文件或取照片文件,生成面纹(Faceprint)编码即特征向量;
2)获取当前面像,可以从摄像头捕捉面像或取照片输入,生成其面纹;
3)将当前面像的面纹编码与档案中的面纹编码进行检索比对;
4)确认面像身份或提出身份选择
上述整个过程都自动、连续、实时地完成。
而且系统只需要普通的处理设备。
门票系统的工作流程为:
·自动地在视频数据流中搜索面部图象;
·当一个出现用户的头像时;
自动使用多种类型的匹配算法来判断在那个位置是否真的有一张脸。
这些算法能够精确地探测出同时出现的多张脸,并且能够确定他们的准确位置;一旦探测到一张脸,这张脸的图象就会被从背景中分离出来,这幅图象随后将经过一系列的特殊处理来恢复它的尺寸、光线、表情和姿态。
·将这幅脸部图象在系统内部转换面纹,它包含了这张脸的特有信息;
·通过把实时获取的"面纹"和数据库中已有的"面纹"进行比对;
·完成对某张脸进行确认。
“面纹”编码方式是根据脸部的本质特征和形状来工作的,它可以抵抗光线、皮肤色调、面部毛发、发型、眼镜、表情和姿态的变化,具有强大的可靠性,使得它可以从百万人中精确地辨认出一个人。
上述整个过程都自动、连续、实时地完成。
而且系统只需要普通的处理设备。
2.3 精确度与识别率
对于任何一种生物识别技术,其主要精确度指标包括:错误接受率(FAR)、错误拒绝率(FRR)和相等错误率(EER),其测试结果与所运行的分析数据库(源)有密切关系。
本系统用于FERET数据库(该数据库由美国军事研究实验室提供)时所获得的FAR和FRR的大小。
对FAR和FRR曲线交叉点进行了放大,我们可以看到这里EER=0.68%。
该测试结果证明,本系统的识别模块精确度达到国际产品的最先进水平。
2.4 其他技术指标
操作平台:WINDOWS95/98/2000/NT(大部分功能可以应用于UNIX和LINUX),允许使用INFORMIX 数据库实现一对多的搜索。
输入:可以使用多种图象信号,包括照片,实况或录象片,数字图形文件,以及人工绘制的图象
速度:头部查找--根据场景的复杂程度,50MS---300MS
一对一的匹配:<=1S
一对多的匹配:从内存中运行每分钟6千万次,从硬盘中每分钟1千5百万次
面纹大小:84字节
数据库容量:从技术上说可以支持无限数量的记录
移动:可以捕捉移动和静止的面像
姿势:正面头像是最佳的工作位置,但只要能同时看到两只眼睛就可以识别面像。
极限为45度。
姿势变化在15度的范围内不会影响识别效果。
从15度到35度,会有少量失真。
超过35度,将发生严重的失真。
种族和性别:与种族,性别无关。
并不从面像区分是同类或异类人口。
变化因素的影响:算法运算主要针对面像的本质性区域,而且内在结构部分可以不受面部的自然改变影响。
其结果是当表情,面部头发,发型,年龄等改变后,软件仍能很好的正常运行
眼镜:无论是否戴眼镜都可以正确识别(只要双眼可见而且没有受到反光的影响)光线:对光线和背景没有特殊的要求,在周围光源有满反射时工作状况最好。
另外,在物体没有反光时效果最好,但这可以通过对摄象机的调节来补偿。
总之,只要是人的双眼能识别的图象,都可以进行识别。
背景:可以在平淡的或杂乱的各种背景下识别面像,识别过程完全与背景无关。
图象色彩,灰度和分辨率:对彩色和黑白照片效果相同,最少要求8字节的深度和320*240的分辨率
头部尺寸:最小可以发现20*30象素的面像或在整个图象区域中占有少于1%的面像。
面部图象的分辨率对识别性能影响不大。
当头部大小在80*120象素时达到最佳效果。
2.5 多种功能
面像识别:完成一对一验证匹配与一对多鉴别匹配。
→面像检测:在静止图像与视频流甚至在复杂的情景中发现面像。
→面像编码生成:生成84字节大小的且可用计算机处理数字编码,稍后可用计算机进行面像识别。
→面像压缩:生成人可读的图像,大小为100到1000字节。
→图像质量:评价为面像识别获取的面像的质量。
→跟踪:跟踪面像。
→分割:在图像中剪裁、旋转面像。
3.面像识别技术特点
精确性:其精确性可以和最好的指纹识别系统相比
性能/成本比高:只需要通用的PC硬件及相应的软件,费用较低。
主动性:可以不需要使用者的主动参与
防伪性:可以防止照片欺诈
用户易接受:简单易用,对用户无特殊要求
可跟踪性良好:对每次事件都保存一条有时间/日期的面部图象
具有自学习的功能:系统能够动态地更新数据库中用户的头像,从而保证在用户的面像及环境的变化下仍然能够快速准确地识别
论文主要研究内容与章节安排1
本文根据所研究的问题,讨论人脸检测与识别技术中的图像预处理、特征提取与人脸检测、人脸识别验证技术及手机平台下身份识别验证系统的设计这几个方面的内容。
首先介绍了本文的研究的目的和意义,对生物识别进行简单介绍,然后对人脸检测识别技术作了全面的阐述,总结了国内外几种人脸检测和识别方法,分析了其优缺点。
阐述了文章中所采用的图像预处理方法,首先对摄像头获取的彩色图像进行灰度化预处理,得到更稳定的能反映图像本质信息的灰度图像,然后对其进行入脸检测,为了保证人脸识别的准确率,对检测出的人脸灰度图像进行一些处理后得到规范化的图像,再进行人脸识别验证。
对主成分分析和独立成分分析这两种特征提取方法的理论基础和优缺点进行了详细分析和介绍,对独立成分分析中的一种估计算法一FastlCA算法进行了分析的基础上进行了改进,得到一种改进的FastlCA算法,并且用来提取图像的独立基,从而得到一种约简的图像特征提取方法;提出了一种基于ICh和PNN的人脸检测方法,用该方法先提取出样本图像的约简特征,训练多项式神经网络;在检测的时候,同样用该方法提取出测试图像中的特征,把该提取出的特征输入训练好的多项式神经网络来进行人脸检测,文中利用各种图像库进行实验,结果表明这秘方法有较高的检测率,可以检测出各种背景图像中的单人脸和多人脸。
为了保证人脸识别验证的速度和准确性,本文采用了一种基于贝叶斯决策理论的处理方法,该方法首先估计出在主成分空间中的人脸差异图像属于同一人脸和不同人脸的差异概率密度估计,然后对待识别图像与主人样本图像的差分图像进行贝叶斯后验判别。
由于在进行贝叶斯后验判别时,避免了对人脸全部特征进行处理,而是采用图像在主成分空间中的投影,减少了数据的维数且去除了不重要的成分,所以计算量小,鲁棒性高,实验证明验证速度和准确率都很高。
最后在以上分析的基础上,设计了一个基于手机平台的身份验证系统,该系统结合了密码验证和人脸识别验证两种验证模式。
文章共分为六个章节,具体安排如下:
第一章为绪论,主要指出了课题的提出背景和研究动机,概述了生物识别技术和人脸检测与识别技术的几种实现方法,讨论了该技术在国内外的研究状况。
第二章对获取的图像进行人脸检测以及对入脸进行验证时两个部分的预处理工作;
第三章针对手机图像分辨率较低,并且人脸图像背景各不相同,提出了基于]CA和PNN的人脸检测方法。
本章首先对主成分分析和独立成分分析方法的理论基础和优缺点进行分析比较,并对ICA算法中的一种估算方法——FastIcA进行了分柝和改进,减少了独立基,提高了检测速度。
实验结果表明所提出的检测方法以及改进措施能有效的检测出复杂背景下的人脸图像。
第四章介绍贝叶斯的理论基础和特点,详细地阐述了差分图像在类内主成分空闯和类同主成分空间中的条{牛概率密度估算方法,以及贝叶斯验证过程,通过实验表明了该验证方法的准确性和有效性。
第五章分析了手机摄像头拍摄的图像特点,给出基于上述技术的人脸检测与身份识别验证的总体思想,并设计了手机平台下的入脸检澳4与识别验证的系统。
第六章对本文所做工作进行总结,并提出了有待进一步研究的问题。
本论文主要研究内容2
本文以构建一个可用的、实用的基于web的人脸检测和识别系统为目标,在研究了人脸检测和识别的基本理论和关键技术的基础上,重点讨论了在复杂背景条件下,彩色静态图像的人脸检测和识别问题。
总体说来,基于web人脸识别系统可以简明扼要的表示为如图1.1所示的几个步骤。
在本文中将依次介绍各个环节,并对在C++Builder以及Eclipse下实现具体功能过程中,得到的实验数据和结果进行详细分析。
其中,创新及突破技术壁垒部分包括:多人人脸检测算法的改进和优化,通过对人眼的二次识别来降低训练时间,提高识别率。
使用C++语言实现人脸检测和人脸识别算法,对图像进行处理,搭建起实用的人脸检测与人脸识别系统。
为了构建基于web多人人脸检测系统,使用java程序处理图像并与c语言程序模块进行通信,最终实现iava下人脸检测功能模块。
使用java构建J2EE体系下的web平台。
考虑到人脸数据库的海量数据及数据的安全性,使用MVC分层模型搭建平台,并调用人脸检测功能模块,形成web下的多人人脸检测系统。
此web平台还为以后扩展人脸识别,人脸跟踪等功能模块做好了准备。
图1-1 人脸识别系统流程
本文的主要研究内容安排如下:
第一章主要介绍研究背景,内容及意义。
第二章主要介绍复杂背景下的人脸检测中的算法及实现。
其中包括hart小波变换提取图像特征、Adaboost级联分类判决器的构建,识别过程中扫描图像以及定位的方法,人脸检测的质量高低直接决定了人脸识别工作的结果。
第三章将对本系统采用的本征脸(Eigenface)识别方法介绍,并详细阐述在系统中使用的本征脸的识别方法,在人脸检测的基础上对图片进行预处理,识别的整个过程。
第四章用C++语言对前两章的检测与识别方法加以实现,介绍了整个系统架构方案,处理流程,存在的问题。
对实验的数据进行分析,提出系统的改进思路。
第五章为了将系统与web结合,介绍原有C++人脸识别系统向web平台下的转换的核心方法,以及J2EE体系下web平台的搭建,包括数据库层,应用服务器层,和用户的web页面层。
第六章为结束语。
本文的主要内容3
在论文的组织和安排上,本论文内容共分为五章:
第1章生物识别技术概述,人脸识别的优势,机房管理和学生的现状。
第2章人脸识别系统概述,包括人脸识别所需的学科知识、影响识别的因素、识别的过程和识别方法。
第3章两种经典的人脸识别方法:特征脸方法和基于Gabor变换的方法。
第4章基于人脸识别的上机辅助验证系统的设计理念、系统功能和整体实现。
利用不同特征的图像库对两种方法进行测试,对测试结果进行分析。
第5章总结了本文的工作,对进一步的改进做了分析和展望。