一种改进型Adaboost算法的人脸检测

2019-12-05 08:35刘燕贺松成雨风
智能计算机与应用 2019年5期
关键词:人脸检测

刘燕 贺松 成雨风

摘 要:原有的Adaboost算法在复杂背景及光源下,很容易出现人脸的误检问题,从而使人脸误检率较高。人脸相似区域的样本难以分类,导致出现权重过拟合现象使检测率降低。针对这些问题,本文提出了一种YCbCr肤色区域分割+改进型Adaboost算法的人脸检测算法。采用肤色区域分割排除复杂背景及光源的影响,将权重更新与正负样本误检率相结合,抑制人脸相似区域的权重过拟合现象,同时引入符合人脸的Haar-Like特征进一步提高检测率。通过实验证明,本文提出的算法在人脸检测中提高了检测率,降低了误检率和检测所需时间。

关键词: Haar-Like特征;Adaboost;肤色分割;人脸检测

【Abstract】 The original Adaboost algorithm is prone to face false detection under complex background and light source, which leads to a high rate of face false detection. It is difficult to classify the samples of face similar regions, which leads to the phenomenon of weight overfitting and reduces the detection rate. To solve these problems, this paper proposes a face detection algorithm based on YCbCr skin color region segmentation + improved Adaboost algorithm. Skin color region segmentation is adopted to exclude the influence of complex background and light source, weight updating is combined with positive and negative sample false detection rate, which could suppress the weight overfitting phenomenon in face similar areas. Meanwhile, Haar-Like features conforming to face are introduced to further improve the detection rate. Experimental results show that the algorithm proposed in this paper improves the detection rate, reduces the false detection rate and the detection time.

【Key words】  Haar-Like characteristics; Adaboost; skin color division; face detection

0 引 言

隨着计算机视觉的发展,人脸识别已应用在生活中的各个领域,比如身份验证、智能人机接口、出入口控制等。其中的人脸检测是人脸识别的一个重要组成部分,人脸检测的检测速度和检测率直接影响到人脸识别系统的性能,因此人脸检测也是相关领域学者研究的热点课题,近些年来也得到了不断拓展与创新。人脸检测的评价指标有检测率、检测速度、误检率、鲁棒性[1]。

目前,由Viola和Jones提出了经典的人脸检测Adaboost算法,而且由其提出的人脸检测器比其它学者提出的人脸检测器性能更佳,但是还存在着检测率和检测效率不足的问题。与此同时,也还有研究发现,肤色区域分割可以有效避免复杂背景、人脸姿态、表情变化和面部被遮挡等因素对人脸检测的影响[2]。在待检测图像中,肤色区域分割排除了大部分非肤色部分,所以基于肤色区域分割的人脸检测在速度上占据优势,使其经常在快速的人脸检测系统中被应用。为了提高检测率和检测效率,本文提出了结合YCbCr肤色区域分割+改进型Adaboost算法的人脸检测算法。

1 肤色区域检测

Jain等人[3]提出在YCbCr色彩空间中肤色具有良好的聚类性,肤色在CbCr空间的映射形式也表现出椭圆的特性,这些特性为肤色分割提供了很好的效果,其中Y表示亮度分量,Cb表示蓝色色度分量,Cr表示红色色度分量[3-4]。而肤色区域分割过程可表述如下。

(1)选用色彩空间YCbCr,将图像颜色空间从RGB空间转换到CbCr空间中。

(2)采用简单高斯模型进行肤色建模[5] 。

(3)利用自适应阈值分割方法,遍历整个待检测图像中的每个像素点,按照Cb、Cr分割阈值分割肤色区域,像素点在设定的Cb、Cr阈值区间内,则判断像素点为肤色[6],分离肤色像素,实现肤色二值化处理。

(4)对肤色二值化图像采用数字形态学的相关运算进行优化处理,消除不平滑的数据点或小连通域,从而得到平滑的二值化图像。数学形态学主要包括着:膨胀运算、腐蚀运算、开运算和闭运算[7]。

肤色区域分割效果如图1所示。在YCbCr空间的肤色区域分割,很好地将大部分背景区域与肤色区域区分开,为后续的人脸检测缩小了检测范围。

2 Haar-Like特征

2.1 基本的Haar-Like特征

基本的Haar特征模板有5种[8],如图2所示。除此之外,还延伸了一些常用的Haar特征,如:边缘特征、线性特征和中心特征。

