APP下载

Adaboost人眼定位方法改进与实现

2017-09-29夏慧卿张丽艳吴晓天柯飘张庆东

大连交通大学学报 2017年5期
关键词:人眼人脸分类器

夏慧卿,张丽艳,吴晓天,柯飘,张庆东

(1.大连交通大学 电气信息学院,辽宁 大连 116028; 2.大连造船厂工具实业公司,辽宁 大连 116035)*

Adaboost人眼定位方法改进与实现

夏慧卿1,张丽艳1,吴晓天1,柯飘1,张庆东2

(1.大连交通大学 电气信息学院,辽宁 大连 116028; 2.大连造船厂工具实业公司,辽宁 大连 116035)*

提出了基于改进的Adaboost方法来实现人脸图片中人眼的精确定位.首先在待检测的图片中利用人脸分类器定位出人脸,然后在所得人脸图像上进一步利用人眼分类器精确定位人眼.改进后的Adaboost算法与传统方法相比,具有构建分双层分类器所需要的特征数目降低、算法精确性提高和实时性的特点.

Adaboost;人眼定位;联级分类器

0 引言

远程教育的发展历程,经过函授、幻灯、信息化等等,一直没有能对传统教育模式形成挑战[1].但是随着科技的持续驱动,这种挑战成为可能.中国开放大学远程教育云[2]已经初具规模,对任何类别的人都有所教,而且对不同类别的人有不一样的教育方式.随着远程教育的发展,随之而来的问题就是怎么才能保证远程教育的效能呢?通过人眼定位可实现对学生的学习认真程度作出一定的判断,并给出相关定论.

目前,人眼定位的方法有了很多,主要的定位方法包括:几何特征以及灰度特征[3- 4]的方法,该算法在复杂的光照下检测率大大降低而且算法也比较复杂;基于统计学习的方法[5- 6],充分将机器学习中的弱学习定理运用其中.本算法将对大量的目标样本与非目标样本进行学习并获得相关模型数据,与此同时构建了检测用的分类器或者滤波器,这样就大大的提高了检测的精度,使人眼检测研究成为热点之一.

本文将Haar-Like特征用于Adaboost算法[7]并结合Viola等的人脸检测级联模型[8],训练出人脸分类器,既而获得人脸.对得到的人脸图片通过双眼分类器以及单眼分类器的方式对眼睛进行定位.首先,利用双眼分类器对眼睛的敏感区域进行确定,从而实现人眼的粗定位.然后,在粗定位所得的区域,利用单眼分类器进行检测,输出的人眼图像即为精确人眼位置.为了避免传统Adaboost算法检测所存在的误检问题,本文将采用双层结构的分类器能够克服这些问题,还能够解决其它人眼定位结构复杂、检测速度慢以及人眼配对复杂等难题.

1 Adaboost人眼定位算法原理

利用Adaboost算法对人脸人眼进行检测,就是要通过提取出某种特征才能解决算法的输入问题.Haar-Like特征[9- 10]能够描述图像局部区域的灰度分布特点,因而可以作为特征提取的一种方法.Haar-Like特征是由线性特征、边缘特征和中心特征组成的特征模板.模版中每个特征都是由黑白两种颜色矩形组成,并且将白色矩形像素之和与黑色矩形像素之和做差,得到的值定义为模板特征值.训练样本图像的时候,图像样本的矩阵大小决定需要的Haar-Like特征的数量,矩阵越大所需数量越大.窗口内的特征模板[11]所在的每一个位置都对应一种特征.就这样把窗口内的所有特征都找到就可以为弱分类器的训练做铺垫.实际中每幅图片都是有限数据的,因此就可以快速准确地利用矩形特征计算并能够计算出每个区域的状态.不仅可以加快检测速度和灵活的检测方式,还可以处理多分辨率多尺度的图像.其中图1中是简单面部和眼部的矩形特征描述.

图1 矩形特征说明

在基于统计学习的检测算法中,Adaboost算法是比较普遍也比较好用的方法.近些年,Adaboost算法的检测技术不断的发展和完善,在领域内取得了一定程度上成功.不但检测率方面已经达到较高的水平,而且可以实现实时检测.

