基于Adaboost算法的人眼状态检测
- 格式:pdf
- 大小:275.99 KB
- 文档页数:4
第24卷第7期 计算机仿真 2007年7月
文章编号:1006—9348(2007)07—0214—03
/
基于Adaboost算法的人眼状态检测
许世峰,曾义
(上海交通大学计算机科学与工程系,上海200240)
摘要:人眼检测在表情识别和人脸识别中起着非常重要的作用,作为一种预处理的手段,人眼检测和定位可以有效地提高表 情识别和人脸识别的识别率。提出了一种基于Adaboost算法的实时人眼状态检测的方法。Adaboost是一个构造准确分类 器的学习方法。它将一簇弱分类器通过一定的规则结合成为一个强分类器,再把这些强分类器级联成为一个快速、准确的 分类器。分析和讨论训练阶段不同的人眼特征选择对最终检测的影响,并实验测试各种特征方法对特定目标的检测率,给 出一个理想的分类器。 关键词:自举算法;目标检测;检测率 中图分类号:TP391.41 文献标识码:A
Eyes State Detection Based on Adaboost Algorithm
XU Shi—feng.ZENG Yi
(Department of Computer Science and Engineering,Shanghai Jiaotong University,Shanghai 200240,China)
ABSTRACT:As a preprocess method,eyes detection plays a very important role in the facial expression recognition and face recognition.It could improve the recognition rate in both regions.This paper presents a method based on
Adaboost algorithm for eyes state detection.Adaboost is a learning algorithm for constructing accurate classifiers.It
can construct a strong classifier by combining a series of weak classifiers through some rules,and a fast and accurate
cascaded classifier could be obtained by cascading existing strong classifiers.In this paper,several eyes features in
the eyes state detecting process are analyzed and discussed,the detection rates of all the methods are compared,and
the best feature method is chosen to construct the classifier.
KEYWORDS:Boost algorithm;Object detecting;Detection rates
1 引言
人脸识别和表情识别是计算机视觉领域中非常重要的
两个研究课题。人眼的检测和定位对这两个研究方向的影
响是非常大的,因为眼睛这个特征是人脸上最重要的一个特
征,在人脸识别中可以通过人眼的位置来校正人脸的角度,
在表情识别中人眼的闭合本身就可以定义为一种表情(如疲
倦)。因此定位人眼的位置并判断人眼是否睁开在人脸识别
和表情识别中都显得特别重要。目前人眼检测和定位已经 有很多方法了,从简单的利用肤色和灰度变化的方法…到更
加复杂的基于神经网络的分类方法 等等。本文提出了
一种通过Adaboost算法 JIl5 J.16 训练和检测睁开的人眼的方
法来同时实现人眼的定位以及人眼状态的判断。Adaboost
算法顾名思义是一种自适应boosting算法,它的原理就是将
一些简单的弱分类器(矩形特征)通过特定的训练需求(一
般为检测率和误检率的要求)组合成为 个强分类器,在训
收稿日期:2006—06—29修回日期:2006—07—11
—214一 练和检测时每一个强分类器对待检测的矩形特征进行判决,
将这些强分类器级联起来就可以生成一个准确的、快速的分
类器。它的特点就是检测速度快,因为每一个强分类器都可 以否决待检测的矩形特征,所以前面的强分类器就可以把大
部分错误的特征给排除掉。
2 Adaboost算法描述
Adaboost算法的基本思想就是利用大量的分类能力一
般的弱分类器(weak classifier)通过一定的方法叠加起来构
成一个具有很强分类能力的强分类器(strong classifier)。最 初的方法是限定每一层强分类器的个数,改进的方位为检测
率和误检率的要求。一个弱分类器^,( )包括以下三部分:
矩形特征 ,一个分类阈值 ,以及一个分类符号Pj。并且满 足以下关系:
^ ):f if蹦< (1) 【0 0therwis
矩形特征是Adaboost算法中规定的几种标准的矩形模
式,
一般为二到三个矩形组成;分类阈值如式(1)所示是一 维普资讯 http://www.cqvip.com 个对所有矩形进行分类的特定值;分类符号则是和分类阈值
配合对所有矩形分类的一个方向符号。强分类器的生成方式
是以弱分类器的投票决定的,不停地向强分类器中加入弱分
类器,这些弱分类器是经过选择的最优分类器,直到特定的
需求得到满足为止,这个特定需求在原始的Adaboost算法中
是大于1/2,也就是说比猜测强就可以了,而在改进的
Adaboost算法中则是必须达到训练时指定的检测率和误检率
为止。一个强分类器就可以对待检测区域进行判决,通过的
则进入下一级强分类器或者给出检测结果,否则就直接可以
被排除。具体操作过程如图1所示:
图1 强分类器判决过程
下面介绍标准的Adaboost算法对于一个强分类器的训
练,正样本为包含眼睛的图片,负样本为不包含眼睛的任意
图片。设输入的n个训练样本为:{X ,Y },…,{ ,Y },其
中Y ={0,1}对应负样本和正样本;其中正样本数为z,负
样本数m。n=z+m,具体步骤如下:
1)初始化每个样本的权重 对于正样本,W =1/2l,
对于负样本Wl_I=1/2m;
2)对每个t=1,...,7T(其中7T为弱分类器的个数)
①把权重归一化为一个概率分布:
纛1 二一一 ,i
②对于每个特征 ,生成相应的弱分类器 ,,计算相对于
当前权重的误差:
q=∑W l"hi(Xi)一Y l (3)
③选择误差s 最小的弱分类器hj加入到强分类器中。
④更新所有样本的权值
W…. =W“卢 ‘ (4) 其中如果训练时第i个样本被正确分类则e =0,反之e
, 。
3)最后得到的强分类器为:
):』- ∑ ÷∑ (5)
【0 o£herwi5e
在标准的Adaboost算法训练过程中弱分类器的个数也 就是步骤2)里面的r是固定的,也就是说每一个强分类器中
所含有的弱分类器的个数是固定的,最后的投票方式为所选
的弱分类器进行投票,只要大于1/2,也就是只要比猜测的结
果好就可以通过级联得到一个准确的结果。Paul Viola修改
了这个算法,他的做法就是在训练每一层强分类器时弱分类
器的个数是不定的,首先给出一个检测率和误检率的值,在
训练的时候,按原来的弱分类器的选择方式向强分类器里加
最优弱分类器,直到强分类器的检测率和误检率达到给定的
要求为IE。
3基于Adaboost算法的人眼状态检测
在视频流中,由于每一秒钟就有至少十几帧图像需要处
理,而且数字图像处理的复杂度的相当大的。所以要保证视
频流中图像处理的实时性就必须采用特定的算法。我们实
现的人眼状态检测和定位系统就是在一个实时性要求比较
高的环境下运行的。Adaboost算法由于它特殊的算法模式
可以进行快速的目标检测,因此我们的人眼状态检测的定位
系统就选择了Adaboost算法。基于Adaboost的人眼检测系
统主要包含两个模块:训练和检测。其中训练过程起着决定
性的作用。
3.1训练模块
训练模块可以细分为三个部分:样本的准备、样本的归
一化和对样本的训练。
3.1.1样本的选择这个环节很重要,包括两个方面,首先是
样本源,我们的系统的训练样本图片全部来源于网络,主要
考虑到系统最终的检测目标是实际生活中的人脸图像。其
次,就是样本特征的标定,在人眼中由于瞳孔的位置的变化
和人眼张开角度大小的变化导致仅仅以人眼轮廓以内部分
为特征作为训练样本时,样本的类内差异太大,分类器比较
难以选取出有效的弱分类器来达到区分正样本和负样本的
目的。在我们的实验中,我们选取了三种特征,第一种是眼
睛轮廓的外接矩形,第二种是包含双眼和眉毛的矩形,第三
种是以瞳孔为中心上边界到眉毛的外接矩形,以下对这三种
情况都做了测试。
3.1.2样本的归一化主要包括尺寸的归一化和光照的归一
化,目的是为了减小训练样本的类内差异。使正训练样本都
是在相同尺寸、相同光照条件下的灰度图。 3.1.3样本的训练过程就是按第2部分算法所阐述的方法
选择弱分类器,形成强分类器,再由强分类器级联成为一个
有效的分类器。在训练时给出检测率和误检率的要求,如检
测率为0.99,误检率为0.3,若一共有n个强分类器,则最终
的检测率为0.99 ,最终的误检率为0.3 。
3.2检测模块 检测模块就是根据训练所得到的分类器特征一般存储
为xml文件对输入图片进行检测,分类器是一个有若干个强
分类器组成的级联分类器。检测结果是一系列的目标矩形,
也就是图像中目标所在的位置。具体检测过程如下:当有一
一
215— 维普资讯 http://www.cqvip.com