计算机模式识别文献阅读.ppt
课程:计算机模式识别,课 题:集成学习与Adaboost算法 学 院:通信与信息工程学院 学 号:学生姓名:上课老师:,学期:春 2015,集成学习理论Adaboost算法原理论文分析1.The Human Face Detection Algorithms Based on AdaBoost2.Face Detection Based on Skin Color Segmentation and AdaBoost Algorithm,目 录:,1.0 集成学习术语,强分类器:如果一个学习算法通过一组样本的学习后,能够达到理想的识别率。,弱分类器:如果一个学习算法的识别率仅好于随机的猜测。,1 集成学习理论,1.1 集成学习动机,在机器学习中,直接建立一个高性能的分类器是很困难的。但是,如果能找到一系列性能较差的分类器,并把它们集成起来的话,也许就能得到更好的分类器。,譬如选总统,每个人都以自己的考虑,投下自己的一票,但最后由多数人选出的总统,似乎应该好于由一个人指定的总统。,集成学习,就是一种把输入送入多个学习器,再通过某种办法把学习的结果集成起来的办法。,1.2 集成学习概念,弱分类器,1.3 集成学习构造,我们一般选定加权平均的方法来构造集成学习的最终学习器。但是里面的每一个Classifier i怎样做呢?,有一些研究,针对每个学习器都不同构的情况。比如识别一个人,一个学习器考虑脸,另一个考虑步态,另一个考虑指纹,这种研究通常称为Information Fusion。,另一种方法是用同样的学习算法来构造不同的弱学习器的方法。,1.3 集成学习构造,加权采样:通过给训练数据赋以不同的权,实际上使得每个学习器关注训练集中的某一部分,这也符合我们最初民主投票的想法。,1.3 集成学习构造,直观上,每个学习器关注训练集中的某一部分,很多个训练集应该可以覆盖训练集中的大部分,只要巧妙的选择加权平均的权,就可以得到更好的学习效果。,1.3 集成学习构造,【集成学习对个体有要求么?】,1.3 集成学习构造,【个体越多越好吗?】,既然多个个体的集成比单个个体更好,那么是不是个体越多越好?,更多的个体意味着:(1)在预测时需要更大的计算开销,因为要计算更多的个体预。(2)更大的存储开销,因为有更多的个体需要保存 个体的增加将使得个体间的差异越来越难以获得,1.3 集成学习构造,传统的机器学习一般都自认为是单模型的,对于模型的分析总是在整体上完成,如:BP和SVM等。但是,所有这些模型其实都可以看作是一种加权平均的多模型。,所以,当然应该考虑研究一般的多模型。在算法上,集成学习的典型代表AdaBoost算法,已经成为与SVM并立的方法。而且,集成学习比SVM更为一般,可能可以有更广阔的前景。,2 AdaBoost算法,2.1 AdaBoost来源,通常,针对一个具体的识别问题,我们很难找到一个理想的强分类器,但是弱分类器一般都会很多,基于这种现象,Freund和Schapire提出了Adaboosting算法:通过一定的算法可以将一组弱分类器提升为一个强分类器。,Adaboost 算法是一种用来分类的方法,它的基本原理就是“三个臭皮匠,顶个诸葛亮”。它把一些比较弱的分类方法合在一起,组合出新的很强的分类方法。,2.2 AdaBoost算法主要思想,针对同一个训练集训练不同的分类器(弱分类器),然后将这些弱分类器集合起来构成一个更强的最终分类器(强分类器)。,初始化的时候对每一个训练样本都赋予相同的权重,然后用该学习算法对训练集训练T轮,每次训练后,对训练失败的训练样本赋予较大的权重,在训练过程中会生成的一个预测函数hj,其中hj也有一定的权重,预测效果好的预测函数权重大。最终预测函数H用加权多数投票的方法产生。,2.3 AdaBoost算法描述,输入:一组训练集:,其中 为样本描述,为样本标识,;其中0,1分别表示正例子和反例。在人脸检测中,可以定义0为非人脸,1为人脸。初始化:初始样本权值设为。对,循环执行下面的步骤:(1)归一化权重:,(2)对每个特征f,训练一个弱分类器;计算所有特征的弱分类器的加权错误率(3)选取最佳弱分类器,按最小错误率。(4)按照这个最佳弱分类器,调整权重:,其中 表示 被正确分类,表示 被错误分类。,2.3 AdaBoost算法描述,(5)最后的强分类器为:其中。,2.3 AdaBoost算法描述,2.3 AdaBoost算法描述,例如在下图中,需要一些线段把红色的球和深蓝色的球分开,然如仅果仅用一条线的话,是分不开的。,调整权重,调整权重,调整权重,弱分类器一,弱分类器二,弱分类器三,最终强分类器,2.3 AdaBoost算法描述,3.1 The Human Face Detection Algorithms Based on AdaBoost,3 论文分析讲解,3.1 The Human Face Detection Algorithms Based on AdaBoost,【1】人脸特征选择-Haar-like特征,【算法步骤】,【2】人脸特征计算-积分图,【3】分类函数学习,【4】级联检测器进行人脸检测,3.1.1 Haar-like特征,Haar-like特征:是用一种类似Haar小波的方法来形成人脸特征的。典型的矩阵特征由2到4个矩形组成,分别对应于边界、细线/棒或者对角线特征,见下图。对应的矩形特征的特征值定义为白色矩形内的像素和减去黑色矩形内的像素和。,在基于Adaboost的人脸检测系统中,每个弱分类器都是对图像一个特征值的判断,常用的特征是Haar-like特征。,3.1 The Human Face Detection Algorithms Based on AdaBoost,积分图是一种快速计算矩形特征(Haar-like)的方法。在一张积分图上,点i(x,y)的积分值ii(x,y)是原图像上该点的上方和左方所有点的亮度值的和。即:其中ii(x,y)为积分图,i(x,y)为原始图像,如下图所示。,3.1.2 积分图,3.1 The Human Face Detection Algorithms Based on AdaBoost,当采用下面两式,只需对原图像扫描一次即可计算出积分图:其中,是对这一行及其以前行的像素值求和,并且有:,3.1.2 积分图,3.1 The Human Face Detection Algorithms Based on AdaBoost,有了积分图,矩形特征值就可以通过很少的计算量得到。任意一个矩形内的像素和可以由积分图上对应的四点得到。由此可见,矩形特征的特征值的计算,只与此特征的端点的积分图有关,而与图像的坐标值无关。所以积分图的引入,大大提高了检测速度。,采用Adaboost算法对人脸特征数据进行训练,经过T轮训练,将T个弱分类器并联形成强分类器。(详细过程见AdaBoost算法原理),3.1.3 分类函数学习,3.1 The Human Face Detection Algorithms Based on AdaBoost,将强分类器串联在一起形成级联检测器,每层的强分类器经过阈值调整,使得每一层都能让几乎全部的人脸样本通过,而拒绝很大部分非人脸样本。,级联检测器进行人脸检测,3.1 The Human Face Detection Algorithms Based on AdaBoost,由于前面的层使用的矩形特征数据很少,计算非常快,越往后匹配的图片越少。尽管随着级数的增多矩形特征数量在增加,但计算量却在减少,检测速度在加快,具有实时性。,3.1 The Human Face Detection Algorithms Based on AdaBoost,Adaboost算法通过从大量的haar特征中挑选出最优的特征,并将其转换成对应的弱分类器进行分类使用,从而达到对目标进行分类的目的。,3.1 The Human Face Detection Algorithms Based on AdaBoost,3.1 The Human Face Detection Algorithms Based on AdaBoost,3.2 Detection Based on Skin Color Segmentation and AdaBoost Algorithm,本文将扩展的Haar-like特征(下图所示)作为人脸特质,每个特征由23个矩形组成,分别检测边界、细线、中心特征等。,3.2.1 扩展Haar-like特征,3.2 Detection Based on Skin Color Segmentation and AdaBoost Algorithm,3.2.2 皮肤颜色分割技术,3.2 Detection Based on Skin Color Segmentation and AdaBoost Algorithm,相对于几何特征,皮肤颜色是彩色图像非常有效的特性,它不会随图像的大小和形状改变而改变。因此,皮肤颜色分割方法具有相对稳定和计算速率高的优点。,调查显示:皮肤颜色的不同主要是由亮度决定,不受色度影响。通常颜色空间包括RGB、规范RGB、HVS和YCbCr等。,YCbCr能够将亮度和色度信息进行分离,再单独处理,故本文采用YCbCr空间作为颜色分布匹配空间。,在YCbCr模型中,Y表示颜色的亮度信息;Cb表示色度的蓝色;Cr表示色度的红色。其和RGB的转换关系如下:其中:皮肤的Cb和Cr都在一定的范围:,3.2.2 皮肤颜色分割技术,3.2 Detection Based on Skin Color Segmentation and AdaBoost Algorithm,3.2.2 皮肤颜色分割技术,3.2 Detection Based on Skin Color Segmentation and AdaBoost Algorithm,扫描图像的每一个像素,如果像素的Cr和Cb值在上述范围内,则表示标定为皮肤;否则将其像素设置为黑色。然后我们采用中值滤波来去除噪声,最后我们将获得人脸待选区域(用于后续AdaBoost人脸识别),3.2 Detection Based on Skin Color Segmentation and AdaBoost Algorithm,3.2 Detection Based on Skin Color Segmentation and AdaBoost Algorithm,3.2 Detection Based on Skin Color Segmentation and AdaBoost Algorithm,3.3 总结,集成学习:把一些比较弱的分类方法合在一起,组合出新的很强的分类方法。“三个臭皮匠,顶个诸葛亮”。,AdaBoost算法:初始化的时候对每一个训练样本都赋予相同的权重,然后用该学习算法对训练集训练T轮,每次训练后,对训练失败的训练样本赋予较大的权重,在训练过程中会生成的一个预测函数hj,其中hj也有一定的权重,预测效果好的预测函数权重大。,基于AdaBoost算法的人脸检测:【1】人脸特征选择-Haar-like特征【2】人脸特征计算-积分图【3】分类函数学习【4】级联检测器进行人脸检测,3.3 总结,基于皮肤颜色分割技术和AdaBoost算法的人脸检测:【1】采用扩展Haar-like特征作为人脸特征。【2】采用皮肤颜色分割技术选择人脸待选区,减少了级联检测器的数据量,速度更快,精度更高。,1 郭磊,王秋光.Adaboost人脸检测算法研究OpenCV实现J.哈尔滨理工大学学报,2009.10,14(5):123-126.2 Robert E.Schapire.A Brief Introduction to Boosting C.Proceedings of the Sixteenth International Joint Conference on Artificial Intelligence,1999:1401-1406.3 Li Yinyan.The Human Face Detection Algorithms Based on AdaBoost C.Proceedings of 2007 International Symposium on Computer Science and Technology,2007:962-9654 Li Kai and Gao Hongtao.Selective Classifier Ensemble Learning Algorithm based on Subgraph Strategy J.Computer Engineering and Applications,2011,47(34):78-80.5 Shi Chunlei and Jin Longxu.Face Detection Based on Skin Color Segmentation and AdaBoost Algorithm C.Proceedings of 2011 3rd IEEE International Conference on Information Management and Engineering,2011:213-2166 Wang Jiangbo and Li Shaowen.Studies on Face Detection Based on Improved AdaBoost Algorithm C.Proceedings of 2011 International Conference on Intelligent Computing and Integrated Systems,2011:235-2387 Zhang Jiangfeng and Li Jun.The Research of Face Detection Based on Double Skin Model and Adaboost Algorithm C.Proceedings of 2011 International Conference on Intelligent Computing and Integrated Systems,2011:204-2078 Fu Zhongliang and Zhao Xianghui.Ensemble Learning Algorithms:Generalization of AdaBoost J.Journal of SiChuang University(Engineering Science Edition),vol.42,no.6,November 2010.9 Fu Zhongliang and Zhao Xianghui.Ensemble Learning Algorithms:Generalization of AdaBoost J.Journal of SiChuang University(Engineering Science Edition),vol.42,no.6,November 2010.,参考文献,10 Lan Rushi and Jiang Yong.Automated flare prediction using the AdaBoost algorithm J.Research in Astron and Astrophysics,vol.12,no.9,June 2012.11 Xu Chengshen and Diao Lili.The Typical Algorithm of AdaBoost Series in Boosting Family J.ComputerScience,vol.30,no.3,November 2003.12 Lu Gang and Chen Yong.A Study of Boosting Algorithm J.Computer Knowledge And Technology,vol.4,no.9,December 2008.13 Dong Lehong and Geng Guohua.Survey of Boosting J.Computer Applications and Sofeware,vol.23,no.8,August 2006.14 Zou Guofeng and Wang Kejun.Eyes Location Method Based on the AdaBoosting Algorithm and Block Integral Projection C.2013 25th Chinese Control and Decision Conference,2013:1483-148615 Wang Liwei and Deng Xiaofeng.Further results on the margin explanation of boosting:new algorithm and experiments J.Science China Information Sciences,vol.55,no.7,July 2012.16 于玲,吴铁军.集成学习:Boosting算法综述 J.模式识别与人工智能,2003.3,17(1):52-5717 Zhang Chunxia and Zhang Jiangshe.A Survey of Selective Ensemble Learning Algorithms J.Chinese Journal of Computers,vol.34,no.8,August 2011.18 王海川,张立明.一种新的Adaboost快速训练算法 J.复旦学报(自然科学版),2004.2,43(1):27-33,参考文献,谢谢,