参数学习方法及设备、模式识别方法及设备的制作方法

文档序号:6610392阅读:225来源:国知局
专利名称:参数学习方法及设备、模式识别方法及设备的制作方法
技术领域
本发明涉及图像和语音识别中的用于识别输入信号的模式 的参数学习、以及使用该学习的模式识别。
背景技术
迄今已提出了许多方法作为用于在光学字符识别或自动语 音识别中将输入数据分类到预定类的模式识别方法。在当前情 况下,为了提高处理速度并增强分类准确度,还提出了各种新 方法。
例如,基于使得能够进行非常高速运算的AbaBoost学习方 法和弱判别方法的级联(cascade)识别方法的组合,才是出了高 速和高准确度模式识别方法(参考P. Viola, M. Jones, "Rapid Object Detection using a Boosted Cascade of Simple Features", Proc. IEEE Conf. on Computer Vision and Pattern Recognition, Vol. 1, pp. 511-518, December 2001 )。
为了进一步提高模式识别方法的速度和准确度,还提出了 一种引入boosting方法的方法(参考R.O. Duda, P.E. Hart, D.G. Stork, "Pattern Classification Second Edition", ShinGijutsu Communications K.K. pp. 478-482, July 2001 )。其它方法包括实 AbaBoost方法(参考R.E. Schapire, Y. Singer, "Improved Boosting Algorithms Using Confidence-rated Predictions", Machine Learning, Vol. 37, pp. 297-336, December 1999 )和嵌套 级联识另'J方法(参考Rou Sekou, Takayoshi Yamashita, Takuya Okamoto, Masahito Kawade "Fast Omni國Directional Face Detection", MURU 2004, Vol. 2, pp. 271-276, July 2004 )。
还已知一种净皮称、为支才寺向量才几(support vector machine, SVM)的能够配置非线性识别函数的模式识别方法(参考Kouji Tsuda "Technical survey: Overview of Support Vector Machine", The Journal of the Institute of Electronics, Information, and Communication Engineers, Vol. 83, pp. 460-466, June 2000 )。
在这种较高性能的处理设备的背景下,需要一种能够进行 高速和高准确度的实时模式识别的技术。

发明内容
本发明提供 一 种用于高速和高准确度模式识别的参数学习 方法和使用所学习的参数的模式识别方法。
根据一方面,本发明涉及一种用于将输入数据分类到多个 类中的一个的参数学习方法。该参数学习方法包括以下步骤 学习数据输入步骤,用于输入多个学习数据,每一学习数据与 该学习数据所属的类相关联;计算步骤,用于计算每一学习数 据中的特定k个部分的每 一 部分中的元素的属性值的统计量,其 中,k等于或大于l;映射步骤,用于将每一学习数据作为以所 计算的k个统计量为元素的矢量映射到k维特征空间中;以及学 习步骤,用于基于映射到k维特征空间中的每一学习数据和学习 数据所属的类,优化用于在k维特征空间中将输入数据分类到多 个类中的一个的参数。
根据另 一方面,本发明涉及一种用于将输入数据分类到多 个类中的一个的参数学习设备。该参数学习设备包括学习数 据输入单元,用于输入多个学习数据,每一学习数据与该学习 数据所属的类相关联;计算单元,用于计算每一学习数据中的 特定k个部分的每一部分中的元素的属性值的统计量,其中,k 等于或大于l;映射单元,用于将每一学习数据作为以所计算的
k个统计量为元素的矢量映射到k维特征空间;以及学习单元,
用于基于映射到k维特征空间中的每一学习数据和学习数据所 属的类,优化用于在k维特征空间中将输入数据分类到多个类中 的一个的参数。
根据另 一方面,本发明涉及一种用于控制计算机以进行用 于将输入数据分类到多个类中的一个的参数学习的计算机可读
程序,该程序包括用于使计算机执行以下步骤的代码学习数 据输入步骤,用于输入多个学习数据,每一学习数据与该学习 数据所属的类相关联;计算步骤,用于计算每一学习数据中的 特定k个部分的每一部分中的元素的属性值的统计量,其中,k 等于或大于l;映射步骤,用于将每一学习数据作为以所计算的 k个统计量为元素的矢量映射到k维特征空间;以及学习步骤, 用于基于映射到k维特征空间中的每一学习数据和学习数据所 属的类,来优化用于在k维特征空间中将输入数据分类到多个类 中的一个的参数。
通过以下对本发明实施例的说明,除上述以外的其它优点 对于本技术领域的技术人员来说显而易见。在本说明书中,参
考形成说明书的一部分并示出本发明的例子的附图。然而,这 样的例子没有详尽本发明的各种实施例,因此,参考用于确定 本发明的范围的本说明书所附的权利要求书。


