AdaBoost人脸检测训练算法

AdaBoost人脸检测训练算法
AdaBoost人脸检测训练算法

目前在实际中应用的人脸检测方法多为基于Adaboost学习算法的方法,这种检测方法最初由剑桥大学的两位大牛Paul Viola和Michael Jones[ViolaJones01]提出,并由另一位大牛英特尔公司的Rainer Lienhart[Lienhart02]对这一方法进行了改善。

这里,我先介绍ViolaJones的人脸检测方法,然后再介绍Lienhart的人脸检测算法。

我们可以发现,两种检测方法的大体框架是相同的,只是在Harr-like特征的选取、计算以及AdaBoost 的训练算法上有区别。

ViolaJones人脸检测方法

ViolaJones人脸检测方法是一种基于积分图、级联检测器和AdaBoost算法的方法,方法框架可以分为以下三大部分:

(1)使用Harr-like特征表示人脸,使用“积分图”实现特征数值的快速计算;

(2)使用Adaboost算法挑选出一些最能代表人脸的矩形特征(弱分类器),按照加权投票的方式将弱分类器构造为一个强分类器;

(3)将训练得到的若干强分类器串联组成一个级联结构的层叠分类器,级联结构能有效地提高分类器的检测速度。

一、Haar-like矩形特征的特征值的快速计算方法

影响AdaBoost人脸检测训练算法速度很重要的两方面是特征选取和特征计算。选取的特征为矩特征为Haar特征,计算的方法为积分图。

1、Haar-like特征

Haar-like特征最早是由Papageorgiou等应用于人脸表示,Viola和Jones在此基础上,使用3种类型4种形式的特征。

3种类型分别为:2-矩形特征、3-矩形特征、4-矩形特征。

Haar特征分为三类:边缘特征、线性特征、中心特征和对角线特征,组合成特征模板。

特征模板内有白色和黑色两种矩形,并定义该模板的特征值为白色矩形像素和减去黑色矩形像素和。

对于图中的A, B和D这类特征,特征数值计算公式为:v=Sum白-Sum黑

而对于C来说,计算公式如下:v=Sum白-2*Sum黑

之所以将黑色区域像素和乘以2,是为了使两种矩形区域中像素数目一致。

通过改变特征模板的大小和位置,可在图像子窗口中穷举出大量的特征。

上图的特征模板称为“特征原型”;特征原型在图像子窗口中扩展(平移伸缩)得到的特征称为“矩形特征”;矩形特征的称为“特征值”。

假设训练或检测窗口大小为W x H个像素,w , h分别为特征原型的长、宽,所示四种特征原型对应的w /h分别为:2/1,1/2,3/1,2/2。

一个haar-like特征在24*24像素图的子检测窗口中的矩形特征数量总计为134736个。

2、积分图(Integral Image)

积分图主要的思想是将图像从起点开始到各个点所形成的矩形区域像素之和作为一个数组的元素保存在内存中,当要计算某个区域的像素和时可以直接索引数组的元素,不用重新计算这个区域的像素和,从而加快了计算。(最近听过屈婉玲老师课的话,应该知道,这有个相应的称呼,叫做动态规划算法)

点(x,y)处的积分图,定义为点(x,y)左上角所有像素和。用公式表示为:

其中,I(x',y')为图像在点(x',y')处的像素值。

为了节约时间,减少重复计算,则积分图可按如下递推公式计算:

其中,ii(x,y)为点(x,y)的积分图,i(x,y)为点(x,y)处的像素值,s(x,y)为点(x,y)的累计行总和。

这样就可以进行2种运算:

(1)任意矩形区域内像素积分

由图像的积分图可方便快速地计算图像中任意矩形内所有像素灰度积分。

如下图所示,点1的积分图像ii1的值为(其中Sum为求和):

ii1=Sum(A)

同理,点2、点3、点4的积分图像分别为:

ii2=Sum(A)+Sum(B);

ii3=Sum(A)+Sum(C);

ii4=Sum(A)+Sum(B)+Sum(C)+Sum(D);

矩形区域D内的所有像素灰度积分可由矩形端点的积分图像值得到:

Sum(D)=ii1+ii4-(ii2+ii3) (1)

(2)特征值计算

矩形特征的特征值是两个不同的矩形区域像素和之差。

由(1)式可以计算任意矩形特征的特征值。

