特征点检测装置、特征点检测方法及特征点检测程序的制作方法

文档序号:6611158阅读:189来源:国知局
专利名称:特征点检测装置、特征点检测方法及特征点检测程序的制作方法
技术领域
本发明涉及应用在用于从图像中检测对象物的特征点的装置、方法及程序等中的有效技术。
背景技术
作为从图像中检测对象物的特征点的技术,有检测人脸的特征点的技术。以下,对于把人脸作为对象物的情况下的背景技术进行叙述。
从拍摄了人物的图像中得到脸的特征点位置,从而可以推测例如该人物的眼睛的睁闭信息、脸姿势、视线方向、脸的表情等。此外,从这些推测结果可以更加详细地了解该人物的状态。并且,通过详细地把握人物的状态,可提高人机界面的性能,提供新的服务等。这样,在人机界面的开发上,正确地了解人脸的特征点位置成为重要的课题。
作为这样的人机界面的例子,有驾驶员监视系统。在该系统中,依次观察驾驶员眼睛的睁闭、脸姿势、视线方向等。然后,根据该观察结果判断驾驶员的疲劳程度等,可以根据状况给出恰当的建议。
此外,作为另一人机界面的例子,有对动态图像摄像机和静止图像照相机等的应用。在这些装置中,通过了解被摄者的脸姿势,可实现改变拍摄条件等多种多样的处理。另外,通过详细地分析眼睛的特征点或嘴的特征点等的图像,也能够高精度地进行个人识别。
作为从图像得到特征点位置的方法(以下,称为“特征点检测方法”)通常采用模板匹配法及其应用。在这些方法中,预先保存各特征点的一般性信息(以下,称为“特征量”)。然后,通过对从图像内的一部分区域得到的特征量和所保存的特征量进行比较,判断是否为应取得的特征点。作为此时使用的特征量的具体例子,有图像的亮度值向量。此外,作为两个特征量的比较手段,通常使用归一化相关或欧几里得距离。
作为这样的特征点检测技术的例子,提出了通过分离度滤波器预先减少了搜索点数之后,通过模式匹配来检测特征点候选的技术(参照专利文献1)。在该技术中,在检测出特征点候选之后,应用几何约束条件,输出判断为最像人脸的候选点的组合。
但是在该技术中,只能检测基本上朝向正面的、摄影条件较好的人物图像的特征点。因此,难以从特征点的一部分被遮蔽物挡住的图像或预先保存的摄影条件(例如照明条件)与特征点取得时有很大不同的图像中正确地检测出特征点。
此外,也存在通过得到脸的特征点位置来估计脸姿势的技术(参照专利文献2、3)。在这样的技术中,一般采用在取得脸的特征点位置之后,使用其整体配置和特征量来进行估计的方法。例如,预先作为查询表保存表示眼、口、眉、鼻的特征点的坐标和脸姿势之间的关系。然后,根据该查询表判断与从图像中取得的特征点的坐标对应的脸姿势,作为估计结果输出。另外,也有相应于多个脸的朝向,准备脸整体模板或者脸的特征量的模板,通过与这些模板进行匹配来求出脸姿势的方法。但是,在这些方法中,能否正确地执行脸姿势的估计也取决于脸的特征点位置的精度。因此,如果不能正确地执行脸的特征点位置的取得,就不能正确地进行脸姿势的估计。
作为解决这样问题的技术,有称为ASM(Active Shape Model,主动形状模型)的技术(参照非专利文献1)。在ASM中,预先对学习用的多个脸图像取得特征点的位置,生成并保持人脸形状模型。人脸形状模型由与各特征点对应的节点构成。此外,关于人脸形状模型的具体情况将在具体实施方式
部分中进行说明。
接着,对于利用ASM从图像中检测特征点位置的处理进行说明。首先,在作为处理对象的图像适当的初始位置处配置该人脸形状模型。接着,对于人脸形状模型的各节点,进行节点周边的多个特征量的取得。对所取得的多个特征量和预先与该节点对应地保持的特征量进行比较。把各节点移动到这些多个特征量取得位置中、取得了与各节点对应的特征量最接近的特征量的位置(即,判断为是与各节点对应的特征点的可能性最高的位置)。在该时刻,人脸形状模型的各节点的位置偏离初始位置。在此,把变形后的节点集合影射到人脸形状模型上而进行整形。反复执行从取得各节点周围的特征量起的处理,直到满足规定的次数或者一定的条件(收敛条件)。然后,把各节点的最终位置判断为各特征点的位置。
如上所述,在ASM中,在各节点的位置移动之后,进行向人脸形状模型的影射。通过该处理,可以检测出特征点的正确位置,而各节点的位置关系仍然保持像脸的形状。即,在从一般的人脸形状分析无论如何不可能的位置上偶然存在具有与特征点相似的特征量的部分的情况下,也可以防止把这样的点误检测为特征点。
但是,在以往的ASM中,需要在各节点中进行周围的搜索处理(特征量的取得和其比较)。因此,存在需要较多计算时间的缺点。此外,在以往的ASM中,存在鲁棒性低的问题。即,在作为处理对象的图像中的脸的朝向与配置在初始位置上的人脸形状模型中假设的脸的朝向存在较大差异的情况下,存在检测特征点时失败的情况较多的问题。
作为用于解决ASM这样的问题的技术,有AAM(Active AppearanceModel,主动表观模型)(参照非专利文献2)。在AAM中,如下这样求解特征点的位置。首先,与ASM的情况同样,对学习用的多个人脸图像取得特征点的位置,生成人脸形状模型。接着,取得各特征点位置的平均值,生成由所取得的各特征点各自的平均位置的集合构成的平均形状模型。接着,在学习用人脸图像中生成由各特征点构成的多个面片(patch),将各面片影射到平均形状模型上,生成自由形状图像(shape freeimage)(该处理称为“形状修正处理”)。自由形状图像是指通过把节点位置固定在平均形状的位置处,去除图像中由人脸的表情、脸的朝向、脸的个人差异等引起的节点位置的变动,仅留下浓淡信息的图像。面片是指把节点或特征点作为顶点而形成的面。然后,通过对自由形状图像的集合实施主成分分析,生成人脸亮度值模型(自由形状人脸亮度值模型)。接着,可以求出将人脸形状模型从正解位置向各方向微小地移位固定的量时的自由形状人脸亮度值向量。对于这些集合进行线性回归计算。由此,可以根据微小移位的人脸亮度值向量估计人脸形状模型向正解点的移动/变形方向以及移动/变形量。在AAM中,预先执行以上的处理作为学习处理。
接着,对利用AAM从图像中检测出特征点位置的处理进行说明。首先,在作为处理对象的图像的适当的初始位置处配置人脸形状模型。接着,根据所配置的人脸形状模型的节点位置生成面片,对各面片中的亮度分布进行采样。然后,通过对所采样的亮度分布进行影射,来生成自由形状人脸亮度值模型。
接着,根据该自由形状人脸亮度值模型,通过预先求出的回归式,估计人脸形状模型的移动/变形量。按照该估计结果对人脸形状模型进行移动/变形。反复执行以上的处理直到满足规定的次数或者一定的条件(收敛条件)。然后,把各节点的最终位置判断为各特征点的位置。
根据AAM,如上所述,可以检测出各特征点的位置,而不用进行各节点周围的搜索处理。因此,与ASM的情况不同,无需各节点周围的搜索处理所需的时间,可以削减计算时间。此外,通过对形状模型进行变形而进行搜索,因此与ASM的情况同样地,可以检测出特征点的正确的位置,而各节点的位置关系仍然保持像人脸的形状。
专利文献1日本特开平9-251534号公报专利文献2日本特开2000-97676号公报专利文献3日本特开2003-141551号公报非专利文献1A.Lanitis,C.J.Taylor,T.F.Cootes,“AutomaticInterpretation and Coding of Face Images Using Flexible Models”,IEEEPAMI Vol.19,No.7,pp743-756,July 1997非专利文献2T.F.Cootes,G.J.Edwards and C.J.Taylor,“ActiveAppearance Models”,IEEE PAMI Vol.23,No.6,pp681-685,2001但是,在AAM中存在以下这样的问题点。
为了通过AAM维持各特征点的位置检测的精度,需要在取得各面片的亮度分布时进行均匀且高密度的采样。因此,该采样和把亮度分布影射到平均形状模型上时的计算量变得庞大,需要较多的计算时间。而且,在AAM中,根据基于正解点周围的微小移位的线性回归,来估计人脸形状模型的移动量和变形量。因此,对于较大的移位不能进行正确的估计,不能得到正确的结果。
这样,在以往的使用ASM或AAM的处理中,在搜索处理和通过均匀且高密度的采样实现的亮度分布的形状修正处理等中需要较多的计算量,因此不能高速地进行特征点的检测。但是,如上所述,在人机界面等中,把特征点的检测结果用作为输入数据,因此大多数情况下要求响应性。因此,事实上对高速地进行特征点的检测的需求正在高涨。

