基于Adaboost算法的人脸检测技术的研究与实现
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
基于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
人脸检测和识别技术是机器视觉与模式识别领域最有挑战性的研究课题之一,它是一个涉及到模式识别、计算机视觉、自然语言理解、图像处理等多门学科的综合课题。随着社会的发展和科技的进步,对方便并且自动进行身份鉴别的技术需求日益迫切,人脸识别技术是目前研究较多的热门技术之一。人脸识别的前提是人脸检测,可靠的检测到人脸是高效率识别人脸的基本条件。
1 人脸检测系统原型设计
人脸检测系统设计主要分为4部分,检测流程图如图1所示:
(1) 从摄像头中获取图像;
(2) 使用人脸检测算法——Adaboost算法对图像进行检测;
(3) 对检测的人脸区域进行处理;
(4) 保存到人脸数据库中或者进行后续的人脸识别。
2 Adaboost算法基本原理
Adaboost算法包括提升算法和基本算法2部分。基本算法(即弱学习算法)实际上是选择合适的判别函数,即找弱分类器;提升算法是一个迭代的过程,每一次迭代都要选择一个分类错误率最小的弱分类器,同时调整所有训练样本的权值,增加被
分类错误样本的权值,使以后选择的弱分类器更加重视这些训练样本,最终提高分类器的泛化能力。
图1 人脸检测流程
Adsboost 算法过程:
(1) 输入N个训练样本:{(x1,y1),(x2,y2),…, (xn,yn)},其中yi∈{0,1},0表示反例样本,1表示正例样本;
(2) 指定循环的次数T,这将决定最后强分类器中弱分类器的数目;
(3) 初始化权值向量W1,i=D(i),1≤i≤N,D(i)是样本的初始概率分布(对于正例样本可以使D(i)=1/2m,反例样本使D(i)=1/2n,m和n分别为正例和反例样本的个数(m+n=N),也有些算法对所有样本使D(i)=1/N;
(4) For t=1 to T
① 归一化权值:
② 对于每个特征j的弱分类器hj,计算相对于当前权值的错误率如下:
③ 选择具有最小的错误率εt的弱分类器ht加入强分类器中。
④ 更新每个样本所对应的权值:
如果样本i分类正确,则ei=0;如果分类错误, ei= 1,βt=εt/(1-εt);最后形成强分类器如下:
式中:αt=log(1/βt)。
Viola和Jones首先将Adaboost算法应用于人脸检测中,他们用简单的矩形特征作为人脸特征,这些特征也称为Haar-like特征。每一个Haar-like特征相当于一
个弱分类器,这些弱分类器经由Adaboost算法提升成为一个强的分类器,在Adaboost算法的每一次迭代过程中所进行的弱分类器的选择,实际上是进行特征的选择。
3 级联分类器的应用
由于人脸检测的过程是对输入待检测图像的每个位置的每个规模的窗口进行扫描,若对每个检测窗口都进行计算,那么计算量是很大的,人脸检测的速度将会很慢。为了加快人脸检测的速度,Viola和Jones提出了采用“先重后轻”思想的分级分类器的检测结构,如图2所示,每一层分类器都包含一定数目的由Haar-like特征构成的弱分类器,第一层使用更重要的、分类性能更好的特征所构成的弱分类器,通常只有很少几个特征,但可以排除掉大量的非人脸窗口。随着层次的增加,特征的重要性逐渐降低,每层中特征或分类器的个数也越来越多,但待检测窗口的个数却越来越少,这样既不影响整个分级分类器的检测性能,又提高了检测速度。每一个检测窗口都要经过分级分类器的每一层进行判断,直到该检测窗口被某一层分类器判断为非人脸,或者它通过了所有层的判断,被分级分类器判断为人脸。
分级分类器总的检测率和误检率可以由每层分类器的检测率和误检率计算得到:
式中:D和F分别是总的检测率和误检率;di和fi分别是第i层的检测率和误检率;反之,如果给定了总的检测率和误检率,那么每层的检测率和误检率也可以确定。
图2 “先重后轻”思想的分级分类器的检测结构
4 人脸检测的实现
实验过程使用采样频率最高可以达到30 f/s的Logitech摄像头,采集每帧图像需要33 ms。首先把训练好的人脸分类器装载进入内存中,然后从视频中取得每一帧图片,使用分类器在图片上搜索出人脸,最后把人脸区域进行一定的处理,提取