基于Adaboost的人脸识别算法研究
基于Adaboost算法的人脸检测研究
第 3 (0 7 第 2期 5卷 20 )
计算机与数字工程
7
基 于 A aos算 法 的人 脸 检 测 研 究 dbot
罗明 刚 李一民 曾素 娣
60 9 ) 5 0 3 ( 昆明理工大学信息工程与 自动化学院 昆明
摘
要
随着计算 机科 学的发展 , 人脸识别研究受到越来越 多 的重 视。而作 为人 脸识别 的一个重 要步骤 的人脸检测
R c u ( )=S T( 一1 Y一1 et n r S A , )+S T +w A ( 1 Y+ , h一1 )一S T 一1Y+h一1 A ( , )一S T +w A ( 1 Y一1 , )
个 矩 形 特 征 可 以 用 一个 五 元 组 表 示 为 : =( r , 的 坐标 , 和 h是 该 矩 形 特 征 的 宽 和 高 ,t 旋 W O是
计算机视觉
中 图分 类 号
1 引 言
人脸 检测 最 初 是 随 着人 脸 识 别 的研 究 而 提 出
点 的 象素 的和表示 为 S T ,)见 图 2 a A( Y, ()
_ _ 『
H
的 , 随着计算 机 视觉 技 术 的发 展 , 脸 检 测 受 到 但 人 越 来越 高 的重 视 而作 为一 个 独 立 的课 题 提 出 。人 脸 检测 长期 以来 受检测 的精 度 和检 测 的速 度 困扰 , 直 到上 世 纪 9 0年 代 , Vo … 提 出 的 基 于 A a 由 il a d- bot os算法 极 大 地 提 高 了人 脸 检 测 地 速 的 和 精 度 ,
Y W, ,t , 中 和 Y是 该 矩 形 特 征 左 上 角 点 , h O) 其 转 的角度。如下图 :
基于AdaBoost的人脸特征挑选与特征融合算法研究
Microcomputer Applications V ol.27,No.5,2011设计与研究微型电脑应用2011年第27卷第5期文章编号:1007-757X(2011)05-0011-03基于AdaBoost 的人脸特征挑选与特征融合算法研究顾徐鹏摘要:针对人脸识别中的特征挑选和特征融合问题进行研究。
结合已有的基于AdaBoost 的人脸特征挑选方法,挑选出最具分类能力的特征,并将挑选出的多类人脸特征在特征层进行融合,得到一个统一的人脸特征用于模式分类。
通过在FERET 人脸库上的实验表明,其识别方法具有良好的识别效果。
关键字:人脸识别,特征挑选,特征融合中图分类号:TP311文献标志码:A0引言人脸识别技术旨在赋予计算机识别人脸的能力,是一项具有重大理论价值和广泛应用前景的技术。
经过几十年学者们的不断探索,人脸识别技术已经有了很大的发展,在受控的特定环境下可以取得很好的识别效果[1],但离完全实用化还有不小的距离。
人脸识别的精度不仅取决于分类器的好坏,更重要的是使用什么样的人脸特征来描述不同的人脸,特征挑选与特征融合问题自然就成为了人脸识别领域的研究热点。
本文使用基于AdaBoost 的人脸特征挑选方法,将由AdaBoost 挑选出的不同人脸特征融合到一起,提高识别的精度。
本文分以下几个部分,第1节主要介绍基于AdaBoost的人脸特征挑选方法,第2节中将详细描述融合算法流程,第3节给出在FERET 人脸库上实验的结果,最后是结论。
1基于AdaBoost 的人脸特征挑选1.1AdaBoost 算法原理AdaBoost 算法(Adaptive Boosting )[2]是一种非常有效的决策融合方法,文献[2]证明它的分类性能和收敛速度比bagging 方法(通过弱分类器的简单多数投票来决策)和Boosting 方法(基于三者投票机制)更优。
理论上,它可以达到任意的决策准确率,并且不存在过度拟合的问题。
基于OpenCV和Adaboost算法的人脸检测
第1期(总第125期)机械管理开发2012年2月No.1(S UM No.125)M EC HANIC ALM ANAGEM ENT ANDDEVELOPM ENTFeb.2012引言人脸识别特指利用分析比较人脸视觉特征信息进行身份鉴别的计算机技术,是近年来信息科学领域一个备受关注的热点。
和其他生物特征识别技术相比,人脸识别具有自然性和不被被测者察觉等优势。
但是由于人脸的相似性和易变性等特点,人脸识别被认为是生物特征识别领域最困难的研究课题。
人脸识别主要用于身份识别,在门禁系统、公安刑侦破案、摄像监控系统、身份辨识、信息安全等方面都有着广阔的应用前景。
OpenCV 是Intel 公司开发的数字图像处理和计算机视觉软件,可以应用于很多领域作为二次开发的工具。
本文利用OpenCV ,实现了Adaboo st 的人脸检测算法。
1Ada boost 人脸检测基本原理对人脸检测的研究最初可以追溯到20世纪70年代,早期的研究主要致力于模板匹配、子空间方法、变形模板匹配等。
近期人脸检测的研究主要集中在基于数据驱动的学习方法,如统计模型方法、神经网络学习方法、统计知识理论和支持向量机方法、基于马尔可夫随机方法以及基于肤色的人脸检测。
目前在实际中应用的人脸检测方法多为基于Adaboo st 学习算法的方法[1]。
Paul Vio la 和M ichael Jones 于2001年将Adabo ost 算法应用于人脸检测中。
Viola 人脸检测方法是一种基于积分图、级联检测器和Adaboo st 算法的方法,方法框架可以分为以下三大部分:1)使用Harr-like 特征表示人脸,使用“积分图”实现特征数值的快速计算;2)使用Adabo ost 算法挑选出一些最能代表人脸的矩形特征(弱分类器),按照加权投票的方式将弱分类器构造为一个强分类器;3)将训练得到的若干强分类器串联组成一个级联结构的层叠分类器,级联结构能有效地提高分类器的检测速度[2]。
基于AdaBoost算法和人眼定位的动态人脸检测
论 文 中提 出了快速 人脸检 测 系统 。该 论 文是快 速人脸 检测 技术发展 的一个转折点 , 它的检测率 可以与最好 的
检测速度却能达到快速的要求。 准确 的检 测结果 , 别是 主流的检测方法仍 然存在着 一 算法 匹敌 , 特 在 Vo 提 出 的 A a os 法成 功用于人 脸检测 之 ia l d B ot 算 定 的误检 率 。许 多 研究者 想 到 了融合 多 种检测 方法 的 人脸 检测 手段 , 文献 [ 将 人脸 检测方 法分 为 : 于几何 2 ] 基 特征 的方法 、 基于肤色模型 的方法 、 于统计 理论 3 方 基 个 面 。肤色 检测是 其 中 比较 常用 的辅 助检测 手段 卅。但 肤 色检测 有其局 限性 : 一是 各人 种肤 色差异 很 大 , 法 无
f le e e t n n a e f h c mp e e vr n n . I o d r o c iv b t f s n a c r c d tc in a a e ee t n as d t ci i c s o t e o lx n io me t n r e t a h e e oh a t o a d c u a y ee t , fc d t ci o o meh d wi h ma y o ai n lo i m a h a x l r ag rt m i r p s d t o t u n e e l c t ag rt h o h s t e u i ay l oi i h s p o o e .At f s, fc ee t n s r a ie u i g h r t a e d tc i i e l d sn t e i o z
【 bt c】A aos a ot a be pr e n f tf e dt t n b o ep .H wvr ti a ot fn hs A s at dBot l rh hs en ap vd i a a e co y m r pol o ee h l rh oe a r g im o s c ei e e , s g im t
基于AdaBoost人脸检测算法中的特征筛选方法
的迭代式 进行计 算
s , )= , ( Y ( Y一1 i Y ; )+ ( ) , i( Y ( 2 , )= 2 一1 Y s ,) , )+ ( Y 。 其 中 s , ) 示 行 的 积 分 和 , s ,一1 ( Y 表 且 ( )=0 ,
作者简介 : 钱力思 (9 5 ) 男 , 庆人 , 18 一 , 重 西南 大学硕士研究 生 , 研
究方 向: 式 检 测 与 识 别 , gn 模 A et计 算 与 电 子 商 务 。E m i ・a : l
1 3 32 2 51 1 2@ q . o ; ly r a y @ sh . O 。 q o m Tp a e b o u ia CB
通 过 B ot g os n 算法 由一 系列 “ 分类器 经过 线性 组 i 弱”
21 0 0年 8月 1 日收到 7
厦罔
图 1 基本矩 形特 征模板
1 算法模型
1 1 积 分 图与矩 形特征值 的计算 . Vo i a在 2 0 l 0 1年 的文 章 里 首 次 引 入 了 “ 分 积
( )对 t , , , 3 =12 … 。
① 归一化权重 qi t: ,
() 1
∑
② 对于每个特征 , 训练一个弱分类器 h xf ( ,,
P ) 计 算 对 应 所 有 特 征 的弱 分 类 器 的 加 权 错 误 , ;
∑ ( Y , (, 表示像素点(,) ,)其中 : , , ) 的
资源 消耗 。
识别算法都是在假设 已经得到了一个正面人脸或
者假设 人脸很容 易 获得 的前 提下 进行 的 , 是 随 着 但
基于AdaBoost算法的人脸检测在嵌入式系统中的实现
Ke od : aed t t n d B ot grh hrw r ceeao ; i dPorm b a r y F G ) yw r s f e c o ;A a os a o tm; ad aeaclr i Fe —rga mal G t Ar ( P A c ei i l tn l e e a
李 先 锋 花小 朋 赵 , , 峰 孔 令 东 ,
(. 1 盐城 工 学 院信 息 工 程 学 院 , 苏 盐 城 24 5 ; . 海 交 通 大 学微 电子 学 院 , 海 20 4 ) 江 20 1 2 上 上 0 20
摘要 : 为解决人脸检测 实时性 问题 , 对 A a os 算法纯软 件 实现的瓶颈 , 出基于 F G 针 dB t 提 P A平 台的硬件 加速 策略 , 用流 采
.
a d a he e a d t cin n c iv ee t o
rt 8 w t as lr ae o % ,S tc n me tt e r q ie n so e lt a e d t cin aeo 9 % f i a f e a a m r t f 1 h l O i a e h e u r me t fr a — me fc ee to . i
越来 越迫 切 。
法 , 软 件实 现 中对 积 分 图 的访 问 是 该算 法 的 瓶 颈 , 纯
Ab t a t T o v h e h i a r b e o e lt a e d tci n a d b e k t r u h t e b t e e k o a o s ag rt m,a sr c : o s le t e t c n c lp o l m fr a—i fc ee t n r a h o g h ot n c Ad B o tl o i me o l f h
一种改进的基于AdaBoost的人脸检测算法
和协方差矩阵.
第三阶段:为了降低误报率,更精确的提取人
脸区域,采用 SVM 强分类器.
式中:如果第 i 个样本 xi 被正确分类,则 ei=0,
反之
ei=1,βt=
εt 1- εt
.
βt=
εt 1- εt
4)强分类器为
Σ
Σ
H(x)=
1Σ
Σ Σ Σ Σ
Σ
0Σ
Σ Σ
T
Hale Waihona Puke TΣ Σ t=
1
αtht(x)≥
1 2
t
=
αt
1
otherwise
αt=logβ1t
1.3 分级分类器
为了提高计算效率,降低误报率,采用一种级
(1)权重归一化
wt,i=
wt,i
L
Σwt,j
J=1
(2)生成弱分类器,计算相对于当前权重的误
差
L
Σ εj= wt,j|hj(xi)- yi| J=1
- 40 -
(3)选择具有最小误差 εt 的弱分类器 ht 加入 到强分类器中去
(4)更新每个样本所对应的权重:
w =w β1- ei t+1,i t,i t
练错误率与边界.
L
Σ k(xi,xj)=〈覬(xi)·覬(xj)〉;w= αiyi覬(xi) i=1
Σ Σ L
Σ f (x)=sign αiyik(xi,x)+b ;αi≠0 时训练样本 i=1
xi 称作支持向量机. 3 改进的人脸检测算法
在 改 进 的 检 测 算 法 中 , 第 一 阶 段 使 用 A-
联分类器如图 2 所示.
分级分类器对输入的图像采取由简单到复杂
基于Adaboost算法的人脸检测技术的研究与实现
基于Adaboost算法的人脸检测技术的研究与实现张宁;李娜【摘要】人脸检测是人脸识别技术的基础,首先提出人脸检测系统的构成,分析Adaboost算法对图像进行人脸检测的基本原理.根据Adaboost算法形成了简单的矩形特征作为人脸特征,即Haarlike特征,然后由多个Haarlike特征相当于一个弱分类器,由多个弱分类器级联成为一个强的分类器,并将级联分类器用于动态人脸检测中,从截取的每一帧图像中进行检浏.经过实验验证,采用这种方法和步骤进行人脸检测达到了比较好的精度和速度,为接下来的人脸识别提供了前提条件.%Face detection is the basis of face recognition. The structure of the face detection system is introduced and the basic principles of Adaboost algorithm is analyzed inthis paper. Based on Adaboost algorithm, a simple rectangular feature is formed as a facial feature, whch is Haar-like features.A weak classifier is formed by a number of Haar-Iike features, and multiple weak classifiers are cascaded into a strong classifier. The cascade classifier is used in dynamic face detection to detect faces captured from each frame image. Experimental results show that this method and process of face detection can achieve a relarively good accuracy and high speed, and provide preconditions for the next face recognition.【期刊名称】《现代电子技术》【年(卷),期】2011(034)014【总页数】3页(P4-6)【关键词】人脸检测;Adaboost算法;级联分类器;矩形特征【作者】张宁;李娜【作者单位】华北电力大学电子与通信工程系,河北,保定,071003;保定职业技术学院基础科学部,河北,保定,071003【正文语种】中文【中图分类】TN391-34人脸检测和识别技术是机器视觉与模式识别领域最有挑战性的研究课题之一,它是一个涉及到模式识别、计算机视觉、自然语言理解、图像处理等多门学科的综合课题。
基于Adaboost和最小割算法的视频人脸检测
ZHANG o‘ YU W e— u . LI Ta 。 iv Zh — i iwe
( . p r n o P yia a d lcr a Ifr t n S in e Guy n C l g , ia g 5 0 5, ia;.c o l f 1 De at t f h scl n E et c l nomai ce c , ia g ol e Guyn 5 0 0 Chn 2S h o o me i o e
p s n ag r h b s d o n e t a d Ad b o t ag r h n od r t ee tf c et r h s ag rtm o u e n o e a lo t m a e n mi - u n a o s lo i m i r e o d tc a e b t .T i l o h fc s s o i t e i te o t n n h k n c lr px l i h ma e n n s t e b u d r i e s ttl c s.T e e p rme tr s l h u l e a d te s i - oo ie n te i g ,a d f d h o n ay w t la t oa o t h x e i i h i n e ut s o d t i ag r h c n a he e fc ii o f ce t . h we hs lo tm a c iv a e d vs n ef in l i i i y Ke r s vd o fc ee t n mi — u ; a o s ag rtm y wo d : ie a e d tc i ; n c t Ad b o t l oi o h
t e l an n v r Ha r l e fau e a d a l s i d v l p t n ca s e h t c n d vd fc a d n n fc h e r i g o e a — i e t rs n s mp e , t e eo s a sr g l si r t a a i ie a e n o - a e k o i f
一种基于AdaBoost的快速动态人脸检测算法
第 3 卷 第 n 期 2
厶
・
计
算
机
工
程
20 0 6年 6月
J n 0 6 u e2 0
№
l l
Co p t rEn i e rn m u e gn e i g
人工智能及识别技术 ・
一
文 编 0 _ 4 ( o 1 2 _ 章 号z 0 3 8 o )— 2 _ 3 1 22 61 2o
Ada o tt e e tf c . n e r t d wi i e rf c r c e ,s a c i g r g o n e c l e e s o h e e t r a e r du e ,a d t u e e to Bo s o d tc a e I tg a e t a ln a a e ta k r e r h n e i n a d r s ai l v l f t e d tc o r e c d n h s d t ci n h ng s e d i c e e ae .I a s e i n l s i e r i i g me h d i t g ae t a o t b o sr p i g a d we g tti p e sa c l r t d t lo d sg s ac a sf rta n n t o n e r t d wi Ad Bo s 。 o tta p n n i h -rmmi g i h n ,wh c a e e s l ihc nb a i y
DENG Y f n , U Gu n d , ae g S a g a FU Bo ’
( p r n o lcrnc gn eig T ig u ies yBe ig10 8 ) De at t f et iEn ier , sn h aUnvri , in 0 0 4 me E o n t j
Adaboost人脸检测方法及其并行实现
第7 第 期 2卷 6
(北京大学本科论文)基于AdaBoost 算法的人脸检测
A, T, G, C, 1 and 0, the building blocks of intelligence. and to the pioneers uncovering the foundations of intelligence.
III
北京大学本科生毕业论文
正文目录 Contents
IV
北京大学本科生毕业论文
4.2 PAC 学习模型 ............................................................................16
4.2.1 概述............................................................................................................... 16 4.2.2 数学描述........................................................................................................ 17
北京大学本科生毕业论文 摘要Abstract人脸检测是人脸分析的首要环节,其处理的问题是确认图像(或影像)中是 否存在人脸,如果存在则对人脸进行定位。人脸检测的应用领域相当广泛,是实 现机器智能化的重要步骤之一。 AdaBoost 算法是 1995 年提出的一种快速人脸检测算法, 是人脸检测领域里 程碑式的进步,这种算法根据弱学习的反馈,适应性地调整假设的错误率,使在 效率不降低的情况下,检测正确率得到了很大的提高。 本论文第一章和第二章简述了人脸检测的一般情况, 第三章对一些人脸检测 的经典方法进行了说明。 第四章讲述了 AdaBoost 算法的发展历史。从 PCA 学习模型到弱学习和强 学习相互关系的论证 ,再到 Boosting 算法的最终提出,阐述了 Adaptive Boost ing 算法的发展脉络。 第五章对影响 AdaBoost 人脸检测训练算法速度的至关重要的两方面:矩形 特征和积分图的概念和理论进行了仔细的阐明。 第六章给出了 AdaBoost 的算法,并深入探讨了其中的一些关键问题——弱 学习器的构造、选取等问题。 最后一章,用编写的实现了 AdaBoost 算法的 Fá Dè t 程序,给出了相应的 人脸检测实验结果,并和 Viola 等人的结果做了比较。
基于DS—Adaboost算法的人脸检测
Fa c e De t e c t i o n Ba s e d O i l DS - Ada b o o s t Al g o r i t h m
Y E J u n Z HA NG Z h e n g - j u n
( D e p a r t me n t o f S t a t i s t i c s a n d F i n a n c i a l Ma t h e ma t i c s , Na n i i n g Un i v e r s i t y o f S c i e n c e a n d Te c h n o l o g y , Na n i i n g 2 1 0 0 9 4 , C h i n a )
略对其进行搜 索 以确定 其中是否含有 人脸 , 如果 是则返 回人 脸的位置 、 大小 和姿态 l 1 ] 。人脸检测 问题最初 来源 于人脸 识 别, 但 又不局 限于 人脸识 别 , 近年来 人脸 检测 由于在会 议 电
视、 视频 监控 、 视频压缩编码 等领域 的广泛应 用 , 因此开始 作 为一个独立的课题受到 日益广泛的关注。长期 以来人脸检 测 受到检测 的精度 和检 测 的速度 困扰 , 直到 2 0世 纪 9 O年代 , Vi o l a l 2 提 出了基于 Ha a r 特征 的 Ac l a b o o s t 算 法 的人脸 检测 , 极大地提高 了人脸检测 的速度和精度 。 Ad a b o o s t 算法是 F r e u n d E 。 等人 提 出的是一 种 自适应 的
1 引言
人脸检测是指对于任意 一幅给定 的图像 , 采用一 定 的策
l 矗 ( ) 1 ∈[ o , +。 。 ] 代表判定的确 定程度 。S c h a p i r e 等Ⅲ 还讨 论 了如何针对 A d a b o o s t 算法设 计弱 分类 器的连续 置信度 输
基于AdaBoost的人脸检测技术研究
基于AdaBoost的人脸检测技术研究
陈淑艳;尚尔刚;姜昱舟
【期刊名称】《电脑编程技巧与维护》
【年(卷),期】2013(000)012
【摘要】提出了一种基于AdaBoost学习算法的检测技术框架,并以人脸为研究实例来验证框架的可行性.人脸检测技术作为目标检测技术的一个成功典范,在人脸识别、表情分析、人脸跟踪、图像压缩编码、图像/视频数据库检索、生物特征识别、视频会议、自动监控、智能人机接口等,诸多领域有着日益广泛的应用.
【总页数】3页(P74-75,77)
【作者】陈淑艳;尚尔刚;姜昱舟
【作者单位】沈联后勤信息中心,沈阳110005;沈联后勤信息中心,沈阳110005;沈
联后勤信息中心,沈阳110005
【正文语种】中文
【相关文献】
1.基于AdaBoost人脸检测算法的分析研究 [J], 李佩; 汪红娟; 李业丽; 刘梦阳
2.基于YCbCr和AdaBoost算法的人脸检测 [J], 胡柳; 邓杰; 肖瑶星; 卢艳芝; 曾
蒸
3.基于ZYNQ的优化Adaboost人脸检测 [J], 高树静; 王程龙; 董廷坤
4.基于新增haar特征和改进AdaBoost的人脸检测算法 [J], 张彩丽; 刘广文; 詹旭; 才华; 刘智
5.基于Adaboost算法的人脸检测实现 [J], 兰胜坤
因版权原因,仅展示原文概要,查看原文内容请购买。
基于改进的AdaBoost算法的人脸检测与定位
ca sf rw i hi g v l e T e e p rme tlr s l h w h t h a e d tc o sa l h d b h e t o a l s i e eg t au . h x ei n a e u t s o t a e f c ee tr e tb i e y t e n w meh d h s i n s t s
g fc { ̄e t n;weg tp r mee s;c s a e c a sfe ;dee t n ae a e f tci o ih a a tr a c d l si r i t ci r t o
0 引 言
严重扭 曲的现象 , 即退化现象 。本 文在 A a os算 法 的基 dB ot
础上 , 对样 本 的 权 值 参 数 和 弱 分 类 器 的 加 权 参 数 加 以 改
人 脸 检 测 是 指 在 输 入 图 像 中 确 定 人 脸 的位 置 、 大小 、 姿
势的过程 , 为人脸信息处理 中的一项关键技术 , 作 在人脸识 别、 人脸追踪 、 姿势估计 、 表情识别 、 图像检索和数字视频等 方面都有着重要的应用 J 。 目前 , 人脸检测 的主流 方法是 基于 A a os算 法的检 d B ot 测方 法 J dB ot 法是 一种 自适 应 B ot g算 法 , 。A a os算 osn i 利 用该算 法可以将一族弱 学习算法 提升为 一个强 学习算 法 ,
程度来 限制 困难样 本权值 的过分增 大 ; 改进弱分 类器参 数
可 以加 强 分 类 器对 样 本 的 识 别 能 力 。实 验 证 明 : 方 法 具 该
9 4
传感器 与微 系统 ( r su e adM c ss m T cnl is Ta d cr n ir yt eh o ge) n o e o
基于PCA+AdaBoost算法的人脸识别技术
DOI1 . 7 0i n10 — 3 1 0 00 .5 文章编号 :0 2 8 3 (0 0 0 — 10 0 文献标识码 : 中图分类号 :P 9 .1 :03 8 .s.0 2 8 3 . 1. 0 4 7 s 2 4 10 — 3 12 1 )4 0 7 — 4 A T31 4
按列堆成一个 d维 向量表示 。
() 2 设有 K类的 d维样本空间 = , … , , 中 W: ( W , W )其
协‘ ¨
,
它从 图像整体代数特征 出发 , 基于 图像的总体信息进行分类 识 别 。Srv h和 Kry i i oc i 首先将 K L变换用于人脸图像的最优表 b —
样本总数, =1 _
总体 均值 。
11 C 人脸 识别 方法 . P A
示『 uk P nl d 1 1 r 和 et n 进一步提 出了 “ 征脸” Egnae 这个 。T a 特 ( iefc )
概念 。
‘
,… ,
7
’
} 是第 类样本集 , 含有 个样本 。 ‘ : ’
( , , , ) 第J 的 样 量。 _ 为 … j 第 个 本向 Ⅳ ∑ 是 } 类
A a o s l o t m o i r v h e o n t n rt . p r n s s o t a h e o n t n r t f P A l s Ad Bo s ag rt m s d B o t g r h t mp o e t e r c g i o aeEx e me t h w h t t e r c g i o ae o C p u a o t lo h i a i i i i i s n f a t ih r t a h t o C o ih ra e ag rt ms i i c n l h g e h n t a f P A r F s e f c lo
人脸检测adaboost算法研究
人脸检测adaboost算法研究作者:任小芹段昭霞来源:《山东青年》2015年第09期摘要:针对目前人脸检测速度较慢,近年来一种基于adaboost的人脸检测算法受到很大关注,其主要特点是能够快速检测。
为了更深入的了解adaboost算法,本文详细阐述了该算法的组成原理,并对存在的不足提出了一定的改进方案。
关键词:人脸检测;adaboost算法第一章国内外研究现状AdaBoost是最具有典型性的集成机器学习方法,其核心思想是针对同一个训练集训练不同的弱分类器——识别率仅好于随机的猜测的学习算法,然后把这些弱分类器集合起来,构成一个最终的强分类器——通过一组样本的学习后,能够达到理想的识别率的学习算法。
第二章算法详述2.1 算法原理2.1.1弱学习与强学习如何根据观测数据来学习并得到精确的假设是机器学习领域中人们非常关注的一个问题,机器学习的一个重要目标就是对新的样本尽可能给出精确的估计。
生成只比随机猜测好一点的弱学习算法很容易,但是构造一个强学习算法却是一件相当困难的事情。
Kearns提出了弱学习算法与强学习算法间的等价问题——是否能把弱学习算法转化为强学习算法。
如果两者等价,则只需要找到一个弱学习算法就可以直接将其提升为强学习算法。
Kearns 和Valiant 证明:只要有足够的数据,弱学习算法就能通过集成的方式生成任意高精度的假设(强学习方法)。
2.1.2类haar特征(矩形特征)使用简单矩形组合作为特征模板。
这类特征模板都是由两个或多全等的矩形相邻组合而成,特征模板内有白色和黑色两种矩形(定义左上角的为白色,然后依次交错),并将此特征模板的特征值定义为白色矩形像素和的减去黑色矩形像素和。
2.1.3积分图对于图像内一点 A( x, y),定义其积分图ii( x, y)为:其中i(x′,y′)为点(x′,y′)处的“原始图”,是此点的颜色值;对于灰度图像,其值为0~255。
对于彩色图像,可以先按照人脸色彩空间将其转化为灰度取值。
ADABOOST算法
目前因为做人脸识别的一个小项目,用到了AdaBoost的人脸识别算法,因为在网上找到的所有的AdaBoost的简介都不是很清楚,让我看看头脑发昏,所以在这里打算花费比拟长的时间做一个关于AdaBoost算法的详细总结.希望能对以后用AdaBoost的同学有所帮助.而且给出了关于AdaBoost实现的一些代码.因为会导致篇幅太长,所以这里把文章分开了,还请见谅.第二局部的地址请见:辛苦打字截图不容易,请标明出处.提到AdaBoost的人脸识别,不得不提的几篇大牛的文章可以看看,但是大牛的文章一般都是只有主要的算法框架,没有详细的说明.大牛论文推荐:1. Robust Real-time Object Detection, Paul Viola, Michael Jones2. Rapid Object Detection using a Boosted Cascade of Simple Features, 作者同上.还有一篇北大的本科生的毕业论文也不错:基于AdaBoost 算法的人脸检测,赵楠.另外,关于我写的AdaBoost的人脸识别程序的下载地址:1. C++版本:说明:需要自己配置opencv, 自己配置分类器.在程序运行前会捕捉10帧用户图像,计算人脸平均面积,这个过程不会有显示,但是程序没有出问题,稍等一会就会出现摄像头信息.2. C#版本:说明:使用了emgucv的库,需要自己重新添加引用动态库文件.两个版本的程序都能正确运行,没有任何问题.1. Adaboost方法的引入1.1 Boosting方法的提出和开展在了解Adaboost方法之前,先了解一下Boosting方法.回答一个是与否的问题,随机猜想可以获得50%的正确率.如果一种方法能获得比随机猜想稍微高一点的正确率,如此就可以称该得到这个方法的过程为弱学习;如果一个方法可以显著提高猜想的正确率,如此称获取该方法的过程为强学习.1994年,Kearns和Valiant证明,在Valiant的PAC〔Probably ApproximatelyCorrect〕模型中,只要数据足够多,就可以将弱学习算法通过集成的方式提高到任意精度.实际上,1990年,SChapire就首先构造出一种多项式级的算法,将弱学习算法提升为强学习算法,就是最初的Boosting算法.Boosting意思为提升、加强,现在一般指将弱学习提升为强学习的一类算法.1993年,Drucker和Schapire首次以神经网络作为弱学习器,利用Boosting算法解决实际问题.前面指出,将弱学习算法通过集成的方式提高到任意精度,是Kearns和Valiant在1994年才证明的,虽然Boosting方法在1990年已经提出,但它的真正成熟,也是在1994年之后才开始的.1995年,Freund提出了一种效率更高的Boosting算法.1.2 AdaBoost算法的提出1995年,Freund和Schapire提出了Adaboost算法,是对Boosting算法的一大提升.Adaboost是Boosting家族的代表算法之一,全称为Adaptive Boosting.Adaptively,即适应地,该方法根据弱学习的结果反应适应地调整假设的错误率,所以Adaboost不需要预先知道假设的错误率下限.也正因为如此,它不需要任何关于弱学习器性能的先验知识,而且和Boosting算法具有同样的效率,所以在提出之后得到了广泛的应用.首先,Adaboost是一种基于级联分类模型的分类器.级联分类模型可以用如下图表示:级联分类器介绍:级联分类器就是将多个强分类器连接在一起进展操作.每一个强分类器都由假如干个弱分类器加权组成,例如,有些强分类器可能包含10个弱分类器,有些如此包含20个弱分类器,一般情况下一个级联用的强分类器包含20个左右的弱分类器,然后在将10个强分类器级联起来,就构成了一个级联强分类器,这个级联强分类器中总共包括200假如分类器.因为每一个强分类器对负样本的判别准确度非常高,所以一旦发现检测到的目标位负样本,就不在继续调用下面的强分类器,减少了很多的检测时间.因为一幅图像中待检测的区域很多都是负样本,这样由级联分类器在分类器的初期就抛弃了很多负样本的复杂检测,所以级联分类器的速度是非常快的;只有正样本才会送到下一个强分类器进展再次检验,这样就保证了最后输出的正样本的伪正<false positive>的可能性非常低.也有一些情况下不适用级联分类器,就简单的使用一个强分类器的情况,这种情况下一般强分类器都包含200个左右的弱分类器可以达到最优效果.不过级联分类器的效果和单独的一个强分类器差不多,但是速度上却有很大的提升.级联结构分类器由多个弱分类器组成,每一级都比前一级复杂.每个分类器可以让几乎所有的正例通过,同时滤除大局部负例.这样每一级的待检测正例就比前一级少,排除了大量的非检测目标,可大大提高检测速度.其次,Adaboost是一种迭代算法.初始时,所有训练样本的权重都被设为相等,在此样本分布下训练出一个弱分类器.在第〔=1,2,3, …T,T为迭代次数〕次迭代中,样本的权重由第-1次迭代的结果而定.在每次迭代的最后,都有一个调整权重的过程,被分类错误的样本将得到更高的权重.这样分错的样本就被突出出来,得到一个新的样本分布.在新的样本分布下,再次对弱分类器进展训练,得到新的弱分类器.经过T次循环,得到T个弱分类器,把这T个弱分类器按照一定的权重叠加起来,就得到最终的强分类器.2. 矩形特征2.1 Haar特征\矩形特征AdaBoost算法的实现,采用的是输入图像的矩形特征,也叫Haar特征.下面简要介绍矩形特征的特点.影响Adaboost检测训练算法速度很重要的两方面是特征的选取和特征值的计算.脸部的一些特征可以由矩形特征简单地描绘.用图2示X:上图中两个矩形特征,表示出人脸的某些特征.比如中间一幅表示眼睛区域的颜色比脸颊区域的颜色深,右边一幅表示鼻梁两侧比鼻梁的颜色要深.同样,其他目标,如眼睛等,也可以用一些矩形特征来表示.使用特征比单纯地使用像素点具有很大的优越性,并且速度更快.在给定有限的数据情况下,基于特征的检测能够编码特定区域的状态,而且基于特征的系统比基于象素的系统要快得多.矩形特征对一些简单的图形结构,比如边缘、线段,比拟敏感,但是其只能描述特定走向〔水平、垂直、对角〕的结构,因此比拟粗略.如上图,脸部一些特征能够由矩形特征简单地描绘,例如,通常,眼睛要比脸颊颜色更深;鼻梁两侧要比鼻梁颜色要深;嘴巴要比周围颜色更深.对于一个24×24 检测器,其内的矩形特征数量超过160,000 个,必须通过特定算法甄选适宜的矩形特征,并将其组合成强分类器才能检测人脸.常用的矩形特征有三种:两矩形特征、三矩形特征、四矩形特征,如图:由图表可以看出,两矩形特征反映的是边缘特征,三矩形特征反映的是线性特征、四矩形特征反映的是特定方向特征.特征模板的特征值定义为:白色矩形像素和减去黑色矩形像素和.接下来,要解决两个问题,1:求出每个待检测子窗口中的特征个数.2:求出每个特征的特征值.子窗口中的特征个数即为特征矩形的个数.训练时,将每一个特征在训练图像子窗口中进展滑动计算,获取各个位置的各类矩形特征.在子窗口中位于不同位置的同一类型矩形特征,属于不同的特征.可以证明,在确定了特征的形式之后,矩形特征的数量只与子窗口的大小有关[11].在24×24的检测窗口中,矩形特征的数量约为160,000个.特征模板可以在子窗口内以"任意〞尺寸"任意〞放置,每一种形态称为一个特征.找出子窗口所有特征,是进展弱分类训练的根底.2.2子窗口内的条件矩形,矩形特征个数的计算如以下图的一个m*m大小的子窗口,可以计算在这么大的子窗口内存在多少个矩形特征.以m×m 像素分辨率的检测器为例,其内部存在的满足特定条件的所有矩形的总数可以这样计算:对于m×m 子窗口,我们只需要确定了矩形左上顶点A<x1,y1>和右下顶点B<x2,63> ,即可以确定一个矩形;如果这个矩形还必须满足下面两个条件〔称为<s, t>条件,满足<s, t>条件的矩形称为条件矩形〕:1> x 方向边长必须能被自然数s 整除〔能均等分成s 段〕;2> y 方向边长必须能被自然数t 整除〔能均等分成t 段〕;如此, 这个矩形的最小尺寸为s×t 或t×s, 最大尺寸为[m/s]·s×[m/t]·t 或[m/t]·t×[m/s]·s;其中[ ]为取整运算符.2.3条件矩形的数量我们通过下面两步就可以定位一个满足条件的矩形:由上分析可知,在m×m 子窗口中,满足<s, t>条件的所有矩形的数量为:实际上,<s, t>条件描述了矩形特征的特征,下面列出了不同矩形特征对应的<s, t>条件:下面以24×24 子窗口为例,具体计算其特征总数量:下面列出了,在不同子窗口大小内,特征的总数量:3. 积分图3.1 积分图的概念在获取了矩形特征后,要计算矩形特征的值.Viola等人提出了利用积分图求特征值的方法.积分图的概念可用图3表示:坐标A<x,y>的积分图是其左上角的所有像素之和〔图中的阴影局部〕.定义为:其中ii<x,y>表示积分图,i<x,y>表示原始图像,对于彩色图像,是此点的颜色值;对于灰度图像,是其灰度值,X围为0~255.在上图中,A<x,y>表示点<x,y>的积分图;s<x,y>表示点<x,y>的y方向的所有原始图像之和.积分图也可以用公式〔2〕和公式〔3〕得出:3.2 利用积分图计算特征值3.3 计算特征值由上一节已经知道,一个区域的像素值,可以由该区域的端点的积分图来计算.由前面特征模板的特征值的定义可以推出,矩形特征的特征值可以由特征端点的积分图计算出来.以"两矩形特征〞中的第二个特征为例,如如下图,使用积分图计算其特征值:第二局部的地址请见:1. 弱分类器在确定了训练子窗口中的矩形特征数量和特征值后,需要对每一个特征f ,训练一个弱分类器h<x,f,p,O> .在CSDN里编辑公式太困难了,所以这里和公式有关的都用截图了.特别说明:在前期准备训练样本的时候,需要将样本归一化和灰度化到20*20的大小,这样每个样本的都是灰度图像并且样本的大小一致,保证了每一个Haar特征〔描述的是特征的位置〕都在每一个样本中出现.2. 训练强分类器在训练强分类器中,T表示的是强分类器中包含的弱分类器的个数.当然,如果是采用级联分类器,这里的强分类器中的弱分类器的个数可能会比拟少,多个强分类器在级联起来.在c<2>步骤中,"每个特征f〞指的是在20*20大小的训练样本中所有的可能出现的矩形特征,大概要有80,000中,所有的都要进展计算.也就是要计算80,000个左右的弱分类器,在选择性能好的分类器.训练强分类器的步骤如图:3. 再次介绍弱分类器以与为可以使用Haar特征进展分类对于本算法中的矩形特征来说,弱分类器的特征值f<x>就是矩形特征的特征值.由于在训练的时候,选择的训练样本集的尺寸等于检测子窗口的尺寸,检测子窗口的尺寸决定了矩形特征的数量,所以训练样本集中的每个样本的特征一样且数量一样,而且一个特征对一个样本有一个固定的特征值.对于理想的像素值随机分布的图像来说,同一个矩形特征对不同图像的特征值的平均值应该趋于一个定值k.这个情况,也应该发生在非人脸样本上,但是由于非人脸样本不一定是像素随机的图像,因此上述判断会有一个较大的偏差.对每一个特征,计算其对所有的一类样本<人脸或者非人脸>的特征值的平均值,最后得到所有特征对所有一类样本的平均值分布.如下图显示了20×20 子窗口里面的全部78,460 个矩形特征对全部2,706个人脸样本和4,381 个非人脸样本6的特征值平均数的分布图.由分布看出,特征的绝大局部的特征值平均值都是分布在0 前后的X围内.出乎意料的是,人脸样本与非人脸样本的分布曲线差异并不大,不过注意到特征值大于或者小于某个值后,分布曲线出现了一致性差异,这说明了绝大局部特征对于识别人脸和非人脸的能力是很微小的,但是存在一些特征与相应的阈值,可以有效地区分人脸样本与非人脸样本.为了更好地说明问题,我们从78,460 个矩形特征中随机抽取了两个特征A和B,这两个特征遍历了2,706 个人脸样本和4,381 个非人脸样本,计算了每X图像对应的特征值,最后将特征值进展了从小到大的排序,并按照这个新的顺序表绘制了分布图如下所示:可以看出,矩形特征A在人脸样本和非人脸样本中的特征值的分布很相似,所以区分人脸和非人脸的能力很差.下面看矩形特征B在人脸样本和非人脸样本中特征值的分布:可以看出,矩形特征B的特征值分布,尤其是0点的位置,在人脸样本和非人脸样本中差异比拟大,所以可以更好的实现对人脸分类.由上述的分析,阈值q 的含义就清晰可见了.而方向指示符p 用以改变不等号的方向.一个弱学习器〔一个特征〕的要求仅仅是:它能够以稍低于50%的错误率来区分人脸和非人脸图像,因此上面提到只能在某个概率X围内准确地进展区分就已经完全足够.按照这个要求,可以把所有错误率低于50%的矩形特征都找到〔适当地选择阈值,对于固定的训练集,几乎所有的矩形特征都可以满足上述要求〕.每轮训练,将选取当轮中的最优弱分类器〔在算法中,迭代T 次即是选择T 个最优弱分类器〕,最后将每轮得到的最优弱分类器按照一定方法提升〔Boosting〕为强分类器4 弱分类器的训练与选取训练一个弱分类器〔特征f〕就是在当前权重分布的情况下,确定f 的最优阈值,使得这个弱分类器〔特征f〕对所有训练样本的分类误差最低.选取一个最优弱分类器就是选择那个对所有训练样本的分类误差在所有弱分类器中最低的那个弱分类器〔特征〕.对于每个特征f,计算所有训练样本的特征值,并将其排序.通过扫描一遍排好序的特征值,可以为这个特征确定一个最优的阈值,从而训练成一个弱分类器.具体来说,对排好序的表中的每个元素,计算下面四个值:5. 强分类器注意,这里所说的T=200个弱分类器,指的是非级联的强分类器.假如果是用级联的强分类器,如此每个强分类器的弱分类器的个数会相对较少.一般学术界所说的级联分类器,都是指的是级联强分类器,一般情况有10个左右的强分类器,每个强分类有10-20个弱分类器.当然每一层的强分类器中弱分类器的个数可以不相等,可以根据需要在前面的层少放一些弱分类器,后面的层次逐渐的增加弱分类器的个数.6. 图像检测过程在对输入图像进展检测的时候,一般输入图像都会比20*20的训练样本大很多.在Adaboost 算法中采用了扩大检测窗口的方法,而不是缩小图片.为扩大检测窗口而不是缩小图片呢,在以前的图像检测中,一般都是将图片连续缩小十一级,然后对每一级的图像进展检测,最后在对检测出的每一级结果进展汇总.然而,有个问题就是,使用级联分类器的AdaBoost的人脸检测算法的速度非常的快,不可能采用图像缩放的方法,因为仅仅是把图像缩放11级的处理,就要消耗一秒钟至少,已经不能达到Adaboost 的实时处理的要求了.因为Haar特征具有与检测窗口大小无关的特性〔想要了解细节还要读一下原作者的文献〕,所以可以将检测窗口进展级别方法.在检测的最初,检测窗口和样本大小一致,然后按照一定的尺度参数〔即每次移动的像素个数,向左然后向下〕进展移动,遍历整个图像,标出可能的人脸区域.遍历完以后按照指定的放大的倍数参数放大检测窗口,然后在进展一次图像遍历;这样不停的放大检测窗口对检测图像进展遍历,直到检测窗口超过原图像的一半以后停止遍历.因为整个算法的过程非常快,即使是遍历了这么屡次,根据不同电脑的配置大概处理一幅图像也就是几十毫秒到一百毫秒左右.在检测窗口遍历完一次图像后,处理重叠的检测到的人脸区域,进展合并等操作.程序代码样例请到第一节找下载地址.。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
F: i (, + 2 L+ ) s.w  ̄ W g f + 。
多级分类器的结构如图 1 所示 。
/ 筛 选 排 除 部 分 、 /
() 2
ห้องสมุดไป่ตู้
框 A、 C、 B、 D的积分 图值 像素值之和 。由此可 以使用积 分图计 算任何矩形 中所有值和的像 素。 可以很明显地看出 ,个矩形构成的特征 , 2 其像素和之差可通 过6 个参考矩形求得 ; 个矩形构成的特征可以通过 8 由3 个参考矩 形求得 ; 个矩形构成的特征可以通过 9 由4 个参 考矩 形求 得。这 样每个特征都 能很快 的计算 出来 , 再通过试验选 出一小部分作
ca xi 、va .b 。采用“ vu .b cem1 ) 1 i 积分 图” 征提取方法快速 准确地 特 从 视频图像 中提取 出了正 面和左右侧面人脸 , 并用红色边框排
弱分类器j
除 了非人脸部分的图像 。 本文 , 笔者提出了基 于A aos的人脸检测算法 , d bot 通过积分 图的概念实现了快速的特征值计算 。实验结果表 明该算法能够
( y 表示像素点 ( Y 的积分 图 ,( y 表示像 素点( ,) ,) ,) i ) , Y 的像 素值。通过迭代 方式进行计算使特征检测器 中特征的计算速度
大大提 高。
条件下处理图像后获得人脸 的清晰图像 , 因此 人脸识别成 为了
研究 热点。本文 , 笔者提 出了使 用 A ao s算法进行 人脸的正 dbot
图 1 多级 分 类 器 结构
准确的识 别人脸 区域 , 并且实现 了在侧面情 况下 的人识 基金项 目 : 留学归国人 员教 学、 科研 建设 项 目, 国家8 3 6 项 快 速 、
目( 0 6 2 0 AA0 Z 4 。 4 2 3)
别 , 有 良好 的应用前景 。嘀 具
河南科技 2 1. 2 4 00 2: 9 1
! 竺
j 、、 \
头 , 频 图像 帧的大小 为 3 0 2 0 视 2 x 4 。在 V 6 下 使用 O ec1 C. 0 pn v. 0
版 本 , 加 了 所 需 要 的 l (xoe i、Vi 、 1i hgg ii、 添 i ccr.b C.b m . i u.b b 1 1 1 b h 1
iXY = 乙 i ,. ( 1
。 .
-
i YJ ( 。 x,
() 3
Y< 。y
低 权值 , 分类错误则 增大权值 。从而更加关 注那些没有正确 分
类 的样本。
如 图2 所示 , 积分 图中点 1 的积分图值 为矩形框 A所有像素 值之 和 ; 2 点 的积分 图值 为矩形框 A和 B的像素值之和 ; 3 点 的 积分图值是矩形框 A和 C的像素值之和 ; 4 点 的积分 图值是矩形
国氓鄹嚣蔻鼢爨
北京 邮 电大学 自动化 学 院 俞 晶 晶
在 A aos算法 中首先提出了“ dbot 积分 图” 的概念 , 图书 2 如 所 示 。积 分图就是 坐标点 ( ,左 上角的所 有像素 的和。其 中i , ) , i 人脸识别技 术作为当前的研究热点 之一 , 主要 包括识别 和 检测2 大方 向。人脸识别的研究 内容主要是如何快速准确的在 人脸数 据库中识 别 出目标 。 目前 , 越来越 多的应用需要在复 杂
\\ 域 / 、非人脸区 / f 、 / /
弱 类器 1 /, 弱分类器
筛选
、\ \
,
为特征 以形成一个有效 的分类器。从 而得到最终的强分类器。
二 、 p nv 法 实 现 O ec 算 实 验 中 的 主 要 图 像 采 集 设 备 选 择 了 常用 的 U B 口摄 像 S接
类器都对特 征值 f 进行判断 , 当特征 值 f 大于 阈值 v 时表示 是人
脸 , 则 不 是人 脸 。 否
¨
:
() 1
图 2 算法积分图
J < ) (
对每一个弱分类器进行相加得到最终的强分类器 F, 每个特 征向量根据是否被正确分类来改 变权值 。当样本分类正确时降
面和左 右侧 面检 测 , 实验结果 表明 , 该算 法识别效果好 、 实时性
好、 检测速度快 。
一
、
A aos算 法 dbot
A a os是一种迭代算法 , 核心思想是 针对不 同的训练 d B ot 其 集训练 同一个基本分 类器 , 然后 把这些在不同训练集 上得到的 分类器集合起来 , 构成一个更 强大的最终 的分类器 。每一层分