AdaBoost人脸检测训练算法

上传人:人*** 文档编号:565041831 上传时间:2023-01-09 格式:DOCX 页数:14 大小:206.45KB
返回 下载 相关 举报
AdaBoost人脸检测训练算法_第1页
第1页 / 共14页
AdaBoost人脸检测训练算法_第2页
第2页 / 共14页
AdaBoost人脸检测训练算法_第3页
第3页 / 共14页
AdaBoost人脸检测训练算法_第4页
第4页 / 共14页
AdaBoost人脸检测训练算法_第5页
第5页 / 共14页
点击查看更多>>
资源描述

《AdaBoost人脸检测训练算法》由会员分享,可在线阅读,更多相关《AdaBoost人脸检测训练算法(14页珍藏版)》请在金锄头文库上搜索。

1、目前在实际中应用的人脸检测方法多为基于Adaboost学习算法的方法,这种检测方法最初由剑桥大学的两位大牛Paul Viola和Michael JonesViolaJones01提出,并由另一位大牛英特尔公司的RainerLienhartLienhart02对这一方法进行了改善。这里,我先介绍ViolaJones的人脸检测方法,然后再介绍Lienhart的人脸检测算法。我们可以发现,两种检测方法的大体框架是相同的,只是在Harr-like特征的选取、计算以及AdaBoost 的训练算法上有区别。ViolaJones人脸检测方法ViolaJones人脸检测方法是一种基于积分图、级联检测器和Ada

2、Boost算法的方法,方法框架可以分为 以下三大部分:(1)使用Harr-like特征表示人脸,使用“积分图”实现特征数值的快速计算;(2)使用Adaboost算法挑选出一些最能代表人脸的矩形特征(弱分类器),按照加权投票的方式将弱分类 器构造为一个强分类器;(3)将训练得到的若干强分类器串联组成一个级联结构的层叠分类器,级联结构能有效地提高分类器的 检测速度。一、Haar-like矩形特征的特征值的快速计算方法影响AdaBoost人脸检测训练算法速度很重要的两方面是特征选取和特征计算。选取的特征为矩特征为 Haar特征,计算的方法为积分图。1、Haar-like 特征Haar-like特征最

3、早是由Papageorgiou等应用于人脸表示,Viola和J ones在此基础上,使用3种类型4 种形式的特征。3种类型分别为:2-矩形特征、3-矩形特征、4-矩形特征。Haar特征分为三类:边缘特征、线性特征、中心特征和对角线特征,组合成特征模板。特征模板内有白色和黑色两种矩形,并定义该模板的特征值为白色矩形像素和减去黑色矩形像素和。对于图中的A, B和D这类特征,特征数值计算公式为:v=Sum白-Sum黑而对于C来说,计算公式如下:v=Sum白-2*Sum黑之所以将黑色区域像素和乘以2,是为了使两种矩形区域中像素数目一致。通过改变特征模板的大小和位置,可在图像子窗口中穷举出大量的特征。上

4、图的特征模板称为“特征原型”;特征原型在图像子窗口中扩展(平移伸缩)得到的特征称为“矩形 特征”;矩形特征的称为“特征值”。假设训练或检测窗口大小为WxH个像素,w , h分别为特征原型的长、宽,所示四种特征原型对应的 w /h 分别为:2/1,1/2, 3/1,2/2。一个haar-like特征在24*24像素图的子检测窗口中的矩形特征数量总计为134736个。2、积分图(Integral Image)积分图主要的思想是将图像从起点开始到各个点所形成的矩形区域像素之和作为一个数组的元素保存 在内存中,当要计算某个区域的像素和时可以直接索引数组的元素,不用重新计算这个区域的像素和,从 而加快了

5、计算。(最近听过屈婉玲老师课的话,应该知道,这有个相应的称呼,叫做动态规划算法)点(x,y)处的积分图,定义为点(x,y)左上角所有像素和。用公式表示为:找(顷主心JP与其中,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)同

