在人脸检测中对Adaboost算法的应用研究

2014-07-10 10:38曹晓丽
赤峰学院学报·自然科学版 2014年5期
关键词:级联人脸矩形

黄 珍,曹晓丽

(兰州文理学院 电子信息工程学院,甘肃 兰州 730000)

在人脸检测中对Adaboost算法的应用研究

黄 珍,曹晓丽

(兰州文理学院 电子信息工程学院,甘肃 兰州 730000)

由于在当前使用的图像检测方法当中最为流行的是Adaboost算法,这种检测方法立足于统计模型.而当前有部分人脸检测方法当中存在着比较严重的检测速度慢与误检率特别高的问题,本文则对基本的Adaboost算法原理进行仔细解释,而且将这一算法在开发OpenCV程序过程当中进行应用,从而做到实现快速检测、鲁棒性与检测率都比较高的人脸检测.

图像检测方法;Adaboost算法;统计模型;人脸检测方法

通常来说,所谓的人脸检测是将视频序列或者是静止图像输入之后凭借相应的系统性策略或者组合将所有存在的人脸位置、姿态与大小进行确定的过程.人脸检测技术则是指识别人脸的系统、立足于内容的图像检索、处理数字视频、监测视觉以及验证身份等方面存在着特别重要的应用价值.可是受到特殊性与复杂性人脸自身的影响,而就导致在识别和检测人脸的过程当中受到背景、图像质量、表情、光照、尺寸、年龄、姿态等程度不同的影响.当前研究的热点之一则是识别和检测人脸.

在人脸图像当中体现出特别丰富的特征信息,在这些特征信息当中,比较典型的则是几何特征与颜色特征,运动信息还存在于序列图像的范畴当中.如今对于人脸进行检测的技术则划分为两大类:立足于统计学习的方法与立足于知识的方法;将隐马尔科夫模型与弹性图匹配作为代表的立足于结构特征的方法、混合局部特征与全局特征的方法以及将特征脸当成代表的全局特征提取与匹配方法.往往如今动态与单幅静止的人脸图像则是识别和检测人脸实施处理的对象.

1 对Adaboost算法的描述

从本质上来看,Adaboost算法这属于迭代的方法,这种算法的主要思想则是将系列性的弱分类器级联组合成为强分类器.实施这种算法的主要过程则是率先制定样本集合,随后循环操作所选定的样本集合,而在所有的循环过程中应该做出假设,之后将该假设的错误率进行计算,按照这对所有样本权重进行改变从而逐渐进入到下一个循环当中.从具体的操作流程来看,首先是必须做到所有样本有着相等的权重,以便把一弱分类器从该样本分布当中训练出来;之后凭借对这个分类器的使用,以便将被它错误分类的样本点权重提高,而且对被正确分类的样本权重降低,借助于这样的分类则能够突出错误的样本,而这样就会有着新的样本分布获得.样本在更新权重之后则被使用训练下一个分类器,根据这样的道理类推,经历着T次的循环,以便对T个弱分类器的获得,根据一定权重凭借累加所有弱分类器,这样就会有着理想的强分类器获得.

按照相关的理论结果显示:只要所有的弱分类器所具备的分类能力好于随机猜测,如果级联弱分类器所具备的个数趋向于无穷个数的时候,那么就导致强分类器的错误率逐步趋向于零.

1.1 Adaboost算法针对两类问题的训练过程

1.通过假定X来表示样本空间,样本类别的标识集合为Y,可是这一问题的属于二类,以便假设Y={1,-1},那么这就分别表示相应的正样本与负样本;

2.循环次数T;

3.循环fort=1,2,…,T.

一是按照分类Dt(i)训练相应的分类器

二是从分类获得结果:ht∈->R

三是获得错误率δt=∑tDt(i){Ht(i)-Y}AC

五是输出结果:H(x)=sign(∑nht(x)).

4.Dj(i)则显示出在第j次循环当中样本dt的权重,Dt(i)=1/N;

5.训练样本集合S={(x1,y1),(x2,y2),…,(xn,yn)},xi∈X,yi∈{1,-1},i=1,2,3,4,…,N.

1.2 矩形特征

通过我们的研究就能够了解到,在AdaBoost算法当中所使用分类的依据则是矩形特征,而这就是凭借一种与Haar小波有着一定类似之处的方法来对于人脸特征形成;如果在矩形特征当中显得比较典型其组成部分往往是两个到四个范围之内的矩形,以便能够做到对角线、细线或者边界等特征分别对应,那么在矩形特征所拥有的数值则是说正规图像上面的两个或者是两个以上的相同大小形状的矩形内部所有像素灰度值之和所存在的差值,往往这个差值就是通过灰色矩形内部的像素值减去白色矩形内的像素值.由于双矩形特征、三矩形特征与四矩形特征这属于检测中所用到的三种人脸特征,而这特征也相对应在图1当中的A、B、C、D.而通过图1就能够了解到,所谓的双矩形特征就是指在图1当中相邻两个矩形内部像素颜色之和的差值;三矩形特征则是指两边的两个矩形将中间的矩形中矩形内的像素颜色值减去所得到的数值;四矩形特征则是说两对角线上矩形内部像素颜色的差值.

图1 人脸矩形特征分析图

在人脸特征进行计算的过程当中,通过对矩形特征的利用,这样就能够做到基于尺度不同将图像特征快速计算,而算法也对于积分图的概念进行引用,而就能够从图2进行体现.

图2 积分图的概念

图3 积分图像

如果统计出图像的积分图,立足于常数时间通过积分图就能够计算在整个图像当中随意一个尺寸内的特征.而这就可以从图3进行显示.