上图中,该特征原型的特征值定义为:Sum(A)-Sum(B);

根据(1)式则有:Sum(A)=ii4+ii1-(ii2+ii3);Sum(B)=ii6+ii3-(ii4+ii5);

所以此类特征原型的特征值为:(ii4-ii3)-(ii2-ii1)+(ii4-ii3)-(ii6-ii5)

矩形特征的特征值计算,只与此特征矩形的端点的积分图有关,所以不管此特征矩形的尺度变换如何,特征值的计算所消耗的时间都是常量。这样只要遍历图像一次,就可以求得所有子窗口的特征值。

二、使用Adaboost算法选取优化的弱分类器和级联结构的层叠分类器

在确定了特征形式后,Harr- like特征的数量就取决于训练样本图像矩阵的大小,特征模板在子窗口内任意放置,一种形态称为一种特征,找出所有子窗口的特征是进行弱分类训练的基础。

训练过程分为3个步骤:首先需要提取Haar特征;然后将Haar特征转化成对应的弱分类器;最后从大量的弱分类器中迭代选择出最优弱分类器。

(1)提取Haar特征

常用的Haar特征有4种。

当然也可以在这4种特征的基础上设计出更多、更复杂的特征。以大小为24x24像素的训练样本为例,上述4种特征的总个数超过了160000个。

这样庞大的数字给后续的迭代训练工作带来了庞大的计算量,直接导致AdaBoost算法训练过程极为费时,这恰恰是算法需要改进的关键问题之一。

(2)生成弱分类器

AdaBoost的学习算法能从一个很大的特征集中选择很小的一部分关键的特征,从而产生一个极其有效的分类器。

最初的AdaBoost学习算法可用于提高一个简单的分类器(有时又称为弱分类器)的性能,它最终形成的强分类器的训练错误率接近于零,而且具有很好的推广性。

每一个Haar特征都对应着一个弱分类器,每一个弱分类器都是根据它所对应的Haar特征的参数来定义的。利用上述Haar特征的位置信息,对训练样本进行统计就可以得到对应的特征参数。

Viola共定义了180,000种矩形特征,这个数远大于图像中像素的数目。每个特征都能很快计算出来,再通过试验选出一小部分作为特征以形成一个有效的分类器。要得到最终的强分类器,最重要的是如何找到这些特征。

为此起见,每个弱分类器的设计都是从能对正例和反例进行正确分类的所有弱分类器的集合中选择错误率最小的一个。对每个特征而言,弱学习器决定弱分类器的最佳的阈值,使其具有最小的误分样本数。

因此一个弱分类器(h j(x))是由一个特征(f j)、一个阈值(θj)和一个指示不等式方向的校验器(p j)构成:

其中x表示图像中一个24 x24像素大小的子窗口。

(3)采用AdaBoost算法选取优化的弱分类器

通过Adaboost算法挑选数千个有效的haar特征来组成人脸检测器,Adaboost算法中不同的训练集是通过调整每个样本对应的权重来实现的。

开始时,每个样本对应的权重是相同的,对于h1分类错误的样本,加大其对应的权重;而对于分类正确的样本,降低其权重,这样分错的样本就被突出出来,从而得到一个新的样本分布U2。

在新的样本分布下,再次对弱分类器进行训练,得到弱分类器h2。依次类推,经过T次循环,得到T 个弱分类器,把这T个弱分类器按一定的权重叠加(boost)起来,得到最终想要的强分类器。

这里,我给出训练弱分类器和选取优化的弱分类器的算法(算法图若看不清,请点击放大):

分类器训练完以后,就可以应用于输入图像中的感兴趣区域(与训练样本相同的尺寸)的检测。检测到目标区域(汽车或人脸)分类器输出为1,否则输出为0。

为了检测整副图像,可以在图像中移动搜索窗口,检测每一个位置来确定可能的目标。为了搜索不同大小的目标物体,分类器被设计为可以进行尺寸改变,这样比改变待检图像的尺寸大小更为有效。

所以,为了在图像中检测未知大小的目标物体,扫描程序通常需要用不同比例大小的搜索窗口对图片进行几次扫描。

(4)构成级联结构的层叠分类器

每个特定分类器所使用的特征用形状、感兴趣区域中的位置以及比例系数(这里的比例系数跟检测时候采用的比例系数是不一样的,尽管最后会取两个系数的乘积值)来定义。