发明内容
本发明的第一方面是根据所输入的图像来估计预定的对象物图像中的多个特征点的三维位置的特征点检测装置。此处所说的对象物只要是可以设定形状模型的对象物即可。例如,对象物可以是人的脸、人的整体(全身)、X射线图像或CT(Computed Tomography,计算机断层成像)图像中的内脏器官。换言之,本技术可以应用于具有较大个人差异的对象物和基本形状不变地进行变形的对象物。
本发明的第一方面的特征点检测装置具有模型生成单元、影射单元、特征量取得单元、存储单元、误差估计量取得单元以及估计单元。模型生成单元生成确定了与多个特征点分别对应的多个节点的三维位置的三维模型。各节点分别与作为检测对象的特征点相对应。此外,所生成的三维模型优选是假设三维模型的各节点影射到输入图像上的影射点接近与各节点对应的特征点的位置。因此,可以预先确定根据这样的基准而生成的三维模型的初始位置和姿势。例如,根据对象物大多位于画面中央且正面朝向进行拍摄的经验,可以把画面中央设为初始位置,姿势设为朝向正面。
影射单元把由三维模型确定的各节点影射到输入图像上,并计算其影射点在图像平面中的位置。
特征量取得单元从影射单元所影射的各节点的影射点周围的多个采样点取得特征量作为三维模型的各节点的节点特征量。作为特征量的具体例子,有像素的亮度值、Sobel滤波器特征量、HarrWavelet特征量、GaborWavelet特征量以及复合了这些特征量的值。此外,采样点的配置可以是非均匀且低密度。
存储单元存储预先执行的学习结果。通过对多个学习用图像进行学习处理来取得该学习结果。具体而言,预先作为学习结果取得关于以下所示的两个值的相关关系的信息。一个值是正解模型和误差模型之差,其中,正解模型是多个节点配置在分别对应的特征点的正确的三维位置上的三维模型,误差模型是多个节点中至少任一个配置在偏离了对应的特征点的正确位置的位置上的三维模型。另一个值是根据把误差模型影射到学习用图像上的影射点而取得的上述节点特征量。关于这样的两个值的相关关系的信息,例如通过典型相关分析、线性回归、多元线性回归、多元非线性回归等的分析手法取得。
误差估计量取得单元根据存储在存储单元中的相关关系的信息和特征量取得单元所取得的各节点的节点特征量,取得表示当前的三维模型的各节点位置和分别与之对应的特征点位置之间的偏差的误差估计量。
估计单元根据误差估计量取得单元所得到的误差估计量和当前的三维模型的各节点的位置,来估计所输入的图像中的各特征点的三维位置。即,特征点检测装置在估计单元所估计出的各三维位置上检测出各特征点。
根据本发明的第一方面,第一,无需形状修正处理。换言之,根据本发明的第一方面,不实施形状修正处理。因此,省去了此前花费在形状修正处理上的较多的处理,可实现处理的高速化。
根据本发明的第一方面,第二,无需在各节点周围进行搜索处理,也无需在由各节点构成的面片中进行面的高密度采样。因此,可以削减以往技术的这种采样所需的较多的计算量。
由于特征点的检测处理高速化,从而上述的人机界面可以高速地工作。例如,驾驶员监视系统由于其性质而要求响应性,可以解决以往未能实现的该要求。
本发明的第一方面可以还具备判定反复处理的结束的结束判定单元。结束判定单元例如可以构成为对执行反复处理的次数进行计数,在达到预定的次数时判定为结束。在还具有结束判定单元的情况下,模型生成单元在得到误差估计量的情况下,根据该误差估计量移动当前的各节点的位置,生成新的三维模型。然后,模型生成单元和误差估计量取得单元反复执行处理,估计单元根据该时刻的三维模型和由结束判定单元判定为结束时的误差估计量,来估计所输入的图像中的各特征点的三维位置。
根据这样构成的本发明的第一方面,根据基于误差估计量移动了各节点的三维位置后的新的三维模型,再次求出误差估计量,反复执行该处理。并且,根据由结束判定单元判定为该反复处理结束时的误差估计量和该时刻的三维模型,来估计各特征点的三维位置。因此,与根据三维模型对误差估计量进行一次获取来估计各特征点的三维位置的情况相比,其精度有所提高。
本发明的第一方面中的结束判定单元可以构成为在通过误差估计量取得单元所得到的误差估计量处于阈值以下时,判定为反复处理结束。通过这样构成,可以更加正确地检测各特征点的位置。
此外,本发明的第一方面中的模型生成单元可以在进行上述反复处理的情况下,根据反复次数来变更根据误差估计量生成新的三维模型的处理。例如,模型生成单元在反复处理的初期阶段中,根据误差估计量,在保持当前各节点的相对位置关系不变的情况下移动和/或旋转各节点,改变三维模型的姿势而生成新的三维模型。
本发明的第一方面优选人脸作为预定的对象物。并且,本发明的第一方面可以进一步具备从所输入的图像中至少检测出人的脸或人脸的要素(指包含在脸中的器官或部分,例如眼、鼻、口、额头等)的位置的人脸检测单元。在该情况下,模型生成单元根据检测出的人脸或人脸的要素的位置,决定三维模型中的各节点的三维位置。通过这样构成,各节点的初始位置变为适当的位置,即接近分别对应的特征点的位置。
在这样构成的本发明的第一方面中,使用特定于人脸检测单元所检测出的脸的大小的三维节点模型以及与该三维节点模型对应的相关关系的信息来进行特征点检测。
本发明的第二方面是使用表示人脸中的多个特征点的三维配置的三维人脸形状模型,来估计输入图像中的脸的特征点的三维配置的特征点检测装置。本发明的第二方面的特征点检测装置具有模型生成单元、影射单元、特征量取得单元、存储单元、误差估计量取得单元、变更单元以及估计单元。
模型生成单元生成表示人脸中的多个特征点的三维配置的三维人脸形状模型。
影射单元把模型生成单元所生成的三维人脸形状模型的各节点影射到所输入的图像平面上,决定影射点在图像平面中的位置。
特征量取得单元在影射单元所影射的三维人脸形状模型的各节点的影射点的位置周围离散地取得多个特征量,取得根据一个影射点而取得的多个特征量作为一个节点特征量。
存储单元存储通过典型相关分析而预先取得的变换向量矩阵作为误差估计矩阵,其中,该典型相关分析以表示正解三维人脸形状模型和误差三维人脸形状模型中的各节点的位置之差的向量的集合以及把误差三维人脸形状模型影射到学习用图像上而得到的节点特征量的集合作为输入。在此,正解三维人脸形状模型是指各节点配置在正确位置上的三维人脸形状模型,误差三维人脸形状模型是指至少任一个节点偏离正确位置而配置的三维人脸形状模型。
误差估计量取得单元根据存储在存储单元中的误差估计矩阵和特征量取得单元所取得的节点特征量的集合,取得表示三维人脸形状模型的各节点的当前位置和人脸的特征点位置之间的偏差的误差估计量。
变更单元根据由误差估计量取得单元所得到的误差估计量,变更当前的三维人脸形状模型的各节点位置。
此外,估计单元估计通过变更单元变更了位置之后的各节点位置作为特征点的位置。
根据这样构成的本发明的第二方面也可起到与本发明的第一方面同样的作用和效果。
第一和第二方面可以通过信息处理装置执行程序来实现。即,本发明可以把上述第一和第二方面中的各单元执行的处理具体化为用于使信息处理装置执行的程序或者记录该程序的记录介质。此外,本发明可以把上述各单元执行的处理具体化为信息处理装置执行的方法。此外,此处所示的信息处理装置可以是个人计算机、数字照相机、数字摄像机、安全防范摄像机、安装了数字照相机的便携电话、数字录像机、进行图像处理的服务器(可以是与网络连接的服务器)、数字照片打印机以及微型监测仪等。