Adaboost算法在训练开始时,对所有的正负样本设置一个相等的初始权重[12].分类器经过一轮完成训练之后,通过训练集上的结果和分类的准确率作为评判标准,考虑是否重新调整样本的权重;进入到下一轮迭代时,上一轮分类错误的样本概率提高,而正确样本概率降低.就这样在下一轮迭代时,弱分类器更加注重错误样本的分类.

强分类器的训练算法如下:

(1)对于n个学习样本{x1,Y1},{x2,Y2},…,{xn,Yn},其中,每个x1,都是X的一个实例,即xi∈X,在人脸检测中就是输入的人脸图像,每一个Yi是对应于xi的输出结果集Y,人脸检测只有2个类的问题,则yi∈Y={-1,+1},设n个样本中有P个正样本和q个负样本;

(3)对于t=1,2,...,-1,调用一个给定的弱学习算法,执行以下4个步骤:

②对于每一个特征j,训练弱分类器hj与Et,j相关的误差为εt,其中:

同时选择具有最小εt的ht.

③更新权值,令:

当分类器正确时,ht(xi)=yi,ei=0,而当分类器错误时,ht(xi)≠yi,ei=1.

④最后输出的假设为:

其中,αt=log(1/βt).

(4)将训练的各级简单分类器级联构造为第n级强分类器fn.

将得到的强分类器串联在一起,这种结构称之为联级分类器,可以更好的提高检测精度.在这样一个多层结构上看,可以理解为一个决策树.在这个级联结构中,强分类器的级数是越来越复杂,也越来越严格.只有在刚开始的级数里分类特征较少,越往后特征数目越多.

眼睛的强分类器是训练双眼分类器和训练单眼分类器联级而成的.两个分类器又分先后顺序,双眼分类器在前,单眼分类器在后.当已定位的人脸图像输入后,将图像送入双眼分类器进行检测,形成人眼粗定位;粗定位后再送入单眼分类器中检测,从而定位出人眼的位置,即为精确定位;最后将精确定位结构输出.

2 Adaboost人眼定位算法实现

Adaboost算法的人眼训练系统和人眼检测系统如图2所示.主要由训练和检测的两部分组成.

(1)训练部分

将收集的人脸样本和非人脸样本的尺寸以及光照归一化,减小训练样本类内差距.根据几个样本的积分图,便于计算样本的Haar-Like特征,提取所有的特征并生成特征空间,使用Adaboost算法对每一个特征构造成一个弱分类器.根据归一化因子最小化原则,选择一个最优的弱分类器.根据样本输出的权重不断的迭代,直到符合分类误差.将所得的最优弱分类器整合成强分类器.

(2)检测部分

分类器训练的特征一般存储为xml文件,通过该文件对检测图片进行检测.其中分类器是由若干个强分类器构成联级分类器.在图像中检测结构以目标矩形来呈现.人脸定位是为了减小检测区域,使得人眼定位检测的范围缩小以及计算速度更快.在人脸检测时,考虑到人脸在目标图片上占的比例比较大,则可以扩大搜索目标使检测速度更快.通过人脸定位之后所得图像,利用双层结构分类器对人眼进行定位,可达到运算量减少计算速度快的目的. 算法是以Visual Studio 2010为运行环境使用OpenCV库,并且在源码中添加了一个CvRectface_domain参数,实现检索区域限定.本文算法采用检测区域范围缩小从而减小了算法计算量.

图2 系统训练框架

3 实验结果

Adaboost算法在训练中使用的人眼库是从http://face.urtho.net中提供的数据集,还有人脸库ORL库中剪切的人眼图片以及自己制作的人眼图片1 500张.对于本算法进行验证,通过对网上图片和自拍图片等样本进行检测,检测效果如图3所示.

(a) 网络图片

(b) 自拍图片

在最后一幅图中只定位了一只眼睛,表明该算法对戴眼镜的人检测时存在漏检的情况,因此算法还有待改进完善.

4 结论