分类器中的“级联”是指最终的分类器是由几个简单分类器级联组成。在图像检测中,被检窗口依次通过每一级分类器,这样在前面几层的检测中大部分的候选区域就被排除了,全部通过每一级分类器检测的区域即为目标区域。

同样,我们给定训练级联结构的分类器的算法(算法图若看不清,请点击放大):

补充:训练样本的选择和训练系统总体框架

训练样本要求是面部特写图像,下图是一簇训练样本,大小被归一化为24×24像素。

其中,正训练样本要求是面部特写图像,但是人脸形态千差万别,所以训练样本选取过程中要考虑到样本的多样性。

负训练样本,大小被归一化为24×24像素,其中各样本不完全相同,分别具有一定的代表性。

训练系统总体框架,由“训练部分”和“补充部分”构成。依据系统框架,本文的训练系统可分为以下几个模块:

(1)以样本集为输入,在给定的矩形特征原型下,计算并获得矩形特征集;

(2)以特征集为输入,根据给定的弱学习算法,确定闽值,将特征与弱分类器一一对应,获得弱分类器集;

(3)以弱分类器集为输入,在训练检出率和误判率限制下,使用A d a B o o s t算法

挑选最优的弱分类器构成强分类器;

(4)以强分类器集为输入,将其组合为级联分类器;

(5)以非人脸图片集为输入,组合强分类器为临时的级联分类器,筛选并补充非人脸样本。

Lienhart的人脸检测方法

就像我一开始说的,比起ViolaJones人脸检测方法,Lienhart的人脸检测方法只是在Harr-like特征的选取、计算以及AdaBoost的训练算法上有区别。

一、Harr-like特征的选取

Lienhart提出了一些新的旋转Haar-like特征。

包含4个边缘特征、8个线性特征和2个中心特征。

而对角线特征(对应图中的4)没有用到,是因为对角线特征和线性特征里的特征相似。

在特征值的计算过程中,黑色区域的权值为负值,白色区域的权值为正值。

二、特征值的计算

对于竖直矩阵,我们定义SAT(x,y)为点(x,y)左上角区域的像素和。

用公式可以表示为:

为了节约时间,减少重复计算,可按如下递推公式计算:

而计算矩阵特征的特征值,是位于对角线矩形SAT(x,y)之差。可参考下图:

对于45°旋角的矩形,我们定义RSAT(x,y)为点(x,y)左上角45°区域和左下角45°区域的像素和。

用公式可以表示为:

为了节约时间,减少重复计算,可按如下递推公式计算:

而计算矩阵特征的特征值,是位于十字行矩形RSAT(x,y)之差。可参考下图:

三、AdaBoost的训练算法

Lienhart通过学习得到的系统能够用于旋转人脸的快速检测,同时也能使平均的误检率降低10%。

此外他还研究了一些其他的Boosting算法,如:离散的Adaboost算法(Discrete Adaboost),实值的Adaboost算法(Real Adaboost)和平缓的Adaboost算法(Gentle Adaboost)。

通过比较得出基于平缓的Adaboost算法(Gentle Adaboost)效果较好。

离散的Adaboost算法和平缓的Adaboost算法如下(算法图若看不清,请点击放大):

总的来说,基于Adaboost算法的系统在速度方面具有很大的优越性。它是在提出的一系列Haar-like 特征的基础上,通过Adaboost算法学习一些弱分类器,再组合成一个强分器。

但一般一个强分类器还不足以圆满完成任务,还要级联一系列这样的强分类器,但是要进一步提高检测精度,就需要级联更多的强分类器,但是这样又会降低检测速度。

我们认为一方面可以采用更好的、计算却更简单的图像特征表述方法;另一方面就是综合Adaboost和一些强分类器。

在Adaboost学习的过程中,可以提高正例学习的阈值,如可以将每级常采用的正检率阈值(一般设为98.5%)适当增加,当然误检的非人脸会相应增加,这样学习得到的一些弱分类器组合后形成的强分类器作为分级分类器的前面几级,最后再用一个强分类器进一步过滤。

由于在前几级消除了大多数的非人脸,因此通过最后一级强分类器的窗口将大大减少。这样可以获得一个既提高检测速度又提高检测精度的系统。

