首页 / 专利库 / 电脑图像 / 迭代最近点 / 人脸姿势矫正装置及方法

人脸姿势矫正装置及方法

阅读:1017发布:2020-06-09

专利汇可以提供人脸姿势矫正装置及方法专利检索,专利查询,专利分析的服务。并且根据本 发明 ,提供一种人脸姿势矫正装置,使用特定于输入的三维人脸数据的人物对象 正面 模型来矫正人脸姿势。所述装置包括:生成部,基于预先存储的三维标准人脸模型,对输入的三维人脸数据进行三维刚性变换,从而生成矫正的第一人脸数据;以及矫正部,生成作为所述第一人脸数据的左右对称模型的第一对象特定正面模型,基于生成的所述第一对象特定正面模型将所述第一人脸数据三维刚性变换从而进行矫正。,下面是人脸姿势矫正装置及方法专利的具体信息内容。

1.一种人脸姿势矫正装置,包括:
生成部,基于预先存储的三维标准人脸模型,对输入的三维人脸数据进行三维刚性变换,从而生成矫正的第一人脸数据;以及
矫正部,生成作为所述第一人脸数据的左右对称模型的第一对象特定正面模型,基于生成的所述第一对象特定正面模型将所述第一人脸数据三维刚性变换从而进行矫正。
2.根据权利要求1所述的人脸姿势矫正装置,其特征在于,
所述生成部,包括:
提取部,从通过投影输入的三维人脸数据而获得的二维人脸图像中提取多个特征点;
估计部,基于对所述三维标准人脸模型所提取的所述多个特征点的对应关系,估计所述输入的三维人脸数据的姿势;
计算部,计算用于将所述估计的姿势刚性变换为正面姿势的第一变换矢量;以及变换部,基于所述第一变换矢量对所述输入的三维人脸数据进行刚性变换从而生成所述第一人脸数据。
3.根据权利要求1所述的人脸姿势矫正装置,其特征在于,
所述矫正部,包括:
模型生成部,基于所述第一人脸数据的y轴,将第一面的三维点对称地移动并复制到第二面,从而生成所述第一对象特定正面模型;以及
变换矢量计算部,使用迭代最近点(Iterative Closest Point,ICP)算法、奇异值分解(Singular Value Decomposition,SVD)算法及比例正交投影迭代变换(Pose from Orthography and Scaling with Iteration,POSIT)算法中至少一个来计算用于将所述第一人脸数据与所述第一对象特定正面模型匹配的第二变换矢量,并基于所述第二变换矢量将所述第一人脸模型三维刚体变换从而进行矫正。
4.根据权利要求3所述的人脸姿势矫正装置,其特征在于,
所述变换矢量计算部,
将通过反复计算所述第二变换矢量而获得的第二值与作为先前计算结果的第一值进行比较,所述比较的结果,当所述第一值与所述第二值的差异小于预定阈值时,确定最终变换矢量。
5.根据权利要求3所述的人脸姿势矫正装置,其特征在于,
所述矫正部,
在第二人脸数据的一个坐标平面上生成左右对称的第二对象特定正面模型,其中,所述第二人脸数据由所述第一人脸数据三维刚体变换而生成,基于生成的所述第二对象特定正面模型,对所述第二人脸数据进行二维刚体变换从而进一步进行矫正。
6.根据权利要求5所述的人脸姿势矫正装置,其特征在于,
所述模型生成部从所述第二人脸数据中移除任意一个坐标轴信息,并使用两个坐标轴信息来生成左右对称的所述第二对象特定正面模型,
所述变换矢量计算部,使用迭代最近点(ICP)算法、奇异值分解(SVD)算法及比例正交投影迭代变换(POSIT)算法中至少一个来计算用于将所述第二人脸数据与所述第二对象特定正面模型匹配的第三变换矢量,并基于所述第三变换矢量将所述第二人脸模型二维刚体变换从而进行矫正。
7.一种人脸姿势矫正装置,包括:
生成部,基于从输入的三维人脸数据获得的至少一个人脸特征点,生成与对象的人脸正面相关联的第一人脸数据;以及
矫正部,生成作为所述第一人脸数据的左右对称模型的对象特定正面模型,基于生成的所述对象特定正面模型将所述第一人脸数据三维刚性变换从而进行矫正。
8.根据权利要求7所述的人脸姿势矫正装置,其特征在于,
所述矫正部,包括:
模型生成部,基于所述第一人脸数据的y轴,将第一面的三维点对称地移动并复制到第二面,从而生成所述对象特定正面模型;以及
变换矢量计算部,使用迭代最近点(ICP)算法、奇异值分解(SVD)算法及比例正交投影迭代变换(POSIT)算法中至少一个来计算用于将所述第一人脸数据与所述对象特定正面模型匹配的变换矢量。
9.一种人脸姿势矫正方法,包括以下步骤:
基于预先存储的三维标准人脸模型,通过对输入的三维人脸数据进行三维刚性变换来生成矫正的第一人脸数据;以及
生成作为所述第一人脸数据的左右对称模型的第一对象特定正面模型,基于生成的所述第一对象特定正面模型将所述第一人脸数据三维刚性变换从而进行矫正。
10.根据权利要求9所述的人脸姿势矫正方法,其特征在于,
所述第一人脸数据生成步骤,包括以下步骤:
从通过投影输入的三维人脸数据而获得的二维人脸图像中提取多个特征点;
基于对所述三维标准人脸模型所提取的所述多个特征点的对应关系,估计所述输入的三维人脸数据的姿势;
计算用于将所述估计的姿势刚性变换为正面姿势的第一变换矢量;以及
基于所述第一变换矢量对所述输入的三维人脸数据进行刚性变换从而生成所述第一人脸数据。
11.根据权利要求9所述的人脸姿势矫正方法,其特征在于,
所述将第一人脸数据三维刚性变换从而进行矫正的步骤,包括以下步骤:
基于所述第一人脸数据的y轴,将第一面的三维点对称地移动并复制到第二面,从而生成所述第一对象特定正面模型;
使用迭代最近点(ICP)算法、奇异值分解(SVD)算法及比例正交投影迭代变换(POSIT)算法中至少一个来计算用于将所述第一人脸数据与所述第一对象特定正面模型匹配的第二变换矢量;以及
基于所述第二变换矢量将所述第一人脸模型三维刚体变换从而进行矫正。
12.根据权利要求11所述的人脸姿势矫正方法,其特征在于,还包括以下步骤:
将通过反复计算所述第二变换矢量而获得的第二值与作为先前计算结果的第一值进行比较;以及
所述比较的结果,当所述第一值与所述第二值的差异小于预定阈值时,确定最终变换矢量。
13.根据权利要求9所述的人脸姿势矫正方法,其特征在于,还包括以下步骤:
在第二人脸数据的一个坐标平面上生成左右对称的第二对象特定正面模型,其中,所述第二人脸数据由所述第一人脸数据三维刚体变换而生成;以及
基于生成的所述第二对象特定正面模型,将所述第二人脸数据二维刚体变换从而进一步进行矫正。
14.根据权利要求13所述的人脸姿势矫正方法,其特征在于,
将所述第二人脸数据二维刚体变换从而进一步进行矫正的步骤,包括以下步骤:
从所述第二人脸数据中移除任意一个坐标轴信息,并使用两个坐标轴信息来生成左右对称的第二对象特定正面模型;
使用迭代最近点(ICP)算法、奇异值分解(SVD)算法及比例正交投影迭代变换(POSIT)算法中至少一个来计算用于将所述第二人脸数据与所述第二对象特定正面模型匹配的第三变换矢量;以及
基于所述第三变换矢量将所述第二人脸模型二维刚体变换从而进行矫正。

