欢迎来到三一办公! | 帮助中心 三一办公31ppt.com(应用文档模板下载平台)
三一办公
全部分类
  • 办公文档>
  • PPT模板>
  • 建筑/施工/环境>
  • 毕业设计>
  • 工程图纸>
  • 教育教学>
  • 素材源码>
  • 生活休闲>
  • 临时分类>
  • ImageVerifierCode 换一换
    首页 三一办公 > 资源分类 > DOCX文档下载  

    设计-人脸检测算法研究.docx

    • 资源ID:6702166       资源大小:342.70KB        全文页数:29页
    • 资源格式: DOCX        下载积分:5金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要5金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    设计-人脸检测算法研究.docx

    摘要随着人们对于更加便捷、更加安全的生活的追求,人脸检测与识别技术已经成为如今模式识别与计算机视觉领域的研究热点。由于人脸信息比其他的生物特征有更多的可取性,它在人机交互、视频监控、公安系统等领域有着巨大的应用前景。在本文中,我们主要开展的工作有:1 .对人脸检测相关的数字图像处理的知识进行系统的学习。2 .对目前现有的多种常见的人脸检测以及人脸识别的方法进行介绍,并对这些现有的算法进行深入的分析,了解他们各自的优势和不足。3 .对了AdaBoost算法中弱分类器、强分类器、Haar特征等知识进行了深入的分析,通过对多个分类器的级联,从而构建了一个人脸检测系统。4 .详细分析了AdaBoost算法应用在人脸检测技术时的准确性。通过肤色特征和人脸几何特征的加入,优化了人脸检测的算法,提高了系统的检测效率和准确率。关键词:人脸检测;图像处理;AdaBooSt算法;肤色特征ABSTRACTAspeopleseekmoreconvenient,moresecurelives,Facedetectionandrecognitiontechnologyhasbecomeahottopicofpatternrecognitionandcomputervisionnow.Sincethehumanfacehasmoredesirablethanotherbiometrics,Ithasgreatprospectsinthefieldofhuman-computerinteraction,videosurveillance,publicsecuritysystem.Inthispaper,Wemainlycarriedouttheworkare:1.1. elearnedtheknowledgeofdigitalimageprocessingaboutFaceDetection.1 .Introduceavarietyofcommoncurrentlyavailablefacedetectionandfacerecognitionmethodandin-depthanalysisoftheseexistingalgorithms,Understandtheirstrengthsandweaknesses.3 .Analysisweakclassifier,strongclassifier,HaarfeaturesknowledgeinAdaBoostAlgorithm9Cascademultipleclassifiers,inordertobuildafacedetectionsystem.4 .AnalysistheaccuracyoftheAdaBoostalgorithmwhenitisusedinfacedetection.Wehaveoptimizedthefacedetectionalgorithmtoimprovetheefficiencyandaccuracyofthesystembecauseofskincolorandfacialfeaturesgeometricfeaturesadded.KeyWords:Facedetection;Imageprocessing;AdaBoostalgorithm;skincolorfeature第一章绪论11.1 研究的背景和意义11.2 人脸检测技术相关应用领域的介绍11.3 人脸检测需要注意的问题21.4 人脸检测技术的研究现状3第二章人脸检测方法综述42.1 基于启发式(特征)模型的人脸检测42.2 基于肤色模型的人脸检测技术52.3 基于统计模型的人脸检测技术6第三章人脸检测的基本原理与相关技术62.4 1图像的数*表63. 2图像预处理模块63. 2.1未卜彳ZX64. 2.2灰度变换85. 2.3平滑空间滤波器96. 2.4107. 2.5图像的膨胀和腐蚀11第四章基于AdaBOoSt方法的人脸检测研究138. 1AdaBoOSt算法简介134. 2AdaBOoSt算法在人脸识别中的应用134. 3AdaBoost-算法具体内谷144. 3.IAdaBoost算法的训练过程145. 3.2AdaBooSt算法的理论分析164. 4级联AdaBoost分类器175. 5基于肤色信息的AdaBoOSt人脸检测算法186. 6225L章z'j232425第一章绪论1.1 研究的背景和意义人脸是人类所特有的,在我们的日常视觉世界中是最常见的对象。看似简单的一张人脸却能够包含大量的信息,有着各种复杂和细微的变化。在我们的实际生活中,我们的眼睛就扮演者完美的人脸检测的工具,人脸识别是人与人之间交流沟通的一种最重要的依据。对于我们的眼睛和大脑来说这项工作或许比较简单,但是对于机器而言是非常困难的,所以与人脸相关的检测技术一直是计算机视觉和人工智能领域中一项极富挑战性的工作。另一方面,人脸检测技术在我们的日常生活中已经扮演着越来越重要的角色。如视频监控、人机交互、人脸识别、人脸数据库分类管理等业务均用到了人脸检测这个关键技术,可见对于人脸检测技术的研究是有很大的意义的。人脸检测技术的实质就是在目标图像中找出人脸部分并进行识别的过程,但是由于技术原因,前几年的人脸识别技术只能停留在识别静态图像而且假定人脸位置已知的水平。但是由于近几年人们对于人类身体的生物信息的利用越发火热,人脸检测技术有了很大的进展,人脸检测的应用场合已经不仅仅知识局限于识别人脸,他在视频监控、人机交互、人脸数据库分类管理等业务中都扮演着极为重要的角色。1.2 人脸检测技术相关应用领域的介绍(1)视频监控在一些安全监控部门,为了保证目标环境中的安全性,这就要求摄像机把周围的环境以及其中所有人的活动过程记录下来。如果有人在活动,这是监视设备应该更关心目标的人脸的方向和位置,而不是将目标放在人物的服装等次要因素,从而方便以后的翻看和检查工作。这就需摄像机具备在视野内自动进行跟踪的能力。人脸的检测和跟踪是这一类应用十分重要的一个部分。(2)人脸检测在公安系统中的应用利用人脸检测技术来辨别黑名单中的犯罪分子是公安部门目前十分迫切的需求,这同时也是人脸检测技术的一个重要的应用。这种应用要求事先建立好大量的有关黑名单成员的数据库,在实际实施的时候将需要现场采集的人脸特征与数据库中数据资料进行一比对直至找到相似度足够高的目标。在多年的积累下,公安部门已经掌握了大量的数据,这使得这一应用得以成为现实。(3)虚拟现实和电子游戏等随着科学技术的不断发展,电子游戏产业也呈现出欣欣向荣的景象,多种多样人机交互类的游戏产品也不断被推出。在游戏中应用人脸检测技术可以使得应用能够感知游戏操作者的头部的动作以及面部表情的变化,进而对信息进行处理,从而极大地增加了游戏的娱乐性。(4)基于内容的图像检索现在许多应用都集成了很大规模的图像数据库,并且是其中十分重要的组成部分。想要在众多的图片中找到目标图片不是一件容易的事情,最好的办法还是得利用图像本身的特征。比如说我们要从众多图片中找到一张小女孩的图片,我们就要应用到人脸检测的技术,在图片中先找到与人脸吻合的图片,而不是检索出来一张风景或者是建筑的图片。(5)媒体压缩的需要为了节约存储空间和传输带宽,但是同时又保证能够传递足够的信息,在对视频或者图片进行压缩的时候,应保证人们最为关注的目标有尽可能小的失真,而对背景进行尽可能大的压缩。多数情况下,人的活动和面部表情成了关注的焦点。这是人脸检测和分割成为研究热点的原团之一。1.3 人脸检测需要注意的问IS在进行人脸检测之前,我们可以从不同的角度对这个问题进行分类。从目标图像中人脸的姿态来看的话可以分为正面人脸识别和侧面人脸识别;从图像中人脸的个数来分的话可以有单个人脸识别和多人识别;从图像背景的复杂程度来看可以分为单一背景的人脸识别和复杂背景的人脸识别(如背景中环境和光线比较复杂的情况)。由于知识所限,本文主要讨论静态简单背景图片中的相关人脸检测算法。同时,在人脸检测的时候,我们需要要考虑到以下几个困难点:(1)人脸本质上是三维的非刚性的物体。由于人物的表情、神态等因素影响,每一个人脸样本都有着比较大的差别;(2)在日常生活中经常出现在我们视野中人脸通常都会有胡须、眼镜等各种遮挡物体,对我们的识别准确度提出了更多的挑战;(3)作为三维物体的人脸的图像不可避免地会受到光照产生的阴影等因素的影响。(4)由于拍摄设备或者是成像时候的条件不同,所得到的图像质量也不尽相同。很多时候图像都会掺杂了噪声或者图像中人脸部分受到了部分遮挡,这些都对人脸检测工具提出了更高的要求。1.4 人脸检测技术的研究现状人脸检测技术已经开始慢慢开始融入我们的生活。尤其是在公安机关,银行,海关等部门有着更为广泛的应用。我国在这个领域同样取得了不错的成就,国家863项目“面像检测与识别核心技术”通过了专家组的认定并且付诸实施,这意味着我国的人脸识别技术的研究已经到达一定的高度。目前,国外在人脸检测领域的研究单位有很多,其中比较为人熟知的有麻省理工学院,卡耐基-梅隆大学以及伊利诺斯大学等。而在国内也有着很多出色的研究机构在人脸检测方面做出了出色的成就,如著名的清华大学、中科院计算所和自动化所等都有着很多的相关科学工作者一直在从事这相关领域的研究。随着人脸检测研究的深入,国际上发表的有关论文数量也大幅度增长,如IEEE的FG.ICIPCVPR等重要国际会议上每年都有大量关于人脸检测的论文,由此可以看出人脸识别技术已经越来越受到全世界的重视并得到越来越多的应用。目前我们能够认识到的大部分的人脸识别手段,大部分都是针对人的正脸设计的,对于侧脸和不同表情下的人脸识别度并不高。我们把目前的人脸检测办法分为两类:基于特征的方法以及基于图像的方法。基于图像的方法同我们经常提到的基于统计模型的方法是差不多的,是通过大量的人脸数据的分析才能得出结果的方法,较为繁琐。而基于特征的方法则是利用了人脸面部的特征,包括五官本身特征以及它们之间的几何分布来检测人脸的。第二章人脸检测方法综述人脸检测就是只在目标图像中寻找人脸部分,如果在目标图像中确实存在人脸部分,便确定人脸的大小以及位置的过程。在实质上就是人脸的模式特征作综合判断的过程。详细来说,人脸检测不只是简单去寻找一张人脸,他需要鉴别每个面部器官,如眼睛、嘴巴、鼻子等等。我们的目的不仅只是从一张图片中将人脸信息从背景中分离出来,我们还需要确定人脸在背景图像中的位置、大小等信息。目前,比较比较成熟的人脸检测算法主要有三种:基于基于启发式模型的方法,基于统计理论的方法和基于肤色模型的方法。2.1 基于启发式(特征)模型的人脸检测此模型的方法要先选取几何形状、灰度等特征,然后在研究这些特征是否符合人脸的特征。由于每个人脸的差异化,所以我们必须事先检测出不同类型的人脸的特征,然后再根据这些特征之间的几何关系来确定人脸的最终位置换句话说,也就是检验目标图像中符合人脸特征的某些器官之间的几何位置是否大部分人脸的特征。在人脸检测领域,基于人的面部几何特征的人脸检测方法是最早出现的方法之一,其特征的提取主要依赖人脸面部的五官等(如眉毛、眼睛、嘴和鼻子等部位)的形状和它们相对的几何位置关系为基础。在实际操作中我们会发现,对于不同的个体来说,面部特征和人脸轮廓的形状、大小、面部五官的相对位置以及分布的情况都各不相同。这种基于几何特征的人脸检测方法主要通过计算人脸的特征点形状、相对的位置分布等几何参数来区分不同的人脸,实验中需要采集的几何参数通常都会包括人脸各个特征点之间的距离、曲率、角度等。在完成对人脸的特征提取后,再利用特定的算法对这些特征进行匹配。基于人脸特征的识别方法同样存在这很多不足,列举如下:(1)基于人脸面部特征的几何分布的人脸识别算法使用前需要通过大量精细的预处理才能确定各个几何特征的具体位置,目前的绝大部分几何特征提取算法并不能满足这一需求;(2)人的表情是时刻在变化着的,所以即使是同一个人在不同表情下的脸部特征也是大不相同的,导致此种方法在检测表情比较丰富的人脸信息的时候会存在很大的弊端;(3)面部几何特征仅仅能在相对窄的范围内提供可用于人脸识别的信息,这是因为我们在只采取面部特征的形状和结构关系的参数的同时会忽略掉大量的面部细节特征,从而很容易都是重要的面部信息。2.2 基于肤色模型的人脸检测技术皮肤的颜色是人脸所有的特征中尤为重要的一个因素,它不需要对人脸的细节有太多的要求,对于不同表情下的人脸或者是不同角度拍摄得到的人脸都使用,具有相对的稳定性,同时也能够很好的跟很多的背景颜色区分开来,因此肤色很自然成为我们在人脸检测中最重要的依据之一。另外一方面,彩色信息经常在图像处理领域一直被看做是很重要的一种信息,在我们实际进行人脸检测实验的时候,我们会发现虽然人类的肤色特征相对于一般情况下的背景来说是十分明显的,但是由于光照因素以及背景颜色的不可避免的干扰,在实际操作中肤色检测的准确率并不是很高。我们可以肯定的是不存在任何一种模型可以精确检测出目标图像中的全部肤色点,并且都大量的先验资料来具体确定人脸的位置,所以肤色特征常常被用于初检或助检测手段,从而可以比较方便的消除图像中大部分不属于人脸的部分。通过大量的实验可以证明:对于人脸肤色信息的使用可以在很大程度上简化整个人脸检测的计算,提高整个系统的效率。2.3 基于统计模型的人脸检测技术在大量应用人脸检测技术以后,人们越来越意识到要准确的描述人脸特征是一件挑战性很大的事情,因此另外一种方法,也就是基于统计模型的方法越来越被科学家们重视和应用。这种方法的核心就是将整个人脸区域看作一种模式,也就是模板特征,在应用这种检测之前需要使用大量包括人脸与非人脸的样本进行系统的训练后构造人脸信息分类器,通过分辨目标图象中全部的可能区域属于哪种模式的方法来实现对人脸的识别。实际上,这种方法就是将人脸检测的问题巧妙的转化为统计模式识别的二分问题。基于统计模型的人脸检测技术实质上也就是基于统计理论的人脸检测方法,其核心问题是对众多统计特征的提取。第三章人脸检测的基本原理与相关技术3.1 图像的数学表示灰度图像表示为I(,y),其中,y分别代表图象位置的横、纵坐标,I用来表示像素的灰度值。而在彩色图像中则表示为I(x,y,k),k=l,2,3表示不同的分量,对于基于RGB空间的图像就是对应R,G,B三个不同维度的分量;对于基于YebCr空间表示的图像就是对应Y,Cb,Cr三个不同维度的分量。实际上也就是用x*y*k大小的矩阵来表示图像。对数字图像每一分量通常用8bit离散整数值表示其大小,即所有的像素值都在0-255范围内取值。通常情况下图像扫描的方向是从上到下,从左往右。二值图像是指图像中所有像素的值只有0、1两种情况的一种特殊的图像。灰度图像经设定在整幅图像灰度变化范围内的某一固定阈值便可以转换为二值图像,此图像在MATLAB中是通过im2b'v函数实现的。3.2 图像预处理模块在对包含人脸信息的图像作检测与识别之前,我们需要先对图像作一些基本的处理,包括图像分割、图像增强、中值滤波等技术。通过这些基本处理之后得到的图像将会更加有利于我们后期的人脸的检测与识别。3.2.1光线补偿由于图片成像时候背景或者环境因素的影响可能导致目标图像亮度偏亮或者偏亮,给我们对肤色等信息的判断带来了影响,这时候就需要我们对图片亮度进行调整。这里我们采用的方法是:首先我们把目标图像中的所有亮度的像素进行排序,找到大概前5%的像素亮度,然后再对这5%的像素进行线性放大,直至这些像素的平均亮度值为255,就可以得到进行光线补偿后的目标图像。在进行光线补偿时候不能过度补偿,否则会起到适得其反的效果!图3.1光线补偿前的图像图3.2经过光线补偿之后的图像3.2.2灰度变换图像灰度化的过程就是把彩色图像转换为黑白色图像的过程,它的目的是为了将图像信息更加直观具体的表现出来,但是同时,我们要保证图像信息尽可能少的丢失。因此,我们必须对目标图像的信息进行统计,从而找出一个比较合理的灰度值,才能进行灰度变换。彩色图像灰度化常用方法有几种:分量法、最大值法、平均值法、加权平均法。(1)分量法首先分别将RGB三个分量的值作为图像的灰度值,从而得到彩色图像的三个灰度图像;然后根据需求选取其中一个灰度图作为原来的彩色图像的灰度图像。分量法算法方程如下:f1(i,j)=R(iJ),f2(i,j)=G(i,j),f3(i,j)=B(iJ)(3.1)其中R(i,j),G(i,j),B(i,j)为在像素点(x,j)处的R、G、B分量,f(i,j)(K=I,2,3)为转换后像素点(i,j)处的灰度值。(2)最大值法最大值法是将彩色图像中RGB三分量亮度的最大值作为图像的灰度值。即:/(z,7)=maxR(i,j),G(i,j),BQj)(3.2)(3)平均值法平均值法是通过计算彩色图像的RGB三个分量亮度的平均值,将这个平均值作为灰度图像像素点的灰度值来实现灰度化过程的。算法公式如下:Fef_(R(i,力+G(i,)+B,y)ca)IU,J)"、ddJ(4)加权平均法加权平均法是根据应用背景和颜色分量重要性的不同,将RGB三个分量的灰度值进行加权,将得到的加权平均值作为彩色图像的灰度值,完成灰度化过程。具体实现过程如下:f(i,j)=WlRH,7)+W2G(iij)+W3B(i9j)(3.4)其中WK(K=1,2,3)为RGB三个分量对应的权值,由于人眼对绿色最为敏感,对蓝色最不敏感,所以权值最好满足:W2>W1>W3,从而使获得的灰度图像更适合人或人工智能的识别。文献及大量实验表明,按式(3.5)对RGB进行加权平均能得到最合理的灰度图像。/(/,j)=0.299R(i,y)+0.587G(/,y)+0.114B(i,j)(3.5)本文选用如式(3.5)的加权均值法在不同环境下对获得的道路图象进行灰度化,实验结果如下图所示。图3.4灰度化图像3.2.3平滑空间滤波器在图像的采集过程中会不可避免的产生噪声和干扰,如图像数据在传输过程中发生的损坏,这些对我们的检测过程都会带来更多的挑战,所以我们需要对目标图像进行平滑滤波从而达到消除噪声的目的。平滑线性滤波器就是使用滤波器模板所确定的邻域内像素的灰度平均值在替代图像中所有的像素的数值,我们这样处理的目的就是为了减小了图像灰度的尖锐程度。我们遇到的大部分噪声都是由灰度级的剧烈变化组成,所以常见的平滑处理应用就是降低噪声。-L X9 X×FMEQ图3.5两个3X3平滑(均值)滤波器模板图中每个模板前面的乘数都等于1除以所有系数之和,这是计算平均值所要求的。3.2.4二值化对于一张灰度图像,只要我们选定合适的门限值就可以将他变为一张二值图像,在这里我们用1来代表皮肤区域,则O代表为非皮肤区域。(3.6)(3.7)y = 0.307?+ 0.59G+0.1 IB(3.8)其中RGB都是原来图像的像素值,在满足以下的条件的时候,此区域可能为皮肤区域0.333<r<0.664(3.9)0.246<g<0.398g工0.50.5r在这里我们特别说明一下,当Y值在一定的范围时候,区域也有可能是头发区域,这里我们不讨论。3.2.5图像的膨胀和腐蚀运算得到的图像对比腐蚀和膨胀在形态学处理方面有着十分重要的地位,现在很多的形态学算法都是以这两种运算作为基础才产生的。图像膨胀的作用主要实在处理图像时把目标图像周围的比较小的那些背景点合并到被检测的物体中。当我们采用膨胀操作的时候,如果背景两种物体之间的距离很近,则膨胀原酸就有可能导致这两种物体连通起来。膨胀操作在对经过图像分割后目标图像中的空洞有着很好的填补的作用。如果B来膨胀A,具体操作就是用所选元素B,来扫描图像A中的所有的像素,在利用所选元素B与其所覆盖的二值化图像作“与”操作,如果2着都是0,那么图像的这个像素就是0,否则值为1。而图像腐蚀的操作实际的应用中主要是用来消除目标图像的边界点,通过选取不同大小的腐蚀单元,我们可以在目标图像中去掉不同大小的物体。此外,当图像中两个物体存在这比较细的连通时,通过采用腐蚀操作可以将它们分开。B对A的腐蚀过程大致如下:用单位元素B来扫描目标图像A中的所有像素,再用B来与其覆盖的二值图像作“与”操作,如果都为1,那么图像的此像素的值就是1,否则值取0.实际上,腐蚀处理会使得原来的二值图像减小一圈。在实际应用的时候,我们一般将腐蚀和膨胀配合使用。在处理目标图像的时候我们往往需要既能把图像中的噪声点去掉又需要将图片中重要的消息不至于失真,用先腐蚀后膨胀可以实现这一目的,这种操作方法我们称为开运算。如果我们对图像进行先膨胀后腐蚀的处理方法便可以实现闭运算。利用开运算可以去除图像中的一些散点和“毛刺”,而利用闭运算可以将目标图像中比较细的连通的物体连接起来。3.6闭图3.7开运算得到的图像对比3. 2.6边缘检测在图像处理和机器视觉检测过程中,我们往往只对图像中的那些能体现物体结构属性的信息感兴趣。因此,对图像进行边缘检测能保留图像的重要信息,剔除不相关信息,大大减少后续处理的计算量。边缘检测的方法有很多,根据检测算子的不同,可将算法大致分为两类:基于梯度算子的算法和基于过零检测的算法。基于梯度检测的算法是在某邻域内检测灰度一阶导数的变化,得到其最大值或最小值,即梯度变化最大的方向,将此定义为边缘。基于过零检测的算法是根据图像二阶导数在边缘处为零这一原理实现的。边缘检测算法是目前计算机视觉研究热点之一,人们希望通过不断的改进找到一种能定位准确、不漏检、不误检的理想算法。常用的边缘检测算子有:Sobel算子,LOG算子Canny算子等。第四章基于AdaBoost方法的人脸检测研究3.1 AdaBoost算法简介Boosting方法是一种十分简单快捷的分类方法,是集成机器学习的重要内容,近年来被广泛应用于图像中的目标检测和识别领域。它的思想起源于Vaiiant提出的可能近似准确(ProbablyApproximately,PAC)学习模型。1994年,Kearns和Vaiiant给出了弱学习和强学习的概念,定义识别错误率小于1/2,即准确率只比随机估测略高的学习算法称为弱学习算法;同时将强学习算法定义成识别准确度很高且能在多项式时间内完成的学习算法。同时提出了两种学习方法的等价性以及将弱学习算法升级成为强学习算法的概念。前辈们通过大量的实验数据及应用表明了BOoSting算法是非常快捷有效的,因而当实际系统应用时,我们并不需要刻意去寻找精确度较高但又很难获得强学习方法,只需找到和设计一个精度稍微高于现有随机预测方法的弱学习方法,就可以用Boosting算法大大提高分类及预测算法准确率,它简单并易于实现,可以与其他算法结合寻找弱分类器,从而实现分类识别。3.2 AdaBoost算法在人脸识别中的应用AdaBoost算法的实质就是将足够多的分类能力相对很弱的弱分类器按照一定的规律叠加起来,从而构成一个分类能力很强的强分类器/(Xj)=Zq4(再)。我通过理论的方t法可以得出,只要系统中的每一个相对比较弱的分类器的分类能力比随意猜测得到的结果要好,那么当这些弱分类器的数量达到足够多的时候,由这些分类器组成的强分类器的正确率将会趋近于100%。Viola和JOnCS在最早的时候提出了积分图像的概念以及使用AdaBoost方法来训练人脸检测识别分类器的方法。这一检测系统的模型如下所示:图4.1检测系统模型3.3 AdaBoost算法具体内容4. 3.IAdaBoost算法的训练过程AdaBoost算法所有Boosting中最具有代表性的算法,它克服了早期Boosting算法在实际中遇到的困难,最终判别准则的精确度是依赖所有弱学习过程得出的弱假设,因而更能全面地提高弱学习算法的能力,也正因为如此,称为适应性BoOSting,简称为AdaBoOSt算法。AdaBoOSt执行简单、分类效果较理想,之后出现的各种BOOSting算法都是在AdaBoost算法的基础之上发展起来的。对AdaBoost算法的研究应用大多集中在分类问题中。首先给定一个弱学习算法和训练集(西,切),(2,).一个可,-0,七为观测值,为X,X表示某个实力实例空间;H是七的类别标识,满足M=/(xf-),yi三=+1,-1,/是学习器要学习的目标概念的集合。AdaBoost在每轮迭代Z=1,2,丁时反复调用给定的弱学习算法。AdaBoost算法的主要思想之一就是在训练集上设置一套权重分布。定义第t轮迭代时,第i个训练样本(Xj,必)分布的权重为Q(i).初始化时,所有的权值设置为相等权重R(2)=1N,再调用给定的弱学习方法进行T次迭代,每一步迭代的过程中,根据训练样本的分布及权重。产生一个弱假设4iXR,最简单的情况下每个4是二值的,即/jX-1,+1,凡假设的好坏根据误判率J来衡量:J=Pi也1九(Xi)#%=d,(0(4.Ditt(xi)yi每次迭代完成后,根据训练结果来更新训练数据集的分布,对训练误判的样本赋予较大的权值,使学习算法在后续过程中集中精力在这些分类困难的样本上,对此训练集进行学习。T次训练结束后,AdaBoost算法获得了一组弱假设如外并给出每项弱假设九赋一个权重外,为表示该弱假设九的重要性,分类效果好的假设权重大,效果差的权重小,生的选取准则是让损失函数值最小。T次迭代后,最终,在处理分类问题时,预测函数(幻选择权重投票方式,而在处理回归问题时,预测函数”(幻选择加权平均方法进行判别产生。AdaB。St算法示意图如图5.7所示,随着迭代次数t的增加,分类越来越精细,最终分类完毕结束循环。A图4.2AdaBoost算法不意图已知输入训练样本集S=(M,H),*?,必),(MyN),其中茗wx,r=i-i)(1)初始化样本分布:De)=&i=l,2,N(4.2)(2) For迭代次数e=1,2,T 基于权重分布。,执行弱学习算法进行训练; 得到弱假设zX-l,l; 计算弱学习器九的误判率:t=pi1)ht(xi)yi,如果与=0或j().5,则循环结束; 选择qIn(L)R;(4.3)23更新权值Z,I"(%)y(4.4)Df(i)exp(-afyihr(xi)i=12,.,NZr其中Z,=Z0(i)exp(-qy4(Xj)为归一化算子(使得。川为一个分布)循环结束,输出最终假设:H(x)=sign(hf(x),其中,(x)=gqL(x)。Z=I4.3.2AdaBoost算法的理论分析Schapire,Singer和FreUndgJ首先从理论上推导出最终预测函数的训练误差:定义/(为)=也3),则有"(x)=sig"(%(x),进一步计算出训练误差边界:tTd(4.5)pH(x)y+0Q-)Vm从(4.5)式可以看出,不管更新每一轮学习中的和九来最小化Z,使训练误差以指数级迅速减小。关于训练误差的上界如式(4.6)所示,从理论上保证了该方法是全局收敛的。口4=n2jd)=11l-4r2exp(-2)(4.6)1tIt其中,J为训练误差,定义%=0.5-与,AdaBOOSt之前的BOoSting算法要求先知道九的下限,但这样的情况在实际应用问题中非常难做到,而AdaBoOSt可以在每轮训练中调整弱分类器的错误率,体现它的自适应性,因此不存在这样的问题。如果每个弱分类器比随机猜测略好,对一些y>0,%,则训练误差在T次迭代中以指数形式快速下降,直到达到式(4.6)的上界。本质上AdaBOOSt是一种误差大幅下降的搜索方法,并最小化式(4.7)y*(演)(4.7)加arginf(x,y)=Wk-其中,/(j)=/4(a)0以此为基础,Heund等人利用VC维推导出泛化误差的上界为:(4.8)exp(-yl(xf)=XexP(-八(W)其中,讥表示训练样本的经验概率,式(5.32)表明如果训练轮数T过大,将导致过适应。但大量的实验表明,BOOSting不但能够提高学习的精度,而且在经历上千轮的训练后也不会出现过适应的现象,AdaBOOSt方法有时再训练误差达到零后,仍会继续降低泛化误差,所以为了与这些经验得到的结论相符合,Schapire等从边界的角度对泛化误差做了分析。样本(x,y)的边界定义为:(4.9)11Tz:H(xz)yz)|7Z(-yJ(Xj)=Rz,此边界的值处于T,l之间,只有当H正确分类训练的样本的数值为正的时候,边界的幅值才可以看成是预测的分类结果的可信度。较大的正边界表示可信度高的正确预测,较小的负边界表示可信度高的错误预测,较小的边界表示可信度低的预测。SChaPire曾经证明当整个系统的训练误差降为零后,Boosting算法仍然提高系统边界的可信度,以至于增大最小边界,使的最终的分类可靠性大大增加,泛化误差得以减少。泛化误差的上界如式(4.5)所示,对于任意大概率的6>0,此时边界与BOOStirIg的训练轮数T无关。(4.10)讥2arginf+0(J)1.4 级联AdaBoost分类器级联AdaBoost分类器是由Viola等于2004年提出来的一种的强分类器结构,它应用在人脸检测领域时取得了比较好的效果。级联AdaBoost分类器的概念就是将通过上述算法进行训练得到的若干个相对强的分类器串联在一起。这种级联系统中每一个环节都是一个可以独立的分类器,各自都拥有自己的阈值,通过级联系统可以让绝大部分的人脸样本通过,同时过滤掉大部分的非人脸样本。级联结构其实就是是一种从大到小的筛选结构,在系统的前几层使用的Haar特征相对于后层的较少,整个系统是一层比一层复杂,我们都知道经过一层一层的筛选之后,剩下的非人脸样本都跟人脸样本有着极高的相似性,为此,我们必须制定更严格的要求来分类才能满足最终的筛选要求,最后那些通过了全部的分类器筛选的样本才能被我们的系统认定为人脸样本。就检测所用时间而言,因为系统前面部分的分类器相对简单,计算过程所花费的时间比较少,而且可以准确去除掉大部分不符合要求的样本。尽管系统后面部分的分类器相对比较复杂,导致计算所需要的时间大大增加,但是后面的分类器只是整个大的系统的比较小的一个部分,综合来说,整体的计算量并不大,从而加快了系统的检测速度,使我们的系统能够满足实时检测的要求。级联系统的构成首先需要利用AdaBoost算法来训练分类器,然后适当调整阈值使得负误视能够最大限度地减少。注意,默认AdaBOOSt的阈值是为了在数据过程中能够保证低错误率。一般而言,阈值较低的话能够产生更高的检测速度以及更高的正误视率。训练的算法为:(1)初始化使得Kl=1,i=l;(2)当f,>/a的时候,使用训练样本对该层训练,使误报率的值fY设定阈值为q,通过率高于t;(3)i=i+j*EE+i;(4)如果Fi+1的值小于FnW,训练就可以结束。1.5 基于肤色信息的AdaBoost人脸检测算法AdaBoost算法在进行多人脸识别的时候很难达到预期效果,所以我们在这里提出了基于肤色的AdaBOoSt算法。我们知道肤色不同于表情,人脸各器官特征,它是人脸信息中十分稳定的部分,他可以不受到人脸角度,表情等因素的影响。因此,我们先利用AelaBoOSt算法作初步的检测,确定人脸的大致区域,然后再结合其他特征进行检测和识别。在进行人脸检测时需要经历一下几个步骤:步骤一:利用AdabooSt算法作初步识别:1.在一张30*30的图片中提取出一些有用的haar特征,通过计算图片中黑色部分与白色部分的像素总数的差值来区分人脸区域与非人脸区域。2 .对训练器进行大量训练:通过融合足够多的人脸图片样本和背景图片作为样本(人脸图片大小一致且都为30*30),通过采用预定的AdabooSt算法挑选足量有效的Haar特征来实现初步的人脸检测系统。3 .初步检测:将上面的分类器按照一定比例进行缩放,在目标图片中进行逐步移动检索,来确定所有可能的人脸位置。在初步完成检测后,将上面得到的所有人脸面积的平均值记为SaO步骤二:检测肤色特征初步判定人脸区域我们可以通过对RGB空间的图像进行变换得到各个不同彩色空间的色彩表示,在本片论文中我们主要讨论YUV空间的情况。RGB与YUV空间的相互变换用矩阵表示为:0.2990.5870.114-0.417-0.2890.4360.615-0.515-0.100其中,U和V是同一个平面内相互正交的向量,如下图所示:(4.10)(4.11)图4.3图像的饱和度用Ch来表示,色调则由相位角来表示,如下式所示:Ch=U2+V2,6>=tan,(V()o由大量人脸的数据分析可以知道,绝大部分人脸的肤色的色调范围都处于105°-150°范围,使用此依据可以消除待检测图像中大部分与人脸肤色不相符合的背景区域。步骤三:对目标未检测的图像作闭运算后在进行平滑处理,就可以剔除图片中的一些空洞,从而得到便于检测的若干连通部分。将这若干个面积的大小记为然后,我们需要对这若干个可能的人脸区域进行几何特征的识别:1 .通过对比这若干份连通区域与前面提到的通过AdaBoost算法得到的的面积进行对比。将满足03Sa<Si<2S,的区域保留,所有不满足以上条件的视为非人脸区域。2 .我们都知道人脸具有一定的长宽比,这里我们需要求出以上所有连通区域的矩形边界,通过对其长宽比进行分析,满足05<2的区域我们视为人脸区域。3 .计算连通区域内像素数与最外矩形边界总像素数的比值。此比值为定义为r=,若r<0.5r>2,此区域就会被系统认定为非人脸区域。AcS1AUSjlI通过以上办法就可以最终得到精检测后的人脸检测结果。整体的算法流程如下所示:图4.4人脸检测算法流程4.6实验结果分析本次实验使用VC+6.O作为编程平台来实现基于肤色特征的AdaBoost

    注意事项

    本文(设计-人脸检测算法研究.docx)为本站会员(李司机)主动上传,三一办公仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一办公(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开