AdaBoost人脸检测原理

AdaBoost人脸检测原理 对人脸检测的研究最初可以追溯到 20 世纪 70 年代,早期的研究主要致力于模板匹配、子空间方法,变形模板匹配等。近期人脸检测的研究主要集中在基于数据驱动的学习方法,如统计模型方法,神经网络学习方法,统计知识理论和支持向量机方法,基于马尔可夫随机域的方法,以及基于肤色的人脸检测。目前在实际中应用的人脸检测方法多为基于 Adaboost 学习算法的方法。 Viola人脸检测方法是一种基于积分图、级联检测器和AdaBoost 算法的方法,方法框架可以分为以下三大部分: 第一部分,使用Harr-like特征表示人脸,使用“积分图”实现特征数值的快速计算; 第二部分,使用Adaboost算法挑选出一些最能代表人脸的矩形特征( 弱分类器),按照加权投票的方式将弱分类器构造为一个强分类器; 第三部分,将训练得到的若干强分类器串联组成一个级联结构的层叠分类器,级联结构能有效地提高分类器的检测速度。 Adaboost 算法是一种用来分类的方法,它的基本原理就是“三个臭皮匠,顶个诸葛亮”。它把一些比较弱的分类方法合在一起,组合出新的很强的分类方法。例如下图中, 需要用一些线段把红色的球与深蓝色的球分开,然而如果仅仅画一条线的话,是分不开的。 a b c d 使用Adaboost算法来进行划分的话,先画出一条错误率最小的线段如图 1 ,但是左下脚的深蓝色球被错误划分到红色区域,因此加重被错误球的权重,再下一次划分时,将更加考虑那些权重大的球,如 c 所示,最终得到了一个准确的划分,如下图所示。

人脸检测的目的就是从图片中找出所有包含人脸的子窗口,将人脸的子窗口与非人脸的子窗口分开。大致步骤如下: (1)在一个 20*20 的图片提取一些简单的特征(称为Harr特征),如下图所示。 它的计算方法就是将白色区域内的像素和减去黑色区域,因此在人脸与非人脸图片的相同位置上,值的大小是不一样的,这些特征可以用来区分人脸和分人脸。 (2)目前的方法是使用数千张切割好的人脸图片,和上万张背景图片作为训练样本。训练图片一般归一化到 20*20 的大小。在这样大小的图片中,可供使用的haar特征数在1万个左右,然后通过机器学习算法-adaboost算法挑选数千个有效的haar特征来组成人脸检测器。 (3)学习算法训练出一个人脸检测器后,便可以在各个场合使用了。使用时,将图像按比例依次缩放,然后在缩放后的图片的 20*20 的子窗口依次判别是人脸还是非人脸。

opencv adaboost人脸检测训练程序阅读笔记(LBP特征)