说明书全文

人脸姿势矫正装置及方法

技术领域

[0001] 本发明涉及一种人脸姿势矫正装置及方法,减少与标准人脸模型匹配过程中的拟合误差,以将输入的三维人脸数据矫正为正面姿势,更具体地,使用特定于输入的三维人脸数据的人物对象(person-specific)正面模型来矫正人脸姿势。

背景技术

[0002] 从扫描为三维图像的人脸数据中进行姿势矫正估计是一项新兴的技术,可以应用于颌骨关节矫正、面瘫诊断等医学领域,还可以应用于人脸识别、教育等各个领域,特别是在估计人脸数据的正面姿势或获取用于将输入的三维人脸数据矫正为正面姿势的刚性变换的问题方面具有很高的利用率。
[0003] 之前主要采用的矫正方式为:基于在坐标轴上以正面姿势存在的三维标准人脸模型来匹配输入数据,或者通过拟合人脸正面的代表性平面来以正面姿势进行矫正。三维标准人脸通常是通过对多个人脸数据求平均来生成,如果作为矫正对象的输入的三维人脸数据与三维标准人脸模型之间的形状差异较大,则无法避免在匹配过程中产生较大误差。此类匹配误差会在矫正人脸数据的姿势时降低精度,还是重复进行姿势矫正的障碍。

发明内容

