您的位置:首页 > 其它

Adaboost 人脸检测基本原理

2008-10-31 15:25 218 查看
Adaboost 人脸检测基本原理
1. 1  特征的选取及特征值的计算
  在人脸检测过程中,需要对候选图像进行分析,
判断是否为人脸,多数人脸检测系统都是使用特征
对人脸模式进行建模,这些特征都应有一定的人脸
和非人脸区分性. Adaboost 用于人脸检测时,需要从
人脸中抽取大量的简单特征. 本检测器选择由Rain2
er Lienhart [2 ]等人提出的扩展的Haar2like 特征,如
图1~3 所示.


图1  边界特征
每个特征由2~3 个矩形组成,分别检测边界、
细线、中心特征,这些特征可表示为:





图2  线特征



图3  中心特征

式中:ωi 为矩形的权,RecSum( ri) 为矩形ri 所围图
像的灰度积分, N 是组成feature j 的矩形个数.
1. 2  Adoboost 算法
Adaboost 算法是一种分类器算法,其基本思想
是利用大量的分类能力一般的简单分类器( basic
classifier) 通过一定的方法叠加(boost ) 起来,构成一
个分类能力很强的强分类器( stage classifier) ,再将
若干个强分类器串联成为分级分类器(classifier cas2
cade) 完成图像搜索检测. 串联的级数依赖于系统对
错误率和识别速度的要求.
首先要生成强分类器:
设输入为N 个训练样本: { x1 , y1 } , ⋯,
{ x n , yn} ,其中yi = { 0 , 1} 对应假样本和真样本; 已
知训练样本中有m 个假样本, l 个真样本.
第j 个特征生成的简单分类器形式为



其中: hj 表示简单分类器的值;θj 为阈值; pj 表示不
等号的方向,只能取±1 ; f j ( x ) 表示特征值.
1) 初始化误差权重,对于yi = 0 的样本,
ω1 , i = 1/ 2 m ;对于yi = 1 的样本,ω1 , i = 1/ 2 l .
2) 对每个t = 1 , ⋯, T (其中T 为训练的次数) :
①权重归一化


②对于每个特征j , 按照上面方法生成相应的
简单分类器hj ,计算相对于当前权重的误差:



③选择具有最小误差εt 的简单分类器ht 加入
到强分类器中去;
④更新每个样本所对应的权重:
式中:



如果第i 个样本x i 被正确分类, 则ei = 0 , 反



3) 最后形成的强分类器为



将强分类器串联在一起形成分级分类器(classi2
fier cascade) . 串联时应遵循“先重后轻”的分级分类
器思想,即将由更重要特征构成的结构较简单的强
分类器放在前面,这样可以先排除大量的假样本,提
高检测速度.
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: