APP下载

基于几何特征与新Haar特征的人脸检测算法

2017-02-18糜元根陈丹驰

传感器与微系统 2017年2期
关键词:肤色人脸分类器

糜元根, 陈丹驰, 季 鹏

(南京工业大学 电子与信息工程学院,江苏 南京 211800)

基于几何特征与新Haar特征的人脸检测算法

糜元根, 陈丹驰, 季 鹏

(南京工业大学 电子与信息工程学院,江苏 南京 211800)

针对普通Adaboost算法训练时间长,对复杂背景下(暗光、多角度、多姿态等)人脸检测识别率较低的问题,提出了一种改进的结合肤色检测及几何特征的Adaboost算法。采用肤色粗检筛选出候选人脸区域,同时采用新的非对称的Haar特征来训练分类器,进一步加强检测性能,提升鲁棒性和复杂背景下的宽容度。实验将此算法应用到一个嵌入式系统中,结果表明:在各种复杂背景下的人脸检测中鲁棒性和宽容度均提升很多,误识率进一步降低,并且在嵌入式人脸检测的系统中具有很好的可移植性和实用性。

人脸检测; Adaboost; 新Haar—like特征; 嵌入式系统

0 引 言

自动化的人脸识别技术由于其隐蔽性、非接触式等优点被广泛应用在安全、监控、信息交互等方面。人脸检测是人脸信息处理中的关键技术。具体描述就是先判断图像中是否存在人脸,若存在,在图像中确定人脸具体方向位置。但人脸作为非刚体,自身有诸多复杂性,侧脸、旋转、表情、遮挡,这些都加大了检测难度。文献[1]提出混合高斯模型进行对肤色检测进行统计分析。Freund S R提出了基于统计分析的AdaBoost算法,是一种自适应的分类学习算法[3],利用迭代思想,训练分类器,有较强的鲁棒性,但普通Adaboost算法对于多姿态、多角度人脸不敏感。随后Viola P从图像中提取特征值时提出了Haar-like特征概念[4],提出5种类型,在正面对称人脸检测方面,效果出众。

本文提出了一种综合肤色预处理和几何特征筛选改进的Adaboost算法,并且针对多角度多姿态,提出了一种新的Haar特征计算公式,对于侧脸,旋转人脸有非常好的检测率和宽容度。在嵌入式平台实现,具有很好的效果。

1 人脸检测算法设计

整个框架首先是图像采集,对人脸进行肤色分割,锁定初步检测域,得到候选的人脸区域,接着用改进的AdaBoost 算法将一些简单的弱分类器通过一定逻辑线性叠加成强分类器,组成级联分类器,进行算法训练[5]。为了提高复杂场景如光照遮挡的鲁棒性,采用新的Haar特征,进行描述,再采用形态学处理和基于先验知识的几何特征,选择合适的连通域,得到人脸候选区域。大体框架如图1。

图1 人脸检测框架

2 基于肤色点初定位

肤色有一定的波普特性,对于多方位拍摄,多角度人脸姿势,神态不敏感,易过滤,适用于人脸检测中基本粗检测[6]。为了降低Adaboost算法的检测时间,先采取肤色检测作为粗检测,通过2种颜色转化,进行肤色点初定位,选出符合的初区域,规避了遍历检索,降低算法时间。

肤色是人面部最明显的特征之一,亮度变化决定肤色的主要差异,色度变化反而不明显[7]。肤色易受到光照强度干扰。肤色分割先对图像进行色彩空间转换,即RGB空间转换到YCbCr空间和YUV空间。选取YCbCr色彩空间,Y分量为亮度,Cb,Cr分量为蓝色色度和红色色度,Cb和Cr分量能够单独表征图像,从而忽略亮度特征,因此肤色在YCbCr空间中的聚类特性明显[8],肤色映射到CbCr空间下,就可以单独处理亮度与色度。对输入彩色图像进行颜色空间转换,分布统计如下

77≤Cb≤127,133≤Cr≤173

(1)

根据上判断式,CbCr落在在此分布范围内的像素点,认定为肤色像素点,置为白色,其余像素点为非肤色像素,置为黑色。

同时,将RGB空间转换到YUV空间,空间矩阵表示为[9]

(2)

式中 U和V为两个平面正交矢量,饱和度Ch定义为矢量的模值,色调θ定义为矢量的相位角,而有先验知识可得,人脸肤色色调满足一定相位角,有如下关系

105°≤θ≤150°

(3)

对于图像像素点,只要同时满足YCbCr空间和YUV空间的条件,就能锁定初步检测区域。

3 基于Adaboost算法的人脸检测

3.1 AdaBoost算法

积分图人脸检测问题转化为将待检测区域分为人脸区域和非人脸区域的二类分类问题[10]。Adaboost算法由积分图计算可观的特征,进行筛选出重要的特征信息,利用迭代思想,通过不同的权重变化,在一次次迭代中,改造弱分类器,构成最终强分类器。

设定如下训练样本(x1,y1),…,(xn,yn),yi=0代表非人脸,yi=1代表人脸。

弱分类器模型定义如下