[0004] 解决问题的技术方法
[0005] 根据一方面,提供一种人脸姿势矫正装置,用于使用特定于输入的三维人脸数据的人物对象正面模型来矫正人脸姿势。所述装置可以包括:生成部,基于预先存储的三维标准人脸模型,对输入的三维人脸数据进行三维刚性变换,从而生成矫正的第一人脸数据;以及矫正部,生成作为所述第一人脸数据的左右对称模型的第一对象特定正面模型,基于生成的所述第一对象特定正面模型将所述第一人脸数据三维刚性变换从而进行矫正。
[0006] 根据本发明的一实施例,所述生成部可以包括:提取部,从通过投影输入的三维人脸数据而获得的二维人脸图像中提取多个特征点;估计部,基于对所述三维标准人脸模型所提取的所述多个特征点的对应关系,估计所述输入的三维人脸数据的姿势;计算部,计算用于将所述估计的姿势刚性变换为正面姿势的第一变换矢量;以及变换部,基于所述第一变换矢量对所述输入的三维人脸数据进行刚性变换从而生成第一人脸数据。
[0007] 根据本发明的一实施例,所述矫正部可以包括:模型生成部,基于所述第一人脸数据的y轴,将第一面的三维点对称地移动并复制到第二面,从而生成所述第一对象特定正面模型;以及变换矢量计算部,使用迭代最近点(Iterative Closest Point,ICP)算法、奇异值分解(Singular Value Decomposition,SVD)算法及比例正交投影迭代变换(Pose from Orthography and Scaling with Iteration,POSIT)算法中至少一个来计算用于将所述第一人脸数据与所述第一对象特定正面模型匹配的第二变换矢量,并基于所述第二变换矢量将所述第一人脸模型三维刚体变换从而进行矫正。
[0008] 在此,所述变换矢量计算部,将通过反复计算所述第二变换矢量而获得的第二值与作为先前计算结果的第一值进行比较,所述比较的结果,当所述第一值与所述第二值的差异小于预定阈值时,确定最终变换矢量。
[0009] 根据本发明的一实施例,所述矫正部在第二人脸数据的一个坐标平面上生成左右对称的第二对象特定正面模型,其中,所述第二人脸数据由所述第一人脸数据三维刚体变换而生成,基于生成的所述第二对象特定正面模型,对所述第二人脸数据进行二维刚体变换从而进一步进行矫正。
[0010] 此时,所述模型生成部从所述第二人脸数据中移除任意一个坐标轴信息,并使用两个坐标轴信息来生成左右对称的所述第二对象特定正面模型。另外,所述变换矢量计算部使用迭代最近点(ICP)算法、奇异值分解(SVD)算法及比例正交投影迭代变换(POSIT)算法中至少一个来计算用于将所述第二人脸数据与所述第二对象特定正面模型匹配的第三变换矢量,并基于所述第三变换矢量将所述第二人脸模型二维刚体变换从而进行矫正。
[0011] 根据另一方面,提供一种人脸姿势矫正装置,用于使用特定于输入的三维人脸数据的人物对象正面模型来矫正人脸姿势。所述装置可以包括:生成部,基于从输入的三维人脸数据获得的至少一个人脸特征点,生成与对象的人脸正面相关联的第一人脸数据;以及矫正部,生成作为所述第一人脸数据的左右对称模型的对象特定正面模型,基于生成的所述对象特定正面模型将所述第一人脸数据三维刚性变换从而进行矫正。
[0012] 根据本发明的一实施例,所述矫正部,包括:模型生成部,基于所述第一人脸数据的y轴,将第一面的三维点对称地移动并复制到第二面,从而生成所述对象特定正面模型;以及变换矢量计算部,使用迭代最近点(ICP)算法、奇异值分解(SVD)算法及比例正交投影迭代变换(POSIT)算法中至少一个来计算用于将所述第一人脸数据与所述对象特定正面模型匹配的变换矢量。
[0013] 根据本发明的另一方面,提供一种人脸姿势矫正方法,用于使用特定于输入的三维人脸数据的人物对象正面模型来矫正人脸姿势。所述方法可以包括以下步骤:基于预先存储的三维标准人脸模型,通过对输入的三维人脸数据进行三维刚性变换来生成矫正的第一人脸数据;以及生成作为所述第一人脸数据的左右对称模型的第一对象特定正面模型,基于生成的所述第一对象特定正面模型将所述第一人脸数据三维刚性变换从而进行矫正。
[0014] 根据本发明的一实施例,所述第一人脸数据生成步骤,可以包括以下步骤:从通过投影输入的三维人脸数据而获得的二维人脸图像中提取多个特征点;基于对所述三维标准人脸模型所提取的所述多个特征点的对应关系,估计所述输入的三维人脸数据的姿势;计算用于将所述估计的姿势刚性变换为正面姿势的第一变换矢量;以及基于所述第一变换矢量对所述输入的三维人脸数据进行刚性变换从而生成所述第一人脸数据。
[0015] 根据本发明一实施例,所述将第一人脸数据三维刚性变换从而进行矫正的步骤,可以包括以下步骤:基于所述第一人脸数据的y轴,将第一面的三维点对称地移动并复制到第二面,从而生成所述第一对象特定正面模型;使用迭代最近点(ICP)算法、奇异值分解(SVD)算法及比例正交投影迭代变换(POSIT)算法中至少一个来计算用于将所述第一人脸数据与所述第一对象特定正面模型匹配的第二变换矢量;以及基于所述第二变换矢量将所述第一人脸模型三维刚体变换从而进行矫正。
[0016] 此外,所述将第一人脸数据三维刚性变换从而进行矫正的步骤,还可以包括以下步骤:将通过反复计算所述第二变换矢量而获得的第二值与作为先前计算结果的第一值进行比较;以及所述比较的结果,当所述第一值与所述第二值的差异小于预定阈值时,确定最终变换矢量。
[0017] 根据本发明的一实施例,所述方法还可以包括以下步骤:在第二人脸数据的一个坐标平面上生成左右对称的第二对象特定正面模型,其中,所述第二人脸数据由所述第一人脸数据三维刚体变换而生成;以及基于生成的所述第二对象特定正面模型,将所述第二人脸数据二维刚体变换从而进一步进行矫正。
[0018] 此时,将所述第二人脸数据二维刚体变换从而进一步进行矫正步骤,包括以下步骤:从所述第二人脸数据中移除任意一个坐标轴信息,并使用两个坐标轴信息来生成左右对称的第二对象特定正面模型;使用迭代最近点(ICP)算法、奇异值分解(SVD)算法及比例正交投影迭代变换(POSIT)算法中至少一个来计算用于将所述第二人脸数据与所述第二对象特定正面模型匹配的第三变换矢量;以及基于所述第三变换矢量将所述第二人脸模型二维刚体变换从而进行矫正。附图说明
[0019] 图1为说明根据本发明一实施例的使用刚体变换矢量来变换三维人脸数据的过程的附图。
[0020] 图2为根据本发明一实施例的人脸姿势矫正装置的方图。
[0021] 图3a至3b为说明根据本发明一实施例的人脸姿势矫正装置的详细配置的方块图。
[0022] 图4为说明根据本发明一实施例的使用人脸对齐(face alignment)算法获取主要标志点的过程的附图。
[0023] 图5a至5c为说明根据本发明一实施例生成人物对象正面模型,并通过生成的人物对象正面模型来矫正三维人脸数据的姿势的方式的附图。
[0024] 图6a至6c为说明根据本发明一实施例的执行二维刚体变换方式的附图。
[0025] 图7为根据本发明一实施例的矫正人脸姿势方法的流程图

