特定被摄体检测装置及方法

文档序号:6561723阅读:151来源:国知局
专利名称:特定被摄体检测装置及方法
技术领域
本发明涉及应用在从所拍摄的图像中检测出在该图像中所包含的人物、动物及物体等的特定的被摄体或者被摄体的一部分的装置及方法等中的有效的技术。
背景技术
作为以往的技术,有从所拍摄的图像中检测出在该图像中所包含的人物、动物及物体等的特定的被摄体或被摄体的一部分的技术。作为这样的以往技术的例子,有从所拍摄的图像中检测出人物的人脸的技术,亦即人脸检测技术。
人脸检测具有两方面的难点一是人脸内在的变化,如脸形的不同;二是人脸外在的变化,如平面内旋转。因此,只有找到一些相关的算法并能达到实时的应用效果,才能构造出具有实际应用价值的人脸检测装置,进而构造出具有实际应用价值的特定被摄体检测装置。
人脸检测的实用性将取决于检测精度和检测速度二者的提高。然而,精度的提高虽然已经得到了较好的发展,但是速度提高的问题却一直阻碍着人脸检测走向实用。一些关于人脸检测的早期的著作,诸如Rowley的ANN方法(参见Carnegie Mellon大学1999年5月博士论文“Neural Network-basedHuman Face Detection”),基于贝叶斯(Bayesian)决策规则的Schneiderman的方法(参见CVPR 2000,“A Statistical Method for 3D Object DetectionApplied to Faces and Cars”),这些都达到了高精度。但是因为其巨大的运算量,它们的应用却非常有限。值得一提的是,Schneiderman曾将人脸划分为左侧面、正面、右侧面三个视角,采用贝叶斯(Bayesian)方法和小波变换训练三个基于视角的检测器,最终结果由三个检测器的结果合并得到。Schneiderman的检测器虽然运算复杂,速度很慢,但是其对多视角人脸检测问题作出较大贡献。
速度问题是由层叠检测器(cascade detector)的提出而进展的。该层叠检测器首次展示了实时运行的对于正面人脸的检测。还有许多相关的著作,诸如Xiao等人的链式推进算法(Boosting Chain),该算法参见ICCV2003,“Boosting Chain Learning for Object Detection”。Liu等人的Kullback-Leibler推进算法(KL Boosting),该算法参见CVPR 2003,“Kullback-Leibler Boosting”。这些推进算法都是关注于Viola结构的某些部分,并采用新的方法对其进行改进。
近年来,为了人脸检测的层叠检测器被证明是非常成功和有效。但是对于多视角人脸检测器(MVFD,Multi View Face Detector)来说,扩展这一结构的最直接的方法就是为每一个视角单独的训练不同的层叠检测器,然后象图1(a)那样把它们作为一个整体使用。该技术的参考文献为FG 2004,“Fast rotation invariant multi-view face detection based on real adaboost”。该文献中的论述证明即便是这样的简单的结构扩展,已经可以在处理多视角这个复杂问题时具有很好的表现。可见就结构改进而言,这里仍然留有很大的改进余地。例如一、金字塔结构,为了检测具有多种姿态的人脸,Li提出了一种金字塔结构(pyramid-structured)的多视角人脸检测器(MVFD),该多视角人脸检测器参见参考文献ECCV 2002“Statistical Learning of Multi-View FaceDetection”。该金字塔结构如图1(b)所示,其顶层只有一个节点(母节点),覆盖±90°的平面外旋转(ROP),第二层三个节点(子节点)将该范围一分为三,以后逐层细分。其采用从粗到细的策略来处理平面外旋转(ROP)的姿态变化。由于在人脸的不同姿态中具有相似之处,所以金字塔方法便将它们作为一个整体的正的类进行对待,以便改进人脸特征提取的功效。但是,这便忽略了它们内在的差异,使得金字塔方法对于不同的姿态没有辨别力。结果,一个通过母节点的样品不得不被发送给它的所有的子节点,这便大大减慢了决策的进程。
二、决策树结构,如图1(c)所示。与上述金字塔方法相反,为了检测具有多种姿态的人脸,采用决策树方法(参见2003年7月的MERL-TR2003-96,“Fast Multi-view Face Detection”)处理平面内旋转(RIP)的问题。其把重点放在不同姿态之间的差异处之上,并且该决策树作为RIP的一个姿态评价者在工作,通过决策树的强制性判断,它确实有效地减少了花费在姿态估计上的时间。但是,其结果有些不稳定,且实用性不是很好。
可见对于MVFD问题来说,存在两个主要任务一个是区分人脸和非人脸(non-face,人脸以外的东西);另一个是识别人脸的姿态。第一个任务需要尽可能快的丢弃非人脸,所以其倾向于从不同姿态的人脸中找出相似之处,以便从非人脸中分离出它们。后一个任务则关注于不同姿态之间的差异之处。两个任务的冲突确实导致了两难的境地,使得或者将所有人脸作为一个整体的类来处理(如金字塔方法),或者作为不同的单独的各个分离的类来处理(如决策树方法),这两者对MVFD问题的处理都不能达到令人满意的结果。这一问题的难度在于,人脸姿态的变化(包括平面内旋转RIP,平面外旋转ROP)通常会造成其在视图中的人脸的结构和纹理发生显著变化,从而分类的复杂度加大。
为了解决这一难题,如上所述,提出了金字塔(Pyramid)模型和决策树(Decision Tree)模型。其中,前者将人脸根据姿态变化的大小,依据从粗到细(coarse to fine)的原则,逐步将多角度的人脸空间分割成为单一角度的人脸子空间,使用金字塔结构的分类器设计逐步将多角度的人脸同非人脸分割开来。而后者,则直接考虑使用决策树对多角度人脸进行分类,然后根据分类的结果,选择对应的层叠型(cascade)分类器将这种姿态的人脸同非人脸区分开来。简而言之,金字塔(Pyramid)结构将不同姿态的人脸看成同一类,着重解决它们与非人脸之间的分类问题,随着人脸空间的划分逐渐精细,最后也将得到比较合理的姿态估计。而Decision tree的方法则首先解决姿态估计的问题,通过多分类将不同姿态的人脸分开,然后再回归到传统的Cascade模型,解决某一特定姿态下人脸与非人脸的分类问题。
这两种方法采取了不同的顺序去解决MVFD问题的两个方面——人脸的检测和姿态的估计,而这也造成它们各自不同的问题。Pyramid结构强调不同姿态人脸之间的一致性,试图直接将复杂的多角度人脸与非人脸分开。这样的分类问题难度过大,需要构造比较复杂的分类器才能够解决,所以虽然取得了不错的检测精度,但速度方面不甚理想。而另一方面,Decision Tree结构强调不同姿态人脸之间的差异性,首先构造分类器对其进行多分类,然后再分别将它们与非人脸分开,这种做法的速度非常理想,但精度和鲁棒性却并不理想,这是由于对于人脸姿态的多分类本身就是一个不易解决的问题,而这种方法寄希望于使用决策树快速判定人脸姿态的方法必然要丧失一定的精度和实用性能。总的来说,不同姿态人脸之间的一致性和差异性共存,是上述这两种法无法克服的关键问题。
事实上,对于真实生活中的人脸图像而言,RIP和ROP是普遍且同时存在的,现有的方法还不能满足实际应用所需要的要求,例如对MVFD具有旋转不变性的需要。尽管通过旋转图像和应用几次MVFD可以解决这些问题,但是它增加了运算的复杂性和误报。