(4)

式中fj(x)为第j个特征值,由pj控制方向,1为正,-1为负,θj为为阈值。

初始化数据,给其训练一定权值分布

Wσ+1=1/2m

(5)

强分类器模型

(6)

之前计算出

βt=εt/(1-εt)

(7)

式中

αt=lg(1/βt)

(8)

过程里特定一次的迭代,寻找被准确分类的样本,构造下一次训练集时,给样本的权重降低;不准确的样本,会给与其更高的权重。训练下一个分类器时,权重会新一轮更新,正确样本的继续变低,没有被准确分类的样本,继续变高,直至训练过程结束。误差率更低的弱分类器占据更大的权重,在最终分类函数起着决定作用[11,12]。

3.2 级联分类器架构

通过多个弱分类器的级联,在每个分类器中,设定变更的阈值,使得正确的样本进入下一级,错误样本被过滤,架构如图2所示。H1(x)代表特征,经过一级一级的分类器,过滤错误样本,直至选出正确样本。

图2 级联分类器架构

4 几何特征改进Adaboost算法的人脸检测

4.1 新Harr-like特征

Adaboost算法通过Haar矩阵训练,将弱分类器叠加为强分类器,作为级联分类器进行人脸检测。为了改进侧脸旋转等复杂姿态下的人脸检测,引入如图2旋转的非对称Haar特征,旋转45°,可得图3最右旋转特征模版的新特征值为

图3 新Haar-like特征

(ii2+ii4)×2+ii9-(ii1+ii3+ii5×2+ii7)

(9)

ii定义为像素处的积分图像,采用新Haar-like特征之后,对于部分旋转,侧脸等特征描述会更加准确,提高算法在复杂环境下的检测率。

4.2 肤色几何特征和Adaboost算法的人脸检测

基于肤色的人脸检测对光照和嘈杂环境很敏感,对于人脸的一些属性不是很敏感,反而有较出色的检测率,基于Adaboost算法在复杂环境里表现出色,但是在多人场景,人脸表情变化里,误识率较高,进行完Adaboost算法训练之后,结合几何与肤色特征进行再过滤的人脸检测,可以提高复杂环境里的鲁棒性。

Adaboost初步检测后,得到人脸图像,计算其平均人脸面积T1。接着用特定模板矩阵,进行二值形态学开运算,去除孤立点,再进行闭运算,降噪后,得到连通区域,利用知识建模,对连通区域进行如下几何特征判断:

1)各个连通区域的面积T2与T1进行一一对比,阈值范围在T1<0.4T2或T1>1.8T2外的连通区域,可排除一些长宽比不符合的连通区域,如,一些规则体和颜色相近的遮挡物。

2)用矩形去近似替代连通域边界,对于每一个连通区域,计算矩形的长宽比f=h/w ,根据先验知识,f近似为1.1,若f>2或者f<0.5,则同样可认为,此连通域非所求,是人脸外多余的相近区域,如,手掌、手臂、弯曲的腿部。

5 实验设计与结果分析

5.1 实验设计

图4为本实验系统采用的嵌入式系统的硬件结构图。分别包括图像采集模块,(外接USB口的摄像头)、数据存储模块(DDR3)、程序存储模块(FLASH)、串口模块、结果显示模块(LED屏幕)、输入模块(key),输出控制模块等。系统采用主芯片Exynos4412,是三星公司开发的一种基于ARMcortex—A9内核的四核微处理器,32kB+32kB的一级缓存,1MB的二级缓存,2GB的DDR3。

图4 系统硬件结构图

系统上电后,启动bootloader,初始化硬件设备、建立内存空间的映射图,启动终端,加载内核,挂载文件系统,设定系统的软硬件环境,进入命令行配置模式进行创建Linux编译环境。

5.2 实验结果分析

本实验采用ARM平台实现,对所有算法进行横向和纵向全方位对比。在嵌入式系统文件夹里导入YaleFaces数据库挑选的500张图片(表1给出具体分类)作为测试集,样本图片归一成20像素×20像素,进行横向对比,在检测率、误检率上,可以看出,肤色检测和Adaboost算法检测率不高,会有一定的误检测,如图5(c)抓取的一张误检测图,可以看出一部分手和光照的柜子被误识别,而改进的Adaboost算法更加优秀,误检率降低,图5(d)正确识别。

表1 测试图像集

测试图像集总图像数正确人脸姿态背景1300200正面简单2200144侧面复杂3500344全部全部

表2 三种算法对比图

算法检测率/%漏检率/%误检率/%检测时间肤色检测86.49.713495Adaboost算法90.35.14.4723改进Adaboost算法93.53.42.6642

表2可知,肤色检测速度最快,改进Adaboost算法次之,检测时间相比Adaboost有所降低,究其原因,是融入了肤色检测作为粗检测进行过滤,快速排除大部分非人脸区域,缩短检测时间;而在检测率,漏检率和误减率方面,融入了几何特征检测的改进算法效果明显。

图5 人脸检测对比图