图1是表示从人脸图像提取出的特征点的例子的图。
图2是表示Retina结构的例子的图。
图3是表示对于人脸形状模型具有的某一个节点应用了Retina结构时的采样点的分布例的图。
图4是表示偏差配置模型的例子的图。
图5是表示学习处理的处理例的流程图。
图6是表示特征点检测装置的功能模块的示例的图。
图7是表示特征点检测装置的动作例的流程图。
具体实施例方式
以往,如AAM那样,一般通过进行形状修正处理来进行误差估计(估计形状模型中的各节点向正解点移动的移动方向和移动量)。因此,至今为止没有研究过省去每当进行误差估计时的形状修正处理。但是,研究在以往的AAM中导致计算量增大的原因时,作为原因可以列举出认为必要的形状修正处理。因此,本发明人研究了可以检测特征点而不进行这样的形状修正处理的装置。
此外,以往为了较高地维持误差估计的精度,一般在各节点的周围实施高密度的采样。例如,在以往的AAM中,需要在由各节点构成的面片内进行均匀且高密度的采样(具体而言,通常为1万点以上的采样)。因此,至今为止,没有研究过每当进行误差估计时实施低密度的采样。但是,作为在以往的AAM中导致计算量增大的原因之一,也可以列举出这样的均匀且高密度的采样。因此,本发明人对于可以检测特征点而不进行这样的均匀且高密度的采样的装置进行了研究。
此外,以往在图像平面(二维)上捕捉特征点的位置。因此,为了得到对象物(例如,人的脸)的姿势,需要在确定图像平面上的特征点的位置之后,根据该特征点的位置来估计对象物的姿势。没有研究过利用三维来表示形状模型。但是,在使用三维模型作为形状模型的情况下,可以从检测出的特征点的位置直接求出对象物的姿势。因此,本发明人对于使用三维形状模型进行特征点检测的装置进行了研究。
本发明人对于这些研究的结果考虑如下。首先,在以往的AAM中的误差估计中,在由各节点构成的面片中实施采样。因此,当象面片这样作为面来捕捉采样结果时,节点会根据误差估计结果产生移动,导致形状变形,如果不通过形状修正处理对该形状变形进行修正,就难以维持处理的精度。然而,在对于各节点周围的多个点进行非均匀且低密度的采样的情况下,即使形状变形,点也不会变形,并且采样点密度低,因此难以受到伴随节点移动而引起的形状变形的影响。因此,不特别实施形状修正处理也可维持处理的精度。根据这样的研究结果,本发明人提出以下这样的特征点检测装置。
因此,本发明的目的在于,解决上述问题,提供可以从图像中高速检测出特征点位置的装置和程序等。
以下,把对象物设为人的脸,对于估计人脸的特征点的三维位置的特征点检测装置进行说明。在以下的说明中,人脸图像是指至少包括人物的脸的一部分或者全部图像的图像。因此,人脸图像可以包括人物整体的图像,也可以仅包括人物的脸或者上半身的图像。此外,人脸图像也可以包括多个人物的图像。而且,人脸图像也可以在其背景中包含人物以外的风景(背景也包括作为被摄体而被关注的物体)或图案等的任意图像。
本发明人在ASM中使用三维形状模型作为形状模型,而且通过组合基于可变Retina结构的特征量采样和基于典型相关分析的误差估计矩阵学习,而实现了高速的特征点检测。此外,通过该组合,实现了鲁棒性高的特征点检测。此外,通过该组合,甚至可以与特征点的检测同时进行人脸姿势的估计。以下,对于本发明人提出的技术进行说明。
首先,说明特征点检测所需的学习处理。接着,对于根据该学习处理的结果实施本发明人提出的特征点检测的特征点检测装置1说明其结构示例和动作示例等。接着,对于特征点检测装置1的结构可采用的变形例进行说明。
首先,对于使特征点检测装置1工作所需的学习处理进行说明。该学习处理需要预先实施,以便通过特征点检测装置1从人脸图像中检测出特征点的位置。首先,对于说明本学习处理的流程所需的处理、三维人脸形状模型的取得、三维人脸形状模型向图像平面的影射、Retina采样以及误差估计矩阵的取得进行说明。之后,对于学习处理的具体的流程示例进行说明。
<三维人脸形状模型的取得>
在学习处理中,首先准备多个学习用人脸图像(以下,在学习处理的说明中称为“人脸图像”)和各人脸图像中的特征点的三维坐标。例如,可以通过激光扫描仪或立体摄影机等的技术而取得特征点,也可以利用其它任何技术。为了提高学习处理的精度,也期望由人来实施该特征点提取处理。图1(a)是表示从人脸图像中提取出的特征点的示例的图。在图1(a)中,含有斜线的圆的中心位置作为特征点。具体而言,可以把双眼的两端(内侧眼角和外侧眼角)以及中心部分、左右颧骨部分(眼窝部分)、鼻子的顶点、左右嘴角、嘴的中心、鼻的左右端点和左右嘴角的中间点等作为特征点。此外,为了说明特征点的位置,图1(a)示为平面图形,但实际上如图1(b)所示,作为三维坐标来提取特征点。将各特征点pi的坐标设为pi(xi,yi,zi)。此时,i表示从1至n(n表示特征点的数量)的值。
接着,如式(1)这样定义关于各人脸图像的特征点配置向量。关于某一人脸图像j的特征点配置向量记为Xj。其中,X的维数为3n。
(式1)X=[x1,y1,z1,x2,y2,z2,……xn,yn,zn]T接着,根据适当的基准,对所取得的所有特征点配置向量X进行归一化。此时的归一化的基准可以由设计者适当决定。以下,对于归一化的具体例子进行说明。例如,关于某一人脸图像j的特征点配置向量Xj,当把点p1~pn的重心坐标设为pG时,把各点移动至以重心pG作为原点的坐标系中之后,可以使用由式2定义的Lm,对其大小进行归一化。具体而言,可以通过将移动后的坐标值除以Lm,来对大小进行归一化。在此,Lm是重心距各点的直线距离的平均值。
(式2)Lm=1nΣi=1n(xi-xG)2+(yi-yG)2+(zi-zG)2]]>此外,对于旋转,例如可以通过对特征点坐标进行旋转变换,以使连结双眼中心的直线朝向一定方向,来进行归一化。以上的处理能够以旋转、扩大/缩小的组合来表现,因此归一化后的特征点配置向量x可以如式3这样表示(相似变换)。
(式3)x=sRxRyRzX+tRx=1000cosθ-sinθ0sinθcosθ,Ry=cosφ0sinφ010-sinφ0cosφ,Rz=cosψ-sinψ0sinψcosψ0001t=txtytz]]>接着,对该归一化特征点配置向量的集合进行主成分分析。主成分分析例如可以如下这样进行。首先,按照式4取得平均向量(通过在x的上部标记水平线来表示平均向量)。此外,在式4中,N表示人脸图像的数量,即表示特征点配置向量的数量。
(式4)
x‾=1NΣj=1Nxj]]>然后,如式5所示,通过从所有的归一化特征点配置向量中减去平均向量,取得差分向量x’。关于图像j的差分向量表示为x’i。
(式5)x′j=xj-x作为上述的主成分分析的结果,可以得到3n个固有向量和固有值的组。任意的归一化特征点配置向量可以通过式6所示的公式来表示。
(式6)x=x+Pb其中,P表示固有向量矩阵,b表示形状参数向量。各自的值如式7所示。其中,ei表示固有向量。
(式7)P=[e1,e2,…,e3n]Tb=[b1,b2,…,b3n]实际上,通过使用固有值大的前k维为止的值,可以将任意的归一化特征点配置向量x如式8这样进行近似表示。以下,按照固有值从大到小的顺序,将ei称为第i主成分。
(式8)x=x+P′b′P′=[e1,e2,…,ek]Tb′=[b1,b2,…,bk]此外,在将人脸形状模型施加(拟合)到实际的人脸图像上时,对归一化特征点配置向量x进行相似变换(平移、旋转)。当设相似变换的参数为sx、sy、sz、sθ、s、sψ时,与形状参数一同,模型参数k可以如式9这样表示。
(式9)k=[sx,sy,sz,sθ,sφ,sψ,b1,b2,…,bk]在通过该模型参数k表示的三维人脸形状模型与某一人脸图像上的特征点位置几乎准确地一致的情况下,把该参数称为该人脸图像中的三维正解模型参数。根据由设计者设定的阈值或基准来判断是否准确地一致。
<影射处理>
通过把三维形状模型影射到二维平面上,可以进行二维图像上的处理。作为把三维形状影射到二维平面上的方法,存在平行投影法、透视投影法等的各种方法。在此,以透视投影法中的单点透视投影为例进行说明。但是,使用其它的任何方法也可以得到同样的效果。对z=0平面的单点透视投影矩阵如式10所示。
(式10)T=10000100000r0001]]>其中,r=-1/zc,zc表示z轴上的投影中心。由此,对三维坐标[x,y,z]如式11所示进行变换,在z=0平面上的坐标系中,如式12这样表示。
(式11)xyz110000100000r0001xy0rz+1]]>(式12)x*y*=xrz+1yrz+1]]>通过以上的处理,三维形状模型被影射到二维平面上。
<Retina采样>
接着,对特征量的采样进行说明。通过对影射到图像上的人脸形状模型组合可变Retina结构来进行特征量的采样。Retina结构是指在某一要关注的特征点(节点)周围呈放射状离散配置的采样点的结构。图2是表示Retina结构的示例的图。在图2中,要关注的特征点的坐标为原点,位于其它坐标的各点表示Retina结构中的采样点。通过实施基于Retina结构的采样,可以以低维且高效地对特征点周围的信息进行采样。在本学习处理中,在从三维人脸形状模型影射到二维平面上的人脸形状模型(以下,称为二维人脸形状模型)的各节点的影射点(各点p)处实施基于Retina结构的采样。此外,基于Retina结构的采样是指在根据Retina结构而确定的采样点处实施采样。
图3是表示对于二维人脸形状模型的某一个节点应用了Retina结构时的采样点的分布示例的图。在图3中,包含斜线的圆表示人脸形状模型的节点,黑圆点表示Retina结构中的采样点。
当把第i个采样点的坐标设为qi(xi,yi)时,Retina结构可以如式13这样表示。
(式13)r=[q1T,q2T,···,qmT]T]]>因此,例如对于某一点p(xp,yp),通过进行基于Retina结构的采样而得到的Retina特征量fp可以如式14这样表示。
(式14)fp=[f(p+q1),…,f(p+qm)]T其中,f(p)表示点p(采样点p)处的特征量。此外,在Retina结构中的各采样点处,作为该采样点的特征量取得图像的亮度值、Sobe1滤波器特征量、HarrWavelet特征量、GaborWavelet特征量或复合了这些特征量的值。在特征量为多维的情况下,Retina特征量可以如式15这样表示。
(式15)fp=[f1(p+q1(1)),···,fD(p+q1(D)),···,f1(p+qm(1))···,fD(p+qm(D))]T]]>其中,D是特征量的维数,fD(p)表示点p的第D维的特征量。此外,qi(d)表示与第d维相对的Retina结构的、第i个采样坐标。
此外,Retina结构可以与人脸形状模型的缩放相应地改变其大小。例如,可以与平移参数sz成反比地改变Retina结构的大小。此时,Retina结构r可以如式16这样表示。其中,α是适当的固定值。此外,Retina结构可以与人脸形状模型中的其它参数相应地进行旋转和形状变化。此外,Retina结构可以设定为因人脸形状模型的各节点而形状(结构)各异。此外,Retina结构可以是仅中心点一点的结构。即,仅把特征点(节点)作为采样点的结构也包括在Retina结构之内。
(式16)r=αsz-1[q1T,q2T,···,qmT]T]]>在由某一模型参数确定的三维人脸形状模型中,把针对影射到影射平面上的各节点的影射点进行上述的采样而得到的Retina特征量排列为一列而成的向量定义为该三维人脸形状模型中的采样特征量f。采样特征量f可以如式17这样表示。在式17中,n表示人脸形状模型中的节点的数量。
(式17)f=[fp1T,fp2T,···,fpnT]T]]>此外,在采样时,在各节点进行归一化。例如,可以进行缩放变换以使特征量收敛于0至1的范围内,由此进行归一化。此外,可以通过进行变换以得到一定的均值或方差来进行归一化。此外,根据特征量不同,有时不进行归一化也可。
<误差估计矩阵的取得>
接着,对本学习处理中执行的误差估计矩阵的取得进行说明。误差估计矩阵的取得通过使用典型相关分析(Canonical Correlation Analysis)来实施。典型相关分析是求两个维数不同的变量之间的相关关系的方法中的一种。通过典型相关分析可得到表示当人脸形状模型的各节点配置在错误位置(与应检测的特征点不同的位置)上时应向哪个方向进行修正的相关关系学习结果。
首先,根据学习用人脸图像的特征点的三维位置信息生成三维人脸形状模型。或者,根据学习用人脸图像的二维正解坐标点生成三维人脸形状模型。然后,根据三维人脸形状模型生成正解模型参数。通过利用随机数等将该正解模型参数散开在一定范围内,生成至少任一节点偏离了特征点的三维位置的偏离配置模型。图4是表示把偏离配置模型影射到学习用人脸图像上时的各节点的影射点的示例的图。在图4中,包含斜线的圆表示影射点的位置。图4(a)是表示将某一人脸图像的正解模型参数影射到学习用人脸图像上而得到的各节点的影射点的位置的图。图4(b)是表示将通过对图4(a)中所示的正解模型(利用正解模型参数表示的三维人脸形状模型)进行移位而生成的偏离配置模型影射到学习用人脸图像上而得到的各节点的影射点的位置的图。然后,把根据偏离配置模型而取得的采样特征量以及偏离配置模型与正解模型之差作为组,取得关于相关关系的学习结果。以下,说明具体的处理。
首先,如式18所示那样定义两组变量向量x和y。x表示对偏离配置模型的采样特征量。y表示正解模型参数(kopt)与偏离配置模型参数(表示偏离配置模型的参数kdif)之差。
(式18)x=[x1,x2,…xp]Ty=[y1,y2,…yq]T=kopt-kdif预先对于每个维将两组变量向量归一化为均值为0、方差为1。在后述的特征点检测处理中需要归一化所用到的参数(各维的均值、方差)。以下,分别设为xave、xvar、yave、yvar,称为归一化参数。
接着,在如式19所示对两个变量的线性变换进行定义后,求解使得u、v之间的相关度为最大的a、b。
(式19)u=a1x1+…+apxp=aTxv=b1y1+…+bqyq=bTy上述a和b是在考虑x、y的同时分布,如式20这样定义了其方差协方差矩阵∑的情况下,作为式21所示的对于求解一般固有值问题时的最大固有值的固有向量而得到。
(式20)Σ=ΣXXΣXYΣYXΣYY]]>(式21)(ΣXYΣYY-1λYX-λ2ΣXX)A=0]]>(ΣYXΣXX-1ΣXY-λ2ΣYY)B=0]]>
这些之中,先求解维数低的固有值问题。例如,在求解第1个式子得到的最大固有值为λ1,所对应的固有向量为a1时,向量b1可以利用式22来得到。
(式22)b1=1λ1ΣYY-1ΣYXa1]]>这样求得的λ1称为第一典型相关系数。此外,利用式23表示的u1、v1称为第一典型变量。
(式23)u1=a1Tx]]>v1=b1Ty]]>以下,如与第二大的固有值对应的第二典型变量、与第三大的固有值对应的第三典型变量这样,根据固有值的大小依次求解。此外,在后述的特征点的检测处理中使用的向量为固有值具有一定以上的值(阈值)的第M典型变量为止的向量。此时的阈值可以由设计者适当决定。以下,把第M典型变量为止的变换向量矩阵设为A’、B’,称为误差估计矩阵。A’、B’可以如式24那样表示。
(式24)A′=[a1,…,aM]B′=[b1,…,bM]B’一般不为正方矩阵。但是,在特征点的检测处理中需要逆矩阵,因此对B’假想地追加0向量,成为正方矩阵B”。正方矩阵B”可以如式25这样表示。
(式25)B″=[b1,…,bM,0,…,0]此外,也可以利用线性回归、多元线性回归、多元非线性回归等的分析手法来求解误差估计矩阵。但是,通过使用典型相关分析,可以忽略与较小的固有值对应的变量的影响。因此,可以排除不对误差估计带来影响的要素的影响,可以实现更加稳定的误差估计。因此,如果不需要相关的效果,则可以不使用典型相关分析而使用上述的其它的分析方法来取得误差估计矩阵。此外,误差估计矩阵可以通过SVM、RVM等的方法来取得。
<学习处理的流程>
以上,对于本学习处理所需的三个处理,即人脸形状模型的取得、Retina采样以及误差估计矩阵的取得进行了说明。接着,对使用这些处理进行学习处理时的流程进行说明。图5是表示学习处理的流程示例的流程图。以下,使用图5对于学习处理的流程的示例进行说明。此外,以下说明的处理通过安装了学习处理程序的信息处理装置来执行。该信息处理装置构成为可以从所连接的存储装置中读出学习用人脸图像和从各人脸图像中预先提取的各特征点的三维坐标位置(特征点的正解坐标)。该信息处理装置不限于上述的从存储装置读出,也可构成为经由网络或者通过访问记录介质等来读出上述数据。
首先,定义变量i,代入1(S01)。接着,在预先取得了特征点的三维位置的学习用人脸图像之中,读入第i个人脸图像(Img_i)(S02)。在此,因为把1代入了i,因此读入第1个人脸图像(Img_1)。接着,读出人脸图像Img_i的特征点正解坐标的集合,取得正解模型参数kopt,生成三维人脸形状模型(正解模型)(S03)。接着,根据正解模型参数kopt生成偏离配置模型参数kdif,生成偏离配置模型(S04)。该偏离配置模型的生成优选是产生随机数而在预定的范围内偏离正解模型。接着,把偏离配置模型影射到学习图像上(S05)。然后,根据影射了偏离配置模型的二维形状模型,执行使用了Retina结构的采样,取得采样特征量f_i(S06)。此外,根据正解模型参数kopt和偏离配置模型参数kdif,取得形状模型的误差(偏差)dp_i(S07)。在此,判断对于全部的学习用人脸图像的处理是否已经完成(S08)。例如,可以通过比较i值和表示学习用人脸图像的数量的n来进行判断。在存在未处理的人脸图像的情况下(S08-“否”),增加i值(S09),根据新的i值执行S02起的处理。另一方面,当判断为对于全部的人脸图像已完成处理的情况下(S08-“是”),对于从各人脸图像得到的采样特征量f_i和形状模型的误差dp_i的集合执行典型相关分析(S10)。然后,删除与比预先确定的阈值小的固定值对应的不需要的相关矩阵(S11),最终取得误差估计矩阵(S12)。
在上述的处理中,对各学习用图像仅生成1个偏离配置模型,但也可以生成多个偏离配置模型。即,对于学习用图像可以多次(例如10-100次)执行从S03至S07的处理。
接着,对于特征点检测装置1进行说明。特征点检测装置1根据通过上述的学习处理而得到的误差估计矩阵和归一化参数等,从所输入的人脸图像中检测特征点。首先,对于特征点检测装置1的装置结构进行说明。
<装置结构>
例如,特征点检测装置1在硬件上可以构成为具有经由总线而连接的CPU(中央运算处理装置)、主存储装置(RAM)和辅助存储装置等。在该情况下,通过CPU执行程序来实现特征点检测装置1。此处言及的辅助存储装置使用非易失性存储装置来构成。非易失性存储装置是指所谓ROM(Read-Only Memory,只读存储器包括EPROM(ErasableProgrammable Read-Only Memory,可擦可编程只读存储器),EEPROM(Electrically Erasable Programmable Read-Only Memory,电可擦可编程只读存储器),Mask ROM等),FeRAM(Ferroelectric RAM,铁电随机存取存储器)和硬盘等。
图6是表示特征点检测装置1的功能模块示例的图。特征点检测装置1通过把存储在辅助存储装置中的各种程序(OS、应用程序等)加载到主存储装置中并通过CPU来执行,从而起到包括图像输入部2、人脸检测部3、特征量取得部4、学习结果存储部5以及误差估计部6等的装置的作用。此外,特征点检测装置1的全部或者一部分可以构成为专用的芯片。接着,对于特征点检测装置1包括的各功能部进行说明。
图像输入部2起到用于向特征点检测装置1输入人脸图像数据的接口的作用。通过图像输入部2向特征点检测装置1输入人脸图像数据。可以使用任意一种用于向特征点检测装置1输入人脸图像数据的现有技术来构成图像输入部2。
例如,可以经由网络(例如,局域网或因特网)向特征点检测装置1输入人脸图像数据。在该情况下,图像输入部2使用网络接口来构成。此外,也可以从数字照相机、扫描仪、个人计算机、记录装置(例如,硬盘驱动器)等向特征点检测装置1输入人脸图像数据。在该情况下,图像输入部2按照将数字照相机、个人计算机、记录装置等与特征点检测装置1可数据通信地进行连接的标准(例如USB(Universal Serial Bus,通用串行总线)、SCSI(Small Computer System Interface,小型计算机系统接口)等的有线连接或bluetooth(蓝牙)(注册商标)等的无线连接的标准)而构成。此外,也可以向特征点检测装置1输入记录在记录介质(例如各种闪存、软盘(Floppy Disk,注册商标)、CD(Compact Disk,光盘)或DVD(Digital Versatile Disc,Digital Video Disc数字通用光盘,数字视频光盘))中的人脸图像数据。在该情况下,使用从记录介质读出数据的装置(例如闪存读取器、软盘(注册商标)驱动器、CD驱动器或DVD驱动器)来构成图像输入部2。
此外,特征点检测装置1可以包含在数字照相机等的摄像装置或具有数字照相机等摄像装置的各种装置(例如PDA(Personal DigitalAssistant,个人数字助理)或便携电话机)的内部,所拍摄的图像可以作为人脸图像的数据输入到特征点检测装置1。在该情况下,可以使用CCD(Charge-Coupled Devices,电荷耦合器件)或CMOS(ComplementaryMetal-Oxide Semiconductor,互补金属氧化物半导体)传感器等来构成图像输入部2,也可以构成为用于向特征点检测装置1输入利用CCD或CMOS传感器等拍摄的人脸图像数据的接口。此外,特征点检测装置1可以包含在打印机或显示器等的图像输出装置的内部,作为输出数据输入给这些图像输出装置的图像也可以作为人脸图像数据输入到特征点检测装置1。在该情况下,采用将输入到这些图像输入装置中的人脸图像数据转换为在特征点检测装置1中可处理的数据的装置等来构成图像输入部2。
此外,图像输入部2可以构成为可应对上述多个情况。
人脸检测部3从经由图像输入部2输入的人脸图像中检测人的脸。人脸检测部3可以构成为例如使用与人脸的整体轮廓相对应的标准模板进行模板匹配,从而检测人脸。此外,人脸检测部3可以构成为通过基于人脸的构成要素(眼、鼻、耳等)的模板匹配来检测脸。此外,人脸检测部3可以构成为通过色度键(chroma key)处理检测头部等的顶点,根据该顶点来检测出脸。此外,人脸检测部3可以构成为检测接近皮肤颜色的区域,检测出该区域作为人脸。此外,人脸检测部3可以构成为通过神经网络(neural network)进行基于训练信号的学习,检测出像脸的区域作为人脸。此外,人脸检测部3的人脸检测处理也可以通过应用现有的其它任何技术来实现。
人脸检测部3确定所检测出的脸的位置,把该位置传递给特征量取得部4。此时,人脸检测部3可以构成为取得脸的朝向或脸的大小,再把该值传递给特征量取得部4。
特征量取得部4从人脸检测部3检测出的人脸图像中取得采样特征量。以下,对于特征量取得部4的具体处理进行说明。
在对人脸检测部3检测出的人脸初次取得采样特征量的情况下,特征量取得部4首先确定三维人脸形状模型中的各节点的三维位置,取得该形状模型的参数(初始参数)kinit。该三维形状模型可以是例如检测出的人脸的中心与三维人脸形状模型的中心一致的形状。此外,在例如利用人脸检测部3取得脸矩形(包围检测出的脸的矩形)的情况下,三维形状模型可以是从该脸矩形的某一顶点(例如左上角)到预定的位置配置了人脸形状模型的预定节点的形状。如果对检测出的人脸恰当地配置了节点,则特征量取得部4生成的三维人脸形状模型的其它部分可以由设计者任意定义。各节点与作为检测对象的特征点分别对应。此外,所生成的三维模型的位置优选是三维模型的各节点影射到输入图像上的影射点接近与各节点相应的特征点。因此,可以预先确定根据这样的基准所生成的三维模型的初始位置和姿势。例如,根据对象物大多位于画面中央且朝向正面拍摄的经验,可以把画面中央设为初始位置,姿势设为朝向正面。
此外,初始参数kinit是指在由式9表示的模型参数k中利用初始值表示的模型参数。可以对初始参数kinit设定适当的值。通过对初始参数kinit设定从一般的人脸图像中得到的平均值,可以应对各种人脸的朝向和表情变化等。因此,例如,对于相似变换的参数sx、sy、sz、sθ、s、sψ,可以使用在学习处理时使用的人脸图像的正解模型参数的平均值。此外,例如也可以将形状参数b设为0。此外,在利用人脸检测部3得到人脸的朝向信息的情况下,可以使用该信息来设定初始参数。此外,可以把设计者根据经验得到的其它值设为初始参数。
接着,特征量取得部4把利用所设定的初始参数表示的人脸形状模型影射到所输入的人脸图像上。然后,特征量取得部4使用所影射的形状模型实施基于Retina结构的采样,取得采样特征量f。然后,特征量取得部4向误差估计部6传递所得到的采样特征量f。
另一方面,在第二次以后对由人脸检测部3检测出的脸获取采样特征量时,特征量取得部4对于由误差估计部6得到的新的模型参数k(即,正解模型参数的估计值ki+1)表示的人脸形状模型,取得采样特征量f。然后,在该情况下,特征量取得部4也向误差估计部6传递所得到的采样特征量f。
学习结果存储部5使用非易失性存储装置来构成,存储通过上述学习处理而得到的学习结果。具体而言,学习结果存储部5存储误差估计矩阵、归一化参数等。此外,根据需要,学习结果存储部5可以进一步存储初始参数kinit或构成初始参数kinit的值的一部分(例如,在学习处理时使用的人脸图像的正解模型参数中的相似变换参数的平均值等)。
误差估计部6根据特征量取得部4所取得的采样特征量f以及存储在学习结果存储部5中的误差估计矩阵和归一化参数等,来估计误差量并取得新的模型参数k。以下,对于误差估计部6的具体的处理例进行说明。
首先,误差估计部6使用归一化参数(xaye,xvar),对特征量取得部4所取得的采样特征量f进行归一化,取得用于进行典型相关分析的向量x。然后,误差估计部6根据式26所示的公式计算第一至第M典型变量,从而取得变量u。
(式26)u=[u1,…,uM]T=A′Tx接着,误差估计部6使用式27所示的公式取得归一化误差估计量y。此外,在式27中,当B’不为正方矩阵时,B’T-1为B’的伪逆矩阵。
(式27)y=B′′T-1u′]]>接着,误差估计部6使用归一化参数(yave,yvar)对归一化误差估计量y进行复原处理,取得误差估计量kerr。Kerr是从当前的模型参数ki至正解模型参数kopt的误差估计量。因此,正解模型参数的估计值ki+1可以通过对当前的模型参数ki加上误差估计量kerr来取得。其中,kerr有可能包含误差。因此,为了进行更加稳定的检测,可以利用式28所示的公式取得正解模型参数的估计值ki+1。在式28中,σ是适当的固定值,可以由设计者适当决定。此外,σ可以例如随i的变化而变化。
(式28)ki+1=ki+kerrσ]]>优选误差估计部6反复进行上述的采样、误差估计,使得正解模型参数的估计值kj接近正解参数。在进行这样的反复处理的情况下,误差估计部6每当得到估计值ki时,就进行结束判定。例如,当i的值超过阈值时,误差估计部6可以判定为结束处理。此外,例如式29所示的Δk的值在阈值以下时,误差估计部6可以判定为结束处理。此外,误差估计部6可以根据所取得的ki+l的值是否在正常范围内来进行结束判定。例如,在所取得的ki+1的值明显不是表示人脸图像中的正解位置的情况下,误差估计部6可以通过输出错误来决定结束。此外,在由所取得的kj+1表示的节点的一部分超出处理对象图像的情况下,误差估计部6也可以通过输出错误来决定结束。
(式29)Δk=ki+1-ki在判定为继续进行处理的情况下,误差估计部6向特征量取得部4传递所取得的正解模型参数的估计值ki+1。另一方面,在判定为结束处理的情况下,误差估计部6把在该时刻得到的正解模型参数的估计值ki(或者可以为ki+1)作为最终估计参数kest输出。
<工作例>
图7是表示特征点检测装置1的动作例的流程图。以下,使用图7对特征点检测装置1的动作例进行说明。首先,特征点检测装置1经由图像输入部2读入作为处理对象的图像(S20)。接着,人脸检测部3从作为处理对象的图像中检测人脸。接着,特征量取得部4按照人脸检测部3的人脸检测处理的结果在所得到的初始位置处配置基于初始参数kinit的三维人脸形状模型(S21)。接着,特征量取得部4定义变量i并将1代入。并且,特征量取得部4定义ki并将初始参数kinit代入(S22)。然后,特征量取得部4将以ki表示的三维人脸形状模型影射到处理对象图像上(S23)。特征量取得部4按照影射后的二维形状模型取得采样特征量f(S24)。
接着,误差估计部6通过使用所取得的采样特征量f或存储在学习结果存储部5中的误差估计式等,取得三维形状模型ki和正解模型参数之间的估计误差kerr(S25)。误差估计部6根据估计误差按照式28计算正解模型参数的估计值ki+1(S26)。接着,误差估计部6作为ki+1和ki之差计算出Δk(S27),作为Δk的平方计算出E(S28)。然后,误差估计部6进行结束判定。
在结束判定中,误差估计部6首先判断所取得的ki+1的值是否在正常范围内(S29)。当ki+1的值不在正常范围内时(S29-“否”),误差估计部6对未图示的输出装置等输出错误(S30),特征点检测装置1结束处理。另一方面,当ki+1的值在正常范围内时(S29-“是”),判断在S28的处理中取得的E值是否超过阈值(ε)(S31)。当E未超出阈值时(S31-“是”),误差估计部6把处理当为收敛,输出kest(S32),结束作为特征点检测装置1的处理。
另一方面,当E超出阈值时(S31-“否”),误差估计部6向特征量取得部4传递ki+1的值。然后,特征量取得部4根据该ki+1的值生成新的三维人脸形状模型(S33)。之后,误差估计部6增加i的值(S34)。特征量取得部4将新的三维人脸形状模型影射到处理对象图像上来进行采样特征量f的取得等。即,在该情况下,根据新的三维人脸形状模型重复S23起的处理。
<作用/效果>
在以往的ASM中,需要在人脸形状模型的各节点周围反复进行搜索处理。此外,在以往的AAM中,需要在由各节点构成的面片内进行均匀且高密度的采样,进而对该结果进行形状修正处理。具体而言,在以往的AAM中,通常需要1万点以上的采样。即,尽管对于特征点的检测处理要求处理速度和响应性,但在以往的这些技术中,未能充分实现计算量的削减。
另一方面,在特征点检测装置1中,第一,不需要形状修正处理。而且,在特征点检测装置1中,通过基于Retina结构的非均匀且低密度的采样,进行特征点的检测处理。具体而言,通常可以通过几百点左右的采样进行检测处理。这样,根据特征点检测装置1,与以往相比可以大幅削减特征点的检测所需的计算量。此外,因为采样点变少,可以抑制作为学习结果而保存的数据量。
此外,在特征点检测装置1中,通过典型相关分析求解误差估计矩阵,因此可以预先排除导致预测误差的多余要素的影响。此外,可以仅通过线性运算进行误差估计,因此可以高速地进行误差估计处理。
此外,特征点检测装置1使用人脸形状模型进行特征点的搜索,因此在处理对象的人脸图像中,即使一部分特征点被遮蔽或者与学习图像的人脸存在较大差异,也可以稳定地检测特征点。而且,作为人脸形状模型使用三维人脸形状模型,因此可以得到更加高精度的稳定的结果。
此外,因为使用三维人脸形状模型,所以可以直接从检测过程或者检测结果求出人脸姿势(人脸朝向的方向和其角度)。即,可以由特征点检测装置1输出的人脸形状模型参数中包含的参数sθ、s、sψ求出人脸的姿势。
<变形例>
当关于三维模型的姿势的误差变为预定的阈值以下后,也可以根据误差估计量来改变当前各节点的相对位置而生成新的三维模型。通过采取这样的结构,对于输入图像中出现的对象物的朝向变化可以进行鲁棒的特征点检测。
人脸检测单元可以构成为进一步检测人脸的朝向。在该情况下,模型生成单元可以构成为具有确定了各节点的三维位置的三维节点模型,根据由人脸检测单元检测出的人脸的朝向,对三维节点模型进行变形来使用。例如,当由人脸检测单元检测出脸的朝向为向左时,模型生成单元可以旋转三维节点模型的各节点以匹配向左的脸。模型生成单元还可以构成为在检测出其它方向的人脸的情况下,也对各个方向进行上述的旋转处理。通过这样的构成,与不变形地使用预先准备的三维节点模型的情况相比,可以更加准确地检测各特征点的位置。
人脸检测单元可以构成为还检测人脸的大小。在该情况下,模型生成单元可以构成为具有确定了三维模型中的各节点的三维位置的三维节点模型,根据由人脸检测单元检测出的脸的大小,对三维节点模型进行变形来使用。例如,模型生成单元可以构成为根据由人脸检测单元检测出的脸的大小,放大或缩小三维节点模型来进行使用。通过这样的构成,与不变形地使用预先准备的三维节点模型的情况相比,可以更加准确地检测各特征点的位置。
人脸检测单元可以构成为还检测人脸的朝向。在该情况下,模型生成单元可以构成为根据人脸的朝向具有多个确定了三维模型中的各节点的三维位置的三维节点模型。例如,模型生成单元可以构成为具有与朝右的脸、朝向正面的脸、朝左的脸、朝上的脸、朝下的脸分别对应的三维节点模型。此外,存储单元可以构成为存储与利用分别拍摄对应朝向的脸而得的学习用图像而预先得到的各三维节点模型对应的相关关系的信息。此外,模型生成单元可以构成为根据由人脸检测单元检测出的脸的朝向,选择所使用的三维节点模型。并且,误差估计量取得单元可以构成为从存储单元中读出与模型生成单元所选择的三维节点模型对应的相关关系的信息并使用。
在这样构成的本发明的第一方面中,使用特定于人脸检测单元所检测出的脸朝向的三维节点模型、以及与该三维节点模型对应的相关关系的信息,进行特征点检测。
人脸检测单元可以构成为还检测人脸的大小。在该情况下,模型生成单元可以构成为根据人脸的大小具有多个确定了三维模型中的各节点的三维位置的三维节点模型。此外,存储单元可以构成为存储与利用分别拍摄对应大小的脸所得的学习用图像而预先得到的各三维节点模型对应的相关关系的信息。此外,模型生成单元可以构成为根据由人脸检测单元检测出的人脸的大小,选择所使用的三维节点模型。并且,误差估计量取得单元可以构成为从存储单元中读出与模型生成单元所选择的三维节点模型对应的相关关系的信息并使用。
特征量取得单元取得节点特征量的采样点可以离散地配置在节点的影射点的周围。本发明第一方面中的特征量取得单元取得节点特征量的采样点可以构成为越接近节点的影射点就越密,越远离节点的影射点就越稀疏。此外,本发明第一方面中的特征量取得单元取得节点特征量的采样点可以构成为具有Retina结构。此外,本发明第一方面的特征量取得单元可以构成为存储多个不同的Retina结构,按照与各节点的影射点对应的Retina结构,确定多个采样点。
学习结果存储部5可以预先存储表示多个人脸的状态的初始参数kinit。例如,学习结果存储部5可以存储与朝向侧面的脸或者朝向上方的脸等相对应的初始参数kinit的值。并且,特征量取得部4可以随所取得的ki+1的值而改变所使用的人脸形状模型。例如,预先确定各初始参数负责的人脸形状模型的范围。特征量取得部4可以构成为在误差估计部6新取得的ki+1的值离开所采用的初始参数的负责范围时,丢弃该ki+1的值,从学习结果存储部5中读出与所采用的初始参数kinit不同的另一初始参数,根据该值再次执行S21起的处理。
此外,特征量取得部4例如在反复执行特征点的检测处理时,可以根据某一时刻得到的ki+1的值,改变与接下来输入的人脸图像对应的检测处理中使用的人脸形状模型。在作为处理对象的图像中包含的脸朝向侧方的情况时等,使用表示朝向侧面的脸的人脸形状模型的初始参数进行处理,与使用由ki+1表示的模型继续进行处理相比,有时可以得到更加高精度的结果。因此,在这样的情况下,按照上述的变形例来构成是有效的。
通过这样的构成,可以应对更大的人脸姿势的变化。
此外,特征量取得部4可以构成为不切换初始参数kinit,而切换Retina结构或误差估计矩阵等。例如,可以考虑固定形状参数而仅改变移动/旋转的参数来进行初始的正解模型参数估计,在基本上确定了移动/旋转参数之后,进行形状参数的估计处理。即,在初始的模型参数估计中,利用误差估计量kerr中的与移动和旋转相关的参数sx、sy、sz、sθ、s、sψ,使模型参数接近正解参数。然后,当与移动和旋转相关的参数收敛时,利用误差估计量kerr中的形状参数b1、b2、…、bk使模型参数接近正解参数。通过这样的构成,可以实现对于人脸朝向的变化鲁棒的特征点检测/脸姿势估计。此外,可以减少一次使用的参数的维数,因此可以高速地进行处理。此外,可以采取与反复处理的次数相应地增大形状参数的变化的结构。
此外,误差估计部6可以不进行结束判定,而输出在该时刻得到的ki+1的值作为kest。
此外,特征点检测装置1可以构成为不具备人脸检测部3。在该情况下,特征量取得部4可以构成为例如通过把画面中央设为初始位置来进行处理。此外,人脸检测部3可以设在特征点检测装置1的外部,将检测出的人脸的位置信息与人脸图像一起输入到特征点检测装置1中。
此外,人脸检测部3可以构成为不检测人脸而检测人的眼、口或其它特征点。在该情况下,特征量取得部4可以构成为根据这些特征点的位置决定初始位置。
此外,特征量取得部4可以根据Retina结构以外的结构进行采样点的配置。例如,特征量取得部4可以从离散地配置在节点的影射点周围的多个点中取得特征量。
此外,把特征点检测装置1作为以人脸作为对象物而估计人脸的特征点位置的装置进行了说明,但对象物可以是人脸以外的物体。例如,特征点检测装置1可以把人的整体(全身)、X射线图像或CT图像中的内脏器官等在大小上存在个人差异的对象物或者不改变基本形状地进行变形的对象物作为对象来估计特征点的位置。此外,特征点检测装置1也可以对汽车等工业产品这样的不变形的刚体设定形状模型,因此可以把这样的刚体作为对象物来估计其特征点的位置。
作为本发明的效果,可以更加高速地实现特征点的检测处理。
权利要求
1.一种特征点检测装置,该特征点检测装置根据所输入的图像来估计预定的对象物图像中的多个特征点的三维位置,其特征在于,该特征点检测装置具有模型生成单元,其生成确定了与所述多个特征点分别对应的多个节点的三维位置的三维模型;影射单元,其将由所述三维模型确定的各节点影射到所述图像上;特征量取得单元,其从所述影射单元所影射的各节点的影射点周围的多个采样点中取得特征量,作为所述三维模型的各节点的节点特征量;存储单元,其预先存储关于学习用图像中正解模型和误差模型之差与节点特征量之间的相关关系的信息,其中,该正解模型为多个节点三维配置在分别对应的特征点的正确位置上的模型,该误差模型为多个节点中的至少任一节点三维配置在偏离了对应特征点的正确位置的位置上的模型,该节点特征量是根据所述误差模型影射到学习用图像上的影射点而取得的;误差估计量取得单元,其根据存储在所述存储单元中的所述相关关系的信息和由所述特征量取得单元所取得的各节点的节点特征量,取得表示当前的三维模型与分别对应的特征点位置之间的偏差的误差估计量;以及估计单元,其根据由所述误差估计量取得单元所得到的误差估计量和当前的三维模型,来估计所输入的图像中的各特征点的三维位置。
2.根据权利要求1所述的特征点检测装置,其特征在于,该特征点检测装置还具有判定反复处理的结束的结束判定单元,在得到所述误差估计量的情况下,所述模型生成单元根据该误差估计量,移动当前各节点的位置,生成新的三维模型;所述模型生成单元和所述误差估计量取得单元反复执行处理;所述估计单元根据在由所述结束判定单元判定为结束时的误差估计量和该时刻的三维模型,来估计所输入的图像中的各特征点的三维位置。
3.根据权利要求2所述的特征点检测装置,其特征在于,当所述误差估计量取得单元所得到的误差估计量变为阈值以下时,所述结束判定单元判定为反复处理的结束。
4.根据权利要求2或3所述的特征点检测装置,其特征在于,所述模型生成单元在反复处理的初期阶段中,根据所述误差估计量,保持当前各节点的相对位置关系不变而进行移动和/或旋转,来生成改变了姿势的新的三维模型,当关于三维模型的姿势的误差变为预定的阈值以下之后,所述模型生成单元还根据所述误差估计量改变当前各节点的相对位置,来生成新的三维模型。
5.根据权利要求1所述的特征点检测装置,其特征在于,所述对象物是人的脸。
6.根据权利要求5所述的特征点检测装置,其特征在于,所述特征点检测装置还具有人脸检测单元,该人脸检测单元从所述输入的图像中至少检测出人脸或人脸要素的位置,所述配置单元根据所述检测出的人脸或人脸要素的位置,来决定所述三维模型中的各节点的三维位置。
7.根据权利要求6所述的特征点检测装置,其特征在于,所述人脸检测单元还检测人脸的朝向,所述模型生成单元具有确定了三维模型中的各节点的三维位置的三维节点模型,所述模型生成单元根据由所述人脸检测单元检测出的脸的朝向,对所述三维节点模型进行变形来使用。
8.根据权利要求6所述的特征点检测装置,其特征在于,所述人脸检测单元还检测人脸的大小,所述模型生成单元具有确定了三维模型中的各节点的三维位置的三维节点模型,所述模型生成单元根据由所述人脸检测单元检测出的脸的大小,对所述三维节点模型进行变形来使用。
9.根据权利要求6所述的特征点检测装置,其特征在于,所述人脸检测单元还检测人脸的朝向,所述模型生成单元与脸的朝向相应地具有多个确定了三维模型中的各节点的三维位置的三维节点模型,所述存储单元存储与使用拍摄分别对应的朝向的脸所得的所述学习用图像而预先得到的各三维节点模型相对应的所述相关关系的信息;所述模型生成单元根据由所述人脸检测单元检测出的脸的朝向,选择要使用的三维节点模型;所述误差估计量取得单元从所述存储单元中读出并使用与所述模型生成单元选择的三维节点模型相对应的所述相关关系的信息。
10.根据权利要求6所述的特征点检测装置,其特征在于,所述人脸检测单元还检测人脸的大小;所述模型生成单元与脸的大小相应地具有多个确定了三维模型中的各节点的三维位置的三维节点模型;所述存储单元存储与使用拍摄分别对应的大小的脸所得的所述学习用图像而预先得到的各三维节点模型相对应的所述相关关系的信息;所述模型生成单元根据由所述人脸检测单元检测出的脸的大小,选择要使用的三维节点模型;所述误差估计量取得单元从所述存储单元中读出并使用与所述模型生成单元选择的三维节点模型相对应的所述相关关系的信息。
11.根据权利要求1所述的特征点检测装置,其特征在于,所述多个采样点离散地配置在节点的影射点的周围。
12.一种特征点检测装置,该特征点检测装置使用表示人脸中的多个特征点的三维配置的三维人脸形状模型,来估计输入图像中的脸的特征点的三维位置,其特征在于,该特征点检测装置具有模型生成单元,其生成所述三维人脸形状模型;影射单元,其将所述模型生成单元所生成的三维人脸形状模型的各节点影射到所输入的图像平面上;特征量取得单元,其在由所述影射单元影射的各节点的影射点的位置周围离散地取得多个特征量,将根据一个影射点而取得的多个特征量作为一个节点特征量来取得;存储单元,其存储通过典型相关分析而预先取得的变换向量矩阵作为误差估计矩阵,该典型相关分析以表示正解三维人脸形状模型和误差三维人脸形状模型中的各节点的位置之差的向量的集合以及节点特征量的集合作为输入,该正解三维人脸形状模型是各节点配置在正确位置上的模型,该误差三维人脸形状模型是至少任一节点偏离正确位置而配置的模型,该节点特征量是从所述误差三维人脸形状模型影射到学习用图像上的影射点中取得的特征量;误差估计量取得单元,其根据存储在所述存储单元中的误差估计矩阵和由所述特征量取得单元所取得的节点特征量的集合,来取得表示三维人脸形状模型的各节点的当前位置和脸的特征点位置之间的偏差的误差估计量;变更单元,其根据由所述误差估计量取得单元所得到的所述误差估计量,来变更当前的三维人脸形状模型的各节点位置;以及估计单元,其将由所述变更单元变更了位置后的各节点位置估计为特征点的三维位置。
13.一种特征点检测方法,该特征点检测方法根据所输入的图像来估计预定对象物的图像中的多个特征点的三维位置,其特征在于,该特征点检测方法包括以下步骤生成确定了与所述多个特征点分别对应的多个节点的三维位置的三维模型的步骤;将由所述三维模型确定的各节点影射到所述图像上的步骤;从由所述影射单元影射的各节点的影射点周围的多个采样点取得特征量作为所述三维模型的各节点的节点特征量的步骤;根据基于学习用图像预先取得的、关于正解模型和误差模型之差与节点特征量之间的相关关系的信息,和在所述取得特征量的步骤中所取得的各节点的节点特征量,来取得表示当前的三维模型与分别对应的特征点的位置之间的偏差的误差估计量的步骤,其中,该正解模型为多个节点三维配置在分别对应的特征点的正确位置上的模型,该误差模型为多个节点中至少任一节点三维配置在偏离了对应特征点的正确位置的位置上的模型,所述节点特征量是根据所述误差模型影射到学习用图像上的影射点而取得的;以及根据所述误差估计量和当前的三维模型,来估计所输入的图像中的各特征点的三维位置的步骤。
14.一种特征点检测程序,该特征点检测程序用于使信息处理装置根据所输入的图像来估计预定对象物的图像中的多个特征点的三维位置,其特征在于,使得信息处理装置执行以下步骤生成确定了与所述多个特征点分别对应的多个节点的三维位置的三维模型的步骤;将由所述三维模型确定的各节点影射到所述图像上的步骤;从由所述影射单元影射的各节点的影射点周围的多个采样点取得特征量作为所述三维模型的各节点的节点特征量的步骤;根据基于学习用图像预先取得的、关于正解模型和误差模型之差与节点特征量之间的相关关系的信息,和在所述取得特征量的步骤中所取得的各节点的节点特征量,来取得表示当前的三维模型与分别对应的特征点的位置之间的偏差的误差估计量的步骤,其中,该正解模型为多个节点三维配置在分别对应的特征点的正确位置上的模型,该误差模型为多个节点中至少任一节点三维配置在偏离了对应特征点的正确位置的位置上的模型,所述节点特征量是根据所述误差模型影射到学习用图像上的影射点而取得的;以及根据所述误差估计量和当前的三维模型,来估计所输入的图像中的各特征点的三维位置的步骤。
15.一种特征点检测方法,该特征点检测方法使用表示人脸中的多个特征点的三维配置的三维人脸形状模型,来估计输入图像中的脸的特征点的三维位置,其特征在于,该特征点检测方法包括以下步骤生成所述三维人脸形状模型的步骤;将所生成的三维人脸形状模型的各节点影射到所输入的图像平面上的步骤;在所影射的各节点的影射点的周围离散地取得多个特征量,把根据一个影射点所取得的多个特征量作为一个节点特征量来取得的步骤;根据通过典型相关分析预先取得的变换向量矩阵和在所述取得特征量的步骤中所取得的节点特征量的集合,来取得表示三维人脸形状模型的各节点的当前位置与脸的特征点位置之间的偏差的误差估计量的步骤,其中,该典型相关分析以根据学习用图像预先取得的、表示正解三维人脸形状模型和误差三维人脸形状模型中的各节点的位置之差的向量的集合、以及根据所述误差三维人脸形状模型影射到学习用图像上的影射点而取得的节点特征量的集合作为输入,该正解三维人脸形状模型是各节点配置在正确位置上的模型,该误差三维人脸形状模型是至少任一节点偏离正确位置而配置的模型;根据所取得的所述误差估计量变更当前的三维人脸形状模型的各节点位置的步骤;以及把位置变更后的各节点位置估计为特征点的三维位置的步骤。
16.一种特征点检测程序,其使信息处理装置利用表示人脸中的多个特征点的三维配置的三维人脸形状模型,来估计输入图像中的脸的特征点的三维位置,其特征在于,其使得信息处理装置执行以下步骤生成所述三维人脸形状模型的步骤;将所生成的三维人脸形状模型的各节点影射到所输入的图像平面上的步骤;在所影射的各节点的影射点的周围离散地取得多个特征量,把根据一个影射点所取得的多个特征量作为一个节点特征量来取得的步骤;根据通过典型相关分析预先取得的变换向量矩阵和在所述取得特征量的步骤中所取得的节点特征量的集合,来取得表示三维人脸形状模型的各节点的当前位置与脸的特征点位置之间的偏差的误差估计量的步骤,其中,该典型相关分析以根据学习用图像预先取得的、表示正解三维人脸形状模型和误差三维人脸形状模型中的各节点的位置之差的向量的集合、以及根据所述误差三维人脸形状模型影射到学习用图像上的影射点而取得的节点特征量的集合作为输入,该正解三维人脸形状模型是各节点配置在正确位置上的模型,该误差三维人脸形状模型是至少任一节点偏离正确位置而配置的模型;根据所取得的所述误差估计量变更当前的三维人脸形状模型的各节点位置的步骤;以及把位置变更后的各节点位置估计为特征点的三维位置的步骤。
全文摘要
本发明提供一种特征点检测装置、特征点检测方法及特征点检测程序。其课题在于,实现高速地从图像中检测特征点的位置。作为解决手段,使用学习图像,预先取得各节点配置在特征点的正确位置上的正解模型和任一节点配置在错误位置上的误差模型之差与根据误差模型所取得的节点特征量之间的相关关系的信息。在从输入图像中检测特征点时,生成确定了多个节点的三维位置的三维模型,将各节点投影到输入图像上,从投影点取得节点特征量,根据该节点特征量和学习所得的相关关系的信息,取得表示当前的各节点位置与对应的特征点位置之间的偏差的误差估计量,根据该误差估计量和当前各节点的位置,来估计输入图像中的各特征点的三维位置。
文档编号G06K9/00GK101038623SQ20071013593
公开日2007年9月19日 申请日期2007年3月13日 优先权日2006年3月13日
发明者木下航一 申请人:欧姆龙株式会社
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1