发明内容
为了克服现有技术中的缺陷,本发明提出了基于宽度优先(WFSWidth-First-Search)策略的树状分类器,同时解决人脸的检测和姿态的估计这两个问题。
本发明的目的在于,提供一种多视角特定被摄体检测方法及装置,用以平衡上述金字塔方法和决策树方法两方面的问题,以便提高多视角特定被摄体检测的精度和速度,改进相关检测装置的功效。
本发明提供一种特定被摄体检测装置,其从图像中检测出特定被摄体,包括图像输入单元;树状检测器,其对从所述图像输入单元输入的图像进行分类,根分支节点包含与被分支的全部对象物的方向对应的子对象空间,从所述根分支节点分支的子分支节点包含至少一个与对象物的方向对应的所述对象空间,所述根分支节点和所述子分支节点的各分之节点中包含多个弱分类器,把各弱分类器的输出累计到要分割的各个子对象空间中,并判断移到邻接的下层的哪个子分支节点上。
并且,在本发明中,还可以在每一个方向都拉伸的子对象空间的分支节点(叶节点)上附加层叠检测器。
根据所述层叠检测器,可以提高以包含在图像的对象物为目标的对象物的正确性。
并且,对于本发明的树状检测器的动作,可以进行宽度优先搜索。通过进行宽度优先搜索,可以把非对象物在早期的阶段当中排除掉,所以树状检测器的动作的速度提高了。
并且,关于决定本发明的树状检测器的动作的训练,也可以用推进算法。在推进算法当中,可以使用向量推进算法,来改善鲁棒性。
并且,所述对象物也可以是人脸。作为特定被摄体的对象物除了人脸之外,还可以适用于动物脸、汽车等。特别是,可以适用于因为在平面内旋转、平面外旋转而使其样子改变的立体物的检测。
并且,所述各分支节点包含一个强分类器,所述强分类器可以由多个弱分类器的输出值决定。通过使用多个弱分类器,在分支节点上强分类器可以在应分类的多个子对象空间的每个上都累计多个弱分类器的值,从而提高正确性的同时提高计算效率。
并且,所述子对象空间可以包含检测的对象物的平面内旋转以及/或者平面外旋转,向对象物的多个方向上分割。对与X、Y、Z、轴正交的立体空间上,平面内旋转定义为以Y轴为轴的旋转。此时,平面外旋转是以Z轴为轴的旋转,对象物变成右方向、左方向状态。并且,以X轴为轴的旋转也是平面外旋转,对象物变成下方向、上方向的状态。
并且,本发明还可以具有输出单元,该输出单元输出表示是否由所述树状检测器来检测对象物的数据以及/或者表示被检测的对象物的位置、大小等的数据。
而且可以把本发明表示为,组建把从图像中检测特定被摄体的树状检测器的方法,其中情报处理装置执行以下步骤把分类图像的分支节点构成为树状的步骤;所述树状根分支节点构成为包含被分割的全部的对象物的方向的子对象空间,并且具有多个分支,各分支与一个分支节点连接,而该子分支节点构成为包含对应至少一个对象物的方向的对象空间的步骤;包含两个以上的所述子对象空间的子分支节点构成为具有多个分支,各分支连接有邻接的下层子分支节点,各邻接的下层子分支节点构成为包含至少一个所述子对象空间的步骤;包含一个子对象空间的子分支节点构成为树状的也分支节点的步骤;关于所述根分支节点和所述子分支节点中分支的各分支节点,把图像输入到多个弱分类器,把各弱分类器的输出累计到分割的每个子对象空间中,并构成为判断移到了邻接的哪个下层子分支节点的的步骤,以此可以构成特定被摄体检测器。
另外,本发明可以为具有所述单元的至少一个单元的特定被摄体检测装置。并且本发明还可以为包含所述处理的至少一部分的特定被摄体检测方法,或者可以是实现相关方法的情报处理装置的算法。所述单元和处理以所有可能的组合构成本发明。
本发明的有益效果在于,本发明不同于金字塔结构(参见ECCV 2002“Statistical Learning of Multi-View Face Detection”)和决策树(参见2003年7月的MERL-TR2003-96,“Fast Multi-view Face Detection”),采用宽度优先搜索(WFS)树型结构,从而可以实现在较高的精度和较高的速度下运行;训练WFS树的分枝节点,扩展Real AdaBoosting算法(参见Machine Learning,37,1999,297-336“Improved Boosting Algorithms UsingConfidence-rated Predictions”和In Proc. of the 13-th Conf. on MachineLearning,Morgan Kaufmann,1996,148-156,“Experiments with a New BoostingAlgorithm”以及The Annals of Statistics,26(5),1998,1651-1686,“Boostingthe marginA new explanation for the effectiveness of voting methods”),得出向量推进(vector boosting)算法,从而达到更好的性能;弱分类器以查找表(LUT)的方法来实现,用于近似复杂的分布,给出具有置信度评价的推断。
与现有技术相比,本发明的WFS树结构方法无论在速度上还是在精度上都达到了明显的改进,并且4个这样的WFS树结构检测器作为一个整体工作,形成了一个具有旋转不变性的MVFD,它在世界上首次实现了实时运行的具有旋转不变性的MVFD。
更进一步的,在本发明中所设计的向量推进算法可以被看作是对RealAdaboost算法的一个结构扩充,其中如果适当的预设投影向量,那么向量推进算法正好就是经典的Real Adaboost算法,涵盖了经典的Real Adaboost算法。Vector Boosting的主要贡献是将传统的Adaboost方法,无论是简单的二分类,还是复杂的多分类多标签问题,统一了起来。传统二分类方法将分类器的输出约束在标量空间中进行优化,而将多分类问题归结成若干独立的二分类问题分别解决。这种方法虽然清晰直观,但面对复杂的多分类多标签问题时仍显得比较吃力臃肿,而且也难于在分解后的二分类问题之间建立某种联系。而本发明提出的向量推进算法(Vector Boosting)则可以将复杂的问题,包括其分解后的若干二分类问题放在同一个向量输出空间内解决,这也就统一了过去的Adaboost方法;进一步,Vector Boosting还可以考虑不同分类问题之间的相关性,可以说,是对Adaboost方法的一种发展。尽管向量推进算是为MVFD问题而开发的,但是其也可用于其它的复杂分类问题。