纵向对比方面,用嵌入式系统摄像头捕捉单一图片,去测试改进Adaboost算法对于旋转和侧脸的检测程度。特地选取了室外夜晚,光照较暗,头部有旋转,戴眼镜,一定程度侧脸,多人等复杂场景进行验证,如图6所示,-45°~45°旋转范围内,表现良好,眼镜,光照,遮挡,旋转,比例大小不同,都能正确检测到,可见改进算法的宽容度更高,误减率更低,图7中最左一人漏检,是因为头部比例过于小,在算法中低于预设的50 %,直接被排除,最右一个人漏检,是因为旋转角度太大,超出了拒绝域。后续还有待继续改进本算法,提高宽容度。

图6 单一捕捉复杂环境

6 结束语

旨在提高更复杂背景下人脸检测速度和准确率,本文提出了一种改进的结合肤色检测及几何特征的Adaboost算法,通过肤色粗检测,降低检测时间,提出新Haar-like特征训练分类器,优化了Adaboost算法,进一步加强鲁棒性,合理减少光照、遮挡、人脸旋转、人脸大小等复杂条件对检测率的降低,移植到ARM版上,在嵌入式硬件上实现。考虑人脸检测和监控系统结合,本系统已经应用在场景人脸签到中,在位置固定、旋转有限、光照条件适中的室内,识别率很高,在人数统计上,误识率非常低。

[1] 梁路宏,艾海舟,徐光祐,等.人脸检测研究综述[J].计算机学报,2002,25(5):449-458.

[2] Hjelmas E,Low B K.Face detection:A survey[J].Computer Visionand Image Understanding,2001,83(3):236-274.

[3] Freund S R.Boosting the margin:A new explanation for the effectiveness of voting methods[J].Annals of Statistics,1998,26(5):1651-1686.

[4] Viola P,Jones M.Rapid object detection using a boosted cascade of simple features[C]∥Proc of Conf on Computer Vision and Pattern Recognition,Kauai,Hawaii,USA,2001:511-518.

[5] 徐 前,赵德安,赵建波.基于改进的AdaBoost算法的人脸检测与定位[J].传感器与微系统,2010,29(1):94-97.

[6] Wu Bo,Ai Haizhou,Huang Chang,et al.Fast rotation invariant multi-view face detection based on real Adaboost[C]∥The Sixth IEEE International Conference on Automatic Face and Gesture Recognition,2004:79-85.

[7] 张云龙,谢泽奇,张会敏,等.一种复杂背景下的人脸检测方法[J].传感器与微系统,2011,30(6):42-44+48.

[8] Chenaoua K,Bouridane A.Skin detection using amarkov random field and a new color space[C]∥IEEE International Conference on Image Processing,Atlanta,GA:IEEE,2006:2673-2676.

[9] Yang J,Lu W,Waibel A.Skin color modeling and adaptation[C]∥Proceedings of the 3rd Asian Conference on Computer Vision,Hong Kong,China,1998:687-694.

[10] 田 源.AdaBoost人脸检测算法的改进研究与实现[D].无锡:江南大学,2009.

[11] Ou Zongying,Tang Xusheng,Su Tieming,et al.Cascade AdaBoost classifiers with stage optimization for face detection[C]∥International Conference on Biometrics, Berlin Heidelberg,2005:121-128.

Face detection algorithm based on geometric features and new Haar features

MI Yuan-gen, CHEN Dan-chi, JI Peng

(College of Electronics and Information Engineering,Nanjing University of Technology,Nanjing 211800,China)

Aiming at problem that training time of ordinary Adaboost algorithm is long and under complex background such as dark light,multi angle,multi pose,the recognition rate of face detection is low,propose an improved Adaboost algorithm based on skin color detection and geometric features.The algorithm screens out candidate face regions based on skin color detection,at the same time,a new non-symmetric Haar feature is used to train the classifier,which further enhances detection performance and promote robustness and tolerance in the context of complexity.In the experiment,the algorithm is applied to an embedded system,the results show that the algorithm can improve the robustness and tolerance of face detection in all kinds of complex background,and the error recognition rate is further reduced,in embedded face detection system and has good portability and practicability.

face detection; Adaboost; new haar-like features; embedded system

10.13873/J.1000—9787(2017)02—0154—04

2016—03—15

TP 391.4

A

1000—9787(2017)02—0154—04

糜元根(1963-),男,副教授,主要从事嵌入式系统和人脸识别方向研究工作。

陈丹驰(1990-),男,通讯作者,硕士研究生,E—mail: 307191251@qq.com。

但是对于一个给定的24×24的窗口,根据不同的位置,不同的缩放,能产生162 336个特征数,随着给定窗口的变大,特征数变多,学习算法本身规模加剧,训练时间变得很长。

猜你喜欢

肤色人脸分类器
有特点的人脸
一起学画人脸
Conversation in a house
人的肤色为什么不同
为什么人有不同的肤色?
三国漫——人脸解锁
基于实例的强分类器快速集成方法
加权空-谱与最近邻分类器相结合的高光谱图像分类
结合模糊(C+P)均值聚类和SP-V-支持向量机的TSK分类器
长得象人脸的十种动物