本文提出的是基于双眼和单眼的Adaboost分类器联级而成的双层结构人眼分类器.这样既延续了传统Adaboost算法对较暗环境和光照变化较大情况的人眼追踪特点.在前一层双眼分类器检测中,成功的缩小了待检测的样本范围,为后一层单眼分类器检测时,降低检测多余的误检情况,使人眼检测正确率提高.本算法的实现既具有较高的鲁棒性和精度问题,还易于实现.该算法应用到在未来远程教育系统上,将取得更大的进展.

[1]仕超.远程教育创新体系特色探析——评《远程教育概论》[J].中国教育学刊,2016(2):114.

[2]冯雪冰.我国远程教育政策发展及演变特征分析[D].北京:北京邮电大学,2014.

[3]郑玉铎,田杨萌,靳薇.基于AdaBoost和ASM算法的人眼定位[J].北京信息科技大学学报(自然科学版),2013(3):73- 76,81.

[4]QIUPING WANG,TIEPENG WANG,KE ZHANG.Image edge detection based on the grey prediction model and discrete wavelet transform[J].Kybernetes,2012,41(5/6):617- 621.

[5]张志文,付永庆.基于眼球运动状态检测的疲劳预警系统研究[J].计算机与数字工程,2016(2):255- 258.

[6]SUJING WANG,HUILING CHEN,WENJINH YAN,et al.Face Recognition and Micro-expression Recognition Based on Discriminant Tensor Subspace Analysis Plus Extreme Learning Machine[J].Neural Processing Letters,2014,39(1):25- 43.

[7]DONG WANG,JING YANG,JIANKANG DENG,et al.FaceHunter:A multi-task convolutional neural network based face detector[J].Signal Processing:Image Communication,2016,47:476- 481.

[8]曹正贵,马文,王志锋.基于肤色与新型Haar-Like特征的人脸检测算法研究[J].广东通信技术,2015(11):27- 32,40.

[9]吴正平,杨杰,崔晓梦,等.融合L2范数最小化和压缩Haar-like特征匹配的快速目标跟踪[J].电子与信息学报,2016(11):2803- 2810.

[10]SRI-KAUSHIK PAVANI,DAVID DELGADO-GOMEZ,ALEJANDRO F.Gaussian weak classifiers based on co-occurring Haar-like features for face detection[J].Pattern Analysis and Applications,2014,17(2):431- 439.

[11]唐杰,文贡坚.基于改进AdaBoost分类器的一种目标识别算法[J].无线互联科技,2016,20:100- 104.

[12]刘相滨,周治民,张波云.一种复杂环境下的人眼定位算法[J].湖南师范大学自然科学学报,2015(4):85- 89.

Improved and Implementation of Adaboost Eye Location Method

XIA Huiqing1,ZHANG Liyan1,WU Xiaotian1,KE Piao1,ZHANG Qingdong2

(1.School of Electrical & Information Engineering,Dalian Jiaotong University,Dalian 116028,China; 2.Dalian Shipyard Tools Industrg Co.,Dalian 116035,China)

An improved Adaboost method is proposed to realize the accurate positioning of human eyes in face images.Firstly,a face classifier is used to locate the human face in the image to be detected.Then,the human face image is further used to locate the human eye accurately.Compared with the traditional method, the improved Adaboost algorithm has the characteristics of reducing the number of features and improving the accuracy of the algorithm and real-time.

adaboost;eye location;joint classifier

1673- 9590(2017)05- 0111- 04

A

2016- 12- 23

夏慧卿(1989-),男,硕士研究生; 张丽艳(1974-),女,副教授,博士,主要从事信号处理、嵌入式系统开发的研究

E-mail:xiahuiqing007@163.com.

猜你喜欢

人眼人脸分类器
有特点的人脸
一起学画人脸
人眼X光
人眼为什么能看到虚像
三国漫——人脸解锁
基于差异性测度的遥感自适应分类器选择
基于实例的强分类器快速集成方法
闪瞎人眼的,还有唇
看人,星光璀璨缭人眼
基于层次化分类器的遥感图像飞机目标检测