图1a为平行层叠结构示意图;图1b为金字塔结构示意图;图1c决策树结构示意图;图2为本发明的树型结构示意图;图3为输出空间H(X)中的划分三个类的坐标图;图4a、图4b为类Haar特征划分的坐标图;图5a为阈值型弱分类器的特性图;图5b为分段(Piece-wise)型弱分类器的特性图;图6为具有旋转不变性的MVFD结果图;图7a至图7e为本发明树结构的向量推进算法和金字塔结构的RealAdaBoost算法中的特征区分性效果对比图;图8a、图8b为本发明装置的功能框图;图9为具有三个查找表的弱分类器的示意图;图10为具有三个置信度输出的层分类器的示意图;图11为本发明树型结构检测器的示意图;图12表示关于树型结构检测器的检测过程中的处理对象的示意图。
具体实施例方式
下面结合

本发明的具体实施方式
。在以下的说明中,作为特定被摄体检测方法及装置的具体例子,对从人物图像中检测出人物的人脸的人脸检测方法及装置进行说明。
在以下的说明中,作为特定被摄体检测装置的具体例,对从人物图像中检测出人物的面部的树型结构检测器(参照图8a和图8b)进行说明。
在该说明中,所谓人物图像,是指至少包含人物面部的一部分或全部的图像的图像。因此,人物图像也可以为包含人物整体的图像,也可以为只包含人物的面部或上半身的图像。另外,人物图像也可以为包含多个人物的图像,还有,人物图像也可以为在背景上包含人物以外的风景(作为被摄体也包含被注目的物体)及花纹等的任何的图形。
另外,对树型结构检测器所进行的以下的说明,只是一个示例,其结构并不限于以下的说明。
实施例1如图2所示,本发明提供了一种多视角人脸检测方法,其包括以下步骤,将人脸空间划分为多个视角的子人脸空间;如将一个人脸进行±90°的平面外旋转,得到正面人脸、半左侧人脸、全左侧人脸、半右侧人脸、全右侧人脸五个视角的子人脸空间,然后将这五个视角的子人脸空间分别进行±45°的平面内旋转,使每个视角的子人脸空间得到两个平面内旋转的子人脸空间(如±30°的平面内旋转),这样便将人脸空间划分为15个视角的子人脸空间本实施例表示的平面外旋转是以Z轴为轴的旋转,但也可以是以X轴为轴的旋转。当以X轴为轴旋转时,图像当中人脸是向下的,如上方向那样外观发生变化。根据所述轴的定义,以X轴为轴的旋转相当于平面内旋转。
宽度优先搜索树型结构检测器构建为所述树型结构存在一个根分支节点,该根分支节点覆盖被划分的所有视角的子人脸空间(即在上面的人脸划分的例子中,根分支节点覆盖15个视角的子人脸空间)且具有多个分支,每一分支对应一个子分支节点,所述的子分支节点至少覆盖一个视角的子人脸空间,其中,覆盖一个以上视角的子人脸空间的子分支节点具有多个分支。并且子分支节点也可以是非分支。在这里非分支是指不分割子人脸空间,而移动到下层子分支节点。每个分支对应一个相邻下层的子分支节点,每个相邻下层的子分支节点至少覆盖一个视角的子人脸空间。仅覆盖一个视角的子人脸空间的子分支节点为所述树型结构的叶节点。
采用向量推进算法将上述每一个分支节点训练为决定向量,以决定将对应分支节点上的人脸图像发送给哪些相邻下层分支节点,并且在遍历树型结构中所有有效的分支节点时采用宽度优先搜索。
对所述的叶节点进行单分支的层叠分类,去除非人脸得到具有相应视角的人脸。
一、宽度优先搜索(WFS)树形结构检测器用平面内旋转(RIP)±45°和平面外旋转(ROP)±90°来覆盖人脸空间,该检测器采用从粗到细的策略将整个人脸空间划分为越来越小的子空间,如图2所示。覆盖最大空间的根分支节点在第二层被分为左侧面、正面、右侧面的视角,以便更精确的描述平面外旋转(ROP),完全的侧面和半侧面在其下面的一层被定义;最后,在第四层每个视角按照其不同的平面内旋转(RIP)被划分为三类。
本发明的树型结构检测器将不会象决策树方法那样,为一个样品进行唯一的路径选择。而是,在每一个分支节点上计算一个决定向量G(x),以决定将该人脸样品发送给哪些子分支节点。例如,在图2所示的根分支节点中,使一个样品的决定向量为G(x)=(1,1,0),这意味着该人脸样品可能是左侧面的人脸或是正面人脸,而不可能是右侧面的人脸,所以在第二层,它将被发送到左侧分支节点和中间的分支节点,而不是右侧分支节点。在另一个例子中,使人脸样品的决定向量为G(x)=(0,0,0),这意谓着该样品与任何子分支节点无关,它将被迅速的丢弃。在遍历树中所有可用的分支节点时,采用一种宽度优先的策略进行搜索,这里将其伪码给出如下0.(输入)给出样品x和构建的树形检测器T。
1.(初始化)将节点列表L清空;将T的根节点加入L中;将输出列表0清空。
2.(WFS程序)当L不为空时,则进行以下步骤1)从L中取出第一节点d;2)计算决定向量G(d)(x);
这里G(d)(x)=[g1(d)(x),...,gn(d)(x)]]]>令t=1,...,n如果gt(d)(x)=1]]>得到d的第t个子节点si;如果si是一个末端节点,将li,si的标识加入到列表0中;此外将Si加入列表L中;结束。
3.(输出)对样品x输出列表0中的所有标识。
如图3所示,为树形结构检测器中的宽度优先搜索策略。实际上,WFS树的方法不象参考文献“Fast Multi-view Face Detection”中那样设法快速的给出姿态估计,这等于是丢失了精度;也不象参考文献“Statistical Learningof Multi-View Face Detection”中那样简单的将不同的姿态合并而不考虑它们的类内的差异,这等于是丢失了速度。因此WFS树依靠对不同姿态之间的差异处和相似处两者的关注,从而优于上述方法,既保证了高的精度又保证了快的速度。
从上述讨论中明显可知,分支节点在WFS树中扮演了一个重要的角色。为了支持上述新的技术,本发明对参考文献“Improved Boosting AlgorithmsUsing Confidence-rated Predictions”中的Real AdaBoosting算法进行了扩展,其被称作“向量推进(vector boosting)”。在该新的向量推进算法的支持下,各分支节点被快速和精确的训练为所需要的决定向量G(x)。
二、向量推进算法这里所述的向量推进算法作为Real AdaBoosting算法的一个扩展版本而被提出,其弱学习器和最终的输出都是优于标量的向量。向量推进算法最初来源于Real AdaBoosting(参见Machine Learning,37,1999,297-336,“Improved Boosting Algorithms Using Confidence-rated Predictions”)的多类多标识(MCML)版本,它为每一个样品分配一组标识,并且将最初的问题分解为k个正交二元单元。该算法的主要问题是,对于每一个二元分类问题而言,一个样品必须或者被当作是正的或者被当作是负的。但是,在许多复杂的情况下,它是站不住脚的,因为对于某些二元分类问题,一些样品既不是正的也不是负的,它们是独立的;这便使得Real AdaBoosting的多类多标识(MCML)版本不再适用。以图2中WFS树的根分支节点为例,使一个正面人脸样品的决定向量为G(x)=(*,+1,*),其中*既可以是+1也可以是-1,也就是第一(即,左侧面人脸)和第三(即,右侧面人脸)的二元分类不依赖于正面人脸样品。一个复杂的分类问题一旦被分解为一组二元单元,向量推进算法便将依靠多分量向量的一个共享输出空间来处理它们。在这个输出空间中,每个二元问题都具有其“感兴趣”的方向,这代表着它的投影向量。在这个方法中,不同的二元问题不必要独立(具有正交投影向量);通常,它们也可以是相互关联的(具有非正交投影向量)。
假设s={(x1,v1,y1),...,(xm,vm,ym)}是一个训练样品序列,这里Xi属于一个样品空间χ,Vi属于一个有穷的k维的投影向量组Ω,标识yi=±1(即正的或负的)。一个k维向量推进算法广义版本的伪码如下,它同时处理n个二元分类问题。
对于一个已经被分解为n个二元单元的分类问题,给出(1)投影向量组Ω={ω1,...,ωn},ωi∈Rk(2)样品组s={(x1,v1,y1),...,(xm,vm,ym)},这里x∈χ,v∈Ω并且它的标识y=±1。
初始化样品分布D1(i)=1/m,令t=1,...,T在当前分布下,训练一个弱分类器,
ht(x)χ→Rk。(弱学习器)更新样品分布,Dt+1(i)=D1(i)exp[-yi(v1·hi(xi))]Zt---(1)]]>这里Zt是一个归一化因数,用以保持Di+1为一个概率分布。
最终输出空间为H(x)=Σt-1Tht(x)---(2)]]>置信度空间为F(x)=AH(x) (3)这里转换矩阵A=[ω1,...,ωn]t。
最终的强分类器是G(x)=sign(F(x)-B)(4)B是阈值向量,其默认值为零。
以上为一个广义版本的向量推进算法。
所述的向量推进算法的设置用于在一个k维度的输出空间处理一个复杂问题,它已经被分解为n个二元单元。采用与AdaBoost算法相同的方法,使弱学习器在最新的分布下重复调用,以形成一个高精度的分类器。需要指出的是其核心的转换规则式(1),因为输出的向量化,使得一个具有标识y和投影向量Vi的样品Xi的分类间隔(margin)被定义为yi(Vi·h(Xi))。因此,一个弱分类器输出的正交分量对于样品权重的更新没有起到作用。在此方法中,向量推进算法增加了那些根据投影向量(在其感兴趣的方向上)被错误分类的样品的权重,并且减少了那些被正确预测的样品的权重。
最终的输出是所有被训练的弱分类器的线性组合式(2)。为每一个二元问题计算置信度,一个n*k矩阵A用于将k维度的输出空间转换为n维度的置信度空间式(3),这使得在组Ω中的所有n个投影向量被构造出来。每个置信度空间的维度都对应一个确定的二元问题。最终,基于阈值向量B得到具有二值(Boolean)输出的强分类器式(4)。
实际上,在试验中,为了简化起见,仍然可将复杂的分类问题分解为几个正交的二元单元,但需维持多种人脸姿态之间的独立。例如,在图2中,训练根分枝节点时,可采集3个人脸的组,其分别是左侧面、正面和右侧面,将它们的投影向量分别分配为(1,0,0),(0,1,0),(0,0,1),并把它们标识为正的值(即y=+1)。然后,准备3个具有相同投影向量的非人脸的组,并把它们标识为负的值(即y=-1)。这3个二元问题看起来是独立地训练的,但是却共享了挑选出来的特征,从而胜过了参考文献“Fast rotation invariant multi-view face detection based on real adaboost”中的逐个的训练方法。图3示出了在输出空间H(X)中的3个类的结果,这里H(X,1)是左侧面视角的维度,H(X,3)是右侧面视角的维度(正面视角和它的相关投影向量在此忽略,以便简明)。可见从该2维空间中可以把左侧面和右侧面人脸以它们各自的投影向量ω1和ω3从非人脸中分离出来。
很容易看出,当n=k=1,且ω1是一个单位向量时(在Ω中的仅有的投影向量)向量推进算法正好与Real AdaBoost算法相同。实际上,由于在更新规则式(1)中的一致性,向量推进算法保持了与Real AdaBoost算法相同的训练误差范围,即训练误差Perror≤∏Zt。(5)到目前为止,已经说明了向量推进算法的结构和可预测的训练误差范围,这里明确指出了如何训练弱分类器。下面详细说明所述弱分类器的设计和向量推进的最优化方法。
三、分段函数在层叠检测器(参见“Rapid Object Detection using a Boosted Cascade ofSimple Features”,CVPR 2001)中,它们采用积分图像的方法来快速计算类Haar特征f(X),这里弱分类器h(x)被定义为一个具有二值(Boolean)输出的阈值型函数,如图5a所示。它可以被形式的表示为h(x)=sign[f(x)-b],这里b是一个阈值。尽管它很简单且容易训练,但是它不能充分利用所提取的特征的信息。例如,在图4a中,正的和负的样品可以被一个合适的阈值所很好的区分。但是,由于它的粗的粒度,所以它不能足够精确的描述出它们的差异。另外,在AdaBoost算法的更新过程中,它们的差异不断减小(即,如图4b所示的,在第5轮挑选的类Haar特征上的差异),这大大减弱了阈值型函数的区分能力,有时甚至防碍了算法的收敛(即,在层叠的较后面的层,当人脸和非人脸的图案非常相似时)。结论是,阈值型弱分类器的粗的粒度大大的阻碍了检测器在速度和精度上的改进。
对于弱分类器来说,一个更有效的设计是,如图5b所示的分段函数,它将特征空间划分为多个具有相等宽度的段,并且为每一个所述的段输出一个定值。该分段函数能够更精确的近似不同的分布,且不受二值输出的限制,这实质上是一个等间隔取样过程。由于它实际上是参考文献“ImprovedBoosting Algorithms Using Confidence-rated Predictions”中所涉及的范围划分(domain partition)的一种自然的实现方法,它正好能够适应RealAdaBoost算法中对弱学习器的要求。此外,分段函数可以高效的通过查找表(LUT)来实现,与阈值型函数相比,它不会产生过量的计算负荷(仅需一个乘法,以将特征值转换为LUT的索引),而需要指出的是,依靠实数值的输出弱学习器的能力大大的增强了。
按照“没有免费午餐”的法则,为一个分段函数选择适合的粒度是非常重要的。粒度越精细,分段函数的估计越精确(训练误差越低),但是其对噪音和训练集的大小也就越敏感(结构风险越高)。根据经验,在最初的几层,粒度可以精细些以便使训练尽可能快的收敛,而在后面的层,粒度可以较粗以使分类结果鲁棒。
四、弱学习器的优化参见等式(3),根据向量推进算法中的训练误差以所有规范化因数的乘积为界限这个基础,如果采用贪婪策略(greedy strategy),那么弱学习器的目的就是最小化当前一轮的因数。假设,一个弱分类器h(x;θ,μ)的特征由两个参数来描述θ用于描述其类Haar特征,μ用于描述其分段函数。列举一个有限冗余的类Haar特征集,实施所有的搜索方法,以便获得最具区分能力的一个。
一个分段函数由两部分来配置一是特征空间的分割,另一个是每一分割(也就是段(bin))的输出常量。为了简便起见,特征空间的分割对每个特征本身是根据经验固定的,而每个段的输出常量可被优化如下假设,样品s={(x1,v1,y1),...,(xm,vm,ym)}服从Dt(i)分布。对于一个确定的特征f(X),样品可以根据预先定义的分段函数被分配到相应的段中。它们被表示为Sj={(xi,vi,yi)|xi∈binj}其中j是段的索引。
令cj是第j段的输出常量,那么可以得到规范化因数Zt=ΣjΣsjDt(i)exp(-yi(vi.cj))---(6)]]>对于段k(bink),训练损失是lossk(ck)ΣskDt(i)exp(yi(vi·ck))---(7)]]>这个损失函数实际上是以ck为自变量的凸函数。因此,每一个cj都可以用一个合适的优化算法,例如Newton-Step算法,来进行优化处理。
弱学习器的过程可以被归纳为以下的伪码设样品集为S={(x1,v1,y1),K,(xm,vm,ym)},有限特征集为P={fk(x;θk)},1≤k≤n,当前分布为Dt(i)。
如果k=1,...,n(每一个特征)所有样品被分为不同的层,
Sj={(xi,vi,yi)|xi∈binj},1≤j≤p如果j=1,...,p(每一段)采用Newton-step方法进行计算ck*=argminck(ΣskDt(i)exp-yi(vi.ck))---8]]>基于{ck*}创建弱分类器h(x;θk,μk),采用等式5去计算其相应的规范化因数Zt(θk,μk)。
获得最优化弱分类器ht*(x;θ,μ)=argmin(Zt(θk,μk))h(x;θk)---(9)]]>作为小结,MVFD的新贡献包括WFS树,向量推进算法,和基于分段函数的弱分类器。
如图11所示,所述的每一个分支节点均包含有一个强分类器,所述的强分类器由多个弱分类器通过所述的向量推进算法而获得;所述的弱分类器基于积分图像Haar特征进行特征提取,并基于查找表(LUT)的分段函数进行弱分类。每一个强分类器都将人脸和非人脸进行区分,排除掉部分非人脸,将余下的输出到对应的下层分支节点。
每个所述的叶节点仅具有一个分支,每一分支对应多个单分支相联的子叶节点;所述的叶节点和其子叶节点构成层叠分类器,用以去除非人脸得到具有相应视角的人脸。
实施例2如图8a、8b所示,本发明还提供了一种多视角人脸检测装置,其包括,人脸样品输入单元,用于输入包含子人脸空间的人脸图像;宽度优先搜索树型结构检测器,所述树型结构存在一个根分支节点,该根分支节点覆盖被划分的所有视角的子人脸空间且具有多个分支,每一分支对应一个子分支节点,所述的子分支节点至少覆盖一个视角的子人脸空间,其中
覆盖一个以上视角的子人脸空间的子分支节点具有多个分支,每个分支对应一个相邻下层的子分支节点,每个相邻下层的子分支节点至少覆盖一个视角的子人脸空间,仅覆盖一个视角的子人脸空间的子分支节点为所述树型结构的叶节点;上述每一个分支节点包含了一个强分类器,用于输出是否人脸的置信度,每个分支节点的分支数等于该强分类器能够输出置信度的人脸视角种类,以决定将对应分支节点上的人脸样品发送给哪些相邻下层分支节点,并对所述的叶节点进行单分支的层叠分类,去除非人脸得到具有相应视角的人脸;并且在遍历树型结构中所有有效的分支节点时采用宽度优先搜索;人脸样品输出单元,用于将最终能到达底层叶节点的子人脸空间检测为人脸,同时根据其到达的底层叶节点的不同,决定了该子人脸空间的视角。
图8a、8b为表示人脸检测装置的功能方框图。人脸检测装置通过CPU来执行,作为包含输入单元、输出单元、树型结构检测器来发挥功能。下面,结合图8a、8b对人脸检测装置所具备的各功能进行说明。
人脸样品输入单元人脸样品输入单元作为将人物图像的原图像的数据(以下称为「原图像的数据」)输入到人脸检测装置内的接口发挥功能。原图像的数据也可以为静止图像的数据,也可以为动态图像的数据。通过人脸样品输入单元,从人脸检测装置的外部将原图像的数据输入到人脸检测装置器内。人脸样品输入单元也可以为采用将原图像的数据输入到人脸检测装置内的任何一种现有技术的结构。
例如,也可以通过网络(例如局域网及互联网)将原图像的数据输入到人脸检测装置内。在该情况下,输入单元也可以为采用网络接口的结构。另外,也可以从数字照相机及扫描仪、个人计算机、存储装置(例如硬盘驱动装置)等将原图像的数据输入到人脸检测装置内。在该情况下,输入单元可以为根据将数字照相机及个人计算机、存储装置等和人脸检测装置连接为可进行数据通信的规格〔例如USB(Universal Serial Bus)及SCSI(SmallComputer System Interface)等有线连接及blue tooth等的无线连接的规格〕的结构。另外,也可以将存储介质〔例如各种闪存存储器及软盘(注册商标)、CD(Compact Disk)、DVD(Digital Versatile Disc、DigitalVideo Disc)〕所存储的原图像的数据输入到人脸检测装置内。在该情况下,输入单元可以为采用从存储介质中读出数据的装置(例如闪存存储器读出器及软盘驱动装置、CD驱动装置、DVD驱动装置)的结构。
另外,也可以将人脸检测装置包含到数字照相机等的拍摄装置、或具有数字照相机等的拍摄装置(例如PDA(Personal Digital Assistant)或移动电话)内、将所拍摄的人物图像作为原图像的数据输入到人脸检测装置内。在该情况下,输入单元也可以为采用CCD(Charge-Coupled Devices)及CMOS(Complementary Metal-Oxide Semiconductor)传感器等的结构,也可以为作为将CCD及CMOS传感器等所拍摄的原图像的数据输入到人脸检测装置内的接口的结构。另外,也可以作为输出数据将输入到该图像输出装置内的人物图像作为原图像的数据输入到人脸检测装置内。在该情况下,输入单元也可以为采用将输入到这些图像输出装置内的原图像的数据变换为在人脸检测装置中可处理的数据的装置等的结构。
另外,输入单元也可以为适合上述多种情况的结构。
一边移动处理对象窗口(subwindow)的场所一边从现图像的数据中剔出处理对象窗口的图像数据,并送到人脸检测器的机能也可以包含在人脸图像输入单元。通过附件该机能,可以从包含背景的图像中,检测处人脸。
人脸输出单元输出单元作为将表示树型结构检测器是否检测出了人物的人脸的数据和/或表示被检测出的人脸的位置及大小等的数据输出到人脸检测装置的外部的接口发挥功能。输出单元也可以为采用从人脸检测装置中将与人物的人脸检测结果有关的数据进行输出的任何一种现有技术的结构。
例如,也可以通过网络将与检测结果有关的数据从人脸检测装置中输出。在该情况下,输出单元为采用网络接口的结构。另外,也可以将与检测结果有关的数据输出到个人计算机等的其他的信息处理装置及存储装置中。在该情况下,输出单元为根据将个人计算机等其他信息处理装置或存储装置等和人脸检测装置连接为可进行数据通信的规格的结构。另外,也可以将与检测结果有关的数据输出(写入)到存储介质内。在该情况下,输出单元为采用将数据写入到这些存储装置或存储介质内的装置(例如闪存存储器记录器及软盘驱动装置、CD-R驱动装置、DVD R驱动装置)的结构。
对于输出单元所输出的数据的具体用途的例子也进行说明。例如,为了将表示人脸检测装置所检测出的人脸的区域的图形输出到显示器等的显示装置中,也可以使用输出单元所输出的数据。在此种情况下,输出单元例如也可以为作为和显示器等的显示装置进行数据通信的接口的结构,也可以为作为与显示器等的显示装置相连接、或将数据提交给内置的信息处理装置的接口的结构。另外,也可以为进行例如在将人脸检测装置包含到数字照相机或具有数字照相机的各种装置内的情况下,数字照相机以输出单元所输出的数据为基准来进行与焦点控制及曝光补偿等的拍摄有关的控制的结构。在此种情况下,输出单元例如也可以为作为和数字照相机内的信息处理装置可进行数据通信的接口的结构。图6是表示显示的一例。另外,也可以为决定例如将人脸检测装置包含到进行图像补偿处理的信息处理装置内的情况及与此种信息处理装置相连接的情况下,信息处理装置以输出单元所输出的数据为基准来决定图像补偿处理的处理区域及处理内容等的结构。在此种情况下,输出单元例如也可以为作为和此种信息处理装置及其内部的装置可进行数据通信的接口的结构。
另外,输出单元也可以为适合上述的多种情况的结构。
人脸检测器一、树型结构检测器的基本结构一个树状多视角人脸分类器的结构如图11所示。其中每一个分支节点包含了一个层分类器(即,强分类器),每个层分类器是由许多基于类Haar型特征的查找表型弱分类器通过连续AdaBoost算法获得的。
所述的Haar型特征是简单矩形特征,每个类Haar型特征一般定义为图像子窗口中两个区域的象素灰度级之差,每个区域可以由若干矩形(基本块)构成。虽然类Haar型特征对模式的刻画能力弱于其他一些更为复杂的特征,但是由于它能够通过积分图像快速计算,所以成为弱分类器选用的比较理想的特征。
一个类Haar型特征的属性包括基本块的长、宽,特征相对子窗口的位置,以及它的类别(形态)。特征随着检测过程中子窗口的变化而变化,保持与子窗口的相对位置、相对大小不变。为了加速特征计算,当子窗口变化时,对每个类Haar特征都要预先计算一些冗余信息。
二、查找表型弱分类器根据每个类Haar型特征,可以训练一个查找表型弱分类器。该弱分类器对类Haar型特征的值域进行n等分,对每个等分区域给出二分类(是否人脸)的置信度,n即为查找表的长度。
不同于以往的查找表型弱分类器,本发明使用的弱分类器包含多重查找表(Multi LUT),这些查找表基于同一个Haar型特征,但针对不同的视角分别给出人脸的置信度信息(confidence)。简单的说,不同视角的分类器共享了同一个Haar型特征(shared feature or mutual feature)。这样做的优势在于与将不同视角的人脸混为一类进行判断的方法相比,多重查找表型的弱分类器能够同时给出对各个视角人脸的分类信息,从而获得更好的区分度;而相对于针对每个视角单独训练分类器的方法,多重查找表型的弱分类器提高了每个Haar型特征的利用效率,使得在保证正确率相同的条件下,使用的Haar型特征更少,从而提高了检测速度。
一个多重查找表型弱分类器的示例如图9。该弱分类器有3个LUT,分别针对平面内旋转30°,0°,-30°的情况输出置信度。其中,三个查找表的下标(索引)计算都是基于同一个Haar型特征的。
连续AdaBoost算法作为弱学习算法中的一种,能够将若干弱分类器(weak classifier)线性组合成为一个强分类器(strong classifier)。连续Adaboost算法的弱学习过程基于大量已标定样本数据它通过调整样本的权重,不断地选择新弱分类器与已有的分类器进行线性组合,降低它在训练集合上的错误率,直至收敛。不仅如此,有相关的定理证明该算法在测试集上具有相当好的推广能力。
将连续AdaBoost算法应用于查找表型弱分类器,采用不同的训练参数和不同类别的样本,即可得到一系列强分类器,这里称每个强分类器为“层分类器”(layer classifier)(将一组弱分类器的线性组合视作一层)。一个层分类器对于一个待检测的子窗口可以分别给出该子窗口为若干种不同视角人脸的置信度(不同视角的个数等于该层分类器中弱分类器的查找表个数)。
一个层分类器的示例如图10。该层分类器由图9所示的弱分类器通过连续Adaboost算法线性组合得到,它能够对平面内旋转30°,0°,-30°的人脸输出是否人脸的置信度。
目前采用的树型结构检测器结构如图11。它的每一个节点(Node)由一个层分类器构成。每个节点的分支数等于该层分类器能够输出置信度的人脸视角种类。
以树型结构检测器的根分支节点为例根分支节点能够对于左全侧面,左半侧面,正面,右半侧面,右全侧面5种视角分别输出5个置信度,故其拥有5个子节点。如果某个图像子窗口通过根节点的检测,在某个人脸视角输出的置信度大于一定的阈值,则该子窗口图像将输入对应的子节点进行进一步的检测。
图11中第三层节点有3个置信度输出,分别对应于平面内旋转30°,0°,-30°的人脸。
树状分类器逐层抛弃非人脸,将最终能到达叶节点的子窗口检测为人脸,同时根据其到达的叶节点的不同,决定了该人脸的视角。一个树型结构检测器能够覆盖的人脸视角包括平面外旋转180°(即左右旋转的正、侧面变化)和平面内旋转90°。
三、树型结构检测器工作流程作为处理对象窗口的搜索步骤,对输入树状分类器的一个灰度图像的处理对象窗口,对于分类器覆盖的每种姿态,如果该处理对象窗口通过了检测,树状分类器会输出其作为这种姿态的人脸的置信度。对于图片的人脸检测,理论上需要枚举图片上的每一个处理对象窗口,将其经由树状分类器检测,之后得到对整张图片的检测结果。对于320×240象素大小的图片,大小在24×24到240×240之间的所有正方形处理对象窗口有5257476个之多。完全搜索的时间复杂度是不可忍受的。
从处理对象窗口尺度(Scale)上来说,可以变逐个象素递增为按比例递增(即每次乘以一个Scale Ratio);从处理对象窗口位置来说,可以变逐点扫描为多分辨率的扫描(即先按照粗分辨率栅格扫描,如果发现有较大可能出现的人脸,再在其周围用细分辨率栅格扫描)。
图12表示了对树型结构检测器的一种可能的搜索过程。
红色代表一种可能的搜索路径,灰色节点表示这种状况下粗搜索(Coarse Search)结束时留在搜索队列中的点。
处理对象窗口检测过程为对每个处理对象窗口的检测分别在粗搜索和细搜索(Fine Search)两个阶段完成,两者对比如下表1

