作者简介作者简介:李雪源(1991 -),女,徐州工程学院信电工程学院学生,研究方向为android系统与图形图像;袁晨(1991 -),女,徐州工程学院信电工程学院学生,研究方向为android系统与计算机视觉;姜代红(1969-),女,硕士,徐州工程学院信电工程学院教授,研究方向为android系统与数据库技术。0引言
随着电子商务中人脸认证、手机数码相机中人脸娱乐以及互联网中图像搜索的发展,人脸检测逐渐从人脸识别领域脱离出来,成为一项独立的研究课题。
目前,人脸检测方法大致可以分为3类:基于特征的人脸检测、基于模板的人脸检测和基于统计理论的人脸检测[1]。具有代表性的研究有:阮锦新等[2]基于人脸特征和adaboost算法,提出了一种改进的多姿态人脸检测算法,该算法能实现多姿态人脸的快速检测,而且对脸部表情和遮挡有较强的鲁棒性。张争珍[3]等运用ycgcr颜色空间建立高斯模型进行人脸检测,该算法提高了人脸检测的速度,并且有较高的检测率和较低的漏检率。冯亚丽等[4]提出了一种改进的基于肤色分割和pca的人脸检测方法,对部分遮挡、肤色干扰等复杂环境下的图片有较高的检测率。张明慧等[5]基于统计理论的人脸检测是利用统计分析与机器学习的方法找出人脸样本与非脸样本的统计特征,再使用各自的特征构建分类器,使用分类器完成人脸检测。王昊鹏等[6]提出了一种基于特征提取与认证的彩色图像人脸检测,这种结合肤色和面部特征的算法,能对人脸进行较快速、准确定位,且结果较稳定。
以上算法中,adaboost算法由于算法简单、检测快速,因而应用广泛。但该算法易受光照等外界环境的影响,当光照不均匀时,检测正确率明显降低,误检率变高。针对这些问题,本文应用adaboost算法采并用直方图均衡化处理输入图像,虽然检测速度没有加快,但提高了检测的正确率,降低了误识率。
1adaboost算法人脸检测基础理论
viola和jones[7]在adaboost算法的基础之上,将adaboost算法与人脸检测相结合,并对adaboost训练出的强分类器进行级联,建立一个实时的人脸检测系统。该方法具有较强的鲁棒性和高识别率。viola人脸检测方法是基于haar特征、积分图、adaboost和级联分类器的方法。
1.1haar特征
人脸检测的关键问题之一是人脸特征提取。在特征提取阶段,adaboost算法采用的是提取图像的矩阵特征,也叫haar特征。haar特征模板包括白色矩形和黑色矩形两种。
haar特征通常有2~4个矩形组成,其特征值定义为:featurek =∑ni=1wiretsum(ri)(1)其中,wi是矩形ri的权值(灰色部分为1,白色部分为-1);retsum(ri)是所围成的图形灰度积分;n是组成featurek 矩形个数。
1.2积分图
viola提出将积分图应用到特征值计算中,haar的特征值是不同区域内的像素灰度和之差,只需对图形进行一次遍历,就能在固定时间完成每个特征值计算。
给定输入图像,在某像素p(x,y)处的积分值为原点到p点所组成的矩形灰度值总和,其积分图ii(x,y)为:ii(x,y)= ∑x′≤x,y′≤yi(x′,y′)(2)其中,i(x′,y′)为点(x′,y′)处的像素值,对于灰度图像,其值为0~255;对于彩色图像,可按照人脸色彩空间将其转化为灰度值。积分图像可通过一次遍历灰度图像得到:
ii(x,y)=ii(x-1,y)+s(x,y)s(x,y)
=s(x,y-1)+i(x,y)(3)其中,s(x,y)为点(x,y)及其y方向上所有原始图像之和,可定义为:
s(x,y)= ∑y′≤yi(x,y′) (4)
并定义s(x,0)=0, ii(0,y)=0。
将图形遍历一次,迭代2×x×y次。图1表示原始图像上任意矩形区域的像素值之和。
图1原图中任意一点d的积分
区4的像素和可通过计算ii(d)-ii(b)-ii(c)+ii(a)得到。
矩阵的特征值与图像的积分图有关,无论图像原始尺寸多大,计算特征值所消耗的时间都是固定的。因此,用积分图计算特征值大大提高了检测速率。
1.3adaboost分类器
分类器的作用就是利用提取出来的特征对正样本和负样本进行辨别。adaboost算法是一种分类器算法(自适应的叠加算法),它是一种训练弱分类器并通过级联的方式得到强分类器的算法。其核心思想是通过训练获得多个弱分类器,然后将弱分类器按照一定的权重加权构成强分类器。理论证明,只要每个弱分类器分类正确率大于随机猜测(50%),就可通过级联
式组成强分类器,当级联的个数趋向于无穷时,强分类器的错误率就趋向于零。adaboost用于人脸检测时,从人脸图像中选取一系列一维简单特征,然后将这些特征组合起来,从而达到很好的分类效果。
1.4级联
设计一个要求一次就可实现人脸检测的强分类器,难度较大。viola提出将所有的强分类器级联起来构成一个级联强分类器。每个强分类器对负例样本的判别准确度非常高,一旦发现检测到的目标位负例样本就不再调用下一个强分类器。其主要处理流程如图2所示。
图2级联分类模型
2直方图均衡化
直方图均衡化的基本思想是对图像中像素个数多的灰度级进行拓宽,而对像素个数少的灰度级进行缩减,从而达到使图像清晰的目的,改变图像灰度层次不丰富、整体偏暗或整体偏亮的问题,将直方图的分布变成均匀分布。
直方图均衡化处理是以累积分布函数变换法为基础,设变换函数为:
s=t(r)= ∑r0pr(ω)dω (5)
其中,ω是积分变量,t(r)是r的累积分布函数。t(r)为变换函数,满足下列条件:①在0≤r≤1内为单调递增函数,保证灰度级从黑到白的次序不变;②在0≤r≤1内,有0≤t(r)≤1,确保映射后的像素灰度在允许范围内。可以证明,用r的累积分布函数作为变换函数可产生一幅灰度级均匀分布的图像,扩展了像素取值的动态范围。对于离散的数字图像,用频率来代替概率,则变换函数t(r)的离散形式可表示为:
sk=t(rk)=∑kj=0njnk=0,1,2,…,l-1(6)
3基于adaboost算法的光照补偿人脸检测方法在进行人脸检测时,受拍摄环境和光线的影响,拍摄得到的照片可能亮度不够、能辨率低,前景和背景灰度的差别不大,难以区分出有用区域。为了解决这一问题,本文采用直方图均衡化方法处理输入图像,将处理过的图像作为人脸检测的输入图像,其步骤如下:
(1) 输入人脸图像a.jpg。
(2) 用直方图均衡化方法处理a.jpg得到a1.jpg图像。
(3) 对a1.jpg图像进行人脸检测。
(4) 输出检测结果。
4实验结果
本文测试样本集为从互联网上随即抽取多人脸图像、单人脸图像以及cas-peal人脸数据库中的部分图像。测试环境为2.93ghz cpu,1.96g内存,操作系统为windows xp,使用的平台为visual studio 2010,并基于opencv开发完成人脸检测。
经过直方图均衡化与未经过直方图均衡化处理的人脸检测效果图分别如图3、图4所示。
图3经过直方图均衡化处理的人脸检测输出效果
图4未经过直方图均衡化处理的人脸检测输出效果
由图3和图4可以计算出,未经过直方图均衡化处理的图像,漏检率为4.348%,误检率为17.391%;图像大小为768*576,处理时间为1.437s。均衡化处理后,漏检率为0%,误检率为4.348%,图像大小为768*576,处理时间为1.453s。
可以看出,采用直方图均衡化预处理图像虽然没有提高检测速度,但是降低了漏检率和误检率,增加了检测率。
本文采用10张图片共126张人脸进行测试,测试结果如表1所示。
表1人脸检测实验数据
平均检测率平均误检率未均衡化75.628%7.895%均衡化83.8137%3.8288%从表1可以看出,经过均衡化处理的平均检测率高于未均衡化处理8.2个百分点;误检率低于未均衡化处理4.1个百分点。
5结语
将adaboost人脸检测算法与直方图均衡化处理输入图像方法相结合,实现了人脸检测并给出了检测结果。检测结果表明,本文方法与传统adaboost人脸检测方法相比,检测速度相差不大,但可以提高光照不均匀图像人脸检测的正确率,降低误检率。参考文献参考文献:
\[1\]刘翠响, 肖伶俐. 基于视频的人脸检测综述[j]. 电子设计工程, 2011(14): 72.
[2]阮锦新, 尹俊勋. 基于人脸特征和 adaboost 算法的多姿态人脸检测[j]. 计算机应用, 2010 (4): 967970.
[3]张争珍, 石跃祥. ycgcr 颜色空间的肤色聚类人脸检测法[j]. 计算机工程与应用, 2009, 45(22): 163165.
[4]冯亚丽, 蒋文文, 刘泽光. 一种改进的基于肤色分割和 pca 人脸检测方法[j]. 科学技术与工程, 2010, 10(10): 23452346.
[5]张明慧, 张明超, 张尧禹. 基于统计的人脸检测方法研究[j]. 电脑编程技巧与维护, 2012( 18): 39.
[6]王昊鹏, 刘泽乾. 基于特征提取与认
证的彩色图像人脸检测[j]. 电子设计工程, 2012, 20(1): 171176.
[7]李鲁宁.基于haarlike特征和adaboost分类器的表情识别实时系统[d].