人脸检测的研究及其实现大学论文+程序_第1页
人脸检测的研究及其实现大学论文+程序_第2页
人脸检测的研究及其实现大学论文+程序_第3页
人脸检测的研究及其实现大学论文+程序_第4页
人脸检测的研究及其实现大学论文+程序_第5页
已阅读5页,还剩49页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

唐山学院毕业设计设计(论文)题目:静止图像人脸检测技术研究及其实现信息工程系信息工程系电子信息工程系别:_________________________电子信息工程胡彦雷专业:_________________________胡彦雷岳姝姓名:_________________________岳姝指导教师:_________________________岳姝辅导教师:_________________________岳姝2013年6月8日PAGE1静止图像人脸检测技术研究及其实现摘要本次设计的目的主要是完成背景比较复杂的情况下静止图像的人脸检测。在查阅了大量资料的情况下,发现单独使用一种方法误检率比较高,而使用两种或两种以上方法则大大提高检测的效率。在对比了各种检测方法的优缺点后,本次论文使用AdaBoost算法对提取的Haar特征训练出分类器,并使用积分图的方法加快训练的速度,用训练好的级联强分类器对待检测图像进行初步检测。然后根据HSV肤色模型中H分量对光线变化的影响非常小的特性,提取H分量建立一个人脸皮肤彩色模型,即人脸皮肤色相的统计表,将人脸的颜色区域估计出来,再利用这个人脸皮肤彩色模型对人脸做进一步筛选、过滤,得到最后的结果.大量实验结果表明,二者结合的方法能够较为快速准确实现人脸的检测及定位。与单一的一种方法相比较,大大降低了误检率,在实际应用中有一定的参考价值。关键词:人脸检测Haar特征AdaboostHSVFaceDetectionTechnologyResearchandImplementationofStaticImageAbstractThepurposeofthisdesignismainlytoimplementfacedetectionofstaticimageundercomplexsituations.Onconsultingalargeamountofdata,Ifoundthattheerrordetectionrateishigherwhenonlyonemethodisused,whiletheefficiencyofdetectionwasgreatlyimprovedbyusingtwoormoremethods。Aftercomparingtheadvantagesanddisadvantagesofvariousdetectionmethods,thisdesignusedAdaBoostalgorithmtotraintheclassifierbyusingtheHaarfeatures,andtheintegralgraphmethodisusedtospeedupthetraining,withstrongtrainedcascadeclassifiertodetectimageinpreliminarytests.AccordingtothisfeaturethattheHcomponentofHSVcolormodelisslowtothechangeoflight,tobuildahumanfaceskincolormodel,namelythefaceskincoloroftheTAB,andthenthecolorofthefaceareaisestimated,whichisusedforfurtherscreeningandfiltering,togetthefinalresult。Alotofexperimentsshowthatthecombinationofthetwomethodscanimplementfacedetectionquicklyandaccurately.Ithasreferrecevalueinpracticalapplication.Keywords:Facedetection;Haarclassifier;Adaboost;HSV目录TOC\o”1-3”\h\uHYPERLINK\l”_Toc359236765”第一章绪论 1HYPERLINK\l”_Toc359236766”1。1人脸检测的背景及意义 1HYPERLINK\l”_Toc359236767”1。2人脸检测研究的现状 11。3人脸检测研究的难点 2HYPERLINK\l”_Toc359236769”1。4人脸检测评价标准 2_Toc359236775”第二章人脸检测方法 5HYPERLINK\l”_Toc359236776”2。1基于知识的方法 5HYPERLINK\l”_Toc359236777”2.2特征不变方法 52。3模板匹配方法 63。2Haar-like特征 8HYPERLINK\l”_Toc359236784"3.2.1几种常见的特征分类 8HYPERLINK\l”_Toc359236785”3。2。2Haar特征数量计算 10HYPERLINK\l”_Toc359236787”3.3积分图 11HYPERLINK\l”_Toc359236788"3.4Adaboost算法简介 12HYPERLINK\l”_Toc359236790"3.5Adaboost算法之训练 13HYPERLINK\l”_Toc359236791”3.5。1弱分类器 13HYPERLINK\l”_Toc359236793”3。5。2强分类器 15_Toc359236813"3.6Adaboost算法之检测 193。7用Haar分类器对图像进行检测 21HYPERLINK\l”_Toc359236815”第四章HSV肤色模型 24HYPERLINK\l”_Toc359236816"4。1HSV肤色模型原理 24HYPERLINK\l”_Toc359236817"4.1.1HSV人脸皮肤模型的建立及其必要性 244。1.2人脸皮肤模型的训练 25HYPERLINK\l”_Toc359236819"4.2人脸检测 26HYPERLINK\l”_Toc359236820"4。3实验结果 26HYPERLINK\l”_Toc359236822"第五章Haar分类器与HSV肤色模型结合检测 29_Toc359236824”第七章总结 31_Toc359236826"参考文献 33附录一人脸检测程序 34HYPERLINK\l”_Toc359236828”附录二积分图程序 48PAGE48第一章绪论1。1人脸检测的背景及意义随着科技的发展,传统的身份鉴定方法,如身份证和信用卡,开始让人们感到不便。其携带不便,易丢失,甚至有时可能会忘记了必须的密码,以及密码被识破等等,这些问题到会给人带来困扰和麻烦。人们需要一种新的可靠的身份鉴别,一种不可能遗失而且具有其特性的身份证明,这就是人脸、指纹、虹膜、声音等等的生物特征。由于人脸特征是一种更直接、更方便的识别方式,近年来以人脸为特征的识别技术迅速地发展起来。人脸检测问题最初来源于人脸识别,对人脸识别前首先当然是要对人脸进行定位,而且要准确,只有这样才能更好进行下一步,因此人脸检测显的越来越重要。与其他生物特征识别方法相比,人脸识别具有更加直接、方便、友好的特点,而且易于被人所接受,毕竟不会侵犯到人们的隐私,尤其在这个人们对自己隐私越来越重视的时代。而且,通过对人脸的表情、姿势等作分析,还可以得出更多其他有用信息,比如通过表情可以判断一个人的心情,性情。因此,人脸识别具有其他识别方式无法比拟的优势,发展潜力巨大,而且具有巨大的市场前景,是未来新技术发展的一个方向。现在,随着科学技术和电子商务的发展,人脸检测的应用背景已经远远超出了人脸识别系统的范畴,在基于内容的检索、数字视频处理、计算机视觉、人机交互等方面都有着重要的应用价值。早期的人脸识别研究对背景条件、图像中人脸个数等有严格限制,当时的优秀算法非常少,而且没有强大的辅助工具,因此假设人脸容易获得或在手工交互下运用,而人脸检测问题并未得到重视。现在的人脸识别技术是通过计算机根据预先设定好的程序自动的提取人脸的一些基本特征,然后根据这些特征判断是否为人脸。粗略来说,可以认为人脸识别包括三个步骤:人脸检测、人脸特征提取、人脸的识别.其流程如下图所示:识别验证特征提取人脸检测输入图像人脸图像人脸特征输出结果识别验证特征提取人脸检测图1-1人脸识别的一般步骤1.2人脸检测研究的现状在国内,八十年代末和九十年代初,人脸检测问题开始吸引了越来越多的研究者的关注,又越来越多感兴趣的研究人员进行探索,取得了一些有意义的研究成果。早期的人脸检测集中对空间域上静止图像的人脸检测为研究。中期开始采用模板的方法,通过建立人脸模型,可以实现在视频图像序列中进行人脸检测.而近期,许多研究人员采用的研究方法各自不同,有采用建立复杂模型的,有从空间域上进行研究的,有在频域上进行研究的,有将一些技术结合在一起研究的,有应用最新的分类决策进行研究的.不论采用和种研究方法,将多种技术结合在一起,利用多种信息可以提高人脸检测方法的效率。从目前国内外对人脸检测研究的现状来看,虽然针对人脸检测已经提出了多种算法,也取得了一定的成果,但是由于人脸检测本身的复杂性,使得人脸检测问题成为一个极富挑战性的课题,没有任何一种检测算法能够适应所有情况,即使几种算法的结合也无法适应任意条件下采取的图像,即没有绝对的最优算法,所以在人脸检测问题上还有很大的研究空间。1.3人脸检测研究的难点人脸检测是一个复杂的极具挑战性的模式检测,虽然一些科学大家们研究出了多种多样基于不同理论的算法,基于那些算法的检测方法也是多种多样,可是人们却悲哀的发现一个事实,没有一种算法或者方法能够适用于所有的情况,人脸检测仍面临各种各样的问题。至于其难点,通过大量的实验验证,归纳总结,主要有以下几点:(1)人脸具有很复杂的表情变化。人的表情是千变万化的,但是即使是一些小细节的不同都会对人脸检测造成不可预知的影响,如眼、嘴的开与闭等,还有外貌特征脸形、肤色等。(2)其他物体对人脸的遮挡.比如有人会戴着眼镜,或者头发比较长,一些少数民族或者非洲一些部落由于习俗会佩戴大量头部饰物以及其他外部物体等.(3)拍摄的角度问题.为了拍出的图像有更好的效果,拍摄图像时会用上各种手法和角度,比如旋转。(4)光照的影响,拍摄图像时的环境各异,或者光线充足,或者光线太暗;(5)图像的成像条件,如摄像设备的焦距、成像距离,图像获得的途径等等。以上的这些问题是当下常用到的一些检测方法时经常会遇到的,好一些的算法能够忽略其中某几项,但是没有哪种算法能很好的忽略所有问题,或者说即使有一种特别好的算法能忽略以上所有的问题,但是还是会遇到更多其他的问题。因此,对人脸检测的研究依旧任重而道远。1.4人脸检测评价标准评价一种检测算法到底好不好,一个关键的评价标准是检测的效率。这个效率问题不仅仅是人脸检测时不得不面对,面对其他问题也是一样。而人脸检测系统性能评价标准,其效率,主要体现在这几个方面:检测率,误检率,检测速度以及鲁棒性:(1)检测率顾名思义,检测率就是能够检测正确的人脸数占图像中所有人脸的比重,这个比重越高,说明检测率越高,越具有实用价值.(2)误检率假设被误检为人脸的非人脸子窗口数为n1,图像内被检测的所有非人脸子窗口数为n2,那么误检率=n1/n2。检测率只能反映系统对人脸的检测能力,但是通过大量实验会发现出现了这种情况:所有人脸都被检测到,但同时很多非人脸的区域被误检为人脸。因此引入误检率来衡量一个系统对非人脸的排除能力是否符合要求是非常必要的.误检率低,说明该检测系统对非人脸的排除能力就强.反之,就弱,甚至不可用。(3)检测速度检测效率的关键点除了正确率外就是检测速度。大部分应用领域需要在线实时地检测人脸,如人脸识别、人脸跟踪,视频监控等.在检测率和误检率达到满意的前提下在保证检测率的情况下,检测速度越快越好,甚至可以牺牲部分检测率换取速度的提高。(4)鲁棒性鲁棒性简单点来说就是检测系统的适应能力。就是在各种条件下如复杂背景的干扰,人脸表情、光照条件、遮挡等因素的影响,该系统仍有很好的检测能力。其实这四个标准并不是互相独立的,甚至有些情况下是彼长此长,彼消此消的,不能和谐。比如经大量的实验发现,误检率随着检测率的提高而提高,检测率随着误检率的降低而降低。1。5本次设计的工作本文针对的是人脸识别中的人脸检测,采用的是Haar分类器结合HSV肤色模型的方法。先用Haar分类器对图像人脸进行初步定位,Haar分类器能够较好的检测出人脸的位置,但背景会产生一定影响,然后通过HSV肤色模型进一步过滤,HSV肤色模型能够很好的过滤掉背景产生的影响,可以在一定程度上降低误检率.人脸检测流程如图1-2。本人的主要任务是,查阅大量相关文献资料,了解Haar分类器和HSV肤色模型的原理,了解其在人脸检测时的优缺点.利用MATLAB编程实现该方法下的人脸检测。图像输入Haar分类器检测图像输入Haar分类器检测最后结果HSV肤色模型过滤最后结果HSV肤色模型过滤图1-2流程图第二章人脸检测方法人脸检测方法分为以下四种:基于知识的方法(Knowledge-basedMethods)、特征不变方法(FeatureInvariantApproaches)、模板匹配方法(TemplateMatchingMethods)、基于外观的方法(Appearance—basedMethods).当然,有许多人脸检测的方法可能不属于上述中的某一类,而是几类的组合。也可以将人脸检测的方法简单地分为两类:基于特征和基于图像[1]。基于特征的方法指以某种特征为最小处理单元的方法;基于图像的方法指以图像中的像素为处理单元的方法.或者也可以简单的把人脸检测方法分为基于统计和基于知识这两种。虽然分类的标准不一样,但是目前所有的方法都可以归为以下之一或之二三.2。1基于知识的方法基于知识的方法主要根据的是人们关于人脸的先验知识。通俗点来说就是每个人都有两只眼睛,一个鼻子,一张嘴,而且两只眼是对称的,大小一样.两只眼睛之间或者眼睛与鼻子之间,鼻子跟嘴之间的相对距离以及它们的相对位置都有一定的关系,这都可以当成检测的规则。检测时,提取这些特征,通过这些特征之间的关系进行人脸定位,当图像中的待测区域符合准则,即被检测为人脸[2]。人脸及器官具有典型的边沿和形状特征,通常人们利用采用Laplacian,Sobel和Canny等算子来提取边沿特征,将这些特征用于人脸的定位。边沿和形状对于光照条件的变化具有很好的鲁棒性,灰度特征对光照比较敏感.有一种方法是基于知识规则的由粗到细的三级结构来检测人脸。具体做法是通过平均和采样的方法得到原图像在不同分辨率下的图像。然后根据不同分辨率的图像使用不同的判定标准进行判定,比如说低分辨率图像里主要判断人脸的大致轮廓,而在分辨率高的图像里则判断人脸的一些细节特征。然而,这个方法检测效率很低,但是这种由粗至细的检测思想对以后的研究工作产生了积极的影响[3]。但是人脸的类型有千差万别,如果制定的规则太细,真正的人脸可能会被漏掉;如果制定的规则太笼统,有可能造成较高的误检率。而且该种方法对人姿态的变化要求比较高,因为不可能列举出所有的姿势变化,这也大大局限了该方法的使用。2.2特征不变方法这个方法可以说是基于知识方法的升级版.基于知识的方法,可能由于人姿态的变化而降低检测的效率,因而这个方法的目的就是寻找一些即使当位姿、取图视角和光线变化时却依旧存在的结构特征,然后利用这些不变特征来定位检测人脸。显而易见,人们能很轻松的识别即使不同光线不同姿态下的人脸,因此有人提出这样一个假设:是否存在一些关于人脸的不依赖于外在条件的属性或者特征[4].有许多方法就是按照这个潜在假设,先是去寻找这种属性或特征(通过大量样本学习的方法),然后用寻找到的属性或特征去检测人脸.该类方法中所采用的特征不变量主要有:面部特征、纹理、皮肤颜色和多种特征的融合。而使用最多的是人的肤色作为特征,因为颜色信息和运动信息是一种有效减少搜索空间的特征.最近,人脸检测最常采用的方法是几种不同的特征方法结合检测。比如,可以先利用肤色信息确定人脸候选区域,减小搜索范围,在利用眼睛、鼻子、嘴唇等特征来确认最终的人脸区域.就像基于知识的方法存在多种问题,这个方法也无法避免。由于光照或者遮挡物等因素使图像中的人脸特征遭到严重的破坏,人脸的特征边界被大大弱化,这些都使得该方法的实用价值大为降低。2.3模板匹配方法模板匹配,简单来说就是利用人脸的外部特征,如眼睛、鼻子、嘴、人脸轮廓建模,然后跟候选图像区域对比,比较其相似性,得到表示相似程度的值,然后与相应阈值比较判断候选图像区域是否为人脸区域.由于模板本身比较粗略,所以模板匹配的人脸检测方法往往精度不是很高,而且计算量较大,速度较慢。模板匹配通常被用于人脸检测的验证,这样可以更进一步提高人脸检测系统的准确率,它的主要思想是利用模板与待检测图像之间的相关程度来对图像中的入脸进行判断[5]。可变形模板和预先定义的模板是人脸检测常用的模板。然而,在实际的检测中,由于人脸的尺度、形状等的变化较大时往往检测效果较差,此种方法也没有获得较广泛的应用.2。4基于外观的方法跟模板匹配中的模板是由人预定义的不同,基于外观方法的“模板”是靠学习得到的。它是利用统计分析和机器学习等方法来获得人脸和非人脸特征,再使用各自的特征构建分类器[6],使用分类器完成人脸检测。由于人脸图像的复杂性,只使用基本特征与简单规则很难有效地描述人脸与背景的本质区别,因此基于统计和学习的方法越来越受到重视。这类方法是把人脸区域看作一类模式,利用统计分析与机器学习的方法对大量人脸样本和非人脸样本进行学习得到各自的统计特征,然后根据这些特征构造分类器,通过判别图像中所有可能区域属于哪类模式的方法实现人脸检测。实际上,人脸检测问题被转化为统计模式识别的二分类问题。属于这类的方法,除了本次设计用到的Boosting(Haar分类器)方法,还有子空间方法,神经网络方法,支持向量机方法,隐马尔科夫模型方法。第三章Haar分类器分类器是一种使待分对象被划归为某一类而使用的分类装置或数学模型。它是一种计算机程序,其设计目标是通过学习后,可自动将数据分到已知类别。对于本次设计而言,分类器就是指对人脸和非人脸进行分类的算法.与基于知识的方法或者基于特征不变量的方法相比,使用分类器能够很好的区分人脸和背景,在人脸检测时能最大程度上减少背景的影响,提高检测率。本次设计使用Haar分类器。Haar分类器实际上是Boosting算法的一个应用,它用到了Boosting算法中的Adaboost算法,只是把Adaboost算法训练出的强分类器进行了级联,并在底层的特征提取中采用了高效率的矩形特征和积分图方法。Haar分类器是强分类器级联的结果,因单个强分类器检测率低,而Haar分类器却能大大提高检测的效率,弥补其不足。Haar分类器算法的要点如下:①使用Haar—like特征[7]做检测。②使用积分图(IntegralImage)对Haar—like特征求值进行加速。③使用AdaBoost算法训练区分人脸和非人脸的强分类器。④使用筛选式级联把强分类器级联到一起,提高准确率.在Adaboost算法中,每一个训练样本都被赋予一个权值,以反映该样本的重要性,表明它被某个子分类器选入训练集的概率。如果某个样本已经被正确分类,那么它的权值就要降低,在构造下一个训练集时,它被选中的概率就减少;相反,如果某个样本没被正确分类,那么它的权值就提高,它被选中的概率就增大,通过这样的方式,使权值较大样本对分类器的训练影响较大,分类器更加关注这些错误分类的样本,因为这些被错误分类的样本通常在决策边界附近,这样做可使算法能够“聚焦于”那些分类困难的样本上。3。1样本的选取在训练分类器之前,需要输入的数据有人脸样本、非人脸样本、矩形特征。样本的选取对最终的输出结果会有很多的影响,如果选择的人脸样本都是正面的,那么检测时对侧面和倾斜旋转人脸的漏检率就会比较高;如果选择的人脸样本表情单一,那么检测时对有其他表情的人脸就会漏检;如果选择的人脸照片光照强度分布均匀,那么检测时对光照强弱差异较大的人脸漏检率同样很高。人脸样本的选取本文主要使用ORL人脸库。ORL人脸库是由英国剑桥大学建立的,图像来自40人,每人10张照片,包括表情变化,微小姿态变化,20%以内尺度变化。3—1ORL人脸库其中一人的图像由于人活动范围比较大,所以在选择非人脸样本时要注意图片背景不能过于单一,否则训练时会出现非人脸样本不足而退出训练的情况.本文所用的几千张非人脸的样本均来自网络。图3—2部分非人脸样本图3.2Haar-like特征3。2。1几种常见的特征分类Haar型特征的定义是黑色矩形和白色矩形在图像子窗口中对应的区域的灰度级总和之差,它可以反映图像局部的灰度变化。Haar-like特征如图3-3:图3—3(1)Viola使用的几种特征图3—3(2)边缘特征(2e)(2f)(2g)(2h)图3-3(3)线特征(3b)图3-3(4)中心环绕特征图3-3(5)对角线特征将上面的任意一个矩形放到人脸区域上,然后把白色区域内的所有像素值加到一起,再求得黑色区域内的像素值的和,最后二者相减,得到的差值我们暂且称之为人脸特征值。同样的,如果把这个矩形放到一个非人脸区域,那么计算出的特征值应该和人脸特征值是不一样的,而且越不一样越好,所以这些方块的目的就是把人脸特征量化,以区分人脸和非人脸。为了增加区分度,可以对多个矩形特征计算得到一个区分度更大的特征值。下图3-2中的3个特征就能很好的描述图像中人脸的眼部的灰度的分布特点。图(a)覆盖了两只眼睛的位置,图(b)图(c)分别覆盖左眼和右眼。矩形特征可以反映待检测人脸的一些具体特征,比如说眼睛部分在图像中比眼睛下方的部分要暗。不过,人脸的所有特点是无法用一个矩形特征来表征完全的,需要不停的变换矩形特征的大小,而这些特征需要通过大量的样本训练得到的,而不是人工指定的,否则就与机遇模板匹配的检测方法没有区别了,因为模板匹配中的模板是人为事先确定的,而统计模式识别方法中的矩形特征具体参数事先是不知道的[8].