具体实施方式

[0026] 本说明书描述的根据本发明概念的实施例的具体结构或功能仅为说明根据本发明的概念的实施例,根据本发明的概念的实施例能够体现为不同的形态,并非受限于在此说明的实施例。
[0027] 可以对根据本发明的概念的实施例进行各种修改,且此实施例可以具有多种形式,因此,将实施例在附图中示出并在本文中详细描述。然而,这并非将根据本发明概念的实施例限定于特定的描述形式,且包括本发明的精神及范围内的修改、等效物或替代物。
[0028] 第一或第二等术语可用于描述各种组件,但所述组件不应受限于所述术语。所述术语仅用于区分一个组件与另一个组件的目的,例如,在不脱离根据本发明概念的权利范围的情况下,第一组件可以被称为第二组件,类似地,第二组件也可以被称为第一组件。
[0029] 当言及一个组件“连接”或“接入”到另一个组件时,它可以直接连接或接入到另一个组件,但也可以理解为在它们两者之间存在另一个组件。另一方面,当称一个组件“直接连接”或“直接接入”到另一个组件时,应理解为两者之间没有其他组件。描述组件之间关系的表达方式,如“在……之间”及“直接在……之间”或“直接邻近于……”等具有相同的解释。
[0030] 本说明书中使用的术语仅用于描述特定示例性实施例,并不用于限制本发明。除非上下文清楚地以其它方式表明,单数表达包括复数含义。术语“包括”或“具有”在本文中使用时指明存在所陈述的特征、数字、步骤、操作、构成要素、部件或其组合,但并不排除存在或添加有一个或多个其他特征、数字、步骤、操作、构成要素、部件或其组合。
[0031] 除非另有定义,包括技术术语或科学术语在内的本文所用的所有术语应具有与本发明所属领域的普通技术人员通常理解的含义。术语,例如在常用字典中定义的术语应解读为具有与本说明书和相关领域的上下文中的含义相一致的含义,除非本文明确地如此界定,不应被解读为理想化或过于形式上的含义。
[0032] 以下将参照附图详细描述本发明的示例性实施例。然而,本权利要求的保护范围并不受这些实施例的限定或限制。在附图中,相同的附图标记表示相同的部件。
[0033] 图1为说明根据本发明一实施例的使用刚体变换矢量来变换三维人脸数据的过程的附图。
[0034] 参照图1,输入的三维人脸数据110可以通过使用刚体变换矢量120的刚体变换生成为正面姿势的第一人脸数据130。输入的三维人脸数据110可以定义为对应于人脸表面的三维点(voxel)的集合或人脸主要标志点(例如,瞳孔中心点、眼尾点、唇端点等人脸的主要特征点)的集合,除了三维位置信息外,每个点还包括亮度信息(灰度)及颜色信息。
[0035] 如图1所示,输入的三维人脸数据110包括沿X、Y、Z轴来定义的位置信息,由于这是对应于来自摄影设备的拍摄方向而生成的信息,因此从所述摄影设备获得的输入的三维人脸数据110在三维坐标轴上不一定与正面姿势相一致。为了保证对象人脸分析结果的可靠性及准确性,确保人脸数据的正面姿势尤为重要。所述正面姿势可以被定义为,在全球坐标系X、Y、Z轴上,在正视Z轴的情况下以Y轴左右对称。然而,图1所示的坐标轴仅是用于描述本发明的精神的示例性实施例中的一个,可以根据用户的设置改变坐标轴的设置。
[0036] 在图1中,为了将输入的三维人脸数据110变换为正面姿势,应对输入的三维人脸数据110计算刚体变换矢量120,并可以将计算出的所述刚体变换矢量120应用于所述输入的三维人脸数据110,从而生成正面姿势的第一人脸数据130。
[0037] 图2为根据本发明一实施例的人脸姿势矫正装置200的方块图,图3a至3b为说明所述人脸姿势矫正装置200的详细配置的方块图。
[0038] 人脸姿势矫正装置200用于使用特定于对象人脸数据的人物对象正面模型来矫正人脸姿势,可以用相对简单的方式矫正姿势,并大大缩小在将输入的三维人脸数据匹配至三维标准人脸模型的过程中出现的拟合误差。所述人脸特征点位置信息生成装置200可以包括生成部210及矫正部220。
[0039] 首先,生成部210基于预先存储的三维标准人脸模型,对输入的三维人脸数据进行三维刚性变换(3D rigid transformation),从而生成矫正的第一人脸数据。在此,所述输入的三维人脸数据110可以理解为对应于人脸表面的三维点(voxel)的集合或人脸主要标志点的集合,所述第一人脸数据可以理解为是在x、y、z坐标上以正面姿势对所述输入的三维人脸数据的矫正。如图3a所示,生成部210包括提取部310、估计部320、计算部330及变换部340。
[0040] 提取部310可以从通过投影所述输入的三维人脸数据而获得的二维人脸图像中提取多个特征点。估计部320可以基于对所述三维标准人脸模型所提取的所述多个特征点的对应关系,估计所述输入的三维人脸数据的姿势。计算部330可以计算用于将所述估计的姿势刚性变换为正面姿势的第一变换矢量。变换部340基于计算的所述第一变换矢量对所述输入的三维人脸数据进行刚性变换(rigid transformation)从而生成所述第一人脸数据。
[0041] 然而,当不存在预先存储的三维标准人脸模型时,生成部210可以基于从所述输入的三维人脸数据获得的至少一个特征点信息来生成所述第一人脸数据。此时,可以从所述输入的三维人脸数据中获得眼睛、鼻子、嘴等主要部位特征点的位置信息,且所述生成部210即使不使用三维标准人脸模型,也基于所述特征点位置信息生成与所述对象正面相关联的第一人脸数据。
[0042] 矫正部220生成作为所述第一人脸数据的左右对称模型的第一对象特定正面模型,基于生成的所述第一对象特定正面模型将所述第一人脸数据三维刚性变换从而进行矫正。矫正部220的详细结构与图3b相同,包括模型生成部350及变换矢量计算部360。
[0043] 模型生成部350可以基于所述第一人脸数据的y轴,将第一面的三维点对称地移动并复制到第二面,从而生成所述第一对象特定正面模型。
[0044] 变换矢量计算部360使用迭代最近点(ICP)算法、奇异值分解(SVD)算法及比例正交投影迭代变换(POSIT)算法中至少一个来计算用于将所述第一人脸数据与所述第一对象特定正面模型匹配的第二变换矢量。当输入的三维人脸数据为通常存在于三维扫描的人脸表面上的多个点的集合时,由于应在不知道所述输入的三维人脸数据与所述正面模型的点之间的对应关系的情况下执行匹配,因此可以使用迭代最近点(ICP)算法来计算所述刚体变换矢量。然而,当所述输入的三维人脸数据为人脸主要标志点(例如,瞳孔中心点、眼尾点、唇端点等人脸的主要特征点)的集合时,由于在已知的所述输入的三维人脸数据与所述正面模型的点之间的对应关系下执行匹配,因此使用奇异值分解(SVD)算法或比例正交投影迭代变换(POSIT)算法来计算所述刚体变换矢量。此外,也可以使用对所述输入的三维人脸数据及先前生成的正面模型进行重采样的方式,此时,由于也已经知道匹配对象之间的对应关系,因此可以使用奇异值分解(SVD)算法或比例正交投影迭代变换(POSIT)算法来进行匹配,匹配对象的点数越多,匹配则可以越精确。所述变换矢量计算部360可以反复计算第二变换矢量,并将作为反复计算的结果获得的第二值与作为先前计算的结果获得的第一值进行比较,当所述第一值与所述第二值之差小于预定阈值时,将所述第二值确定为最终变换矢量。
[0045] 矫正部220在第二人脸数据的一个坐标平面上生成左右对称的第二对象特定正面模型,其中,所述第二人脸数据由所述第一人脸数据三维刚体变换而生成,并且,基于生成的所述第二对象特定正面模型对所述第二人脸数据进行二维刚体变换从而进一步进行矫正。此时,所述模型生成部350从第二人脸数据中移除任何一个坐标轴信息,并使用两个坐标轴信息来生成左右对称的所述第二对象特定正面模型。另外,所述变换矢量计算部360使用迭代最近点(ICP)算法、奇异值分解(SVD)算法及比例正交投影迭代变换(POSIT)算法中至少一个来计算用于将所述第二人脸数据与所述第二对象特定正面模型匹配的第三变换矢量,并基于所述第三变换矢量将所述第二人脸模型二维刚体变换从而进行矫正。与计算第二变换矢量相同,当不知道第二人脸数据与所述第二对象特定正面模型之间的对应关系时,使用迭代最近点(ICP)算法进行匹配;当已知所述对应关系时,使用奇异值分解(SVD)算法或比例正交投影迭代变换(POSIT)算法进行匹配。
[0046] 人脸姿势矫正装置200通过对输入的三维人脸数据进行三维刚性变换来执行初始姿势矫正后,生成特定于所述三维输入的三维人脸数据的正面模型,并再次通过刚体变换实现精准矫正。另外,在进行精准矫正的过程中,所述人脸姿势矫正装置200还可以对在X-Z平面及X-Y平面上二维刚性变换的y轴及z轴进一步进行对称矫正,由此明显减少在将所述输入的三维人脸数据以正面姿势矫正的过程中产生的拟合误差,进一步提高矫正结果的精度。
[0047] 图4为说明根据本发明一实施例的使用人脸对齐(face alignment)算法获取主要标志点的过程的附图。
[0048] 在分析输入的三维人脸数据时,可以直接分析三维数据,但通常都采用通过从特定摄像机视点获取的二维投影图像来分析输入的三维人脸数据的方法。通过将输入的三维人脸数据以Z轴方向投影获取的二维投影图像可以表示为如图4所示。由于无法保证所述输入的三维人脸数据是准确的正面姿势,因此,二维投影图像410也可能不是正面姿势。
[0049] 为了矫正所述输入的三维人脸数据的正面姿势,可以预先存储三维标准人脸模型。所述三维标准人脸模型可以通过计算由三维扫描仪等测量的多个三维人脸样本的平均值来生成,或将多个三维人脸样本分别在Y轴上线性对称的数据创建为虚拟样本,并求出所有样本(测量样本及Y轴对称虚拟样本)的平均值来生成。所述输入的三维人脸数据110与所述输入的三维人脸数据相同,可以由对应于人脸表面的三维点(voxel)的集合来组成,除了三维位置信息外还包括亮度信息(灰度)及颜色信息,并应具有用户最终想要的正面姿势。
[0050] 参照图4,所述二维投影图像410的坐标系使用U轴及V轴。投影可以以各种方式进行,如正交投影、透视投影,由于在Z轴方向上进行投影,因此全球坐标系的X-Y平面可以看作是U-V平面。与图1的坐标轴相比,可以理解,图1的X轴与图4的U轴方向相同,图1的Y轴与图4的V轴仅在方向上相反。
[0051] 通过估计任意输入的三维人脸数据的姿势来应用刚体变换矢量T到正面姿势,并从与全球坐标系的Z轴一致的摄像机视点获取二维投影图像,则可以提取人脸特征点。此时,刚性变换T为X、Y、Z轴的旋转及平移变换的矢量,可以表示为T:6D矢量(θx,θy,θz,tx,ty,tz)。
[0052] 对于二维投影图像410,可以通过应用主动外观模型(Active Appearance Model,AAM)、受约束的局部模型(Constrained Local Model,CLM)等人脸对齐(face alignment)算法来提取人脸区域的主要标志点420。所述标志点420指人脸的主要特征点,如瞳孔中心点、眼尾点、唇端点等。由于以这种方式提取的标志点420已定义在预先存储的三维标准人脸模型中,因此可以获得所述标志点420与所述三维标准人脸模型之间的二维-三维对应信息,且通过使用奇异值分解(SVD)或比例正交投影迭代变换(POSIT)等算法,可以求出所述输入的三维人脸数据的姿势估计,以及为将其初始矫正为正面姿势的刚体变换矢量T0。将得到的所述刚体变换T0应用于所述输入的三维人脸数据时,可以获得初始矫正数据。若正确地提取所述标志点420,则可以将标志点420变换为类似于所述三维标准人脸模型的姿势,从而得到矫正实现接近正面姿势。然而,由于三维标准人脸模型与所述输入的三维人脸数据之间的形态差异、人脸对齐算法提取的标志点的位置精度以及提取的标志点数量的限制,需要更详细的正面姿势矫正。
[0053] 图5a至5c为说明根据本发明一实施例生成人物对象正面模型,并通过生成的人物对象正面模型来矫正三维人脸数据的姿势的方式的附图。
[0054] 为了在输入的三维人脸数据上进行详细的正面姿势矫正,应生成特定于输入的三维人脸数据的人物对象正面模型。人物对象正面模型是指基于Y轴左右对称的模型,可以通过以Y轴为基准,将左侧的三维点对称地移动并复制到右侧(或以Y轴为基准,将右侧的三维点对称地移动并复制到左侧)来生成。如图4所示,当使用刚体变换矢量T0来初始矫正输入的三维人脸数据时,可以生成作为初始矫正的所述第一人脸数据的人物对象正面模型的第一对象特定正面模型。所述第一对象特定正面模型可以理解为所述第一人脸数据的左右对称模型,并通过所述第一人脸数据与所述第一对象特定正面模型的匹配来计算三维刚体变换矢量T1。
[0055] 所述输入的三维人脸数据可以由对应于人脸表面的三维点(voxel)或较小数量的三维点(例如,人脸的主要标志点)的集合来组成,根据所述输入的三维人脸数据的类型,可以生成不同类型的人物对象正面模型。
[0056] 如图5a所示,当所述输入的三维人脸数据为对应于人脸表面的三维点的集合时,初始矫正的第一人脸数据510及第一对象特定正面模型520也由对应于人脸表面的多个三维点来构成。此时,由于应在未知的所述第一人脸数据510与所述第一对象特定正面模型520的点之间的对应关系下执行匹配,因此使用迭代最近点(ICP)算法来计算所述刚体变换矢量T1。使用迭代最近点(ICP)算法的匹配之前511及匹配之后521的结果如图5a下端所示。
[0057] 如图5b所示,当所述输入的三维人脸数据为人脸主要标志点的集合时,也使用主要标志点来生成初始矫正的第一人脸数据530及第一对象特定正面模型540。此时,由于在已知的所述第一人脸数据510与所述第一对象特定正面模型540的点之间的对应关系下执行匹配,因此使用奇异值分解(SVD)算法或比例正交投影迭代变换(POSIT)算法来计算所述刚体变换矢量T1。使用奇异值分解(SVD)算法或比例正交投影迭代变换(POSIT)算法的匹配之前531及匹配之后541的结果可以如图5b所示。
[0058] 除了图5a及图5b,也可以根据实施例以各种方式生成人物对象正面模型。例如,可以分别对在图5a生成的第一对象特定正面模型及所述第一数据进行重采样(resampling),由此生成改进的人物对象正面模型。此时,如图5c所示,在所述第一对象特定正面模型520中以x与y坐标为基准,划分网格(grid),并可以通过提取或计算每个网格的代表性三维点(计算属于网格的x、y、z坐标的平均值或选择与代表网格的x、y、z坐标最接近的点)的方式进行重采样。以同样的方式,可以对所述第一数据510进行重采样。如此,使用相同网格来重采样的两个模型是在识别了匹配对象之间的对应关系的状态下执行匹配,因此如图5b所示,可以使用奇异值分解(SVD)算法或比例正交投影迭代变换(POSIT)算法来计算所述刚体变换矢量T1。根据本发明的实施例,也可以通过对图5b的第一对象特定正面模型540及第一数据530进行重采样,由此生成改进的人物对象正面模型,从而执行匹配。
[0059] 图6a至6c为说明根据本发明一实施例的执行二维刚体变换方式的附图。
[0060] 为了对输入的三维人脸数据进行精准的正面姿势矫正,可以进一步执行y轴与z轴的正面矫正。这以在X-Z平面及X-Y平面上进行二维刚性变换的方式执行。
[0061] 可以通过在上述图5a至图5c中矫正生成的第二人脸数据中去除特定坐标轴来生成作为第二人脸数据的人物对象正面模型的第二对象特定正面模型。所述第二对象特定正面模型可以理解为所述第二人脸数据的左右对称模型,且通过所述第二人脸数据与所述第二对象特定正面模型的匹配来计算二维刚体变换矢量T2。在二维坐标上进行姿势矫正时,具有以下优点:匹配结果的稳定性高于三维坐标上的姿势矫正,在之后即使发生他人的手动操作也易于适用。在图6a的X-Y平面及图6b的X-Z平面中,正面姿势可以通过对称来定义,但在如图6c所示的Y-Z平面中,代表线的度可以通过头部与下颌之间的区域中的直线拟合(line fitting)来提取,并对X轴旋转进行矫正。
[0062] 此外,可以反复计算用于精准姿势矫正过程的刚体变换矢量T1及T2,直到计算结果收敛。对图5a至图5c所示的刚体变换矢量T1的计算过程及图6所示的刚体变换矢量T2的计算过程进行n次反复,将第n个计算结果与第n-1个计算结果进行比较,若其之差小于预定阈值,则可以确定收敛并停止反复执行,且将第n个计算结果确定为最终的刚体变换矢量T。
[0063] 图7为根据本发明一实施例的矫正人脸姿势方法的流程图。
[0064] 人脸姿势矫正装置用于使用特定于对象人脸数据的人物对象正面模型来矫正正面姿势,并提供一种方法,通过相对简单的方式矫正姿势,大大减少在将输入的三维人脸数据与三维标准人脸模型匹配的过程中出现的拟合误差。
[0065] 在步骤710中,基于人脸姿势矫正装置的生成部预先存储的三维标准人脸模型,可以通过对输入的三维人脸数据进行三维刚性变换(3D rigidtransformation)来生成矫正的第一人脸数据。在此,所述输入的三维人脸数据可以理解为对应于人脸表面的三维点(voxel)的集合或人脸主要标志点的集合,所述第一人脸数据可以理解为是在x、y、z坐标上以正面姿势对所述输入的三维人脸数据的矫正。
[0066] 在步骤710中,所述生成部可以从通过投影所述输入的三维人脸数据获得的二维人脸图像中提取多个特征点,基于对所述三维标准人脸模型所提取的所述多个特征点的对应关系来估计所述输入的三维人脸数据的姿势。另外,所述生成部计算用于将所述估计的姿势刚性变换为正面姿势的第一变换矢量,并基于所计算的所述第一变换矢量对所述输入的三维人脸数据进行刚性变换从而生成所述第一人脸数据。
[0067] 然而,当不存在预先存储的三维标准人脸模型时,在步骤710中,所述生成部可以基于从所述输入的三维人脸数据获得的至少一个特征点信息来生成所述第一人脸数据。此时,可以从所述输入的三维人脸数据中获得眼睛、鼻子、嘴等主要部位特征点的位置信息,且所述生成部即使不使用三维标准人脸模型,也基于所述特征点位置信息,生成与所述对象人脸正面相关联的第一人脸数据。
[0068] 在步骤720中,人脸姿势矫正装置的矫正部可以生成作为所述第一人脸数据的左右对称模型的第一对象特定正面模型。在步骤720中,所述矫正部基于所述第一人脸数据的y轴,将第一面的三维点对称地移动并复制到第二面,从而生成所述第一对象特定正面模型。
[0069] 在步骤730中,所述矫正部可以基于在步骤720中生成的第一对象特定正面模型,通过三维刚性变换来矫正所述第一人脸数据。为此,所述矫正部使用迭代最近点(ICP)算法、奇异值分解(SVD)算法及比例正交投影迭代变换(POSIT)算法中至少一个来计算用于将所述第一人脸数据与所述第一对象特定正面模型匹配的第二变换矢量。当输入的三维人脸数据为通常存在于三维扫描的人脸表面上的多个点的集合时,由于应在未知的所述输入的三维人脸数据与所述正面模型的点之间的对应关系下执行匹配,因此可以使用迭代最近点(ICP)算法来计算所述刚体变换矢量。然而,当所述输入的三维人脸数据为人脸主要标志点(例如,瞳孔中心点、眼尾点、唇端点等人脸的主要特征点)的集合时,由于在已知的所述输入的三维人脸数据与所述正面模型的点之间的对应关系下执行匹配,因此使用奇异值分解(SVD)算法或比例正交投影迭代变换(POSIT)算法来计算所述刚体变换矢量。此外,也可以使用对所述输入的三维人脸数据及先前生成的正面模型进行重采样的方式,此时,由于也已知匹配对象之间的对应关系,因此可以使用奇异值分解(SVD)算法或比例正交投影迭代变换(POSIT)算法来进行匹配,匹配对象的点数越多,匹配则可以越精确。
[0070] 在步骤730中,所述矫正部可以反复计算第二变换矢量,并将作为反复计算的结果获得的第二值与作为先前计算的结果获得的第一值进行比较,当所述第一值与所述第二值之差小于预定阈值时,将所述第二值确定为最终变换矢量。
[0071] 在步骤730之后,所述矫正部在第二人脸数据的一个坐标平面上生成左右对称的第二对象特定正面模型,其中,所述第二人脸数据由所述第一人脸数据三维刚体变换而生成,并基于生成的所述第二对象特定正面模型对所述第二人脸数据进行二维刚体变换从而进一步进行矫正。此时,所述矫正部可以使用迭代最近点(ICP)算法、奇异值分解(SVD)算法及比例正交投影迭代变换(POSIT)算法中至少一个来计算用于将所述第二人脸数据与所述第二对象特定正面模型匹配的第三变换矢量,并基于所述第三变换矢量将所述第二人脸模型二维刚体变换从而进行矫正。与计算第二变换矢量相同,当不知道第二人脸数据与所述第二对象特定正面模型之间的对应关系时,使用迭代最近点(ICP)算法进行匹配;当已知所述对应关系时,使用奇异值分解(SVD)算法或比例正交投影迭代变换(POSIT)算法进行匹配。
[0072] 尽管通过如上文所述的有限的实施例及附图来描述本发明的实施例,但本领域技术人员可以从上述描述进行各种修改和变化。例如,所描述的技术可以以不同于所描述的方法的顺序执行,以及/或者所描述的系统、结构、装置、电路等组件可以以不同于所描述的方法的形式结合或组合,或者,即使通过等价物来取代或替代,也可以得到适当的结果。
[0073] 因此,其他实现、其他实施例及权利要求的等价物都包括在随后所附的权利要求的范围之内。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