在粗搜索的过程中,对搜索到达的每个节点(层分类器),根据待检测子窗口计算相应的类Haar特征值,从而得到1个或多个(由节点分支数决定)置信度。对于置信度大于阈值的分支,将该分支通向的节点加入搜索队列中。如此继续宽度优先搜索直至队列中的节点层数均到达粗搜索限定的最大层数。
此时,若队列不空,则认为该范围内可能存在人脸,开始对当前处理对象窗口周围的子窗口进行细搜索。虽然细搜索的处理对象窗口和粗搜索有所不同,但是由于处理对象窗口相距很近(不超过Half_coarse_step),故继承粗搜索中的搜索队列继续搜索。如果能够到达一个或多个叶节点,则每个叶节点对应了一个人脸检测结果,记录之,并输出。
为了对本发明进行验证,采集并标识了大约75000个人脸的样品,其中包括30000个正面人脸、25000个半侧面人脸、和20000个侧面人脸。其中一些样品将在下面示出。如图2所示,先将所有的人脸按照从左到右的平面外旋转划分为5类,然后继续将上述的每一类分为3个视角,每一个视角覆盖为平面内旋转30度。这15个视角也覆盖了平面外旋转上下[-30度,+30度]的范围。每个样品均被规格化,并调整大小到24×24。
设每一个节点的误报率为f;检测率为d;所有视角的预期的所有误报率为F;正例样品集为P,反例样品集为N。
使当前节点E=树的根节点;节点E的训练过程为从P和N中,采集那些已经经过所有E的母节点的样品,以适当的大小形成两个训练组p和n;对于p和n,采用向量推进算法训练一个强分类器G(X)直到所需的检测率d和误报率f被获得。
对当前所有的误报率Fcur进行估计;如果F>Fcur,
则对于每个E的子节点Echild,令E=Echild,并且循环的调用E节点的训练过程。
本发明的试验结果中,扫描窗口的尺寸从24×24,到256×256,并具有1.25的缩放比,在一个320×240的图像检测中,MVFD仅用了大约40ms。这与参考文献“Fast rotation invariant multi-view face detection based on realadaboost”中的方法所用的80ms相比,所花费的时间减少了一半。这个重大的改进来源于WFS树架构和与之相关的训练算法向量推进。
由于MVFD覆盖了±45度的平面内旋转,所以简单的将MVFD旋转90度、180度、270度而构建出三个检测器,以便充分的覆盖360度的平面内旋转,并且这些检测器一起工作来处理旋转不变问题。还是在一个配置为奔腾4,2.8GHz的PC上,在一个320×240的视频序列中其速度约为11fps,这比参考文献“Fast rotation invariant multi-view face detection based on real adaboost”(250ms每帧)中的方法快1.5倍。
以上具体实施方式
仅用于说明本发明,而非用于限定本发明。
权利要求
1.一种特定被摄体检测装置,该装置从图像中检测特定被摄体,其特征在于,包括图像输入单元;树状检测器,其对从所述图像输入单元输入的图像进行分类,其中,根分支节点包含与被分支的全部对象物的方向对应的子对象空间,从所述根分支节点分支的子分支节点包含至少一个与对象物的方向对应的所述子对象空间,所述根分支节点和所述子分支节点的各分支节点包含多个弱分类器,把各弱分类器的输出累计到要分割的各个子对象空间中,并判断移到邻接的下层的哪个子分支节点上。
2.根据权利要求1所述的特定被摄体检测装置,其特征在于,还包括从所分割的叶分支节点连接到一个子对象空间的非分支的层叠检测器,该层叠检测器通过排除非对象物来检测所述子对象空间所表示的方向的对象物。
3.根据权利要求1所述的特定被摄体检测装置,其特征在于,所述树状检测器进行宽度优先搜索。
4.根据权利要求1所述的特定被摄体检测装置,其特征在于,为了决定从所述根分支节点或所述子分支节点分支到邻接的下层的哪个子分支节点,利用Vector Boosting算法训练。
5.根据权利要求1所述的特定被摄体检测装置,其特征在于,所述特定被摄体及所述对象物是人脸。
6.根据权利要求1所述的特定被摄体检测装置,其特征在于,所述分支节点分别包含一个强分类器,所述强分类器的分类可以由多个弱分类器的输出值的累计来决定。
7.根据权利要求6所述的特定被摄体检测装置,其特征在于,所述弱分类器根据从所述图像中得出的haar特征来进行分类。
8.根据权利要求6所述的特定被摄体检测装置,其特征在于,所述弱分类器利用查找表进行分类。
9.根据权利要求8所述的特定被摄体检测装置,其特征在于,所述查找表中所述树状检测器的最初几层是细的粒度、而以后的层是粗的粒度。
10.根据权利要求1所述的特定被摄体检测装置,其特征在于,所述子对象空间包含要检测的对象物的平面内旋转和/或平面外旋转,分割成对象物的多个方向。
11.根据权利要求10所述的特定被摄体检测装置,其特征在于,所述根分支节点包含基于±90°的平面外旋转的子对象空间。
12.根据权利要求10所述的特定被摄体检测装置,其特征在于,所述根分支节点包含基于±45°的平面内旋转的子对象空间。
13.根据权利要求12所述的特定被摄体检测装置,其特征在于,通过把所述树状检测器或者所述输入的图像旋转90°、180°、270°,来判断360°的平面内旋转的对象物的方向。
14.根据权利要求1所述的特定被摄体检测装置,其特征在于,还包括输出单元,其输出表示对象物是否被所述树状检测器检测出的数据和/或表示被检测出的对象物的位置和大小等的数据。
15.一种特定被摄体检测方法,该方法从图像中检测特定被摄体,其特征在于,情报处理装置执行以下步骤把所输入的图像输入到树状检测器的根分支节点的步骤;在从所述树状检测器的所述根分支节点和子分支节点分支的各分支节点中,把所述图像输入到多个弱分类器,把各弱分类器的输出累计到要分割的每个子对象空间中,并判断移到邻接的下层的哪个子分支节点的步骤。
16.一种组建从图像中检测特定被摄体的树状检测器的方法,其特征在于,情报处理装置执行以下步骤把对图像进行分类的分支节点构成为树状的步骤;所述树状根分支节点构成为包含所分割的全部对象物的方向的子对象空间,并且具有多个分支,各分支与一个分支节点连接,而该子分支节点构成为包含与至少一个对象物的方向对应的子对象空间的步骤;包含两个以上的所述子对象空间的子分支节点构成为具有多个分支,各分支连接在邻接的下层子分支节点上,各邻接的下层子分支节点构成为包含至少一个所述子对象空间的步骤;包含一个子对象空间的子分支节点构成为树状的叶分支节点的步骤;关于所述根分支节点和所述子分支节点中分支的各分支节点,构成为把图像输入到多个弱分类器,把各弱分类器的输出累计到要分割的每个子对象空间中,并判断移到邻接的下层的哪个子分支节点的步骤。
全文摘要
本发明涉及一种多视角特定被摄体检测方法及装置,其将特定被摄体空间划分为多个子特定被摄体空间,将子特定被摄体空间划分为多个视角的特定被摄体空间;构建树型结构检测器树型结构存在一个根分支节点,该根分支节点覆盖所有的子特定被摄体空间且具有多个分支,每一分支对应一个子分支节点,子分支节点至少覆盖一个子特定被摄体空间;采用向量推进算法将每一个分支节点训练为决定向量,以决定将对应分支节点上的特定被摄体样品发送给哪些相邻下层分支节点,并且在遍历树型结构中所有有效的分支节点时采用宽度优先搜索;将最终传送到叶节点中的特定被摄体样品检测为具有相应视角的特定被摄体。用以提高多视角特定被摄体检测的精度和速度。
文档编号G06K9/00GK1952954SQ20061012785
公开日2007年4月25日 申请日期2006年9月22日 优先权日2005年10月9日
发明者艾海舟, 黄畅, 李源, 劳世红 申请人:欧姆龙株式会社, 清华大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1