图1是示出根据本发明第 一 实施例的用于优化模式识另'J用 的参数的处理的流程图。
图2示出具有计算总和的范围的图像的例子。
图3是示出根据第 一 实施例的面部检测处理的流程图。
图4是示出根据第二实施例的用于优化模式识别用的参数
的处理的流程图。
图5是示出根据第二实施例的面部检测处理的流程图。 图6是示出根据第三实施例的用于优化模式识别用的参数
的处理的流程图。
图7是示出根据第三实施例的面部检测处理的流程图。 图8是示出根据第四实施例的用于优化模式识别用的参数 的处理的流程图。
图9是示出^^艮据第四实施例的面部测处理的流程图。 图10示出区域模式的例子。 图ll示出神经网络的例子。
图12是示出根据每一实施例的参数学习/优化设备和模式 识别设备的硬件结构的框图。
具体实施例方式
以下参照附图详细说明本发明的实施例。 第一实施例
本发明的第一实施例说明用于判断输入的图像数据是否属 于特定种类的模式识别方法中所使用的参数学习方法、以及使 用该参数学习方法的模式识别方法。在该实施例中,使用二维 图像数据作为输入图像数据。在该模式识别方法中,将输入图 像数据分类到两个类中的一个第一类是该图像数据属于特定 种类;而第二类是该图像数据不属于该特定种类。
例如,特定种类为人脸或一部分缺陷。在该实施例中,使 用人脸的中心差不多位于输入图像的中心的模式(以下称之为 面部模式)作为特定种类。
图l是示出根据第一实施例的用于模式识别的参数学习/优 化方法的流程图。以下,参照图1说明用于模式识别的参数学习 方法。
首先,在步骤S101,输入保持在数据库102中的多个学习 模式中的一个。预先将面部模式和其它任意模式(以下称之为 非面部模式)与它们的标签(表示面部模式或非面部模式)一
起保持在数据库102中。在该实施例中,保持在数据库102中的 模式是灰度图像,在灰度图像中,将每一像素值表示为亮度值。 这里,在所有面部模式中 一定程度地标准化面部的方位和大小, 并且以统一 图像大小保持包括面部和非面部模式的所有模式。
然后,在步骤S103,获得在步骤S101所输入的学习模式中 四个预定部分中的每 一 个的亮度值的总和。可以任意设置预定 部分。例如,可以设置这些部分,使得可以看到分类中使用的 两个类之间的明显差异。在该实施例中,将输入的图像数据分 类到面部模式类或非面部模式类,因而将作为面部模式中的特 征的左右眼睛区域、眉间区域和嘴区域设置为四个预定部分。
具体地,如通过图2中所示的虛线所定义的,使用以下四个 矩形区域作为预定部分包括整个面部模式的左眼的区域21; 包括整个面部才莫式的右眼的区域23;区域21和23之间的区域22; 以及包括整个面部模式的嘴的区域24。尽管在该实施例中使用 这四个矩形区域作为预定部分,但是,可以任意设置预定部分 的数量、位置、大小和形状。例如,至少设置一个部分,并计 算该部分中的亮度值的总和。
在步骤S104,通过简单排列在步骤S103计算出的各区域中 的总和来生成矢量。可以任意排列总和。在该实施例中,按照 图2所示的区域21、区域22、区域23和区域24的顺序排列总和。 将所生成的矢量作为矢量化数据,与学习模式的标签一起保持 在数据库105中。因此,每一学习模式映射到由上述四个总和定 义的四维特征空间中。
在步骤S106,判断是否已经选择了保持在数据库102中的
所有学习模式。如果所有学习模式没有都被选择,则处理返回
到步骤SIOI,在步骤SIOI,从数据库102选择另 一学习模式。 如果已经选择了所有学习模式,则处理进入步骤S107。
在步骤S107,使用保持在数据库105中的矢量数据计算每 一类的平均矢量。
在步骤S108,使用在步骤S107计算出的每一类的平均矢量 和保持在数据库105中的矢量数据来计算每一类的方差-协方 差矩阵。
在步骤S109,在步骤S108计算出的每一类的方差-协方差 矩阵乘以该类的先验概率,计算矩阵的总和,并计算所获得的 矩阵的逆矩阵。如果已知每一类的先验概率,则可以使用已知 的先验概率。如果未知,则可以根据学习模式的数量或想要学 习的识别器所需的性能,设置先验概率。如果不存在逆矩阵, 也就是说,如果矩阵的总和是奇异矩阵,则没有适当设置步骤 S103计算出总和的部分的可能性高。在这种情况下,在适当设 置预定部分后,也就是说,通过改变图2所示的每一区域的位置 和大小后,再次进行学习。
最后,在步骤SllO,使用在步骤S107计算出的每一类的平 均矢量和在步骤S109计算出的逆矩阵来计算作为模式识别用 的参数之一的类分离矢量。可以通过从面部模式类的平均矢量 中减去非面部模式类的平均矢量,并通过用步骤S109计算出的 逆矩阵从左侧乘以差矢量,来计算类分离矢量。
然后,使用类分离矢量和保持在数据库105中的矢量数据计 算模式识别用的另一参数,即,识别阈值。首先,计算保持在 数据库105中的所有矢量数据和类分离矢量的内积。可以将内积 值当作表示面部模式的可能性的代表值。例如,如果内积值等
于或大于预定值,则将输入数据分类到面部模式类。否则,将 输入数据分类到非面部模式类。这种识别用的预定值是识别阈值。
可以通过以小步长改变识别阈值来确定识别阈值,乂人而找 到错误总数(将输入数据错误地分类到非面部模式类的次数和 将输入数据错误地分类到面部模式类的次数的总和)最小的值。
在该实施例中,基于错误的总数确定识别阈值。然而,确 定方法不局限于该方法,可以根据分类器所需的性能适当设置 识别阈值。根据类分离矢量的方向,如果内积值等于或小于预 定阔值,则将输入数据分类到面部模式类,通过这样,可以减 少错误的总数。在这种情况下,反转类分离矢量的方向(反转 所有元素的符号)。可选地,可以设定规则,使得在模式识别时 预定值或更小的值对应于面部模式类。
利用上述方法,可以获得类分离矢量和识别阈值作为模式 识别用的参数。这些参数提供所谓的线性判别函数和类之间边 界。在该实施例中,使用上述所谓的线性判别分析来获得类分 离矢量。然而,本发明不局限于该方法,可以通过在正交学习 等中适当更新参数来获得类分离矢量。
现参照图3说明通过使用以上述方式获得的模式识别用的 参数的模式识别方法来检测图像中的面部的方法。
在步骤S301,输入要从中检测面部的图像。该图像是灰度 图像,作为在上述模式识别用的参数学习中所使用的图像。当 从灰度图像以外的图像中检测面部时,将该图像变换成灰度图 像后,再输入该图像。
在步骤S302,为了快速计算每一矩形区域中的总和,生成 输入图像的积分图像。积分图像是这样的图像,在该图像中, 将具有从该图像的起点(例如,该图像的左上角的像素)延伸到目标像素的对角线的矩形区域中的像素值的总和表示为目标 像素的像素值。通过使用积分图像,可以快速计算任意矩形区 域中的像素值的总和(对于积分图像的详细说明,参考上述文
南大"Rapid Object Detection using a Boosted Cascade of Simple Features")。在该实施例中,在步骤S304计算四个矩形区域的每 一个中的像素值的总和。可以通过预先生成积分图像来更快速 地进行计算总和的处理。
在步骤S303,设置该图像中的预定点中的一个,并且从所 生成的积分图像中提取在中心包括所设置的点的区域。如下所 述,对上述每一预定点顺序执行步骤S303 ~ S310。可以将该图 像中的所有像素设置为预定点。可选地,可以粗略地进行采样, 例如每隔一个像素。可以任意设置所提取的区域的大小,在该 实施例中,该大小与在识别参数优化方法中所使用的学习模式 的大小相同。
在步骤S304,通过使用所提取的积分图像,在与识别参数 优化方法的步骤S103中计算出总和的区域的位置相同的位置 处的每一矩形区域中,计算像素值的总和。
在步骤S305 ,通过以与识别参数优化方法的步骤S104中相 同的顺序排列步骤S304中计算出的总和来生成矢量。
在步骤S 3 0 6 ,计算在步骤S 3 0 5中生成的矢量与识别参数优 化方法中生成的、并保持在数据库307中的作为识别用参数的类 分离矢量的内积。在此所使用的类分离矢量方向为使得具有大 于预定值的内积的矢量被分类到面部模式类。
在步骤S308,将步骤S306计算出的内积值与识别参数优化 方法中计算出的、并保持在数据库307中的识别阈值进行比较。 如果内积值大于识别阈值,则判定在步骤S303设置的点处存在 面部。
如果在步骤S308判断出存在面部,则在步骤S309记录步骤 S303设置的点处存在面部的结果。
在步骤S310,判断在步骤S303是否已经提取了在中心具有 预定点的所有区域。如果已经提取了所有区域,则结束处理。 否则,处理返回到步骤S303,在步骤S303,设置另一预定点, 并提取相应的区域。
利用上述处理,可以从输入图1象中4企测面部。在该处理中, 可以检测具有与识别参数优化步骤中所使用的面部模式基本相 同的方位和大小的面部。当4全测不同大小的面部时,」換比例》文 大或缩小输入图像,并可以进行相同处理。可选地,可以按比 例放大或缩小在步骤S 3 0 4中计算出总和的预定部分,并可以通 过根据按比例放大或缩小进行校正,在步骤S305生成矢量。
具体地,通过每一 总和乘以按比例放大或缩小的面积比的 倒数来进行校正。当检测面内转动的方位与学习模式不同的面 部时,在转动该图像后再输入该图像,并可以进行相同处理。 如果要检测的面部的轴向转动明显不同于学习模式,则难以通 过相同的模式识别方法来检测该面部。对于这种情况,可以在 识别参数优化步骤中生成每 一 轴向转动的模式识别用的参数, 从而可以通过独立使用各模式识另'J方法来#r测面部。
在第一实施例中,说明了在用于判断输入图像数据是否属 于特定种类的模式识另"方法中使用的识别参数优化方法。在该 实施例中,使用二维图像数据作为输入图像数据。在该模式识 别方法中,将输入图像数据分类到两个类中的一个中图像数 据属于特定种类的第一类和图像数据不属于该特定种类的第二 类。
第二实施例
在第二实施例中,如在第一实施例中一样,通过使用二维
图像数据作为输入数据进行分类到两个类中的模式识别。在根 据第二实施例的参数学习方法(即,识别参数优化方法)和模
式识别方法中,可以通过组合使用boosting方法(详见上述文献 "Pattern Classification Second Edition")建立的多个弱判别器来
实现更高准确度的模式识别。
图4是示出根据第二实施例的用于模式识别的识别参数优 化处理的流程图。
在步骤S401,选择多个预定矩形模式中的一个。在此选择 的矩形模式等同于第 一 实施例中与眼睛和嘴的位置相对应的矩 形区域。注意,在该实施例中,不使用固定的矩形模式,而是 对多个预定矩形模式中的每一个进行处理,并选择提供最高分 类能力的模式识别结果的矩形模式。作为多个预定矩形模式, 可以使用任意位置和大小的矩形区域的组合。
以下进 一 步说明根据该实施例的用于设置矩形模式的方 法。在该实施例中,使用20x20像素的面部和非面部模式作为 识别参数优化方法中的学习模式。在20x20像素的模式中设置 两个矩形区域,并且使用这两个矩形区域作为矩形模式。由宽 度、高度、垂直方向上的位置和水平方向上的位置定义每一矩 形。因此,通过确定这四个参数来设置每一矩形区域。
在l和20之间确定矩形的宽度w,在l和20之间确定高度h。 然后,在0和20-w之间确定矩形的左上角的坐标位置x,而在0 和20-h之间确定左上角的坐标y。从而设置一个矩形区域。在该 实施例中,使用两个矩形区域的组合作为矩形模式,并且以相 同方式设置另一矩形区域。然而,第二矩形区域不同于第一矩 形区域。
可以使用所有这些组合作为预定矩形模式。然而,在这种 情况下,需要很长时间以进行该处理。因为这个原因,可以限
制预定矩形模式的数量,例如,将宽度和高度中的每一个设置 为奇数,将矩形的左上角处的坐标位置设置为偶数。
在该实施例中,每一矩形模式包括两个矩形区域。然而, 本发明不局限于此,每一矩形模式中所包括的矩形区域的数量 可以不是两个。例如,当矩形模式包括三个矩形区域时,可以 以上述方式将第一和第二矩形区域以外的矩形区域确定为第三 矩形区域。该矩形模式可以仅包括一个矩形区域。在这种情况 下,用于获得模式识别用的参数的方法是不同的,如下所述。 在该实施例中,每一矩形模式包括两个矩形区域。可选地,可 以混合包括两个矩形区域的矩形模式和包括三个矩形区域的矩 形模式。
在步骤S401中选择了矩形模式后,处理进入步骤S402,在 步骤S402,输入保持在数据库403中的多个学习模式中的一个。 保持在数据库403中的模式与第一实施例中的相同。注意,在该 实施例中,在每一模式中设置权重。
权重表示重要性,当权重越高时,在识别参数优化方法中 该模式就越重要。典型地,在初始阶段在每一模式中设置相同 的权重。也就是说,当模式的总数为N时,在每一模式中设置 1/N权重。初始阶段中权重的设置不局限于此,例如,可以根据 先验概率设置分级权重。可选地,可以根据分类器所需性能适 当设置权重。
例如,当在非面部模式中设置大权重时,可以降低将非面 部模式错误分类到面部模式类中的可能性(然而,在这种情况 下,增大了将面部模式错误分类到非面部模式类中的可能性)。 权重的绝对值没有限制,但是为了容易计算,可以设置成使得
所有学习模式的权重的总和为1 。
在步骤S404 ,基于在步骤S402输入的学习模式中在步骤
S401选择的矩形模式,计算每一矩形区域中的亮度值的总和。
在步骤S405,通过使用在步骤S404计算出的各矩形区域中 的总和来生成矢量,并且将该矢量作为与步骤S401中选择的矩 形模式相对应的矢量数据保持在数据库406中。
不同于第一实施例,为了增强识别能力,将作为该矢量的 元素值的所计算出的总和标准化。具体地,使用在步骤S402中 输入的学习模式中的亮度值的平均值和亮度值的标准偏差。首 先,每一矩形区域的面积乘以亮度值的平均值,并且从相应矩 形区域中的总和减去每一个积。这样计算的每一值乘以标准偏 差的倒数。从而进行标准化。按照任意顺序(每一矩形模式中 顺序相同)排列各矩形区域中的标准化后的总和,以生成矢量, 将该矢量保持在数据库406中。
在步骤S407,判断是否已经选择了保持在数据库403中的 所有学习模式。如果没有选择所有学习模式,则处理返回到步 骤S402,在步骤S402,从数据库403选择另 一学习模式。如果 已经选择了所有学习模式,则处理进入步骤S408以计算每一类 的平均矢量。
在步骤S408,通过使用保持在数据库406中的且与步骤 S 4 01中选择的矩形模式相对应的矢量数据,来计算每 一 类的加 权平均矢量。具体地,每一矢量数据乘以相应学习模式的上述 权重,并且在每一类中计算乘以权重的矢量的总和。此时,在 每一类中计算学习模式的权重的总和。然后,每一类中的矢量
的总和除以该类的权重的总和,从而可以获得每一 类的加权平
均矢量。
然后,在步骤S409,通过使用在步骤S408计算出的每一类 的加权平均矢量和保持在数据库406中的且对应于步骤S401中 选择的矩形模式的矢量数据,来计算每一类的加权方差-协方差
矩阵。这里,使用学习模式的权重来计算每一类的加权方差-协方差矩阵。
具体地,从 一 个矢量数据减去与该矢量数据相对应的类的 加权平均矢量,并将通过相减获得的矢量乘以其转置矢量。然 后,将通过相乘获得的矩阵乘以相应学习模式的权重,并且在 每一类中计算乘以权重的矩阵的总和。因此,可以获得每一类 的加权方差-协方差矩阵。当在步骤S401选择的矩形模式仅包括 一个矩形区域时,矢量数据仅具有一个元素,因而可以省略步
骤S409中的方差-协方差矩阵的计算。当省略步骤S409时,也省 略了步骤S410中的逆矩阵的计算。
在步骤S410,计算在步骤S409中计算出的各类的加权方差 -协方差矩阵的总和,并计算该矩阵的逆矩阵。不同于第一实施 例,对步骤S409中计算出的方差-协方差矩阵进行加权,并且所 有学习模式的权重的总和为1,因此不需要乘以先验概率。如果 不存在逆矩阵,也就是说,如果这些矩阵的总和是奇异矩阵, 则步骤S 4 01中选择的矩形模式是不适当的可能性高。在这种情 况下,跳过步骤S411中的参数计算,并且处理进入步骤S412, 在步骤S412,与预测误差l的数据(后面详细说明) 一起,记 录该矩形模式,并且处理进入随后的步骤。
在步骤S411,通过使用在步骤S408中计算出的每一类的加 权平均矢量和在步骤S410中计算出的逆矩阵,来计算作为模式 识别用的参数之一的类分离矢量。可以这样计算类分离矢量 从面部模式类的加权平均矢量减去非面部模式类的加权平均矢 量,并且用步骤S410中计算出的逆矩阵从左侧乘以差矢量。
然后,通过使用该类分离矢量和保持在数据库406中的且与 步骤S 4 01中选择的矩形模式相对应的矢量数据,计算模式识另'j 用的另一参数,即,识别阈值。首先,如在第一实施例中一样, 计算保持在数据库406中的且与步骤S401中选择的矩形模式相
对应的所有矢量数据与该类分离矢量的内积。如在第一实施例 中 一样,可以将内积值当作为表示面部模式的可能性的代表值。 用于确定识别阈值的方法不同于第 一 实施例中的方法。也 就是说,根据学习模式的权重来确定识别阈值。具体地,小步 长地改变识别阈值,累积发生分类错误的模式的权重作为所有 学习模式的累积值,并且搜索利用其累积值最小的识别阈值。
这里,发生分类错误的模式是这样的学习模式是面部模式而 被错误分类到非面部模式类中的学习模式、或者是非面部模式 而被错误分类到面部模式类中的学习模式。如果上述累积值小, 则意味着当前重视的该学习模式中分类错误的数量少。因此, 可以进行基于学习模式的权重的识别参数优化。
另 一方面,如果在步骤S401中选择的矩形模式仅包括一个 矩形区域,并且如果省略了步骤S409中的方差-协方差矩阵的计 算,则用于计算参数的方法与以上所述的不同。首先,仅求得 从面部模式类的加权平均矢量(标量,因为元素的数量为l)减 去非面部模式类的加权平均矢量(标量)所获得的值的符号。 然后,将保持在数据库406中的、与步骤S401中选择的矩形模 式相对应的所有矢量数据(标量)乘以该符号,并且认为所计 算出的值相当于上述的内积值。因此,可以计算识别阈值和误 差的累积值。
然后,在步骤S412,记录在步骤S411中获得的模式识别的 参数。还记录用于确定识别阈值的误差累积值,作为预测误差。
在步骤S413,判断在步骤S401是否已经选择了所有预定矩 形模式。如果没有选择所有矩形模式,则清除学习模式的选择 历史,并且处理返回到步骤S401,在步骤S401,选择另一矩形 模式。如果已经选择了所有预定矩形模式,则处理进入步骤
S414。
在步骤S414,基于在步骤S412记录的预测误差,从步骤 S 4 01中选择的所有矩形模式中选择具有最小预测误差的矩形模式。
在步骤S415,记录在步骤S414选择的矩形模式、与该矩形 模式相对应的模式识别用的参数、以及基于预测误差计算出的 识别得分oc,作为在弱判别方法中使用的参数。可以通过使用 表达式a二l/2xln((l-s)/s)计算识别得分oc,其中,s为预测误差。 该表达式中的ln表示自然对数。
然后,在步骤S416中更新保持在数据库403中的学习模式 的权重。这里,实际上通过使用在步骤S415记录的模式识别用 的参数(类分离矢量和识别阈值),对保持在数据库406中的与 步骤S415中记录的矩形模式相对应的所有矢量数据进行识别。
在成功进行了识别的模式中,该模式的权重乘以exp(-a)。 在未成功进行识别的模式中,该模式的权重乘以exp(a)。这里, 成功进行了识别的模式意味着这样的学习模式将面部模式正 确分类到面部模式类中的学习模式、或将非面部模式正确分类 到非面部模式类中的学习模式。另一方面,未成功进行识别的 模式意味着这样的学习模式将面部模式错误分类到非面部模 式类的学习模式、或将非面部模式错误分类到面部模式类的学 习模式。上述表达式中的a是在步骤S415中获得的识别得分。 在更新了权重后,进行标准化,使得保持在数据库403中的所有 学习模式的权重的总和成为1 。
最后,在步骤S417,判断在步骤S415中记录的参数的数量 是否达到了预定数量。如果该数量已经达到了预定数量,则结 束处理。如果没有达到,则清除数据库406中的矩形模式选择历 史、学习模式选择历史、以及矢量化数据,并且处理返回到步
骤S401,在步骤S401,选择矩形模式。因此,可以获得模式识 别用的参数,即,预定数量的矩形模式和与矩形模式相对应的 模式识别用的参数,作为在每一弱判别方法中使用的参数。
在该实施例中,如在第一实施例中一样,通过使用利用加 权模式的线性判别分析,来获得类分离矢量。然而,可以使用 其它方法作为选择或共同使用。
接着,参照图5说明用于从图像中4企测面部的方法。该方法
通过使用以上述方式所获得的弱判别方法中的模式识别用的参 数,来使用基于多个弱判别方法的组合的模式识别方法。
首先,在步骤S501,输入从其中检测面部的图像。与上述 模式识别用的参数学习中一样,该图像是灰度图像。当从灰度 图像以外的图像中检测面部时,将该图像变换成灰度图像后再 输入该图像。
然后,在步骤S502,生成根据第一实施例的面部检测方法 中所述的积分图像。还生成平方积分图像。在平方积分图像中, 将具有从该图像的起点(例如,该图像的左上角处的像素)延 伸到目标像素的对角线的矩形区域中的各像素值的平方和表示 为目标像素的像素值。通过使用该值,可以快速计算任意矩形 区域中的各像素值的平方和。通过使用平方积分图像和通常的 积分图像,可以快速计算任意矩形区域的标准偏差。
然后,在步骤S503,设置该图像中的预定点中的一个,并 且从所生成的积分图像中提取在中心包括所设置的点的矩形区 域。可以将该图像中的所有像素设置为预定点。可选地,可以 粗略地进行采样,例如每隔一个像素。可以任意设置所提取的 区域的大小,但是在该实施例中,该大小与在优化阶段使用的 学习模式的大小相同。在设置了一个点后,将用于判断在该点 是否存在面部的得分设置为O。
然后,在步骤S504,计算步骤S501输入的图像中与步骤 S503提取的矩形区域相对应的区域的平均像素值和标准偏差。 可以这样计算该平均值通过使用在步骤S 5 0 2中生成的积分图 像计算矩形区域中的像素值的总和,并且该总和除以矩形区域 的面积。可以这样计算标准偏差通过使用再步骤S502中生成 的平方积分图像计算举行区域中各像素值的平方和,该平方和 除以举行区域的面积,所计算出的值减去上述平均值的平方以 获得矩形区域中像素的方差,并计算该方差的平方根。
在步骤S505,按预定顺序从保持识别用的参数的数据库 506中选择矩形模式。在上述优化模式识别用的参数时,以步骤 S415中进行的记录的顺序,预先将矩形模式和与矩形模式相对 应的识别用的参数保持在数据库506中。在步骤S505,按照该 顺序选择矩形模式中的一个。
在步骤S507,使用在步骤S503中使用的积分图像来计算基 于步骤S 5 0 5中选择的矩形模式的每 一 矩形区域中的总和。
在步骤S508,通过使用在步骤S507中计算出的矩形区域中 的总和以及在步骤S504中计算出的平均值和标准偏差,从各矩 形区域中的总和减去矩形区域的面积和平均值的积。所获得的 值乘以标准偏差的倒数以进行标准化。然后,通过在步骤S505 选择的矩形模式中按照与上述模式识别用的参数优化过程中的 步骤S405中的顺序相同的顺序排列总和,来生成矢量。
然后,在步骤S509,计算步骤S508中生成的矢量与对应于 步骤S505中选择的矩形模式的、通过优化预先生成的且保持在 数据库506中的类分离矢量的内积。这里所使用的类分离矢量的 方向为如果大于预定值,则将其分类到面部模式类。现假定 在步骤S505中选择的矩形模式仅包括一个矩形区域,并且在上 述模式识别用的参数优化中省略步骤S409中的方差-协方差矩
阵的计算。在这种情况下,在步骤S411的参数计算中获得的符 号乘以在步骤S508生成的矢量(标量),并且将该积当作为内积。
然后,在步骤S510,将在步骤S509计算出的内积与对应于 步骤S505中选择的矩形模式的识别阈值进行比较,其中,该识 别阈值是在优化过程中计算的,并保持在数据库506中。如果, 内积大于识别阈值,则判定在步骤S503设置的点处存在面部的 可能性高。为了快速处理的目的,可以通过基于在步骤S509计 算出的内积判断在步骤S503设置的点处不存在面部来中止该 处理。
在这种情况下,预先将与步骤S505中选择的矩形模式相对 应的中止阈值保持在数据库5 0 6中。如果在步骤S 5 0 9中计算出 的内积等于或小于中止阈值,则中止该处理,并且该处理跳到 步骤S514。在上述模式识别用的参数优化中的步骤S411中计算 参数时,计算中止阈值和识别阈值。例如,可以基于以下条件 计算中止阈值由于将面部模式错误分类到非面部模式类而中 止处理的百分比等于或小于预定值。
如果在步骤S5 IO判断出存在面部的可能性高,则在步骤 S511中,将与步骤S505中选择的矩形模式相对应的且保持在数 据库506中的识别得分加给当前得分。另一方面,如果在步骤 S 510判断出没有存在面部的可能性,则从当前得分减去该识别 得分。为了加快处理速度,可以通过基于当前得分判断在步骤 S503设置的点处不存在面部,而中止处理。
在这种情况下,将与在步骤S 5 0 5中选择的矩形模式的得分 相对应的得分中止阈值保持在数据库506中。如果当前得分等于 或小于得分中止阈值,则中止处理,并且处理进入步骤S514。 以下面的方式获得得分中止阈值。在上述模式识别用的参数优
化过程中,为保持在数据库403中的每一学习模式设置得分(初
始状态为O)。在步骤S416中的学习模式的权重的更新过程中, 如步骤S511中一样,将识别得分相加给该得分,或者从该得分 减去识别得分。通过使用该得分,可以基于与上述中止阈值中 的条件一样的条件,来计算得分中止阈值。在该实施例中,基 于当前得分中止处理。可选地,如上述文献"Rapid Object Detection using a Boosted Cascade of Simple Features,,中所公开 的,可以基于几个得分的累积值中止处理。
在步骤S512,判断在步骤S505中是否已经选择了保持在数 据库506中的所有矩形模式。如果已经选择了所有矩形模式,则 处理进入步骤S513。否则,处理返回到步骤S505,在步骤S505, 根据预定顺序选择另 一矩形模式。
在步骤S513,如果通过步骤S511中的相加或相减所获得的 得分等于或大于预定值,则判定在步骤S503中设置的点处存在 面部,并记录该结果。用于该判断的预定值一般为O,或者可以 根据面部检测方法的所需性能适当设置预定值。
在步骤S514,判断在步骤S503中是否已经提取了与所有预 定点相对应的所有区域。如果已经提取了所有区域,则结束处 理。否则,处返回到步骤S503,在步骤S503,设置另一预定点 以提取区域。
利用上述处理,可以检测输入图像中的面部。在该处理中, 如在第一实施例中一样,检测具有与在学习时使用的面目模式 基本相同的方位和大小的面部。如果检测具有不同方位和大小 的面部,则可以使用第一实施例中所述的方法。
如上所述,在作为第一实施例的变形例的第二实施例中, 如在第 一 实施例中 一样,通过使用二维图像数据作为输入数据, 进行分类到两个类的模式识别。通过组合使用boosting方法建立
的多个弱判别方法,来实现根据第二实施例的较高准确度的模 式识另'j所使用的参数优化方法和使用该参数优化方法的模式识 别方法。
第三实施例
在第三实施例中,作为第二实施例的变形例,如在第二实 施例中一样,通过使用二维图像数据作为输入数据,进行分类
成两个类的模式识别。通过组合使用boosting方法建立的多个弱 判别方法,来实现根据第三实施例的较高准确度的模式识别所 使用的参数优化方法和使用该参数优化方法的模式识别方法。
在第二实施例中,在由所提取的总和定义的特征空间中进 行线性识别。另一方面,在第三实施例中进行所谓的非线性识 别。也就是说,通过非线性变换将由所提取的总和定义的特征 空间中的点映射到新特征空间中,并且在新特征空间中进行线 性识别。作为非线性识别的例子,以下说明使用支持矢量机 (support vector machine, SVM )的方法(SVM的详纟田i兌明,参 见上述文南史"Technical Survey: Overview of Support Vector Machine")。
图6是示出根据第三实施例的模式识别用的参数学习方法 的处理的流程图。以下参照图6说明模式识别用的参数学习方 法。
除在步骤S605和S405之间矢量化不同以外,步骤S601 ~ S607与根据第二实施例的步骤S401 ~ S407相同。因此,省略相 应的说明。在该实施例中,还优化第二实施例中所述的用于通 过累积得分中止运算的得分中止阈值。因为这个原因,允许保 持在数据库603中的每一学习模式具有在初始状态被初始化成O 的累积得分。
在步骤S605中,如在第二实施例的步骤S405中一样,通过 使用在步骤S604中计算出的各矩形区域中的总和,生成矢量。
将所生成的矢量作为与在步骤S 6 01中选择的矩形模式相对应 的矢量数据,保持在数据库606中。在第二实施例中,在通过仅 使用学习模式的亮度值的平均和标准偏差标准化各矩形区域中 的总和后才进行矢量化。然而,在第三实施例中,在每一标准 化后的总和除以相应矩形区域的面积后,进行矢量化。
然后,在步骤S608,进行SVM学习以分别对从面部模式和 非面部模式所获得的矢量数据组进行分离,其中,该矢量数据 保持在数据库606中,并对应于在步骤S601中选择的矩形模式。
在该实施例中,使用高斯核exp (-lx-Xk卩/cj"的非线性SVM。 在使用高斯核的非线性SVM的优化中,甚少可以获得与对应于 在步骤S601中所选择的矩形模式的矢量数据的维度相同的维 度的一个支持矢量Xk、与该支持矢量Xk相对应的系数ak、和偏值 (bias value)b。也就是说,维度数与在步骤S601选择的矩形模式 中所包括的矩形区域的数量相同。
在典型SVM中,如果已经获得了支持矢量,则在识别时计 算i:[ak'exp(-lx-Xk卩/cr2)]+b (S表示l n的总和),并且根据符号 进行二值判断。然而,在该实施例中,使用用于根据 S[ak.exp(-|x-xk|2/cj2)]的值输出连续确信因子的方法,因此可以 忽略这里所获得的偏值b。
可以根据进行SVM优化的矢量数据组的范围或问题的复 杂性,适当设置在SVM的优化过程中所需的用于确定软边界 (softmargin)的程度的常量和高斯核cj。在该优化中,不同于 第二实施例,难以直接使用学习模式的权重。因此,当将该学 习模式的权重反映到优化上时,例如,根据与权重成比例的概 率判断是否使用权重作为S VM优化用的数据。
在步骤S609,计算在下述面部^r测方法中用于加速处理的
中止阈值。该中止阈值对应于上述根据第二实施例的面部检测
在数据库6 0 6中的与在步骤S 6 01中选择的矩形模式相对应的所 有矢量数据x均为目标。
另一方面,通过使用在步骤S608中获得的n个支持矢量Xk 和与支持矢量Xk相对应的系数ak、以及在优化过程中使用的参 数d,计算S[ak'exp(-lx-Xkl2/(72)]。将通过该计算获得的值称为中 间输出值。基于从所有矢量数据获得的中间输出值,计算中止 阈值。如果相应的中间输出值等于或小于预定值,则该中止阈 值用于通过将模式分类到非面部模式类来中止处理。
可以以与根据第二实施例的步骤S 510中相同的方式计算 中止阈值。例如,可以基于以下条件计算中止阈值通过将面 部模式错误分类到非面部模式类而中止处理的百分比等于或小 于预定值。
在该实施例中,除上述条件以外,还可以使用第二条件。 在第二条件中,通过将非面部模式正确分类到非面部模式类中 来中止处理的百分比等于或高于第二预定值。搜索并判断这样 的值该值同时满足这两个条件,并且实现在第二条件中中止 处理的最高百分比。如果不存在同时满足这两个条件的值,则 在识别时不中止该处理。
在步骤S610 ,通过使用在步骤S608获得的参数计算预测误 差,并记录预测误差。具体地,如在步骤S609中一样,保持在 数据库606中的且对应于在步骤S601中选4奪的矩形模式的所有 矢量数据x均为目标。对于矢量数据x,通过使用在步骤S608中 获得的n个支持矢量Xk和相应的系数ak、以及在优化过程中所使 用的参数cj,来计算所有中间输出值。
然后,通过使用所有中间输出值和各学习模式的权重,来
生成各类的加权直方图。在每一类的加权直方图中,将与bin
相对应的中间输出值的范围内的类中的模式的权重的累积表示
为bin的值。通过使用所生成的每一类的加权直方图,来计算预 测误差并记录该预测误差。当第k个bin的^i (需要与bin相对应 的中间输出值的范围在类间是相同的)为Sk,c(C表示类),并且 当在每一类的加权直方图中所有bin的数量为n时,可以获得预 测误差2A[(S
k,Face'Sk,NonFace) ]。
在步骤S611,如在根据第二实施例的步骤S413中一样,判 断在步骤S601是否已经选择了所有预定矩形模式。如果没有选 择所有矩形模式,则清除学习模式的选择历史,并且处理返回 到步骤S601,在步骤S601,选择另一矩形模式。如果判断出已 经选择了所有预定矩形模式,则处理进入步骤S612。
在步骤S612,基于在步骤S601中选择的矩形模式的在步骤 S610中记录的预测误差,选择具有最小预测误差的矩形模式。
在步骤S613,顺序记录模式识别用的参数,作为在弱判别 方法中使用的参数。首先,记录在步骤S612中选择的矩形模式、 支持矢量Xk、在步骤S608所获得的相应的系数ak、以及在优化 过程中使用的参数cr。而且,记录在步骤S609中所获得的中止 阈值和基于步骤S610中的每一类的加权直方图生成的识别得 分表T。
当中间输出值在与每一类的加权直方图的bin相对应的中 间输出值的范围内时,识别得分表T将输出值输出给每一类的
加权直方图的bin的值。通过使用bin的值Si,Face和Si,N。nFace,输出 输出值0C^l/2.1n((Si,Face+S)/(Si,N。nFace+S"。
在步骤S614,更新保持在数据库603中的学习模式的权重。
同时,计算用于基于根据第二实施例的面部检测方法中的以上 所述得分中止运算的得分中止阈值。为了该目的,更新各学习模式的累积得分,并相应计算得分中止阈值。
在权重的更新中,使用保持在数据库606中的且对应于步骤
S613中记录的矩形模式的所有矢量数据。还使用在步骤S613中 记录的模式识别的参数(支持矢量Xk、相应的系数ak、优化过 程中使用的参数cj、以及识别得分表T)。首先,计算中间输出 值2:[ak.exp(-lx-XklVa2)]。基于该值,通过参考识别得分表T获得 输出值a。
如果学习模式是面部模式,则其权重乘以exp(-a)。如果学 习模式是非面部模式,则其权重乘以exp(a)。在累积得分的更 新中,将以上获得的输出值a相加给学习模式的累积得分。如 在步骤S609中一样,通过搜索满足条件的得分中止阈值,计算 得分中止阈值。如果存在满足条件的得分中止阈值,则将该值 相加给在步骤S613中记录的模式识别用的参数,并进行记录。 如在第二实施例中 一 样,进行标准化以使得在上述权重更新后,
保持在数据库603中的所有学习模式的权重的总和为1。
最后,在步骤S615,判断在步骤S613中所记录的弱判别方 法的参数数量是否达到了预定数量,如在根据第二实施例的步 骤S417中一样。如果数量达到了预定数量,则结束处理。否则, 清除矩形模式选择历史、学习模式选择历史和数据库606中的矢 量化数据,并且处理返回到步骤S601,在步骤S601,选择矩形 模式。
利用上述方法,可以获得模式识别用的参数,即,预定数 量的矩形模式和与矩形模式相对应的模式识别用的参数,作为 每一弱判别方法的参数。
如上所述,不仅可以使用第 一 和第二实施例中所述的线性 识别,而且还可以使用非线性识别。在该实施例中,说明了基 于使用高斯核的非线性SVM的方法。然而,本发明不局限于该
方法。作为选择可以采用基于使用多项式核的SVM的方法、非 线性判别分析等其它非线性方法和基于K-最近邻方法的方法。
接着,参照图7说明用于从图像中斗企测面部的方法。该方法
使用基于多个弱判别方法的组合的模式识别方法,其中,弱判 别方法使用以上述方式获得的弱判别方法中的模式识别的参数。
步骤S701 ~ S707与根据第二实施例的步骤S501 ~ S507相 同,因此省略相应的说明。
在步骤S708,使用在步骤S707中计算出的矩形区域中的总 和和在步骤S 7 0 4中计算出的平均和标准偏差,从各矩形区域中 的每一总和减去矩形区域的面积与平均值的积,并且所获得的 值乘以标准偏差的倒数,从而进行标准化。各标准化后的值除 以相应的矩形区域的面积,并且在上述步骤S705中选择的矩形 模式中用于模式识别的参数学习时,以与步骤S605中相同的顺 序,排列所获得的值,从而生成矢量。
在步骤S709,使用在步骤S708生成的矢量、通过优化所生 成且被保持的、对应于在步骤S705中选择的矩形模式的支持矢 量xk 、相应的系数ak 、以及参数cj , 计算中间输出值 S[ak.exp(-|x-xk|2/<72)]。
在步骤S710,将在步骤S709中计算出的中间输出值与在优 化中计算出的且被保持在数据库706中的、对应于在步骤S705 中选择的矩形模式的中止阈值进行比较。如果中间输出值小于 中止阈值,则通过判断在步骤S703中设置的点处不存在面部, 来中止处理,并且处理进入步骤S714。
在步骤S711,通过使用在步骤S709中计算出的中间输出值 和保持在数据库706中且对应于在步骤S705中选择的矩形模式 的识别得分表T,来计算输出值a。然后,将输出值a相加给在
步骤S703中被设置为0的得分。还将与值a相加后的得分与在优 化过程中计算出的且对应于在步骤S705中选择的矩形模式的 得分的末端的得分中止阈值进行比较。如果与值a相加后的得 分小于得分中止阈值,则通过判断在步骤S703中设置的点处不 存在面部,来中止处理,并且处理进入步骤S714。
步骤S712 S714与根据第二实施例的步骤S512 S514相 同,因此省略相应的i兌明。
利用上述处理,可以检测输入图像中的面部。在该处理中, 与根据第 一 实施例的面部检测方法中 一样,检测具有与在优化 状态时使用的面部模式基本相同的方位和大小的面部。如果检 测具有不同方位和大小的面部,则可以使用第 一 实施例中所述 的方法。
如上所述,在作为第二实施例的变形例的第三实施例中, 与第二实施例中的一样,通过使用二维图像数据作为输入数据, 进行分类成两个类的模式识别。通过组合多个用于进行使用 boosting方法建立的非线性识别的弱判别方法,实现根据第三实 施例的用于较高准确度的模式识别的参数学习方法和使用该参 数学习方法的模式识别方法。
第四实施例
在作为第二实施例的变形例的第四实施例中,使用二维图 像数据作为输入数据,并判断输入图像数据是属于多个预定种 类中的一个还是不属于任何种类。也就是说,将输入图像数据 分类到与多个预定种类相对应的类、或输入图像数据不属于任 何种类的类。这被称为多类模式识别。以下说明用于模式识别 的参数优化方法、以及通过组合多个使用boosting方法建立的弱 判别方法实现的使用该参数优化方法的模式识别方法。
作为多个预定种类,可以使用各种东西,例如,象第一到
第三实施例中的人脸、车辆、以及花等。在该实施例中,将个 体的面部当作为种类,并且使用预定注册的人(例如,三个人) 的种类。
图8是示出根据第四实施例的模式识别用的参数优化方法 的处理的流程图。以下,参照图8说明才莫式识别用的参数优化方法。
首先,在步骤S801,选择多个预定区域模式中的一个。在 第一到第三实施例中,使用每个均包括矩形区域的矩形模式以 在计算机中快速进行模式识别。区域模式,即,在其每一个中 提取总和的预定部分的组合,可以包括任意部分,例如,预定 的同心圆。在这种情况下,计算每一圆中数据的总和。
在该实施例中,准备多个区域模式,每一区域模式包括图 10所示的三个区域1001 ~ 1003,并且选择区域模式中的一个。 区域1001是具有任意大小和位置的矩形区域,而区域1002和 1003是具有任意大小和位置的圆形区域(这两个区域相互不 同)。
在步骤S802,输入保持在数据库803中的学习模式中的一 个。数据库803保持三个注册的人A、 B和C中的每一个的多个面 部模式和未注册的人的多个面部模式,并一起保持有它们的标 签(表示A、 B和C或非注册的人的任何一个的信息)和各模式 的权重。如在第二实施例中一样,初始化模式的权重。
在权重的初始设置中,A、 B和C的学习模式的权重可以是 相同的。在该实施例中,保持在数据库803中的面部模式也是灰 度图像,并且将各像素值表示为亮度值。 一定程度上在面部的 方位和大小上标准化所有面部模式,并且它们的图像大小是统 一的。
在步骤S804,基于在步骤S801选择的区域模式,从在步骤
S802所输入的学习模式中提取区域模式的每 一 区域中的亮度 值的总和。
在步骤S805 ,简单排列在步骤S804中获得的各区域的总 和,以生成矢量,并且将该矢量作为与在步骤S801中选择的区 域模式相对应的矢量数据,保持在数据库8 0 6中。在该实施例中, 与第二和第三实施例中不同,不进行使用学习模式的平均和标 准偏差的总和的标准化。可选地,可以在标准化后进行矢量化。
在步骤S807,判断是否已经选择了保持在数据库803中的 所有学习模式。如果没有选择所有学习模式,则处理返回到步 骤S802,在步骤S802,从数据库803选择另 一学习模式。如果 已经选择了所有学习模式,则处理进入步骤S808。
在步骤S808 ,通过使用保持在数据库806中的且对应于在 步骤S801中选择的区域模式的矢量数据、以及该矢量数据的标 签,来进行神经网络(neural network, NN)学习。可以使用任 何类型的网络作为NN,只要可以进行多类识别即可。在该实施 例中,使用图ll所示的三层前馈型NN。
该NN包括输入层1101,包括三个输入节点1102 (该数量 取决于区域模式中所包括的区域的数量);以及输出层1105,包 括三个输出节点1106(该数量取决于种类的数量)。可以将中间 层1103中的中间节点1104的数量设置成预定数量,也可以根据 问题通过试验将其设置成适当数量。
如图ll所示,将中间节点1104耦合到所有输入节点1102, 并且将输出节点1106耦合到所有中间节点1104。在NN学习处理 中,将保持在数据库806中且对应于在步骤S801中选择的区域 模式的矢量数据的各元素的值输入给输入层1101中的三个节点 1102。然后,通过使用反向传播方法重复进行所谓的监督学习 (supervised learning),使得与输入矢量数据的标签相对应的输
出节点1106的输出为1,并使得其它输出节点U06的输出为0。
如果矢量数据不属于种类A、 B和C中的一个,则进行监督 学习,使得所有三个输出节点的输出为0 (多层前馈NN和反向 传播方法等NN的监i^学习方法的详细说明,参见S. Haykin, "Neural Networks A comprehensive Foundation 2nd Edition", Prentice Hall, pp. 156-255, July 1998 )。为了与第二实施例中一 样,允许在学习结果上反映学习模式的权重,可以将在学习阶 段的表现模式的概率设置成与学习模式的权重成比例的概率。
在步骤S809,由NN使用在步骤S808中通过学习处理所获得 的NN的参数,实际进行运算,并且计算和记录根据该结果所获 得的预测误差。具体地,由NN使用在步骤S808获得的NN的参
域模式的所有矢量数据x实际进行运算。然后,计算NN的所有 输出结果(三个输出节点的输出值)。
然后,通过使用所有输出结果,通过小步长改变各判断阈 值来进行实际判断(如果输出值等于或大于阈值,则判定输入 数据属于与该节点相对应的类的可能性高)。在实际判断中,将 各输出节点的输出值与判断阔值相比较。如果在所有节点中输 出值都没有超过判断阈值,则判定输入数据不属于任何类。如 果在其中 一个节点输出值超过判断阈值,则判定输入数据属于 与该节点相对应的类。如果在许多节点中输出值超过了判断阔 值,则判定输入数据属于与输出最大值的节点相对应的类。在 输出值的比较中,可以相互比较输出值的绝对值,或者可以相 互比较判断阈值和各输出值之间的差。
根据该判断,累积在其中做出了错误判断(将属于类A的 模式分类到其它类中的一个)的学习模式的权重,作为预测误 差。然后,在判断阈值的各种组合中计算预测误差,并且,记
录三个具有最小预测误差的判断阈值和此时的预测误差。
在步骤S810,与根据第二实施例的步骤S413中一样,判断 在步骤S801中是否已经选择了所有的预定区域模式。如果没有 选择所有区域模式,则清除学习模式选择历史,并且处理返回
到步骤S801,在步骤S801,选择另一区域模式。如果已经选择 了所有预定区域模式,则处理进入步骤S811。
在步骤S811,通过参考在步骤S809记录的在步骤S801中选 择的区域模式的预测误差,来选择具有最小预测误差的区域模式。
在步骤S812,顺序记录在步骤S811中选择的具有最小预测 误差的区域模式和在选择区域模式时在步骤S808中所获得的 NN的参数,作为弱判别方法的参数。这里,NN的参数包括NN 的耦合系数和中间层中的节点数量。而且,记录在步骤S809中 获得的各判断阈值和基于预测误差计算的识别得分oc,作为弱 判别方法的参数。与在第二实施例中一样,可以通过使用表达 式a二l/2xlnKl-s)/s)计算识别得分a,其中,s为预测误差。
在步骤S813,更新保持在数据库803中的学习模式的权重。 在权重的更新中,保持在数据库806中且对应于具有在步骤 S 812记录的最小预测误差的区域模式的所有矢量数据均为目 标。通过使用在步骤S 812中记录的模式识别用的参数(N N的耦 合系数、中间层中的节点数量、以及各判断阈值),由NN实际 进行判断。如果正确分类了学习模式,则学习模式的权重乘以 使用识别得分oc的exp(-a)。如果错误分类了学习模式,则学习 模式的权重乘以exp(a)。
最后,在步骤S814,与在根据第二实施例的步骤S417中一 样,判断在步骤S 812记录的弱判别方法的参数的数量是否达到 了预定数量。如果该数量达到了预定数量,则结束处理。否则,清除区域模式选择历史、学习模式选择历史和数据库806中的矢
量化数据,并且处理返回到步骤S801,在步骤S801,选择区域
模式。利用该方法,可以获得模式识别用的参数,包括预定数 量的区域模式和与区域模式相对应的模式识别用的参数,作为 每一弱判别方法的参数。
以下,参照图9说明使用在上述方法中获得的弱判别方法的 模式识别用的参数,基于多个弱判别方法的组合使用模式识别 方法的个体识别方法。根据该个体识别方法,检测输入的面部 图像是注册的人A、 B和C中的一个、还是非注册的人。
首先,在步骤S901,输入作为要分类的面部图像的面部模 式。此时,将分类中所使用的每一类(三个类类A、类B、和 类C)的得分初始化成O。与在上述模式识别用的参数优化中一 样,输入图像是灰度图像,并且将输入图像标准化成相同大小。 当将使用灰度图像以外的面部图像进行个体识别时,可以在将 该图像变换成与学习中相同的图像大小的灰度图像后输入该图 像。
然后,在步骤S902,根据来自保持识别用的参数的数据库 9 0 3的预定顺序选择区域模式。根据在模式识别的参数优化过程 中在步骤S812中的记录顺序,预先将区域模式和与区域模式相 对应的识别用的参数保持在数据库903中。在步骤S902,根据 该顺序选择区域模式。
在步骤S904,计算在步骤S901中输入的图像中在步骤S902 中选择的区域模式的每一 区域中的亮度值的总和。
然后,在步骤S905,按照与上述模式识别用的参数优化中 的步骤S805中相同的顺序,排列在步骤S904中计算出的各区域 的总和,从而生成矢量。
在步骤S906,计算输出层中的所有节点的输出值。此时, 使用在步骤S905中生成的矢量、与步骤S902中选择的区域模式 相对应的NN的耦合系数、在学习中所生成的且保持在数据库 903中的系数、以及中间层中的节点数量的NN。
然后,在步骤S907,将在步骤S906中获得的所有节点的输 出值和与在步骤S902中选择的区域模式相对应的每一输出节 点的判断阈值进行比较,其中,该阈值是在优化阶段获得的。 以与上述模式识别用的参数优化中的步骤S809中相同的方式 进行该判断。
然后,将保持在数据库903中的、与在步骤S902中选择的 区域模式相对应的识别得分相加给所判定的类的得分。另 一 方 面,从所判定的类以外的类的得分减去该识别得分。如果判定 输入数据不属于任何类,则从所有得分减去该识别得分。
在步骤S908,判断在步骤S902是否已经选择了保持在数据 库903中的所有区域模式。如果选择了所有区域模式,则处理进 入步骤S909以输出结果。否则,处理返回到步骤S902,在步骤 S902,根据预定顺序选择另 一区域模式。
在步骤S909,使用在步骤S907相加后或相减后的各类的得 分,来判断在步骤S901输入的面部模式是否属于所述类中的一 个,并输出该结果。在该判断中,从得分中选择具有最大输出 值的类的得分。如果得分等于或大于预定值,则判定输入面部 模式属于该类。否则,判定输入面部模式不属于任何类。预定 值一般为O,但是可以基于要获得的面部图像,根据个体识别方 法的性能适当设置预定值。
如上所述,在作为第二实施例的变形例的第四实施例中, 使用二维图像数据作为输入数据,并判断图像数据是属于任一 预定种类、还是不属于任何种类。也就是说,将输入图像数据 分类到与多个预定种类相对应的一个类和输入的图像数据不属
于任何种类的一个类。因此,进行多类模式识别。通过组合多
个使用boosting方法建立的由NN进行识别用的弱判别方法,来 实现用于模式识别的参数优化方法和根据第四实施例使用该参 数优化方法的模式识别方法。
与上述第四实施例中一样,在多类才莫式识别中,可以使用 多类识别方法作为多个弱判别方法中的一个。可选地,可以通 过使用在第二和第三上述中所述的多个两类模式识别方法进行 多类识别。
在第二到第四实施例中,说明了使用多个相同弱判别方法 的模式识别方法。然而,可以混合各弱判别方法。还可以一起 使用不同的弱判别方法。
图12是示出根据上述每 一 个实施例的参数优化设备和模式 识别设备的硬件结构的框图。
在图12中,CPU(中央处理单元)120H丸行包括在流程图 中所述的处理的各种程序,并控制通过系统总线1208连接的每 一单元。RAM(随机存取存储器)1202临时存储数据和程序。 ROM(只读存储器)1203存储固定数据和程序。键盘1204包括 用于输入字符和选择功能的键。还设置鼠标作为指示装置以在 显示器上指示位置。
显示器1205显示要识别的模式和识别结果,并提供用户界 面(UI)。硬盘驱动器(HDD) 1206是用于永久存储程序和数 据的装置。还可以设置使用DVD (数字多功能光盘)、CD (紧 凑光盘)或FD(软盘)等存储介质的存储装置。通信接口 (I/F) 1207是用于通过LAN (局域网)或因特网与外部设备通信的接 口。系统总线1208用于相互连接上述单元,并被用作用于发送/ 接收数据、地址和控制信号的介质。
在处理前或在处理过程中,根据需要,可以将包括流程图
中所述的处理的各种程序存储在ROM 1203中,或者可以将其从 HDD 1206力口载到RAM 1202。
可以通过从HDD 1206等存储装置读取要识别的模式,或者 通过经由通信接口 I/F 1207从外部摄像设备接收要识别的模式 来获得要分类的模式。
本发明可应用于包括多个设备的系统或单个设备。
当具有存储了用于实现上述实施例的功能的软件的程序代 码的存储介质的系统或设备的计算机读取并执行该程序代码 时,可以实现本发明的实施例。
在这种情况下,从存储介质读取的程序代码本身实现上述 实施例的功能,因此存储该程序代码的存储介质包括在本发明 中。还可以通过运行在计算机中的操作系统,基于计算机读取 的程序代码的指令,进行部分或全部实际处理,而这些处理可 以实现上述实施例的功能。
可以将从存储介质读取的程序代码写到设置在插入计算机 中的功能扩展板或与计算机连接的功能扩展单元中的存储器 上。该功能扩展卡或功能扩展单元中设置的C P U等可以基于该 程序代码的指令,进行部分或全部实际处理,从而实现上述实 施例的功能。
当将本发明应用于上述存储介质时,存储介质存储与上述 流程图相对应的程序代码。
尽管以具有一定特殊性的优选形式说明了本发明,但是, 在不脱离本发明的精神和范围的情况下,可以做出本发明的许 多明显不同的实施例。应该理解,除在所附权利要求书中定义 的以外,本发明不局限于本发明的特定实施例。
权利要求
1.一种优化参数的方法,该参数用于将输入数据分类到多个类中的一个,该方法包括以下步骤学习数据输入步骤,用于输入多个学习数据,每个学习数据与该学习数据所属的类相关联;计算步骤,用于计算每个学习数据中的特定k个部分的每一部分中元素的属性值的统计量,其中,k等于或大于1;映射步骤,用于将每个所述学习数据作为以所计算的k个统计量为元素的矢量映射到k维特征空间中;以及优化步骤,用于基于映射到所述k维特征空间中的每个所述学习数据和各学习数据所属的类,在所述k维特征空间中,优化用于将所述输入数据分类到所述多个类中的一个的参数。
9. 根据权利要求l所述的方法,其特征在于,所述优化步 骤包括以下步骤第二映射步骤,用于通过非线性变换,将映射到所述k维特征空间中的所述学习数据的每一个映射到新的特征空间中;以及参数获得步骤,用于基于映射到所述新的特征空间中的多 个学习数据,获得所述新的特征空间中的线性识别函数和用于定义类之间边界的参数。
10. 根据权利要求9所述的方法,其特征在于,假定所述学 习数据为x、所述非线性变换为(])(x)时,使用函数K(x,x')来满足 (Kx)T(Kx,K(x,x')。
11. 一种模式识别方法,用于将输入数据分类到多个类中的一个,该模式识别方法包括以下步骤参数输入步骤,用于输入以根据权利要求1所述的方法优化的所述参数;目标数据输入步骤,用于输入要被分类的数据; 第二计算步骤,用于计算与所述要被分类的数据中的所述k个部分处于相同位置的每一部分中的元素的属性值的统计量; 以及分类步骤,用于通过使用在所述参数输入步骤中输入的所 述参数和在所述第二计算步骤中计算出的所述k个统计量,将所 述要被分类的数据分类到所述多个类中的一个。
12. —种模式识别方法,用于基于多个弱判别方法的判别, 将输入数据分类到多个类中的 一 个,在所述多个弱判别方法中 的至少一个中,所述模式识别方法包括以下步骤参数输入步骤,用于输入以根据权利要求1所述的方法优化 的所述参数; 目标数据输入步骤,用于输入要被分类的数据; 第二计算步骤,用于计算与所述要被分类的数据中的所述k个部分处于相同位置的每一部分中的元素的统计量;以及输出步骤,用于通过使用在所述参数输入步骤中输入的所述参数和在所述第二计算步骤中计算出的所述k个统计量,来输 出表示所述要被分类的数据最可能属于所述多个类中的哪一个 的结果。
13. 根据权利要求12所述的模式识别方法,其特征在于, 通过使用boosting方法建立所述多个弱判别方法的组合。
14. 根据权利要求13所述的模式识别方法,其特征在于, 在通过所述boosting方法建立所述多个弱判别方法的所述组合 中,从使用所述k个部分的所述多个弱判别方法中选择具有最高 识别性能的所述弱判别方法。
15. 根据权利要求12所述的模式识别方法,其特征在于, 基于在所述弱判别方法中的一个中所述数据属于所述多个类中 的特定 一 个的可能性,将所述要被分类的数据分类到特定类, 并且,停止其它弱判别方法的判别。
16. 根据权利要求12所述的模式识别方法,其特征在于, 还包括以下步骤根据所述数据属于所述多个类中的特定一个 的可能性,更新表示所述数据属于所述多个类中的所述特定一 个的可能性的累积值。
17. 根据权利要求14所述的模式识别方法,其特征在于, 还包括以下步骤生成步骤,用于生成所述要被分类的数据的累积数据,所 述部分为矩形区域;其中,所述第二计算步骤通过使用所述累积数据计算所述 总和。
18. —种用于将输入数据分类到多个类中的一个的参数优化设备,该设备包括学习数据输入单元,用于输入多个学习数据,每个学习数据与该学习数据所属的类相关联;计算单元,用于计算每个所述学习数据中的特定k个部分的 每一部分的元素的属性值的统计量,其中,k等于或大于l;映射单元,用于将每个所述学习数据作为以所计算的k个统 计量为元素的矢量映射到k维特征空间中;以及优化单元,用于基于映射到所述k维特征空间中的每个所述 学习数据和各学习数据所属的类,优化用于所述k维特征空间中 将所述输入数据分类到的所述多个类中的一个的识别参数。
19. 一种模式识别设备,用于将输入数据分类到多个类中 的一个,该模式识别设备包括参数输入单元,用于输入由根据权利要求18所述的设备优 化的所述参数;目标数据输入单元,用于输入要被分类的数据; 第二计算单元,用于计算与所述要被分类的数据中的所述k个部分处于相同位置的每一部分中的元素的统计量;以及分类单元,用于通过使用由所述参数输入单元输入的所述 参数和由所述第二计算单元计算出的所述k个统计量,将所述要 被分类的数据分类到所述多个类中的一个。
20. —种模式识别设备,用于基于多个弱判别器的判别,将输入数据分类到预定类中的一个,在所述多个弱判别器中的 至少一个中,所述模式识别设备包括参数输入单元,用于输入由根据权利要求18所述的设备优 化的所述参数;目标数据输入单元,用于输入要被分类的数据; 第二计算单元,用于计算与所述要被分类的数据中的所述k个部分处于相同位置的每一部分中的元素的统计量;以及输出单元,用于通过使用由所述参数输入单元输入的所述参数和由所述第二计算单元计算出的所述k个统计量,来输出表 示所述要被分类的数据属于所述多个类中的哪一个的可能性最 大的结果。
全文摘要
一种参数学习方法及设备、模式识别方法及设备。输入多个学习数据,每个学习数据与该学习数据所属的类相关联。计算每个学习数据中的特定k个部分的每一部分中的元素的属性值的统计量,其中,k等于或大于1。将每个学习数据作为以所计算的k个统计量为元素的矢量映射到k维特征空间中。基于每个映射的学习数据和学习数据所属的类,在k维特征空间中学习用于将输入数据分类到多个类中的一个的参数。通过使用该参数,可以高速和高准确度地进行模式识别。
文档编号G06K9/66GK101097564SQ20071012272
公开日2008年1月2日 申请日期2007年7月2日 优先权日2006年6月30日
发明者佐藤博, 御手洗裕辅, 森克彦, 真继优和, 鸟居宽 申请人:佳能株式会社
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1