6、理,点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);所以此类特征原型的特征值

7、为:(ii4-ii3)-(ii2-ii1)+(ii4-ii3)-(ii6-ii5)矩形特征的特征值计算,只与此特征矩形的端点的积分图有关,所以不管此特征矩形的尺度变换如何, 特征值的计算所消耗的时间都是常量。这样只要遍历图像一次,就可以求得所有子窗口的特征值。二、使用Adaboost算法选取优化的弱分类器和级联结构的层叠分类器在确定了特征形式后,Harr- like特征的数量就取决于训练样本图像矩阵的大小,特征模板在子窗口内 任意放置,一种形态称为一种特征,找出所有子窗口的特征是进行弱分类训练的基础。训练过程分为3个步骤:首先需要提取Haar特征;然后将Haar特征转化成对应的弱分类器;最后从

8、 大量的弱分类器中迭代选择出最优弱分类器。(1)提取Haar特征常用的Haar特征有4种。0 0 0当然也可以在这4种特征的基础上设计出更多、更复杂的特征。以大小为24x24像素的训练样本为例, 上述4种特征的总个数超过了 160000个。这样庞大的数字给后续的迭代训练工作带来了庞大的计算量,直接导致AdaBoost算法训练过程极为费 时,这恰恰是算法需要改进的关键问题之一。(2)生成弱分类器AdaBoost的学习算法能从一个很大的特征集中选择很小的一部分关键的特征,从而产生一个极其有效的分类器。最初的AdaBoost学习算法可用于提高一个简单的分类器(有时又称为弱分类器)的性能,它最终形成

9、的强分类器的训练错误率接近于零,而且具有很好的推广性。每一个Haar特征都对应着一个弱分类器,每一个弱分类器都是根据它所对应的Haar特征的参数来定 义的。利用上述Haar特征的位置信息,对训练样本进行统计就可以得到对应的特征参数。Viola共定义了 180,000种矩形特征,这个数远大于图像中像素的数目。每个特征都能很快计算出来, 再通过试验选出一小部分作为特征以形成一个有效的分类器。要得到最终的强分类器,最重要的是如何找 到这些特征。为此起见,每个弱分类器的设计都是从能对正例和反例进行正确分类的所有弱分类器的集合中选择错 误率最小的一个。对每个特征而言,弱学习器决定弱分类器的最佳的阈值,使

10、其具有最小的误分样本数。因此一个弱分类器(hjx)是由一个特征()、一个阈值(6j)和一个指示不等式方向的校验器邕)构成:= f 1 lf Pj fj() F&e-i i + 1-Tir = 口; Ff = Fp-I-while F| / x F|_ i* fii * rij + 1* Use P and A7 to train a classifier with m 拒 at u re using Ad aB do st* Evaluate current cascaded chssitiEr on lalidatinn to determine F, and Dj.* DEcreaw th

11、reshcild for he ith cla瞒ifier until the currEntcaMzadEd cla.- sififf has a detection rate of at least d X Z?r-i fthis alsn afiects Fj)-NT-f Fr FlnrgeI then evaluate the cunt nt cascaded detectcron the set of non-tace iiTiac!; and put any ial&e dectBctions into the &et N补充:训练样本的选择和训练系统总体框架训练样本要求是面部特写图像,下图是一簇训练样本,大小被归一化为24X24像素。其中,正训练样本要求是面部特写图像,但是人脸形态千差万别,所以训练样本选取过程中要考虑到 样本的多样性。负训练样本,大小被归一化为24X24像素,其中各样本不完全相同,分别具有一定的代表性。训练系统总体框架,由“训练部分”和“补充部分”构成。依据系统框架,本文的训练系统可分为以下几个模块:(1)以样本集为输入,在给定的矩形特征原型下,计算并获得矩形特征集;(2)以特征集为输入,根据给定的弱学习算法,确定闽值,将特征与弱分类器一一

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 解决方案

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号