1、训练程序整体流程 (1)读输入参数并打印相关信息 (2)进入训练程序最外层入口classifier.train 1)读正负样本,将正负样本放入imgLiast中,先读正样本,后读负样本 2)load( dirName )判断之前是否有已训练好的xml文件,若有,不在重新训练该stage的xml文件,没有返回false,初始化参数 3)计算requiredLeafFARate = pow(maxFalseAlarm,numStages)/max_depth,该参数是stage停止条件(利用训练样本集来计算tempLeafFARate,若 tempLeafFARate小于这一参数,则退出stage训练循环); 4)Stage训练循环 5)更新训练样本集,计算tempLeafFARate(负样本被预测为正样本的个数除以读取负样本的次数,第一次没有训练之前,这个比值为1,因为没训练之前, 所有负样本都被预测成了正样本,当第一层训练好以后,负样本采集时会先 用第一层的分类器预测一次,若能分类,则不选用,选用负样本的数目是固 定的,但选用这么多负样本总共要选的次数会随着层数的增多而加大,因为 层数越大,分类器的分类能力也要求越大,说需要的样本就是前面分类器所 不恩呢该识别的,故在采集时也比较困难。) 6)判断stage是否退出训练,若tempLeafFARatetrain() a.建立训练数据data = new CvCascadeBoostTrainData(主要是一些参 数的设置,还有特征值的计算) b.初始化样本权重update_weights( 0 ); c.弱分类器训练循环 i)tree->train—》do_train ai) 根节点的初始root = data->subsample_data( _subsample_idx ); (主要是对根节点的一些参数进行初始化,parent 0,count 1, split 0,value 0,class_idx 0,maxlr 0,left = right = 0,等等) bi) CV_CALL( try_split_node(root)),根据根节点计算整颗数的各 节点的参数配置 aii) calc_node_value( node );计算节点的回归值,类似于分类 投票值sum(w*class_lable),正样本的class_lable取,负样 本的class_lable取-1;计算节点的风险值node_risk,node risk is the sum of squared errors: sum_i((Y_i - )^2) bii) 判断节点是否可以分裂(判断依据:样本值和设计的节点最 大深度);再利用node_risk与regression_accuracy,如 果这个节点的所有训练样本的节点估计值的绝对差小 于这个参数,节点不再进行分裂 cii) 找出最佳分裂best_split = find_best_split(node); aiii) 定义DTreeBestSplitFinder finder( this, node ); biii) parallel_reduce(cv::BlockedRange(0, data->var_count), finder); 此时调用DTreeBestSplitFinder类的操作符 DTreeBestSplitFinder::operator()(constBlockedRange

AdaBoost算法简介

Adaboost 算法 1、AdaBoost算法简介 AdaBoost算法是Freund和Schapire根据在线分配算法提出的,他们详细分析了AdaBoost算法错误率的上界,以及为了使强分类器达到错误率,算法所需要的最多迭代次数等相关问题。与Boosting算法不同的是,adaBoost算法不需要预先知道弱学习算法学习正确率的下限即弱分类器的误差,并且最后得到的强分类器的分类精度依赖于所有弱分类器的分类精度,这样可以深入挖掘弱分类器算法的能力。 2、Adaboost 算法基本原理 Adaboost是一种迭代算法,其核心思想是针对同一个训练集训练不同的分类器(弱分类器),然后把这些弱分类器集合起来,构成一个更强的最终分类器(强分类器)。其算法本身是通过改变数据分布来实现的,它根据每次训练集之中每个样本的分类是否正确,以及上次的总体分类的准确率,来确定每个样本的权值。将修改过权值的新数据集送给下层分类器进行训练,最后将每次训练得到的分类器最后融合起来,作为最后的决策分类器。使用Adaboost 分类器可以排除一些不必要的训练数据特征,并将关键放在关键的训练数据上面。 AdaBoost算法中不同的训练集是通过调整每个样本对应的权重来实现的。开始时,每个样本对应的权重是相同的,即其中n 为样本个数,在此样本分布下训练出一弱分类器。对于分类错误的样本,加大其对应的权重;而对于分类正确的样本,降低其权重,这样分错的样本就被突出出来,从而得到一个新的样本分布。在新的样本分布下,再次对弱分类器进行训练,得到弱分类器。依次类推,经过T 次循环,得到T 个弱分类器,把这T 个弱分类器按一定的权重叠加(boost)起来,得到最终想要的强分类器。 AdaBoost算法的具体步骤如下: 设输入的n个训练样本为:{(x1,y1),(x2,y2),......(xn,yn)},其中xi是输入的训练样本,yi∈{0,1}分别表示正样本和负样本,其中正样本数为l,负样本数m。n=l+m,具体步骤如下: (1)初始化每个样本的权重w i,i∈D(i); (2)对每个t=1,..., T(T为弱分类器的个数) ①把权重归一化为一个概率分布 ②对每个特征f,训练一个弱分类器h j计算对应所有特征的弱分类器的加权错误率 ③选取最佳的弱分类器h t(拥有最小错误率):εt ④按照这个最佳弱分类器,调整权重 其中εi =0表示被正确地分类,εi=1,表示被错误地分类

基于AdaBoost算法的人脸检测——赵楠 北京大学

北京大学 本科生毕业论文 基于AdaBoost 算法的人脸检测Face Detection Based on AdaBoost 姓名:赵楠 学号:00105029 院系:物理学院物理学系 指导老师:查红彬教授 导师单位:视觉与听觉信息处理国家重点实验室 信息科学技术学院智能科学系

北京大学本科生毕业论文 二○○五年六月 摘要 Abstract 人脸检测是人脸分析的首要环节,其处理的问题是确认图像(或影像)中是否存在人脸,如果存在则对人脸进行定位。人脸检测的应用领域相当广泛,是实现机器智能化的重要步骤之一。 AdaBoost 算法是1995 年提出的一种快速人脸检测算法,是人脸检测领域里程碑式的进步,这种算法根据弱学习的反馈,适应性地调整假设的错误率,使在效率不降低的情况下,检测正确率得到了很大的提高。 本论文第一章和第二章简述了人脸检测的一般情况,第三章对一些人脸检测的经典方法进行了说明。 第四章讲述了AdaBoost 算法的发展历史。从PCA 学习模型到弱学习和强学习相互关系的论证,再到Boosting 算法的最终提出,阐述了Ada ptive Boost ing 算法的发展脉络。 第五章对影响AdaBoost 人脸检测训练算法速度的至关重要的两方面:矩形特征和积分图的概念和理论进行了仔细的阐明。 第六章给出了AdaBoost 的算法,并深入探讨了其中的一些关键问题——弱学习器的构造、选取等问题。

最后一章,用编写的实现了AdaBoost 算法的FáDèt程序,给出了相应的人脸检测实验结果,并和Viola 等人的结果做了比较。 关键词Keywords AdaBoost 方法、人脸检测、Boosting 方法、PCA 学习模型、弱学习

Adaboost人脸检测算法原理

Adaboost人脸检测算法原理在众多的检测方法中,Viola等提出的Adaboost人脸检测方法,从根本上解决了检测的速度问题,同时有较好的识别效果。它利用一个只有200个关键特征的集合,就能达到95%以上的检测率,检测一幅380×280像素的图像需要时间不到0.7s,这样的性能使它成为人脸检测最好的方法。 Viola人脸检测方法是一种基于积分图、AdaBoost算法和级联检测器的方法,方法框架可以分为以下三大部分: (1)使用特征值表示人脸,使用积分图实现特征数值的快速计算; (2)使用Adaboost算法挑选出一些最能代表人脸的矩形特征(弱分类器),按照加权投票的方式将弱分类器构造为一个强分类器; (3)将训练得到的若干强分类器串联组成一个级联结构的层叠分类器,级联结构能有效地提高分类器的检测速度。 1特征值和积分图 在一个20×20(或其他大小)的图片提取一些简单的特征,并计算其特征值(如图1),方法是将白色区域内的像素和减去黑色区域。对于一些优势矩形特征来说,在人脸与非人脸图片的相同位置上,特征值的大小是不一样的,这些特征可以用来区分人脸和非人脸。 图1 一些矩形特征 图2是大部分矩形特征对人脸与非人脸样本的特征值分布曲线。大部分特征对人脸和非人脸样本的特征值为0的点几乎处于相同位置(46.5%,51.5%),且都在所有特征的中间范围。 这说明该矩形特征对于人脸和非人脸几乎没有分辨能力。

图(a)人脸图像特征值分布 图(b)非人脸图像特征值分布 图2 大部分矩形特征对人脸和非人脸图像的特征值分布曲线图3是少数矩形特征对人脸与非人脸样本的特征值分布曲线。对于非人脸样本的分布,特征值为0的点处于所有特征的中间范围(59.4%),这说明该特征也“看不到”非人脸的特点。 但是对于人脸样本,该特征表现了很一致的倾向性,93.4%的特征在0点的一侧,与非人脸样本的相差34%。 这说明该特征能够分辨人脸和非人脸。

基于adaboost的人脸检测及识别

宁夏大学 毕业论文 AdaBoost人脸检测及识别 姓名:罗慧彪 专业:电子信息工程 指导教师:孟一飞 20140423

基于AdaBoost 人脸检测及识别 摘要 人脸检测是在指给定的一幅图片或连续视频中确定是否有人脸的存在,如果有人脸,则标出人脸的位置和大小。人脸检测是计算机模式识别最热门的研究课题之一,在视频会议,远程监控,远程治疗中都有应用。许多学者,和专家对此做了许多大量的工作,取得了优秀成果并提出了大量的有效算法。本文主要工作如下: 1、人脸检测算法居多,在了解相关的人脸检测算法后,进行最后的比较,选定适应能力强、错误率小的Adaboost 人脸检测算法。基于Haar 特征的级联分类器算法,在训练样本足够多足够好时,在理论上可以将错误率降到任意小,可以适应许多复杂的环境中。 2、本文对Adaboost 人脸检测算法实现MATLAB 的仿真,可以首先不去研究算法是如何实现的,着重关注算法本身的性能。 关键词:人脸检测 Adaboost 人脸识别图像预处理特征提取 Abstract Face detection is to determine whether there exists in a picture or continuous video ,if have, marked the size and location of the face.It is one of the most popular computer pattern recognition research topics,is applied in video conference, remote monitoring, remote treatment. Many scholars,and experts have done a lot a lot of work and achieved outstanding results and give a lot of effective

基于AdaBoost算法的人脸检测方法综述毕业设计论文

本科生毕业设计 设计题目:基于AdaBoost算法的人脸检测方法综述专题:人脸检测与定位

毕业设计(论文)原创性声明和使用授权说明 原创性声明 本人郑重承诺:所呈交的毕业设计(论文),是我个人在指导教师的指导下进行的研究工作及取得的成果。尽我所知,除文中特别加以标注和致谢的地方外,不包含其他人或组织已经发表或公布过的研究成果,也不包含我为获得及其它教育机构的学位或学历而使用过的材料。对本研究提供过帮助和做出过贡献的个人或集体,均已在文中作了明确的说明并表示了谢意。 作者签名:日期: 指导教师签名:日期: 使用授权说明 本人完全了解大学关于收集、保存、使用毕业设计(论文)的规定,即:按照学校要求提交毕业设计(论文)的印刷本和电子版本;学校有权保存毕业设计(论文)的印刷本和电子版,并提供目录检索与阅览服务;学校可以采用影印、缩印、数字化或其它复制手段保存论文;在不以赢利为目的前提下,学校可以公布论文的部分或全部内容。 作者签名:日期:

学位论文原创性声明 本人郑重声明:所呈交的论文是本人在导师的指导下独立进行研究所取得的研究成果。除了文中特别加以标注引用的内容外,本论文不包含任何其他个人或集体已经发表或撰写的成果作品。对本文的研究做出重要贡献的个人和集体,均已在文中以明确方式标明。本人完全意识到本声明的法律后果由本人承担。 作者签名:日期:年月日 学位论文版权使用授权书 本学位论文作者完全了解学校有关保留、使用学位论文的规定,同意学校保留并向国家有关部门或机构送交论文的复印件和电子版,允许论文被查阅和借阅。本人授权大学可以将本学位论文的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存和汇编本学位论文。 涉密论文按学校规定处理。 作者签名:日期:年月日 导师签名:日期:年月日

AdaBoost人脸检测训练算法

目前在实际中应用的人脸检测方法多为基于Adaboost学习算法的方法,这种检测方法最初由剑桥大学的两位大牛Paul Viola和Michael Jones[ViolaJones01]提出,并由另一位大牛英特尔公司的Rainer Lienhart[Lienhart02]对这一方法进行了改善。 这里,我先介绍ViolaJones的人脸检测方法,然后再介绍Lienhart的人脸检测算法。 我们可以发现,两种检测方法的大体框架是相同的,只是在Harr-like特征的选取、计算以及AdaBoost 的训练算法上有区别。 ViolaJones人脸检测方法 ViolaJones人脸检测方法是一种基于积分图、级联检测器和AdaBoost算法的方法,方法框架可以分为以下三大部分: (1)使用Harr-like特征表示人脸,使用“积分图”实现特征数值的快速计算; (2)使用Adaboost算法挑选出一些最能代表人脸的矩形特征(弱分类器),按照加权投票的方式将弱分类器构造为一个强分类器; (3)将训练得到的若干强分类器串联组成一个级联结构的层叠分类器,级联结构能有效地提高分类器的检测速度。 一、Haar-like矩形特征的特征值的快速计算方法 影响AdaBoost人脸检测训练算法速度很重要的两方面是特征选取和特征计算。选取的特征为矩特征为Haar特征,计算的方法为积分图。 1、Haar-like特征 Haar-like特征最早是由Papageorgiou等应用于人脸表示,Viola和Jones在此基础上,使用3种类型4种形式的特征。 3种类型分别为:2-矩形特征、3-矩形特征、4-矩形特征。 Haar特征分为三类:边缘特征、线性特征、中心特征和对角线特征,组合成特征模板。 特征模板内有白色和黑色两种矩形,并定义该模板的特征值为白色矩形像素和减去黑色矩形像素和。

相关文档
最新文档