2.2 扩展的Haar-Like特征

特征值就是白色矩形内的像素和减去黑色矩形内的像素和[9]。Haar-like特征模板可以通过平移、缩放提取不同位置和尺度的特征值,在人脸图像中Haar特征能够描述人脸的灰度分布情况,眼睛和嘴巴的灰度值较高且位置相对固定[10]。为了更快地提取人脸特征,进一步优化Haar分类器,并根据人脸的眼睛和嘴巴分布位置特征,加入了扩展的Haar-Like特征,从而达到提升检测率的目的。本文扩展的Haar-Like特征如图3所示。

3 Adaboost算法及改进

在人脸检测过程中,Adaboost算法先是计算待检图像的积分图,在积分图中得出Haar特征值,快速提取人脸的灰度分布特性,通过大量的训练选出最优的Haar特征,將其转化为最佳弱分类器。得到一个最佳弱分类器后,样本的权重将全部更新,所有训练样本也将全部重新训练才能再次选出最优的Haar特征,从而转化为最佳弱分类器,转化出的若干个最佳弱分类器组合得到一个强分类器[11-12]。

3.1 Adaboost算法原理

在原有Adaboost算法中,当样本被错误分类时,权重更新公式为wt,iexp(αt),如果样本一直被错误分类,权重就会不停增长。改进后因为1-FPR<1、1-FNR<1,所以能够降低权重扩张幅度,被错分的样本权重将会受到抑制,综上即为对原有Adaboost算法提出的权重更新改进方法。

4 人脸检测过程

本文的人脸检测过程主要分为3部分,分别是:样本分类器训练、图像预处理、在线人脸检测。其整体设计过程如图4所示。由图4可知,对其中各重点环节的功能设计可做解析剖述如下。

(1)样本分类器训练包括:准备训练样本、积分图计算、特征值计算、形成弱分类器及强分类器。该部分是利用已经改进的Adaboost算法训练分类器,为人脸检测做准备,其中的人脸样本和非人脸样本统称为训练样本。

(2)图像预处理包括:颜色空间转换、建立高斯肤色模型、肤色区域分割、肤色区域优化处理。该部分是用于提供肤色待检测区,为在线人脸检测排除复杂背景或大部分非肤色区域。

(3)在线人脸检测:将改进型Adaboost算法训练得到的强分类器进行级联,对肤色待检区域做进一步人脸验证,对于检测出来的人脸,定位并标注出人脸所在位置。

(4)强分类器级联:只有当前层强分类器判定为人脸区域,才能进入下一层的强分类器继续进行判断,即只有每层的强分类器都判定为人脸,才会输出为人脸。级联类似于决策树算法的思想。

5 算法实现与结果分析

本实验使用的开发平台是Visual Studio 2013,OpenCV2.4.9,训练样本使用的是各大主流人脸检测数据库。为了保证每个Haar特征都在每个样本中出现,将所有前期准备的训练样本都转换为20×20的灰度图。测试样本来自于网络收集,共220张图像,图像有435张人脸,图像包括了多人图像和单人图像。

为了验证Adaboost算法改进后的性能,本文进行了检测率、检测时间和误检率的比较实验。2种人脸检测算法性能比较结果见表1。其中,误检率是被错误检测的目标与检测到的目标总量之比,检测率是被检测到的人脸目标与所有人脸总量之比。

从表1的性能比较结果来看,肤色分割+改进型Adaboost算法的检测率为92.7%,其检测率明显高于原有的Adaboost算法检测率86.2%,由此得知本文提出的人脸检测算法有效地提高了检测率。2种人脸检测算法的误检率分别为18.6%和11%,检测时间分别为368 s和179 s,在保证了检测率的情况下,改进后的算法的误检率和检测时间也明显降低,说明了没有经过肤色区域切割的图像在人脸检测时会被更多因素干扰,检测尺寸也较大,因而检测速度较慢,误检的几率也就更大。综上所述,在人脸检测中,肤色分割+改进型Adaboost算法比原有Adaboost算法的性能更佳。