图3—4一种Haar特征举例3.2.2Haar特征数量计算对于一个样本为m×n的子窗口,只需要确定了矩形左上顶点和右下顶点,即可以确定一个矩形;如果这个矩形必须满足下面两个条件(称为(s,t)条件):(1)x方向边长能被自然数s整除.(2)y方向边长能被自然数t整除。满足(s,t)条件的矩形称为条件矩形。令,,则矩形特征的数目的计算方法如下:设初始化时特征矩形个数为0,逐渐放大矩形特征大小到,其中,,以步长为1的距离平行移动矩形特征,直至遍历图像中的每个像素点,在每一个扫描到的位置计算特征值。图示如下:图3-5特征值计算示意图则总的特征值为:(3—1)(3—1)若样本尺寸为,则m=20,n=20,代入上述公式计算得到该样本图像的矩形特征数为74309个。如果样本选择的尺寸为,则最后得出的特征数量将非常巨大,达到数十万之多。如果每一个这样的Haar特征都对应一个弱分类器,要想从这样庞大数目的弱分类器中训练出强分类器将是一个非常巨大的工程,其训练时间也将达到数天之长。因此,这是下面将要介绍到积分图是的Adaboost性能改进的一个关键点所在。3.3积分图积分图像就是将原图像中任一点的左上方的全部像素灰度值相加作为当前点像素值所得到的图像。通过积分图像可以方便的计算出原图像中任意矩形区域内的像素点灰度值的和,而不用每次都重新计算,从而达到加快计算的目的。积分图是Haar分类器能够实时检测人脸的保证。图3-6左上角积分的和每遇到一个图片样本,每遇到一个子窗口图像,我们都面临着如何计算当前子图像特征值的问题,一个Haar-like特征在一个窗口中怎样排列能够更好的体现人脸的特征,这是未知的,所以才要训练,而训练之前我们只能通过排列组合穷举所有这样的特征[9]。上一节我们知道,仅以Viola提出的最基本四个特征为例,在一个24×24size的窗口中任意排列至少可以产生数以10万计的特征,对这些特征求值的计算量是非常大的。而积分图就是只遍历一次图像就可以求出图像中所有区域像素和的快速算法,大大的提高了图像特征值计算的效率.积分图的构造方式是点i(x,y)处的积分值ii(x,y)是原图像该点上方和左方所有像素值的和:(3-2)其中ii(i,j)为积分图,i(x,y)为原始图像.为了看的更清楚,看下图所示:原图像积分图像原图像部分像素值对应积分图图像部分像素值图3—7积分图实例图积分图构建算法:1)用s(i,j)表示行方向的累加和,初始化s(i,—1)=0;2)用ii(i,j)表示一个积分图像,初始化ii(-1,i)=0;3)逐行扫描图像,递归计算每个像素(i,j)行方向的累加和s(i,j)和积分图像ii(i,j)的值(3-3)(3—4)4)扫描图像一遍,当到达图像右下角像素时,积分图像ii就构造好了.积分图构造好之后,图像中任何矩阵区域的像素累加和都可以通过简单运算得到如图所示:图3-8积分图设D的四个顶点分别为α、γ、δ、β,则D的像素和可以表示为(3-5)而Haar—like特征值无非就是两个矩阵像素和的差,同样可以在比较短的时间内完成。(详细程序见附录二)3。4Adaboost算法简介Adaboost是一种迭代算法,其核心思想是针对同一个训练集(训练样本)训练不同的分类器(弱分类器),然后把这些弱分类器集合起来,构成一个更强的最终分类器(强分类器)。其算法本身是通过改变数据分布来实现的,它根据每次训练集之中每个样本的分类是否正确,以及上次的总体分类的准确率,来确定每个样本的权值。将修改过权值的新数据集送给下层分类器进行训练,最后将每次训练得到的分类器最后融合起来,作为最后的决策分类器。使用Adaboost分类器可以排除一些不必要的训练数据,并放在关键的训练数据上面。Adaboost算法是1995年提出的一种快速人脸检测算法,是人脸检测领域里程碑式的进步,这种算法根据弱学习(学习是指基于某些简单规则的组合和对样本集的性能评估)的反馈,适应性地调整假设的错误率,使在效率不降低的情况下,检测正确率得到了很大的提高[9]。下图给出了Adaboost人脸检测算法进行训练和检测的流程图,本文也将分训练和检测两人脸非人脸Adaboost训练分类器人脸非人脸Adaboost训练分类器检测结果Adaboost检测输入图像训练过程检测过程图3—9Adaboost人脸检测算法流程图图3—9Adaboost人脸检测算法流程图3.5Adaboost算法之训练3。5.1弱分类器弱分类器就是根据某些单一依据来进行粗略分类的分类器,其分类的准确度要求很低,只要达到50%以上即可。将很多这样很简单的、精度不高的分类器按照一定的方式组合起来就可以提到一个很高准确率的强分类器.最初的弱分类器[10]只是一个最基本的Haar—like特征,计算输入图像的Haar—like特征值,和最初的弱分类器的特征值比较,以此来判断输入图像是不是人脸.然而这个弱分类器太简陋了,可能并不比随机判断的效果好,对弱分类器的孵化就是训练弱分类器成为最优弱分类器,这里的最优不是指强分类器,只是一个误差相对稍低的弱分类器,训练弱分类器实际上是为分类器进行设置的过程。一个弱分类器由子窗口图像x,一个特征f,指示不等号方向的p和阈值θ组成.p的作用是控制不等式的方向,使得不等式都是<号,p的取值为-1或者+1。其数学结构为:h(x,f,p,θ)=(3—6)训练最优弱分类器的过程实际上就是在寻找合适的分类器阈值,使该分类器对所有样本的判读误差最低.具体操作过程如下:对于每个特征f,计算所有训练样本的特征值,并将其排序。为了表达更清楚,可以建立如下一个表,存储所有的特征值。表3—1特征1特征2...特征n样本111…27样本234…56..。415…88样本D628…115(2)扫描一遍排好序的特征值,对排好序的表中的每个元素,计算下面四个值:全部人脸样本的权重的和t1;全部非人脸样本的权重的和t0;在此元素之前的人脸样本的权重的和s1;在此元素之前的非人脸样本的权重的和s0;设样本总数为D,l为人脸样本数,m为非人脸样本数,,为第k个样本的权值,则(3-8)(3-7)(3-8)(3-7)(3—10)(3-9)(3—10)(3-9)其中,当第k个样本为人脸样本时,为+1,为非人脸样本时,为-1。这样,当选取当前第k个元素的特征值作为阈值时,所得到的弱分类器就在k元素处把样本分开--也就是说这个阈值对应的弱分类器将k元素前的所有元素分类为人脸(或非人脸),而把k元素后的所有元素分类为非人脸(或人脸)。可以认为这个阈值所带来的分类误差为:(3-11)于是,通过把这个排序的表从头到尾扫描一遍就可以为弱分类器选择使分类误差最小的阈值(最优阈值),也就是选取了一个最佳弱分类器。同时,选择最小权重错误率的过程中也决定了弱分类器的不等式方向。3。5.2强分类器强分类器由若干弱分类器组成,强分类器的诞生是在训练好的弱分类器基础上经过T轮的迭代得到的,组合T个最优弱分类器得到强分类器,组合方式如下:C(x)=(3-12)其中x为待检测的窗口,为构成该强分类器的第t个弱分类器,为该强分类器阈值,C(x)的结果为0或者1,1表示人脸,0表示非人脸.那么,这个强分类器对待一幅待检测图像时,相当于让所有弱分类器投票,再对投票结果按照弱分类器的错误率加权求和,将投票加权求和的结果与平均投票结果比较得出最终的结果。(1)强分类器的训练检出率=被正确检出的人脸数/人脸样本总数(2)强分类器的训练误判率=被误判为人脸的非人脸样本数/非人脸样本总数根据这两个式子,设强分类器训练误判率目标值为,训练检出率的目标值为。Adaboost算法将根据这两个目标值来确定强分类器包含的弱分类器数目T[11]。组成强分类器的弱分类器个数随着级数的增加而增加,每层的强分类器经过阈值调整,使得每一层都能让几乎全部的人脸样本通过,而拒绝很大一部分非人脸样本。而且,由于前面的曾使用的矩形特征数很少,计算起来很快,越往后通过的候选匹配图像越少,尽管矩形特征增多,计算量却减少,检测的速度加快,使系统具有很好的实时性.预设强分类器包含的弱分类器个数为,然后根据个弱分类器训练一个强分类器,统计其检测率和误判率,当满足且时,可认为满足条件,不必在继续训练弱通过的候选匹配图像分类器。若不满足上述条件,则对进行调整。具体依据如下:(1)强分类器的检出率(误判率)随着阈值的减小而增大,随着阈值的增加而减小。极端的情况,如果将阈值设置为0,那么强分类器会将所有的样本分类为人脸,这时检出率和误判率最大,为100%。(2)增加弱分类器的数目可以减小误判率。根据以上两条,可以得到如下强分类器训练流程图:分类结果分类结果训练强分类器训练强分类器统计检出率和误判率统计检出率和误判率Y继续训练Y继续训练NN减小阈值减小阈值NNNNYY终止终止图3-10训练流程图3。5.3Adaboost算法的具体描述Adaboost算法的具体描述如下:输入:一组训练集:,其中为样本空间,为样本标识—1或者1;其中-1,1分别表示正样本和反样本。在人脸检测中,可以定义—1为非人脸,1为人脸。初始化:初始化训练样本的权重,其中或者(人脸样本和非人脸样本初始化为不同的值,m为非人脸样本总数,l为人脸样本总数)。对,循环执行下面的步骤:1。归一化权重:(3—13)2。对每个特征f,训练一个弱分类器;计算所有特征的弱分类器的加权错误率(3-14)(3-14)(3-15)3.选取最佳弱分类器,按最小错误率。(3-15)(3—16)(3—16)4。按照这个最佳弱分类器,调整权重:(3—17)(3—17)其中,表示被正确分类,表示被错误分类。最后的强分类器为:(3—18)(3—18)其中:Adaboost算法是目前在人脸检测方面检测速度较快、检测效果较好的一种检测方法,它是一种把弱分类器采用级联的方式训练成为强分类器的方法。这些弱分类器只需要满足比随机猜测好一点,就能通过不断的修正每个弱分类器的权值,即挑选那些比较好的分类器,抛弃不好的分类器,从而最终形成由这些弱分类器组成的强分类器,相比较其他的方法而言,Adaboost方法对每个弱分类器的权值的形成都是无人值守的,完全自动化的,因而Adaboost算法有着比较好的易用性。大量的实验证明,Adaboost算法是有效的将多弱分类器强化成为强分类器的一种方法,经过训练的分类器具有比较好的分类效果,而且速度较快。Adaboost算法首先提取图像中的haar特征,再将训练得到的haar特征转换成弱分类器,最后将得到的弱分类器进行优化组合用于人脸检测。3.5.4级联强分类器Haar分类器是有两个体系的,训练的体系和检测的体系。训练的部分大致都提到了,还剩下最后一部分就是对筛选式级联分类器的训练。我们看到了通过AdaBoost算法辛苦的训练出了强分类器,然而在现实的人脸检测中,只靠一个强分类器还是难以保证检测的正确率,这个时候,训练出多个强分类器将它们强强联手,最终形成正确率很高的级联分类器,这就是我们最终的目标—Haar分类器。在级联分类器中,每一个待检测窗口只有通过了当前层的强分类器才能进入下一层.这样大连的待检测窗口之需要最初几层简单的判断就可以被迅速淘汰,使得平均检测成本大大降低。多层级联结构中,每一层的强分类器都是由Adaboost算法训练出来的.它的结构如图所示:图3—11级联分类器级联强分类器的策略是,将若干个强分类器由简单到复杂排列,希望经过训练使每个强分类器都有较高检测率,而误识率可以放低,比如几乎99%的人脸可以通过,但50%的非人脸也可以通过,这样如果有20个强分类器级联,那么他们的总识别率为0。99^20约等于98%,错误接受率也仅为0。5^20约等于0。0001%.训练L层级联分类器的步骤如下:

(1)训练第i层强分类器fn;(2)保存强分类器的参数,即各弱分类器的参数、强分类器的阈值以及被fn误判为人脸的非人脸样本;(3)补充非人脸样本集,组合前i层强分类器对候选非人脸样本进行检测,将被误判为人脸的非人脸样本加到样本集中;(4)训练第i+1层强分类器。系统检测率和系统误检率的计算:(3-19)(3-19)D为级联分类器的检测率,为强分类器的检测率。(3—20)(3—20)F为级联分类器的误检率,为强分类器的误检率。n为级联数目,由系统所要达到的检测率和误检率决定。级联分类器的优势:(1)降低训练难度对于一个强分类器与一个L层的级联分类器,假设它们误判率相同为F,可知级联分类器的各层强分类器的误判率要大于F,训练一个误判率较高的强分类器难度相对较小.

(2)降低非人脸样本选取难度

训练级联结构的分类器,通过程序“自举”非人脸样本,逐层增加训练难度,可以很好的解决非人脸样本选取的难题。3.6Adaboost算法之检测人脸检测过程需要对图像进行有效的扫描,有效地扫描方式有如下两种:

(1)图像放缩法检测人脸

将检测图像按比例缩放成一系列图像,称为“图像金字塔”。对图像金字塔中的每一个图像进行与训练样本窗口大小一样的扫描。放缩检测窗口时要考虑到两个方面的因素:既不能使相邻大小的窗口放大的倍数过大,因为这样会漏检过小的人脸;同时又要考虑到,如果相邻窗口的大小相隔太小,检测过程会有很多多余的计算,检测速度会变慢[12]。如下图所示:

图3—12图像放缩法检测(2)检测窗口放大法检测人脸

放大检测窗口法将图像保持不变,按比例不断放大检测窗口,直到检测窗口达到图像大小,停止放大。但是此方法需要重新调整计算Haar特征值,如果调整不好将会降低检测率。

图3—13检测窗口放大法检测采用了逐级等比放大检测窗口后,通常同一个人脸会在不同的尺度和相邻的位置上被检测到很多次,所以还需要一个合并的过程将所检测出来的矩形进行合并以得到唯一的人脸图像位置和人脸图像尺度。

在同一尺度下,当检测到人脸的两个子窗口重叠部分超过当前窗口大小的1/2时,合并重叠的子窗口,合并的方法就是取平均值.此外,在不同尺度下检测到的窗口如果发生重叠也需要合并,合并的方法也取平均值。

图(a)是同一尺度下多个窗口重叠的结果,图(b)是在不同尺度下多个窗口相互重叠的情况,图(c)是最终合并的结果。图(d)是检测流程图。图3-14(a)多窗口重叠图3—14(b)不同尺度的重叠图3-14(c)最终合并图输入图像输入图像灰度图像灰度图像积分图积分图多尺度检测多尺度检测当前尺度合并当前尺度合并NNN是否为单一图框N是否为单一图框YY输出结果输出结果图3-14(d)检测流程图3.7用Haar分类器对图像进行检测Haar分类器构造好了之后就可以用来检测图像中的人脸个数了。以下是用训练好的Haar分类器对输入图像进行检测,部分结果为:图3—15(1)检测结果图图3-15(2)检测结果图从网上随机找几张图片进行检测,其中效果较好的结果图如下:图3—16(1)随机图检测结果图3-16(2)随机图检测结果不仅从网络上直接找的图片会出现误检情况,现实中拍摄的图像也会出现,还会出现漏检。如下图:图3-17出现漏检图3—18出现误检从实验结果可以看出,不管是从网上随机选取的图片还是亲自拍摄的图片,Haar分类器的检测率还是很高的,然而也不难发现这种检测人脸的方法的漏检率误检率还是存在的。从有限的实验结果来分析,漏检的原因主要在于待检测的人脸中眼睛部分不够清晰。这主要是因为训练集数量太少,而且非人脸样本比重偏低.事实上,世界上的非人脸样式要远远大于人脸样式,因此有足够多的非人脸样本,才能够让分类器对非人脸图案的“分辨”能力大大提高。而出现误检则是由于Haar分类器自身的缺点导致,或者是背景过于复杂。接下来要介绍的HSV肤色模型则可以在一定程度上降低误检的概率,弥补Haar分类器的不足.第四章HSV肤色模型HSV[13]模型是面向用户的,是一种复合主观感觉的色彩模型。HSV模型对应于圆柱坐标系中的一个圆锥子集,如图4—1所示:图4—1HSV色彩模型HSV模型中,H即色调(Hue),表示颜色的种类,取值范围为[0,1],相应的颜色从红、黄、绿、蓝绿、蓝、紫到黑变化,且它的值由绕V轴的旋转角决定,每一种颜色和它的补色之间相差108。。S即饱和度(Saturation),它的取值范围也是[0,1],相应的颜色从未饱和(灰度)向完全饱和(无白色元素)变化。V即亮度(Value),其取值范围同样是[0,1],相应的颜色逐渐变亮,它和光强度之间并没有直接的联系.4.1HSV肤色模型原理4.1。1HSV人脸皮肤模型的建立及其必要性在一幅RGB彩色图像中,每一个像素点由R、G、B三个分量所组成。每一个分量的变化都能直接导致彩色图像中该像素点颜色的改变.如,在阳光灿烂的天气下所拍摄的图像颜色鲜艳,色彩饱和;相同背景下,在阴雨天所拍摄的相同图像,其颜色暗淡,色彩灰沉.这样,在同一像素点处,所表示的颜色大不相同,其RGB分量的灰度值也大不一样。也就说RGB彩色模型受光照的变化影响很大.在这种情况下,如果选择RGB彩色模型来进行人脸皮肤颜色建模的话,可能对同一个人的人脸皮肤检测会应光线亮暗的不同,而导致检测的结果有所出入。在恶劣的情况下,甚至会导致无法判别出人脸区域。考虑到光线影响的情况,本次设计中特地选择了HSV彩色模型作为人脸皮肤模型建立的彩色空间。对于HSV彩色模型来说,它能将亮度信息和色度信息从输入图像中分离出来,并且能够独立表示。H分量代表图像的纯色彩信息,即其表示的是图象的颜色信息;S分量代表图像的饱和度信息,即其表示的是图象的颜色的深浅;V分量代表图像的亮度信息,即其表示的是图像的颜色的亮度。由此可见,H分量只表示目标的彩色信息,相对RGB颜色模型来说,受光照变化的影响缓慢。选择H分量作为人脸皮肤颜色统计的参数,可以降低光照影响的作用[14]。人类有白色,黄色和黑色人种,其人脸皮肤颜色也各自不同,建立模型的时候需要分别对待,本次论文研究的是黄色人种的人脸皮肤检测。在每一人种中,其人脸皮肤颜色都是分布在一个较窄的频带上,皮肤颜色分布范围集中在某一区域。即,在色相H分量中,表示为集中在某一小区域范围内。这样就可以,基于HSV彩色模型下,利用H分量受光照影响变化缓慢的性质,来建立一个人脸皮肤彩色模型,即人脸皮肤色相的统计表,将人脸的颜色区域估计出来,再利用这个人脸皮肤彩色模型对任意图像进行人脸检测.由此,在建立人脸皮肤模型时,需要先将在RGB彩色模型下的图像转换为HSV彩色模型的图像.通过对一定数量的人脸皮肤进行统计后,获得关于人脸皮肤颜色的区域范围。而这个范围包含了人脸皮肤的颜色信息。4。1。2人脸皮肤模型的训练在上一节里介绍了人脸皮肤模型的建立,实际上该模型就是色相H的颜色表。通过对一定数量的人脸皮肤进行估计就可以得到比较完善的人脸皮肤模型,所以对人脸皮肤模型进行训练是必须的。以下介绍人脸皮肤模型的训练的步骤:1。建立H分量的颜色表。在HSV彩色模型中,H分量是0—1范围内的值。考虑到在HSV彩色模型的立体图里H为一个旋转分量,每一度数就表示一个颜色。这样可以制定一个大小为360的颜色表,这个颜色表就是人脸皮肤模型,人脸皮肤模型的初始值为0。2。人脸皮肤模型的颜色统计。将一幅要进行估计的人脸图像转变为HSV彩色模型下的图像,取H分量的图像,并且将从0—1的数字范围转变为0—359的数字范围。统计变换后的H分量图像中,每个像素值出现的次数,将其加入表中对应的位置上。即,变换后的H分量中为200的像素点出现了99次,则在人脸皮肤模型中对应的200位置上,在原来的数目上再加上99。3。训练人脸皮肤模型。将要进行训练的人脸皮肤图像,重复步骤2进行统计。一般来说,进行训练的人脸皮肤图像越多,人脸皮肤颜色模型越完善,人脸的区域的正确检测性越高。本次设计将用二十幅人脸皮福图进行训练。4.训练的模型概率化。训练完人脸皮肤模型后,得到的颜色表中数值比较大。为了便于直观分析,可以利用下式进行概率化,即归一化:(4—1)(4—1)其中,表示颜色表中第i个颜色数值出现的概率,表示第i个颜色数字的出现个数,表示有幅人脸皮肤图像进行训练,第j幅图像的宽和高分别为和。5.获得人脸皮肤模型。经过步骤4后得到了概率化后的人脸皮肤模型,颜色数值对应的概率值大小可以表示该颜色数值为人脸皮肤颜色的可能性的大小.概率大的,为人脸的可能性大;概率小的,为人脸的可能性小。通过对人脸皮肤模型进行训练后,获得了比较完善的人脸皮肤模型,这一模型里包含了比较完善的人脸皮肤信息。根据概率值的大小,可以判断出人脸皮肤区域集中的颜色空间,从而能够对任意的图像进行人脸检测。4.2人脸检测通过第4。1节的模型建立和训练后,将会获得一个比较完善的人脸皮肤模型,通过这个人脸皮肤模型,就可以对图像进行人脸检测。由于人脸皮肤模型是一些概率值,这些概率值表示了某一个颜色数字与人脸皮肤颜色的距离。由此可以通过判断某一点的颜色数字的概率值大小来区分该点是否为人脸.而这样的判断需要通过给予一个门限值来划分,这个门限值的给定影响人脸检测的结果。可以通过多次试验后,给出一个直观的合理的门限值。本文中门限值设为0。01。门限值给定了以后,就能对一幅图像进行人脸检测。首先,需要就图像转换为HSV彩色模型下,取其H分量的图像;其次,将H分量的图像转换到0—359内,这样将会便于进行快速查表进行判断;再次,由于已知给定的门限值可以对皮肤颜色模型进行判断,得到为人脸皮肤颜色的颜色数字范围,所以,能够把变换后的H分量图像中每一像素点上的数字进行判断;最后,得到的为人脸区域的像素点,这样就可以检测出人脸区域和非人脸区域.在人脸检测的过程中,主要注意的是人脸皮肤模型的判断门限值。如果进行训练的人脸皮肤样本比较多时,门限值对人脸检测的影响不大;相反,如果进行训练的人脸皮肤样本比较少时,门限值对人脸检测的影响比较大。一般来说,在训练人脸皮肤模型时,为了达到人脸检测的准确性要求,训练的人脸皮肤样本足够多,因此,该门限值只要取在适当的范围内,对人脸的检测结果影响不大。4.3实验结果本实验用20幅人脸皮肤图像对人脸皮肤模型进行训练.选用的人脸皮肤图像是使用Photoshop对一幅图像进行手工分割,把图像中人脸的部分切割出来再去掉眼睛和眉毛部分而得的。部分人脸皮肤图为:图4-2。1人脸皮肤图图4-2。2人脸皮肤图图4-2。3人脸皮肤图经过对人脸皮肤进行训练后,获得人脸皮肤模型,可以通过颜色的接近程度判断出人脸区域。由于人体的皮肤颜色和人脸的皮肤颜色大致一样,所以进行人脸检测的图像中如果含有人体其他皮肤区域的话,同样能够被检测出来。如图下图所示。所以,进行人脸检测的时,选择了一些不包含人体其他皮肤区域的图像进行检测。但是即使这样还是会有误检的地方,有些背景跟皮肤颜色相近,检测时便不会被检测出来。图4—3。1待检测的图像图4-3.1检测结果图图4—4。1待检测的图像图4—4。2检测的结果图(a)(b)图4-5误检图像从图4—5第一张图可以看出,除了人脸部位,还有很多其他部分被检测出来,主要原因是肤色不好,跟提取的阈值相近。第五章Haar分类器与HSV肤色模型结合检测通过大量实验表明,先用Haar分类器检测,再通过HSV肤色模型进一步过滤能大大降低误检的概率,部分结果如下图所示:图5—1。1原图图5—1。2Haar分类器检测图图5-1。3肤色过滤图图5-2。1原图图5—2。2Haar分类器检测图图5—2.3肤色过滤图然而即使两种方法的结合依然不够完美,通过大量的实验可知,有些图像还是会有误检,如下图:图5-3.1原图图5-3。2Haar分类器检测图图5—3。3肤色过滤图从图5—3可以看出,虽然经过HSV肤色模型过滤后仍有一处误检。其原因是,经HSV肤色模型检测后如图4—5图(b),误检的位置被认定为皮肤区域,所以无法排除。因此今后的研究方向可以分为三个,一是改进算法,Haar分类器还有很大的提升空间,也可以增加HSV模型的训练样本,二是考虑在这两种方法的基础上增加更多的方法,用两种以上方法的结合,比如SMQT特征和SNOW分类器等等,三是充分考虑各种算法的优缺点,在其基础上开发出更好用、检测效率更高的算法.第六章图形界面图形用户界面(GraphicalUserInterface,简称GUI[15],又称图形用户接口)是指采用图形方式显示的计算机操作用户HYPERLINK"/view/240704.htm”界面。为本次毕业设计的人脸检测系统设计GUI界面,实现一个简易的人机交互界面,包括人脸检测的各个检测结果,查看图像,退出等多项功能.GUI界面下图所示:图6-1gui图像图6—2检测图像第七章总结这次毕业设计,完成了复杂背景下静止图像的人脸检测设计,并用MATLAB软件仿真实现.本次设计用的是Haar分类器对待检测图像进行初步检测定位,然后根据HSV肤色模型对待检测图像进一步过滤.最后综合二者检测结果的相同之处,相当于取二者的交集,得到最后的检测结果。本次设计用的是Adaboost算法训练分类器.针对一幅样本中数以十万计的Haar特征,而每一个这样的特征都可以当成一个弱分类器。利用Adaboost算法先训练出最优弱分类器,然后训练弱分类器为强分类器,最后训练强分类器为级联强分类器,即Haar分类器。分类器训练好了就可以对待检测图像进行检测了.Adaboost算法的一个缺点是训练时间长,而积分图可以大大减少训练的时间。训练的结果表明,该分类器的误检率有点高,主要原因是训练的样本不够大.HSV肤色模型利用的是H分量对光线变化不敏感的特性,提取20幅人脸皮肤模型中的H分量,然后对待检测图像进行检测。实验结果表明,该方法能很好的区别出皮肤区域与非皮肤区域,然而也不难发现,误检率也是很高,主要原因是背景或其他衣物的颜色跟皮肤颜色相近时会被误认为是皮肤区域。大量实验结果表明,利用这两种方法的结合能够在一定程度上降低误检率,由于是取的二者的共同之处,以Haar分类器为主,HSV肤色模型为辅,所以当Haar分类器检测出现漏检时,HSV肤色模型也无法降低误检率。当Haar分类器误检的区域被HSV肤色模型认为是皮肤区域时,该处会被误检。从检测结果中可以看出来,很多图像仍有误检、漏检的区域,还有就是检测的时间仍然很长。训练时,Adaboost算法在每轮迭代后,一些样本的权值会被更新为小于初始权值,这些样本在下一轮迭代时仍可能会被选中,这样就会出现重复选取样本的现象。今后的思考方向,就是如何避免这一点.谢辞一篇论文的完成不可能是自己一个人独自研究的结果,在写论文期间离不开一些人的帮助。谨在此万分感谢岳姝岳老师对我不厌其烦的谆谆教导。岳老师尽职尽责,对我们要求严格,百忙之中仍旧惦记着我们的进度,并对我们遇到的问题提供及时的帮助.仍记得开学之初岳老师指点我改开题报告的那个夜晚,当时应该都晚上十点多了,收到岳老师的短信,说开题报告已经看完了,需要修改的地方已经标注好了。我迫不及待打开邮箱,发现岳老师非常有心的用不同的颜色把需要修改的地方给我标注了出来.按照岳老师的指导,我的理解,我改完后,自我感觉良好,然后顺便发了回去。第一次改完已经十一点多了,我接着干别的事情。半个小时后,邮箱提醒有新的邮件,我好奇打开后发现是岳老师给我的回复,开题报告还是有些问题。我接着修改,发给岳老师,并希望她早点休息.正当我以为这次岳老师应该休息了吧,半个小时又过去后邮箱再次提醒有岳老师的新邮件,我继续修改,发送,接收,修改…当我终于改的基本达到岳老师的要求后,已经凌晨一点多了.接下来做毕业设计的日子里,岳老师依旧兢兢业业,对我们四个耳提面命,电话短信也是很频繁,总是忧心我们的毕设不能按时完成。岳老师,您辛苦了!除了岳老师帮助,我对我们组其他三人也是充满感激,由于他们的鼓励,对我的扶持,才能完成此次论文。只有我们四个的设计有相通之处,遇到无法解决的一些小问题,我总是习惯向他们三个请教。虽然有时意见不同,免不了争吵,可是我们之间的友情却在这一次次“斗嘴”中更加深厚。感谢你们!还有好多其他同学,虽然他们为我的设计帮不上什么忙,可是当我因为毕设头痛心烦,遇到难题无法解决几欲崩溃时,是他们始终陪在我身边,陪我打几局游戏,陪我去操场散散心,倾听我的抱怨,陪我去发泄,鼓励我,安慰我,为我出谋划策…有你们真好!还有不得不提到的是这四年教过我的所有老师,谢谢你们!没有你们教给我的基础知识,我不可能顺利完成本次设计。