借助于以上所做的详细分析,这样就能够让我们了解到,在整个检测阶段当中,贯穿始终的当遍历一次图像,这样就导致积分图对随意尺寸矩形积分图特征比较方便计算.

1.3 级联分类器的选定

为做到对检测系统的速度的进一步提高,而所使用的AdaBoost算法则选取的检测方法则是属于一种瀑布式级联分类器,使用AdaBoost算法在所有层训练一直延续到获得最小的误检率,当所获得的误检率的比目标高,那么就会导致进入到更新的一层当中.不管是在那一层在进行训练的过程当中往往仅仅是针对通过上层分类器的样本实施训练,这就存在着一定程度的类似之处与前文所提到的思想,把候选区域最大限度的缩小则是整个框架的目的.所擦用的瀑布式级联分类器的检测方式结构则可以从图4进行显示.

图4 瀑布式级联分类器实施检测的流程图

由于输入级联分类器则是属于借助于这样的级联分类器来对每个待测的窗口与图像子窗口实施检测,针对一个等待进行检测的图像样本,率先就应该将这个样本送入到第一层的分类器当中,当这一分类器所实施判断这个图像是属于非人脸,那么则结束整个检测过程;如果所实施判断这个图像是属于人脸,这样就会将其送入到下一层的分类器当中实施继续判断.通过这样举措的实施,以便能够做到让很多明显不是人脸的窗口在之前的几层就能够将其判断为非人脸,相应并不需要经历几层分类器的检验,而充分考虑到实施人脸检测的过程当中绝大多数等待进行检测的图像则是属于非人脸,这样的做法就使得分类器整体的检测速度得到有效提升.

使用这一的级联分类器框架这样就导致相对来说显得比较复杂的操作仅仅只能立足于极少数像素实施,而所使用的瀑布式级联分类器结构方式可以对系统整体运算量极大的减少.

2 OpenCV实现训练样本集的过程

在本文当中必须要对于一个样本集建立,借助于AdaBoost算法的有效利用来进行训练就能够获得一个AdaBoost级联分类器.在这一过程当中能够通过OpenCV自带的Haartraining程序来实现,还能够通过OpenCV自带的Haartraining程序训练样本空间,在结束训练完毕,这样就hi有着一个XML文件获得,而这一文件则是分类器的组合.

2.1 Createsamples程序的主要命令行参数

-img:源目标图片

-num:产生的正样本图片数目与数量相同

-inv:如果指定颜色会会任意反色

-maxidev:背景色最大偏离度

-w:将像素作为单位输出样本宽度

-h:将像素作为单位输出样本高度

2.2 Haartraining的主要命令行参数

-vec:正样本文件名

-w,-h:将像素当成单位对样本尺寸训练

-maxfalsealarm:没有阶段分类器的最大错误报警率

-nonsym:制定训练的目标对象是否垂直对称

-nneg:用来训练每一个分类器阶段的正/负样本

-data:存放训练好的分类器的路径名

3 检测结果分析

通过加载整个图片所获得的检测结果则可以从图4进行显示,在这其中的a图与b图则都可以检测出所有的人脸,而在c图当中进行检测的过程当中漏检了一张脸,这就显示出通过Adaboost算法的应用检测人脸依然还是存在着一定程度的漏检率,可是受到持续不断的增加强分类器个数,这样就能够极大的改善所存在的这种情况.

而在整个实验当中所选取的训练样集则是ORL人脸库,有着三十个人,每个人都是10幅,像素大小为112*92,整个图像总共有三百幅.通过检查结果来看,有着91%的最高识别率,漏检率为7%,9%的误识率,往往达到比较低水平的漏检率.

4 结语

通过对OpenCV图像处理软件和AdaBoost人脸检测算法的结合模块的有效利用,更进一步的对扩展的Haar特征选用,从而能够做到对人脸检测的实现,还能够将检测结果列出,从而对人脸检测实现均在可接受范围内的漏检率、误识率以及识别率.

〔1〕刘冉冉,马庆功,郑恩兴.关于Adaboost算法在人脸检测中应用的研究[J].湖南工程学院学报(自然科学版),2013(01):38-41.

〔2〕王寻,赵怀勋,刘锡蔚.基于肤色及改进的Adaboost算法的人脸检测[J].电子科技,2013(09):18-21.

〔3〕孟子博,姜虹,陈婧,袁波,王立强.基于特征剪裁的AdaBoost算法及在人脸检测中的应用[J].浙江大学学报(工学版),2013(05):906-911.

〔4〕高山武,周艳洁.AdaBoost算法在人脸检测中的应用[J].现代计算机(专业版),2011(16):20-23+ 35.

〔5〕丁知平.基于改进的AdaBoost人脸检测算法的研究[J].现代计算机(专业版),2013(22):9-13.

〔6〕张宁,李娜.基于Adaboost算法的人脸检测技术的研究与实现[J].现代电子技术,2011(14):4-6.

〔7〕马丽,刘高原.基于改进Adaboost算法的人脸检测研究 [J].科学技术与工程,2012(27):6963-6966.

TP391.41

A

1673-260X(2014)03-0017-03

猜你喜欢
级联人脸矩形
有特点的人脸
一起学画人脸
两矩形上的全偏差
化归矩形证直角
三国漫——人脸解锁
从矩形内一点说起
基于级联MUSIC的面阵中的二维DOA估计算法
基于可控整流的级联SVG直流侧电压平衡控制
长得象人脸的十种动物
LCL滤波器在6kV级联STATCOM中的应用