第24卷第10期 计算机应用研究 Vo1.24 No.10 2007年10月 Application Research of Computers 0ct.2007 基于肤色和AdaBoost算法的彩色人脸图像检测术 宗欣露,熊盛武,朱国锋 (武汉理工大学计算机科学与技术学院,武汉430070) 摘要:针对肤色检测对复杂背景下的图像误检率高和AdaBoost算法对多姿态、多人脸图像检测效果不理想的 问题,将基于肤色的人脸检测与基于AdaBoost算法的人脸检测结合起来,提出一种新的人脸检测方法,即首先利 用肤色和形态学操作分割肤色区域,再根据人脸区域的统计特性筛选出人脸候选区域,然后用AdaBoost级联分 类器对候选区域扫描,以精确定位人脸。实验表明,该方法同时具有肤色检测正确率高与AdaBoost算法误检率 低的优点,可以有效地运用于多姿态、多人脸和复杂背景的情况,具有较好的检测效果。 关键词:人脸检测;肤色检测;AdaBoost:级联分类器 中图分类号:TP391.41 文献标志码:A 文章编号:1001-3695(2007)10—0178—03 Color image face detection based on skin color and AdaBoost algorithm ZONG Xin—lu,XIONG Sheng—WU,ZHU Guo—feng (School of Computer Science&Technology,Wuhan Universit)of Technology,Wuhan 430070,China) Abstract:As skin color detection had high false acceptance rate in color image with complex background and AdaBoost algo— rithm did not work well in multi—pose and multi—face images.this paper proposed a novel face detection me山od combined skin color detection and AdaBoost algorithm.Skin color segmentation and morphological operators were used to detect skin regions. These regions were filtered in terms of the statistical characteristics of human face to form candidate faee regions.Then these regions were scanned by cascade classifier based on AdaBoost for more accurate face detection.The experimental results show that the new approach can detect face with high detection rate and lOW false acceptance rate and performance better than skin color detection and AdaBoost algorithm.It can be effectively applied to the cases of multi—pose and multi—face images. Key words:face detection:skin color detection;AdaBoost;cascade classifier 20世纪9o年代以来,人脸识别成为一个热门的研究课 可以基本实现实时检测。但是基于AdaBoost算法的人脸检测 题,作为人脸识别的重要环节——人脸检测也得到众多研究者 同样也有一定的局限性,即对于侧面及多姿态的人脸图像检测 的重视 。人脸检测的目的是检测图像中的人脸并将其从背 正确率不高。 景中分割出来。目前人脸检测的主要方法分为四类:基于知识 的方法;基于特征的方法;模板匹配的方法;基于外观的方法。 1 肤色检测 由于图像的复杂程度较高,仅利用单一特征信息往往不能得 肤色是人脸的一个非常重要的特征。研究表明 ,不同 到准确的检测结果,融合多个特征信息的检测方法越来越受 的肤色的差异主要是由亮度引起的,而受色度的影响较小。常 到人们的重视。 针对彩色图像的人脸检测,人脸肤色检测非常重要且简单 用的肤色检测空间有:归一化红、绿、蓝(RGB),色度、饱和度、 有效。在人脸区域,肤色是占主导地位的色彩,基于肤色的人 纯度(HSV)和YCbCr等。本文选择YCbCr空间 (Y分量表 脸检测方法利用图像的彩色信息,在一定的色彩空间中构造肤 示亮度,cb、cr表示色度)作为肤色分布统计的映射空间。该 色模型,该方法可以在不同的视角中均能检测到人脸,具备稳 空间的优点是可以将亮度和色度分开单独处理,实现亮度和色 定性,不受尺寸、表情、人脸姿态变化的影响。但在复杂背景下 度分量比较彻底的分离,cb、cr是两维独立分布,能较好地限 的检测效果也不是很理想,一般情况下误检率比较高,检测精 制肤色分布区域,肤色点能够形成较好的聚类。 度也有限。 1.1 肤色分割 Freund和Schapire于1995年提出的AdaBoost算法,其基 对人脸进行肤色检测首先要对肤色建模。人脸建模的方 本思想是当分类器对某些样本正确分类时,则减少这些样本的 法很多,有高斯模型、椭圆模型等。高斯肤色模型算法相对复 权值;当错误分类时,则增加这些样本的权值,让学习算法在后 杂,本文采用椭圆模型 J,经过非线性分段色彩变换得到的色 续的学习中集中对比较困难的训练样本进行学习,最终得到一 彩空问用YCb Cr 来表示。肤色聚类在YCb Cr 空间中的分布 个准确率理想的分类器。这种方法大大提高了人脸检测速度, 情况如图1所示。 收稿日期:2006—08—31;修返日期:2006—10—17 基金项目:国家自然科学基金资助项目(60572015);国家“973”重大基础研究前期研究 专项资助项目(2004CCA02500) 作者简介:宗欣露(198I.),女,河北邯郸人,硕士研究生,主要研究方向为人工智能、模式识别(zongxinlu@sina.corn);熊盛武(1967-),男,湖北 成宁人,教授,博士,主要研究方向为人工智能、机器学习;朱国锋(1977一),男,江苏淮安人,硕士研究生,主要研究方向为人工智能. 维普资讯 http://www.cqvip.com 第10期 宗欣露,等:基于肤色和AdaBoost算法的彩色人脸图像检测 ・179・ 从图1中可以看出,肤色模型在利用非线性变换后的肤色 在cr 一cb 空间中呈明显的椭圆分布,可用以下的公式来匹配 两个色度分量的距离 : ( —ec ) /a +(Y—ec ) /b =1 第 个特征的弱分类器由一个阈值 、一个特征 和一个 指示不等式方向的偏置Pj(只有±1两种情况)构成: ,,、 『1 ifpjfj<p ̄oj Io。therwise 训练目标:通过对正负样本进行分析,选择分类错误率最 低的 个弱分类器,最终优化组合成一个强分类器。 训练方法如下: : : 以上表达式中的常量分别为c =109.38,c =152.02, ec =1.60,eC,=2.41,0=2、53,0=25.39,b=14、03。椭圆内区 域为肤色区域,其他区域为非肤色区域,从而得到比较理想的 a)设w 为第t次循环中第i个样本的误差权重。对训练 样本中的误差权重按如下公式初始化:对于Y =0的样本, 二值化分割图像。 1.2肤色区域处理 经过肤色分割得到一系列的连通区域,这些区域包括皮肤 区域及与皮肤颜色相近的背景区域。在复杂背景下,有可能存 在很多与人脸肤色相近的非人脸区域被分割出来(如手、胳膊 等),这就需对这些肤色区域作进一步的处理。 首先对分割出来的皮肤区域进行腐蚀与膨胀操作,除去噪 声对肤色分隔的影响;然后通过人脸肤色区域的统计特征分 析,对分割出来的肤色区域作以下预处理,得到最为可能的人 脸区域。 a)对人脸来说,其长宽比一般为1左右。计算肤色区域的 长宽比,本文中取人脸的长宽比为0.4~0.5,长宽比不满足此 范围的区域,被认为是非人脸区域而被剔除。 b)由于人脸区域有一定的大小,将肤色区域小于400像素 的区域认为是噪声干扰而被除去。 图2为一幅图像经过肤色分割、肤色区域处理后的效果。 ‘ 蒿簇藿纂囊‘新空间肤色聚类 空间的投影b空) ̄问的Cr投'-C影b k圈困圈 —a)原图 分割后 处理后 域 图1分布情况 图2处理结果 2基于AdaBoost的人脸检测 2.1 AdaBoost算法 AdaBoost算法是一种分类器算法,是由Y.Freund等人 在1995年提出的。其基本思想是利用大量的分类能力一般的 简单分类器(weaker classiifer)通过一定方法叠加(boost)起 来,构成一个分类能力很强的强分类器。理论证明,只要每个 简单分类器分类能力比随机猜测要好,当简单分类器个数趋向 于无穷时,强分类器的错误率将趋于零。 AdaBoost用于人脸检测时,从人脸中抽取大量的一维简单 特征,这些简单特征均有一定的人脸和非人脸区分性。最终系 统使用数千个一维简单分类器组合起来达到很好的分类效果。 算法描述如下: 已知有12个训练样本( 。,Y。),…,( ,Y )的训练集。其 中:儿={0,1 (i=1,2,…,n)对应样本的假和真,在训练样本 中共有m个假样本,f个真样本,待分类物体有 个简单特征, 表示为 (・)。其中1≤ ≤k;对于第i个样本 ,它的特征为 {( ), ( ),…, ( ),…, (z )},对每一个输入特征 有一个简单二值分类器。 I_f=1/2m;对于Y =1的样本, Ilf=1/2l。 b)fort=1,…, , (a)权重归一化,使得 为 . 一( / ); (b)对于每个特征 ,训练出其弱分类器 ,,也即确定阈值 和偏置Pj,使其目标函数q= ,,I ( )一Y I达到最小; (c)从(b)确定的弱分类器中找出一个具有最小错误 的弱分类器h ; (d)更新每个样本所对应的权重: +. .: . 。其中 e 确定的方法为:若第i个样本 被正确分类,则e =0;反之 8 :1。 : /(1一 )。 c)最后形成的强分类器为 r r1 %h ( )≥o.5 d ,其中d =log(1/ ) ^( )={ ‘ t0 otherwise 以上训练过程的意义可以表述为:当已经提取的分类器对 于某些样本分类正确,那么减少这些样本的权重;当分类错误, 增加这些样本的权重。这样,后面训练提取的弱分类器就会更 加强化对这些分类错误样本的训练。 2.2级联分类器 P.Viola等人 于2001年提出了级联AdaBoost人脸检测 方法。该方法采用一种积分图的图像表示方法,可以快速计算 出Haar—like 特征。利用AdaBoost学习算法将由Haar—like特 征生成的简单分类器叠加成为强分类器,再将强分类器级联而 成为分级分类器用于检测人脸。该方法可使图像的背景区域 快速地丢弃,而在有可能存在人脸的区域花费更多的计算。 级联分类器的每一“层”是一个由连续AdaBoost算法训练 得到的强分类器。设置每层的阈值,使得大多数人脸均能通 过,在此基础上尽量抛弃负样本。位置越靠后的层越复杂,即 包含越多的弱分类器,因而也具有更强的分类能力。这样做是 因为非人脸样本通过的层数越多就越像人脸,越接近分类边 界。级联分类器就像一系列筛孔大小递减的筛子,每一步均能 筛除一些前面筛子漏下的负样本,最终通过所有筛子的样本才 被接受为人脸。级联分类器的训练算法如下: a)设定每层最大误报率_厂,每层最小通过率d和整个检测 器的目标误报率 ,已知正样本集合Pos和负样本集合Neg。 b)初始化F =1,i=1。 c)While F > 。 (a)用Pos和Neg训练第i层并设定阈值b,使得误报率 <,,通过率>d; (b)F…一 , — +1,Neg— ; (c)若F > ,则用当前级联检测器扫描非人脸图 维普资讯 http://www.cqvip.com ・180・ 计算机应用研究 第24卷 像,收集所有误报到集合Neg。 误检的区域也较多;AdaBoost算法误检较肤色检测少,但正确 率不高。如图4(b)和图5(b),出现了在单人脸图像中没有检 测到人脸以及多人脸图像中漏检太多的现象。肤色与Ada— Boost结合的方法不但减少了肤色检测中的误检区域,而且较 AdaBoost算法大大减少了漏检区域,即检测率有了很大提高, 同时对人脸的定位也更加精确,如图4(c)和图5(c)所示。肤 色与AdaBoost结合的方法定位的人脸区域去除了肤色检测到 3 肤色模型与AdaBoost算法相结合检测人脸 纯粹的肤色检测可以将图像中的大多数人脸检测到,正确 率较高,但是在检测到人脸的同时,也会将非人脸的肤色区域 检测到,误检率也很高;基于AdaBoost算法的人脸检测对于单 人脸正面图像的检测效果较好,误检率也比较低,但是对于侧 面及多人脸图像检测正确率不高。 针对肤色检测和AdaBoost算法各自的优缺点,本文将这 两种检测方法结合起来设计一种新的人脸检测方法,即先用肤 的区域中的颈部区域。三种方法分别在简单测试集和复杂测 试集上的实验结果如表1、2所示。 表1单人脸图像测试结果比较 色模型分割出图像中的肤色区域,该区域包括人体其他部分皮 肤区域以及与皮肤类似的背景区域;然后利用腐蚀、膨胀操作 去除噪声对肤色分割的影响;再将这些区域作为输入图像用训 练好的AdaBoost级联分类器进行检测,进一步去除肤色分割 后包括的非人脸区域,实现更准确的人脸定位,从而在尽可 能多地检测到人脸的同时降低误检率。算法流程图如图3所 刁 。 选区 州 : H 盔 … : 竺! 董蓬 图3结合肤色与AdaB00st的人脸检测算法流程图 级联分类器的优点是快速地丢弃背景区域,但是如果只使 用AdaBoost算法,就要扫描整幅图像得到所有子窗口再进行 判断。本文的方法是先根据肤色检测出包含所有人脸的区域, 再将这部分区域作为输入图像用级联检测器进行扫描,也即仅 对可能存在人脸的区域进行扫描,提高检测速度,而且肤色检 测出的候选人脸区域大部分只包括一张人脸,再用AdaBoost 算法检测时相当于对单人脸图像进行检测,从而避免了单独使 用AdaBoost算法检测多人脸图像时效果不理想的情况。 4 实验结果及分析 本文对单人脸彩色图像及多人脸彩色图像用肤色模型、 AdaBoost算法及本文方法分别进行了实验。测试图像来自生 活中的实际数码照片与从互联网上随机收集的图像,包括不同 人种、不同年龄的正面及侧面图像,分别组成简单测试集与复 杂测试集。其中简单测试集包括100幅单人脸图像;复杂测试 集包括5O多幅图像,共计313张人脸。测试环境为:P4 3.0 GHz CPU,512 MB内存,操作系统为Windows XP,在Mi— crosoft Visual C++6.0平台上编程实现。试验结果单人脸如 图4、多人脸如图5所示。 (a)肤色模型麓黑奠豳 豳_ (b)AdaBoost算法(c)本文=方法(a)肤色模型(b)AdaBeost算法 (c)本文方法 图4在单人脸检测结果 图5在多人脸检测结果 图4、5分别给出了三种方法在简单测试图像和复杂测试 图像上的检测结果。从中可以看出,基于肤色的方法可以检测 到图像中的所有人脸。但是人脸的定位不够精确,从图4(a)和 图5(a)看到,检测到的人脸区域还包括了颈部肤色区域,同时 从表1、2中可以看出,肤色检测的正确率很高,但同时虚 检率也很高;AdaBoost算法误检率较肤色检测低很多,但检测 率也相应有所下降。本文方法虽然在检测率上不及肤色检测, 但误检的人脸数量比另外两种方法少了很多,同时还具有不错 的检测效果。图6为使用本文提出的人脸检测方法在复杂测 试集上的部分检测结果。 ■■ ■ (a) (b) (c) (d) 图6部分检测结果 5 结束语 本文分别介绍了基于肤色和基于AdaBoost算法的人脸检 测方法,比较了两种方法的优缺点,提出了将肤色检测与Ada— Boost算法结合起来的人脸检测方法。该方法可以有效解决肤 色检测误检率较高和AdaBoost方法漏检的问题,从而在提高 检测率的同时降低误检率,实现更准确的人脸定位。 参考文献: [1]YANG M H,KRIEGMAN D,AHUJA N、Detecting faces in images: a survey[J】.IEEE Trans on Pattern Analysis and Machine Intel- Iigence,2002,24(1):34-58. [2]YANG Jie,LU W,WAIBEL A、Skin color modeling and adaptation [C]//Proc of the 3rd Asian Conference on Computer Vision、Lon- don:Springer-Verlag,1998:687—694、 [3]PHUNG S L,BOUZERDOUM A,CHAI D.A novel skin color model in YCrCb color space and its application to human face detection [C]//Proc of IEEE International Conference on Image Processing. New York:[S.n.],2002:289—292. (下转第184页) 维普资讯 http://www.cqvip.com ・184・ 计算机应用研究 第24卷 由分类结果图4、5中可以看到,单个分类器对道路不敏 感,道路的分类精度很低,但经过组合分类器的学习后,能将没 有学习完全的道路类别重新识别出来,很大程度上提高了影像 方法的改进和优化;对子分类器的类型进行扩展。对于现在比 较成熟的各种遥感影像分类算法都可以进行尝试并比较。 参考文献: [1]DUIN R P W,TAX D M J.Experiments with classifier combining rules[C]//Prc ofo the 1 st International Workshop on Multiple Classi・ fier Systems.Cagliari,Italy:[s.n,],2000:16.29. [2]GUTTA S,WECHSLER H.Face recognition using hybrid classiifer systems[C]//Proc of IEEE International Conference on Neural Net・ works.Washington,DC:[s.n.],1996:1017—1022. 的分类精度。道路在图4中基本没有分出,而在图5中有明显 的体现,并且图4中将部分池塘错分为河流,而图5中的池塘 分类明显优于图4的结果。 ■■■ 一居民地 池塘 一道路褥穗农用地 蛹河流 [3]HANSEN L K,LIISBERG L,SALAMON P.Ensemble methods for handwritten digit recognition[C]//Proc of IEEE Workshop on Neurla Networks for Signal Processing.Copenhagen:[s.n.],1992:333・ 图3研究区aster 原始图像 图4无隐层二阶神经 网络分类结果图 图5组合分类器 分类结果图 342, [4]ZHOU z H,JIANG Y,YANG Y B,et a1.Lung cancer cell identifi— cation based on artiifcila neural network ensemblesf J 1.A ̄ificial In・ 分别采用传统的分类方法,即最小距离法、马氏距离法、最 大似然法进行分类,分类精度如表4所示。 表4不同分类方法的分类精度比较 telligence in Medicine,2002,24(1):25・36, [5]FREUND Y,SCHAPIRE R E.Adecision theoretic generalization of on—line learning and an application to boostingf J].Journal of Com・ puter and System Science,1997,55(1):1 19.139. [6]SUEN C Y,LAM L.Multiple classiifer combination methodologies orf differnent output levels[C]//Proe of the 1 st International Workshop on Multiple Classiierf Systems.London:Springer・Verlag,2000. [7]柏延臣,王劲峰.结合多分类器的遥感数据专题分类方法研究 最小距离法对河流识别精度不高,而马氏距离法对道路识 别精度不高。在传统的分类方法中,最大似然法一般具有最高 的分类精度,而组合分类器能有效减少子分类器错分的类别, 对疑难的类别能有效充分地学习,较大地提高了遥感图像的分 类精度。从表4中可以看到,对于特定的类别,组合分类器的 [J].遥感学报,2005,9(5s):555・563. [8]陈忠.高分辨率遥感图像分类技术研究[D].北京:中国科学院遥 感应用研究所,2006:17・34. [9]DRUCKER H.Effect of pruning and early stopping on performance of a boosting ensemble[J].Computational Statistics&Data Analysis,2002,38(4):393—406. 分类精度还略优于最大似然法。 通过以上实验可以看到,组合分类方法对子分类器的精度 [1O]熊桢,童庆禧,郑兰芬.用于高光谱遥感图像分类的一种高阶神经 有很大的提升,能有效地提高总的分类精度,其分类效果足以 与最大似然法媲美,并能在某些类别上优于最大似然法。 网络算法[J].中国图象图形学报,2000,3(5):197.201. [11]余英林,李海洲.神经网络与信号分析[M].广州:华南理工大学 出版社.1996:434・435. 3结束语 近年来,集成分类器成为模式识别领域的一个重要研究方 向,将集成分类算法应用在遥感数据的分类方面还处于探索阶 [12]RUTA D,CABRYS B.Classiifer selection for majority voting[J].In. formation Fusion,2005(6):63.81. [13]Y1N Xu.cheng,L1U Chang・ping,HAN Zhi.Feature combination using boosting[J].Pattern Recognition Letters,2005,26(14): 2】95.2205. 段。本文将组合分类的经典算法AdaBoost引入遥感影像分类 中,选用无隐层的高阶神经网络为弱学习器,对遥感卫星aster 数据展开实验。实验结果表明,AdaBoost组合分类算法能提高 [14]JING X Y,ZHANG D.Face recognition based on linear classiifers combination[J].Neurocomputing,2003,50:485・488. 子分类器分类精度,为遥感图像分类提供了一种新的有效方 法。下一阶段的工作在两个方面需要深入研究,即对组合分类 [15]涂承胜,刁力力,鲁明明,等.Boosting家族AdaBoost系列代表 [J].计算机科学,2003,30(3):3O-34. (上接第180页) rithm l C J//Proc of the 13th International Conference on Machine [4]LEE J Y,YOO S I.An elliptical boundary model ofr skin color detec- tion[C]//Proc of the International Conference on Imaging Science, Leanirng.San Francisco:[s.n.],1996:148・156. OLA P,JONES M.Rapid object detection using a boosted cascade [7] VISystems and Technology.Las Vegas:[s.n.],2002:579・584. [5]HSU R L,MOTTABEB M A,JAIN A K.Face detection in color image [J].IEEE Trans on Pattern Analysis and Machine Intelligence, 2002,24(5):696—706. of simple features[C]//Proc of IEEE Conference Computer Vision and Pattern Recognition.Kauai:[s.f1.],2001:511・518. ENHART R.MAYDT J.An extended set of Haar.1ike features for [8] LIrapid object detection[C]//Proc of IEEE Intenartional Conference on Image Processing.New York:[s.n.],2002:900・903. [6]FREUND Y,SCHAPIRE R E.Experiments with a new boosting algo・
因篇幅问题不能全部显示,请点此查看更多更全内容