最后再次感谢在大学传授给我知识以及给我帮助和鼓励的老师,同学和朋友,谢谢你们!

参考文献[1]赵书兰.MATLAB数字图像处理与分析实例教程[M]。第一版。北京:化学工业出版社,2009[2]YangM-H,KriegmanD.Asurveyonfacedetectionmethods。IEEETransonpatternAnalysisandMachineIntelligence,2002,20(1):23-38。[3]赵丽红,刘纪红,徐心和。人脸检测方法综述[J].人工智能与机器人研究所.2004,09-0001-04[4]孙宁,邹采荣,赵力.人脸检测综述[A]。电路域系统学报.2006,06—0101-08[5]梁路宏,艾海舟.人脸检测研究综述。计算机学报2002,25(5):449-458[6]邵林昌.基于混合方法的人脸检测综述[A]。濮阳职业技术学院学报.2005,04-0013-02[7]ViolaP,JonesM。Rapidobjectdetectionusingaboostedcascadeofsimplefeature[C].Kauai,Hawaii:ProceedingIEEEconfonComputerVisionandPatternRecognition,2001,511-518[8]邓亚峰,苏光大,傅博。一种基于AdaBoost的快速动态人脸检测算法[A].计算机工程.2006,11—0222—03[9]付炜,孔祥栋.基于肤色和Adaboost算法的人脸检测[A]。2012,06—131—04[10]涂程胜,刁力力,鲁明羽,陆玉昌.Boostjing家族AdaBoost系列代表算法。计算机科学.2003,30(4)[11]谢淑丽。基于双肤色模型及Adaboost算法的人脸检测。莆田学院学报[A]。2009,05—0064-04[12]赵江,徐鲁安.基于Adaboost算法的目标检测[A].计算机工程。2004,04—0125—0213]王伟,张佑生,方芳.人脸检测与识别技术综述[A]。合肥工业大学学报。2006,02-0518—06[14]张强,王正林。精通MATLAB图像处理[M].第一版。北京:电子工业出版社,2009[15]李显宏。MATLAB7。x界面设计与编译技巧[M]。第一版.北京:电子工业出版社,2006附录一人脸检测程序function[output_args]=Match_best_gui(input_args)f=figure('Visible’,'off','Position',[0,0,900,800],'ToolBar’,'none');hopenfile=uicontrol(’Style’,’pushbutton','String',’打开图像’,...'Position’,[45,10,75,30],'FontSize',10,。..’Callback',{@openfile_button_Callback});hstart1=uicontrol('Style','pushbutton’,’String’,'人脸检测’,.。.’Position',[125,10,75,30],’FontSize',10,..。’Callback’,{@start1_button_Callback});set([f,hopenfile,hstart1],’Units',’normalized’);set(f,’Name’,'人脸检测’)movegui(f,’center’)subplot(2,2,1);imshow(’。\empty.jpg’);title(’请输入要检测的图像');subplot(2,2,2);imshow('。\empty.jpg');subplot(2,2,3);imshow('.\empty.jpg');subplot(2,2,4);imshow('。\empty。jpg’);set(f,'Visible','on');functionopenfile_button_Callback(source,eventdata)[appoint_filename,pathname]=uigetfile('*。bmp;*。jpg','请选择图片’);ifisequal(appoint_filename,0)||isequal(pathname,0)elsemy_show_other(strcat(pathname,appoint_filename),appoint_filename);endendglobalcurrent_x1;current_x1=0;globalcurrent_x2;current_x2=0;functionstart1_button_Callback(source,eventdata)%%训练的色相概率统计表HSVmap=zeros(360,1);M=imread('1.jpg');Hmap=testHSV(M,HSVmap);M=imread('2。jpg’);Hmap=testHSV(M,Hmap);M=imread('3。jpg');Hmap=testHSV(M,Hmap);M=imread('4.jpg’);Hmap=testHSV(M,Hmap);M=imread('5.jpg’);Hmap=testHSV(M,Hmap);M=imread('6。jpg');Hmap=testHSV(M,Hmap);M=imread(’7.jpg’);Hmap=testHSV(M,Hmap);M=imread('8.jpg');Hmap=testHSV(M,Hmap);M=imread(’9.jpg');Hmap=testHSV(M,Hmap);M=imread('10.jpg');Hmap=testHSV(M,Hmap);M=imread(’11。jpg’);Hmap=testHSV(M,Hmap);M=imread(’12.jpg');Hmap=testHSV(M,Hmap);M=imread(’13。jpg’);Hmap=testHSV(M,Hmap);M=imread('14。jpg');Hmap=testHSV(M,Hmap);M=imread('15.jpg’);Hmap=testHSV(M,Hmap);M=imread(’16.jpg’);Hmap=testHSV(M,Hmap);M=imread(’17。jpg’);Hmap=testHSV(M,Hmap);M=imread(’18.jpg');Hmap=testHSV(M,Hmap);M=imread(’19。jpg');Hmap=testHSV(M,Hmap);M=imread('20。jpg');Hmap=testHSV(M,Hmap)

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论