2种人脸检测算法的效果比较如图5所示。在运用原有Adaboost算法进行人脸检测效果图中,图5(a)左子图出现漏检及误检,图5(b)左子图出现漏检,两图出现漏检均是因为人脸面部遮挡难以检测。在第二组人脸检测效果图中,图5(a)右子图出现多处误检,图5(b)右子图检测出所有人脸。从人脸检测输出结果上来说,肤色分割+改进型Adaboost算法比原有Adaboost算法的检测率更高,误检率也更低。

6 结束语

本文提出的肤色分割+改进型Adaboost人脸检测算法,对待检测图像做肤色区域分割预处理可以有效降低检测时间和误检率。同时改进的权重更新方式也有针对性地抑制了权重过拟合现象,验证了引入符合人脸的Haar-Like特征可有效提高检测率。在今后的人脸检测研究中,则亟需研究如何检测带有遮挡物的人脸,从而进一步完善人脸检测系统。

参考文献

[1]邵林昌. 基于肤色分割的人脸检测[D]. 南京:东南大学,2006.

[2]艾学轶, 吴彦文, 汪亭亭. 复杂背景下基于肤色分割的人脸检测算法研究[J]. 计算机工程与设计, 2010, 31(14):3268-3273.

[3]HSU R L, ABDEL-MOTTALEB M, JAIN A K. Jain, Face detection in colour images [J]. IEEE Transactions on Pattern Analysis and Machine Intelligence, 2002, 24(5): 696-706.

[4]BASILIO J A M , TORRES G A , PREZ G S, et al. Explicit image detection using YCbCr space color model as skin detection[C]// Proceedings of the 2011 American Conference on Applied Mathematics and the 5th WSEAS International Conference on Computer Engineering and Applications. Puerto Morelos, Mexico: ACM, 2011:123-128.

[5]王海川,张立明. 一种新的Adaboost快速训练算法[J].复旦学报(自然科学版),2004,43(1):27-33.

[6]TREFNY/ J, MATAS J. Extended set of local binary patterns for rapid object detection[C]//Proc. of the Computer Vision Winter Workshop. Nov Hrady, Czech Republic: Czech Pattern Recognition Society, 2010: 1589-1596.

[7]萬丽. 基于肤色及AdaBoost算法的人脸检测技术研究[D]. 成都:西南石油大学,2011.

[8]左登宇. 基于Adaboost算法的人脸检测研究[D]. 合肥:中国科技大学,2009.

[9]LI Haoxiang, LIN Zhe,SHEN Xiaohui. A convolutional neural network cascade for face detection[C]// 2015 IEEE Conference on Computer Vision and Pattern Recognition (CVPR). Boston, MA, USA:IEEE,2015:5325-5334.

[10]刘侠,李苏,李廷军. 一种改进的Adaboost算法的人脸检测分类器[J].空军工程大学学报(自然科学版),2009,10(2):76-80.

[11]郭磊,王秋光. Adaboost人脸检测算法研究及OpenCV实现[J].哈尔滨理工大学学报,2009,14(5):123-126.

[12]TERRILLON J C, SHIRAZI M N, FUKAMACHI H, et al. ComParative performance of different skin chrominance models and chrominance spaces for the automatic detection of human faces in color images[C]// 4th IEEE International Conference on Automatic Face and Gesture Recognition (FG 2000). Grenoble, France:dblp,2000:1-9.

[13]BI Ping, ZHAO Heng, LIANG Jimin .Variant pose face detection based on multi-classifier fusion[J].Joumal of System Simulation,2009,21(20):6469-6478.

[14]Samuel K, Partha N. The interaction of stability and weakness in AdaBoost[R]. Chicago: University of Chicago ,2001.

[15]VIOLA P, JONES M. Rapid object detection using a Boosted cascade of simple features [C]// Proceedings of the 2001 IEEE Computer Society Conference on Computer Vision and Pattern Recognition(CVPR 2001). Vancouver, Canada: IEEE Computer Society, 2001:1-9.

猜你喜欢
人脸检测
肤色与唇色信息相结合的人脸检测
人脸检测技术综述
基于Android的车载疲劳驾驶监控系统研究与设计
一种鲁棒的长期人脸特征点跟踪系统
基于改进的Adaboost算法在人脸检测与识别中的应用与研究
JNI技术在基于OpenCV的人脸与微笑检测中的应用
基于人脸特征定位的SNS网站应用组件研究与设计
基于Android平台的人脸识别系统设计与实现
基于Matlab的人脸检测实验设计
基于肤色模型与改进Adaboost算法的人脸检测