虚拟试衣方法和系统转让专利

申请号 : CN201510947349.0

文献号 : CN105654334B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 叶军涛孙立明董未名张晓鹏

申请人 : 中国科学院自动化研究所

摘要 :

本发明公开了一种虚拟试衣方法和系统。其中,该方法至少包括:获取着装的参考人体模型以及未着装的目标人体模型;为参考人体模型和所述目标人体模型分别嵌入相同层次结构的骨架;对参考人体模型和目标人体模型的骨架进行皮肤绑定;计算目标人体模型骨架中骨头的旋转量,递归调整目标人体模型骨架中的所有骨头,使目标人体模型骨架与所述参考人体模型骨架的姿势保持一致;根据目标人体模型骨架中骨头的旋转量,利用LBS蒙皮算法进行目标人体模型的皮肤变形;将服装模型从参考人体模型上迁移到目标人体模型上。通过本发明,解决了如何在保持衣服在试穿前后尺寸不变的情况下,完成衣服在不同人体、不同姿势下的自动化试穿的技术问题。

权利要求 :

1.一种虚拟试衣方法,其特征在于,该方法包括:获取着装的参考人体模型以及未着装的目标人体模型;

为所述参考人体模型和所述目标人体模型分别嵌入相同层次结构的骨架;

对所述参考人体模型和所述目标人体模型的骨架进行皮肤绑定;

计算所述目标人体模型骨架中骨头的旋转量,递归调整所述目标人体模型骨架中的所有骨头,使所述目标人体模型骨架与所述参考人体模型骨架的姿势保持一致;

根据所述目标人体模型骨架中骨头的旋转量,利用LBS蒙皮算法进行所述目标人体模型的皮肤变形;

在对所述目标人体模型进行皮肤变形的基础上,将服装模型从所述参考人体模型上迁移到所述目标人体模型上;

其中,所述将服装模型从所述参考人体模型上迁移到所述目标人体模型上,具体包括:利用迭代最近点算法,对所述皮肤变形后的目标人体模型与参考人体模型进行刚性配准,得到仿射变换;

将所述仿射变换作用于所述服装模型,从而实现将所述服装模型从所述参考人体模型上迁移到所述目标人体模型上;

“根据所述目标人体模型骨架中骨头的旋转量,利用LBS蒙皮算法进行所述目标人体模型的皮肤变形”的具体步骤包括:步骤1:利用 的始关节点位置Ji,来构造变换矩阵:步骤2:利用 来构造变换矩阵:

步骤3:利用以下公式来计算 的全局变换矩阵Mi:步骤4:使用LBS蒙皮算法进行皮肤网格顶点的更新:其中,i取0,1,2……; 表示目标人体模型的骨头; 表示为在全局坐标系下 的父变换矩阵;对于根骨头 设置 xj和x'j分别代表顶点更新前后的位置;Mi表示第i块骨头的全局变换矩阵; 表示第i块骨头对顶点j的影响权重,且所述方法还包括通过以下步骤获取步骤21:计算目标人体模型的骨架中骨头 对应的单位向量vi,其中vi的方向为从的始关节点指向末关节点;

步骤22:计算参考人体模型的骨架中骨头 对应的单位向量步骤23:计算两块骨头 和 之间的旋转轴:步骤24:计算两块骨头 和 之间的旋转角:步骤25:将上述旋转角和旋转轴表示的旋转转化为全局坐标系下的旋转矩阵Ri,其表示旋转量;

步骤26:将Ri转换成局部坐标系下的表示形式:其中, 为从局部坐标系到全局坐标系的旋转矩阵。

2.根据权利要求1所述的方法,其特征在于,在所述计算所述目标人体模型骨架中骨头的旋转量之前,还包括:根据所述目标人体模型骨架中关节点之间的父子关系,求取所述每一关节点在其父关节点下的局部坐标,以形成完整骨架。

3.一种虚拟试衣系统,其特征在于,该系统包括:获取模块,被配置为获取着装的参考人体模型以及未着装的目标人体模型;

嵌入模块,被配置为所述参考人体模型和所述目标人体模型分别嵌入相同层次结构的骨架;

绑定模块,被配置为对所述参考人体模型和所述目标人体模型的骨架进行皮肤绑定;

计算模块,被配置为计算所述目标人体模型骨架中骨头的旋转量,递归调整所述目标人体模型骨架中的所有骨头,使所述目标人体模型骨架与所述参考人体模型骨架的姿势保持一致;

变形模块,被配置为根据所述目标人体模型骨架中骨头的旋转量,利用LBS蒙皮算法进行所述目标人体模型的皮肤变形;

迁移模块,被配置为在对所述目标人体模型进行皮肤变形的基础上,将服装模型从所述参考人体模型上迁移到所述目标人体模型上;

其中,所述迁移模块具体包括:

刚性配准模块,被配置为利用迭代最近点算法,对所述皮肤变形后的目标人体模型与参考人体模型进行刚性配准,得到仿射变换;

作用模块,被配置为将所述仿射变换作用于所述服装模型,从而实现将所述服装模型从所述参考人体模型上迁移到所述目标人体模型上;

所述变形模块被进一步配置为通过以下方式并根据所述目标人体模型骨架中骨头的旋转量,利用LBS蒙皮算法进行所述目标人体模型的皮肤变形:步骤1:利用 的始关节点位置Ji,来构造变换矩阵:步骤2:利用 来构造变换矩阵:

步骤3:利用以下公式来计算 的全局变换矩阵Mi:步骤4:使用LBS蒙皮算法进行皮肤网格顶点的更新:其中,i取0,1,2……; 表示目标人体模型的骨头; 表示为在全局坐标系下 的父变换矩阵;对于根骨头 设置 xj和x'j分别代表顶点更新前后的位置;Mi表示第i块骨头的全局变换矩阵; 表示第i块骨头对顶点j的影响权重,且所述系统还包括 计算模块,所述 计算模块被配置为通过以下方式获取步骤21:计算目标人体模型的骨架中骨头 对应的单位向量vi,其中vi的方向为从的始关节点指向末关节点;

步骤22:计算参考人体模型的骨架中骨头 对应的单位向量步骤23:计算两块骨头 和 之间的旋转轴:步骤24:计算两块骨头 和 之间的旋转角:步骤25:将上述旋转角和旋转轴表示的旋转转化为全局坐标系下的旋转矩阵Ri,其表示旋转量;

步骤26:将Ri转换成局部坐标系下的表示形式:其中, 为从局部坐标系到全局坐标系的旋转矩阵。

4.根据权利要求3所述的系统,其特征在于,所述系统还包括:求取模块,被配置为根据所述目标人体模型骨架中关节点之间的父子关系,求取所述每一关节点在其父关节点下的局部坐标,以形成完整骨架。

说明书 :

虚拟试衣方法和系统

技术领域

[0001] 本发明实施例涉及计算机图形学技术领域,尤其是涉及一种虚拟试衣方法和系统。

背景技术

[0002] 近年来,虚拟试衣技术得到了工业界的广泛关注,同时也一直是学术界的研究热点之一。不同的研究者提出了各自的虚拟试穿方案,但是他们的侧重点有很大不同。
[0003] 一些虚拟试穿方案(参考LI J.,LU G.:Customizing 3d garments based on volumetric deformation.Computers in Industry 62,7(2011),693-707;GUAN P.,REISS L.AND HIRSHBERG D.,WEISS A.,BLACK M.J.:DRAPE:Dressing any person.ACM Trans.Graphics(Proc.SIGGRAPH)31,4(jul 2012).)是从模型重用的角度出发的,他们只关注衣服能否通过一定的变形和放缩套到目标人体身上,并且保持款式不变,一般情况下需要假定参考人体和目标人体之间姿势一致(如,T-pose),甚至需要用户输入一些额外的特征点、骨架信息等。对于任意姿势的试穿方案,Li等人采用为人体模型和服装模型同时绑定骨架来驱动虚拟试穿的方法(参考Jituo Li,Juntao Ye,Yangsheng Wang,Li Bai,and Guodong Lu.Fitting 3d garment models onto individual human models.Computers Graphics,34(6):742–755,2010),但是这种方法并不是完全自动的,骨架的绑定需要一些手动的调整。
[0004] 跟上述方案侧重点不同,Lee等人提出一种对衣服分段配准,然后做布料仿真的试穿方案(参考Yongjoon Lee,Jaehwan Ma,and Sunghee Choi.Technical section:Automatic pose-independent 3d garment fitting.Comput.Graph.,37(7):911–922,November 2013.)。该方法更侧重于体现衣服穿到不同的目标人体上是否合身,然而对衣服分段导致的表面不连续会对后面的布料仿真带来很大负担,甚至是难以修复的穿透。
[0005] Baran等人提出一种对二维流型网格的骨架嵌入算法(参考Ilya Baran and Jovan  Popovi′c.Automatic rigging and animation of 3D characters.ACM Transactions on Graphics,26(3):72:1–72:8,jul 2007.)。该方法嵌入的骨架中的每块骨头只有位置信息而没有朝向信息。
[0006] 发明人在实现本发明的过程中,发现现有技术至少存在如下缺陷:
[0007] 在保持衣服在试穿前后尺寸不变的情况下,无法实现衣服在不同人体、不同姿势下的自动化试穿。
[0008] 有鉴于此,特提出本发明。

发明内容

[0009] 本发明实施例的主要目的在于提供一种虚拟试衣方法,其至少部分地解决了如何在保持衣服在试穿前后尺寸不变的情况下,完成衣服在不同人体、不同姿势下的自动化试穿的技术问题。
[0010] 为了实现上述目的,根据本发明的一个方面,提供了以下技术方案:
[0011] 一种虚拟试衣方法,该方法至少可以包括:
[0012] 获取着装的参考人体模型以及未着装的目标人体模型;
[0013] 为所述参考人体模型和所述目标人体模型分别嵌入相同层次结构的骨架;
[0014] 对所述参考人体模型和所述目标人体模型的骨架进行皮肤绑定;
[0015] 计算所述目标人体模型骨架中骨头的旋转量,递归调整所述目标人体模型骨架中的所有骨头,使所述目标人体模型骨架与所述参考人体模型骨架的姿势保持一致;
[0016] 根据所述目标人体模型骨架中骨头的旋转量,利用LBS蒙皮算法进行所述目标人体模型的皮肤变形;
[0017] 在对所述目标人体模型进行皮肤变形的基础上,将服装模型从所述参考人体模型上迁移到所述目标人体模型上。
[0018] 根据本发明的另一个方面,还提供一种虚拟试衣系统。该系统至少可以包括:
[0019] 获取模块,被配置为获取着装的参考人体模型以及未着装的目标人体模型;
[0020] 嵌入模块,被配置为所述参考人体模型和所述目标人体模型分别嵌入相同层次结构的骨架;
[0021] 绑定模块,被配置为对所述参考人体模型和所述目标人体模型的骨架进行皮肤绑定;
[0022] 计算模块,被配置为计算所述目标人体模型骨架中骨头的旋转量,递归调整所述目标人体模型骨架中的所有骨头,使所述目标人体模型骨架与所述参考人体模型骨架的姿势保持一致;
[0023] 变形模块,被配置为根据所述目标人体模型骨架中骨头的旋转量,利用LBS蒙皮算法进行所述目标人体模型的皮肤变形;
[0024] 迁移模块,被配置为在对所述目标人体模型进行皮肤变形的基础上,将服装模型从所述参考人体模型上迁移到所述目标人体模型上。
[0025] 与现有技术相比,上述技术方案至少具有以下有益效果:
[0026] 本发明实施例通过获取着装的参考人体模型以及未着装的目标人体模型;为参考人体模型和目标人体模型分别嵌入相同层次结构的骨架;对参考人体模型和目标人体模型的骨架进行皮肤绑定;计算目标人体模型骨架中骨头的旋转量,递归调整目标人体模型骨架中的所有骨头,使目标人体模型骨架与参考人体模型骨架的姿势保持一致;根据目标人体模型骨架中骨头的旋转量,利用LBS蒙皮算法进行目标人体模型的皮肤变形;在目标人体模型和参考人体模型姿势调整一致后,可以降低服装模型从参考人体向目标人体迁移的难度,将低效的非刚性配准问题转换为高效的刚性配准问题,从而实现了将服装模型从所述参考人体模型上迁移到所述目标人体模型上。解决了在保持衣服在试穿前后尺寸不变的情况下,完成衣服在不同人体、不同姿势下的自动化试穿的技术问题。本发明实施例还可以应用到其他场景,比如运动数据迁移、基于深度感应器的体感应用等。
[0027] 当然,实施本发明的任一产品不一定需要同时实现以上所述的所有优点。
[0028] 本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其它优点可通过在所写的说明书、权利要求书以及附图中所特别指出的方法来实现和获得。

附图说明

[0029] 附图作为本发明的一部分,用来提供对本发明的进一步的理解,本发明的示意性实施例及其说明用于解释本发明,但不构成对本发明的不当限定。显然,下面描述中的附图仅仅是一些实施例,对于本领域普通技术人员来说,在不付出创造性劳动的前提下,还可以根据这些附图获得其他附图。在附图中:
[0030] 图1为根据一示例性实施例示出的虚拟试衣方法的流程示意图;
[0031] 图2为根据一示例性实施例示出的着装的参考人体模型和未着装的目标人体模型的示意图;
[0032] 图3为根据一示例性实施例示出的向人体模型中嵌入骨架得到离散关节点的示意图;
[0033] 图4为根据一示例性实施例示出的为目标人体模型和参考人体模型嵌入骨架并将目标人体模型摆正至与参考人体模型相一致的姿势的示意图;
[0034] 图5为根据一示例性实施例示出的为目标人体模型左肩部的每块骨头赋予初始朝向的示意图;
[0035] 图6为根据一示例性实施例示出的对目标人体模型左肩部骨头进行调整的示意图;
[0036] 图7为根据一示例性实施例示出的对目标人体模型左肘部骨头进行调整的示意图;
[0037] 图8为根据一示例性实施例示出的对目标人体模型左腕部骨头进行调整的示意图;
[0038] 图9为根据一示例性实施例示出的骨架姿势调整带动皮肤变形的示意图;
[0039] 图10为根据一示例性实施例示出的虚拟试衣系统的结构示意图。
[0040] 这些附图和文字描述并不旨在以任何方式限制本发明的构思范围,而是通过参考特定实施例为本领域技术人员说明本发明的概念。

具体实施方式

[0041] 下面结合附图以及具体实施例对本发明实施例解决的技术问题、所采用的技术方案以及实现的技术效果进行清楚、完整的描述。显然,所描述的实施例仅仅是本申请的一部分实施例,并不是全部实施例。基于本申请中的实施例,本领域普通技术人员在不付出创造性劳动的前提下,所获的所有其它等同或明显变型的实施例均落在本发明的保护范围内。本发明实施例可以按照权利要求中限定和涵盖的多种不同方式来具体化。
[0042] 需要说明的是,在下面的描述中,为了方便理解,给出了许多具体细节。但是很明显,本发明的实现可以没有这些具体细节。
[0043] 需要说明的是,在没有明确限定或不冲突的情况下,本发明中的各个实施例及其中的技术特征可以相互组合而形成技术方案。
[0044] 本发明总的技术构思是:将真实世界中人们试穿不同尺寸的衣服,选取最合身的这种场景搬到虚拟空间中。接收一个着装的参考人体模型,以及一个未着装的目标人体模型,对两个人体模型分别做骨架嵌入和皮肤绑定,使目标骨架朝参考骨架做姿势调整,在对嵌入人体模型的缺失朝向信息的骨架进行姿势调整之后带动皮肤作相应的变形,计算姿势调整后对应的蒙皮变换矩阵,将蒙皮变换矩阵应用到LBS蒙皮算法中完成皮肤的变形。本文中,蒙皮变换的输入可以是姿势调整过程中每块骨头的旋转量,也可以是从骨骼动画数据中得到的每块骨头的朝向信息。因为试穿流程的后续模块的处理都是以姿势调整一致的两个人体作为输入,所以本发明实施例利用该骨架信息来驱动自动化试穿,在骨架上实现静态的目标人体模型向静态参考人体模型姿势的调整并带动皮肤作相应的变形。本发明实施例可以应用于自动化虚拟试穿系统。
[0045] 为了在保持衣服在试穿前后尺寸不变,即便仅仅出现一些符合力学特性的褶皱、弯曲等的情况下,仍能完成衣服在不同人体、不同姿势下的自动化试穿。
[0046] 为此,本发明实施例提出一种虚拟试衣方法。如图1所示,该方法至少可以包括步骤S100至步骤S150。
[0047] 步骤S100:获取着装的参考人体模型以及未着装的目标人体模型。
[0048] 图2为根据一示例性实施例示出的着装的参考人体模型和未着装的目标人体模型的示意图。其中,参考人体模型与目标人体模型的姿势既可以相同,也可以不同。参考人体模型的姿势不一定是标准姿势。如果参考人体模型与目标人体模型的姿势完全相同,此时,骨架调整实际上并没有对目标人体模型产生变形影响。
[0049] 步骤S110:为参考人体模型和目标人体模型分别嵌入相同层次结构的骨架。
[0050] 其中,嵌入的骨架为带有层次结构的离散关节点,其初始值均为世界坐标系下的坐标,如图3所示。图4示例性地示出了为目标人体模型和参考人体模型嵌入骨架并将目标人体模型摆正至与参考人体模型相一致的姿势的示意图。
[0051] 步骤S120:对参考人体模型和目标人体模型的骨架进行皮肤绑定。
[0052] 皮肤绑定过程就是对于皮肤中的每个点,为其分配每块骨头对它的影响权重。例如,对于小腿部分的皮肤,影响权重最大的就是小腿骨。当人体从旧姿势变换到新姿势时,小腿骨的变化量对这块皮肤的影响最明显,其他骨头对其影响较小,甚至没有影响。
[0053] 步骤S130:计算目标人体模型骨架中骨头的旋转量,递归调整目标人体模型骨架中的所有骨头,使目标人体模型骨架与参考人体模型骨架的姿势保持一致。
[0054] 其中,计算目标人体模型骨架中骨头的旋转量具体包括:
[0055] 在全局坐标系下,对所述骨头进行以下处理:
[0056] 计算目标人体模型骨架上骨头对应的单位向量,其中,目标人体模型骨架上骨头对应的单位向量的方向为从目标人体模型骨架上骨头的始关节点指向末关节点;计算参考人体模型骨架上骨头对应的单位向量;计算目标人体模型骨架上骨头和参考人体模型骨架上骨头之间的旋转轴和旋转角;根据旋转轴和旋转角,得到第一旋转矩阵;将第一旋转矩阵转换成局部坐标系下的第二旋转矩阵;根据第二旋转矩阵和目标人体模型骨架上骨头的初始朝向,确定目标人体模型骨架上骨头的局部朝向;根据目标人体模型骨架上骨头的局部朝向和父亲朝向,确定目标人体模型骨架上骨头的旋转量。
[0057] 为了使目标人体模型骨架与参考人体模型骨架的姿势保持一致,也就是让目标人体模型与参考人体模型对齐,需要确定目标人体模型骨架上骨头的旋转量,下面以一优选实施例来对本发明进行详细的说明:
[0058] 将参考人体模型的骨架记为r-skel,而将目标人体模型的骨架记为d-skel,则在全局坐标系下,针对每块骨头,从d-skel向r-skel对齐的算法如下:
[0059] 步骤S131:对于d-skel,计算骨头 对应的单位向量vi,其中vi的方向为从 的始关节点指向末关节点。
[0060] 步骤S132:对于r-skel,计算骨头 对应的单位向量
[0061] 步骤S133:计算两块骨头 和 之间的旋转轴:
[0062] 步骤S134:计算两块骨头 和 之间的旋转角:
[0063]
[0064] 步骤S135:将上述旋转角和旋转轴表示的旋转转化为全局坐标系下的旋转矩阵Ri,其表示旋转量。
[0065] 步骤S136:将Ri转换成局部坐标系下的表示形式:
[0066]
[0067] 其中, 为从局部坐标系到全局坐标系的旋转矩阵。
[0068] 步骤S137:利用以下公式更新 的局部旋转矩阵
[0069]
[0070] 其中, 表示 的初始朝向;所述局部旋转矩阵表示局部变换量,其反映了局部朝向。
[0071] 步骤S138:利用以下公式更新 的全局旋转矩阵
[0072]
[0073] 其中, 表示 的父亲朝向;所述全局旋转矩阵表示全局变换量,其为目标人体模型骨架上骨头的旋转量,反映了全局朝向。
[0074] 图6至图8示例性地示出了对左肩部骨头、左肘部骨头和左腕部骨头进行调整的示意图。通过对每块骨头进行全局变换量的更新,递归调整目标人体模型骨架中的所有骨头,从而使目标人体模型的骨架与参考人体模型的骨架的姿势保持一致。本领域技术人员应能理解,上述使目标人体模型的骨架与参考人体模型的骨架的姿势保持一致的方式仅为举例,其他任意现有或今后可能出现的使目标人体模型的骨架与参考人体模型的骨架的姿势保持一致的方式若可适用于本发明,也应包含在本发明的保护范围之内,并在此以引用的方式结合于此。
[0075] 在计算目标人体模型骨架中骨头的旋转量之前还可以包括:
[0076] 根据目标人体模型骨架中关节点之间的父子关系,求取每一关节点在其父关节点下的局部坐标,以形成完整骨架。
[0077] 具体地,对在世界坐标系(也即全局坐标系)下的骨架信息做层次结构处理。然后根据骨架中关节点之间的父子关系,求取每个关节点在其父关节点下的局部坐标,从而完成对不完整骨架向完整骨架的转换工作。
[0078] 以目标人体模型左肩部分的骨架层次结构为例来进一步说明处理过程。其中,为每块骨头赋予初始朝向信息,假定每块骨头的初始朝向和世界坐标系一致。如图5所示,方框所示部分表示目标人体模型左肩部分。xyz坐标系表示世界坐标系。图5中的右下图示例性地表示为左肩部分的每块骨头赋予初始朝向。
[0079] 节点0代表颈部关节点,节点1代表左肩关节点,节点2代表左肘部关节点,节点3代表左腕部关节点。这四个关节点的初始坐标均为骨架嵌入步骤中得到的世界坐标。
[0080] 左肩部分的骨架中关节点之间的父子关系为:节点0为根关节点,也就是节点1的父关节点,其他关节点之间的关系以此类推。
[0081] 根据骨架中关节点之间的父子关系,求取每个关节点在其父关节点下的局部坐标具体为:
[0082] 由于节点0没有父关节点,则其局部坐标就等同于世界坐标。
[0083] 由于节点1的父关节点为节点0,则节点1在节点0下的局部坐标为:节点1的世界坐标减去节点0的世界坐标。
[0084] 对于节点2和3也做类似的处理,这样就完成了对不完整骨架向完整骨架的转换工作。
[0085] 对于完整骨架,可以利用上述对齐算法,使目标人体模型的骨架与参考人体模型的骨架的姿势保持一致。
[0086] 步骤S140:根据目标人体模型骨架中骨头的旋转量,利用LBS蒙皮算法进行目标人体模型的皮肤变形。
[0087] 为了使骨头带动皮肤一起运动,把骨头的运动传递到皮肤上(如图9所示),所以需要对目标人体模型进行皮肤变形处理。
[0088] 通过上一步的骨架姿势调整得到了每块骨头的旋转量(全局变换量),就可以进行皮肤变形,以把皮肤网格顶点绑定到骨头上。其中,在绑定的过程中有时候会将一个皮肤网格顶点绑定到多块骨头上。
[0089] 根据目标人体模型骨架中骨头的旋转量,利用LBS蒙皮算法进行目标人体模型的皮肤变形具体可以包括:
[0090] 根据目标人体模型骨头的始关节点位置,构造第一变换矩阵;根据第二旋转矩阵,构造第二变换矩阵;根据第一变换矩阵、第二变换矩阵以及目标人体模型骨头的父变换矩阵,得到目标人体模型骨头的全局变换矩阵;根据目标人体模型骨头的全局变换矩阵,使用LBS蒙皮算法,进行皮肤网格顶点的更新,以实现目标人体模型的皮肤变形。
[0091] 下面以一优选实施例来对本发明实施例利用LBS蒙皮算法进行皮肤变形予以更详细的说明:
[0092] 步骤S142:利用 的始关节点位置Ji,来构造变换矩阵:
[0093]
[0094] 步骤S144:利用上述 c来a构l造变换矩阵:
[0095]
[0096] 步骤S146:利用以下公式来计算 的全局变换矩阵Mi:
[0097]
[0098] 步骤S148:使用LBS蒙皮算法进行皮肤网格顶点的更新:
[0099]
[0100] 其中,i取0,1,2……; 表示目标人体模型的骨头; 表示为在全局坐标系下 的父变换矩阵;对于根骨头 设置 xj和x′j分别代表顶点更新前后的位置;Mi表示第i块骨头的全局变换矩阵; 表示第i块骨头对顶点j的影响权重,且
[0101] 通过对每块骨头的全局变换矩阵应用LBS蒙皮算法进行皮肤网格顶点的更新,实现皮肤变形,从而使得目标人体模型皮肤网格的姿势调整到和参考人体模型皮肤网格的姿势相一致。本领域技术人员应能理解,上述进行皮肤变形使得目标人体模型皮肤网格的姿势与参考人体模型皮肤网格的姿势相一致的方式仅为举例,其他任意现有或今后可能出现的将目标人体模型皮肤网格的姿势调整到参考人体模型皮肤网格的姿势相一致的方式若可适用于本发明,也应包含在本发明的保护范围之内,并在此以引用的方式结合于此。
[0102] 步骤S150:将服装模型从参考人体模型上迁移到目标人体模型上。
[0103] 其中,将服装模型从参考人体模型上迁移到目标人体模型上具体可以包括:
[0104] 对目标人体模型与参考人体模型进行刚性配准,得到仿射变换;将仿射变换作用于服装模型,从而实现将服装模型从所述参考人体模型上迁移到所述目标人体模型上。
[0105] 在实际中,利用ICP(Iterative Closest Point迭代最近点)算法,可以对皮肤变形后的目标人体模型与参考人体模型进行刚性配准。具体来说,忽略掉两个网格的拓扑连接,将网格的顶点看作两组点云进行配准,最终得到一个仿射变换(包含旋转变换与平移变换)。如果将该仿射变换作用在参考人体模型上,可以使之与目标人体模型重合。同样,将该仿射变换作用于服装模型上,就能实现将服装模型从参考人体模型上迁移到目标人体模型上。
[0106] 下面举例对利用ICP算法对变形后的目标人体模型与参考人体模型进行刚性配准的原理进行说明:
[0107] 步骤S151:对于第k次迭代,对参考人体模型点云Pk中的每个点(k取0,1,2……),从目标人体模型点云X中选取最近的点,形成就近点集Yk;其中,Yk=C(Pk,X);C为就近点集算子。
[0108] 步骤S152:利用基于对应点集配准的单位四元数法,来计算参考人体模型点云Pk和就近点集Yk之间的最优旋转平移变换。
[0109] 步骤S153:将该最优旋转平移变换作用于当前参考人体模型点云Pk,得到新的参考人体点云
[0110] 步骤S154:进行迭代,直到dk-dk+1<τ时迭代终止,其中τ是预先设定好的阈值,τ>0。
[0111] 步骤S155:将仿射变换 应用于服装模型,以实现将服装模型从参考人体上迁移到目标人体上。
[0112] 如果服装是被迁移到较胖的目标人体上,可能发生严重的穿透,此时需要选择性的做一定皮肤收缩;最后通过布料仿真完成姿势的恢复,如果上一步有皮肤收缩,此时需要在姿势恢复前先通过布料仿真完成皮肤的恢复。
[0113] 本实施例中将各个步骤按照上述先后次序的方式进行了描述,本领域技术人员可以理解,为了实现本实施例的效果,不同的步骤之间不必按照这样的次序执行,其可以同时执行或执行次序颠倒,这些简单的变化都在本发明的保护范围之内。
[0114] 基于与方法实施例相同的发明构思,本发明实施例还提供一种虚拟试衣系统1000。该系统1000至少可以包括:获取模块1002、嵌入模块1004、绑定模块1006、计算模块
1008、变形模块1010和迁移模块1012。其中,获取模块1002被配置为获取着装的参考人体模型以及未着装的目标人体模型;嵌入模块1004被配置为参考人体模型和目标人体模型分别嵌入相同层次结构的骨架;绑定模块1006被配置为对参考人体模型和目标人体模型的骨架进行皮肤绑定;计算模块1008被配置为计算目标人体模型骨架中骨头的旋转量,递归调整目标人体模型骨架中的所有骨头,使目标人体模型骨架与参考人体模型骨架的姿势保持一致;变形模块1010被配置为根据目标人体模型骨架中骨头的旋转量,利用LBS蒙皮算法进行目标人体模型的皮肤变形;迁移模块1012被配置为在对目标人体模型进行皮肤变形的基础上,将服装模型从参考人体模型上迁移到目标人体模型上。
[0115] 在一个可选的实施例中,在全局坐标系下,对骨头进行处理;计算模块具体包括:第一计算模块、第二计算模块、第三计算模块、矩阵获取模块、转换模块、第一确定模块和第二确定模块。其中,第一计算模块被配置为计算目标人体模型骨架上骨头对应的单位向量,其中目标人体模型骨架上骨头对应的单位向量的方向为从目标人体模型骨架上骨头的始关节点指向末关节点;第二计算模块被配置为计算参考人体模型骨架上骨头对应的单位向量;第三计算模块被配置为计算目标人体模型骨架上骨头和参考人体模型骨架上骨头之间的旋转轴和旋转角;矩阵获取模块被配置为根据旋转轴和所述旋转角,得到第一旋转矩阵;
转换模块被配置为将第一旋转矩阵转换成局部坐标系下的第二旋转矩阵;第一确定模块被配置为根据第二旋转矩阵和目标人体模型骨架上骨头的初始朝向,确定目标人体模型骨架上骨头的局部朝向;第二确定模块被配置为根据目标人体模型骨架上骨头的局部朝向和父亲朝向,确定目标人体模型骨架上骨头的旋转量。
[0116] 在一个可选的实施例中,该系统还包括求取模块。其中,求取模块被配置为根据目标人体模型骨架中关节点之间的父子关系,求取每一关节点在其父关节点下的局部坐标,以形成完整骨架。
[0117] 在一个可选的实施例中,变形模块具体包括:第一矩阵构造模块、第二矩阵构造模块、第三矩阵构造模块和更新模块。其中,第一矩阵构造模块被配置为根据目标人体模型骨头的始关节点位置,构造第一变换矩阵;第二矩阵构造模块被配置为根据第二旋转矩阵,构造第二变换矩阵;第三矩阵构造模块被配置为根据第一变换矩阵、第二变换矩阵以及目标人体模型骨头的父变换矩阵,得到目标人体模型骨头的全局变换矩阵;更新模块被配置为根据目标人体模型骨头的全局变换矩阵,使用LBS蒙皮算法,进行皮肤网格顶点的更新,以实现目标人体模型的皮肤变形。
[0118] 在一个可选的实施例中,迁移模块具体包括刚性配准模块和作用模块。其中,刚性配准模块被配置为对目标人体模型与参考人体模型进行刚性配准,得到仿射变换;作用模块被配置为将仿射变换作用于服装模型,从而实现将服装模型从参考人体模型上迁移到目标人体模型上。
[0119] 上述系统实施例可以用于执行上述方法实施例,其技术原理、所解决的技术问题及产生的技术效果相似,所属技术领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
[0120] 应指出的是,上面分别对本发明的装置/系统和方法实施例分别进行了描述,但是对一个实施例描述的细节也可应用于另一个实施例。
[0121] 通过上述技术方案,可以将两个人体模型的姿势调整一致,并且皮肤也跟随着做合适的变形。在我们的自动化虚拟试穿系统中,姿势调整一致大大简化了服装配准到目标人体的过程,只需要对两个姿势一致的人体进行刚性配准,然后将得到的仿射变换应用于服装模型上即可。而且,可以在此基础上继续进行皮肤收缩,进一步减轻后面布料仿真的压力,扩大穿透检测和修复算法能处理的场景。至于其他关键技术,如穿透的检测和修复等(参考Juntao Ye and Jing Zhao.The intersection contour minimization method for untangling oriented deformable surfaces.In Proc.Symp.Computer Animation,pages 311–316,2012;MA G.,YE J.,LI J.,ZHANG X.:Anisotropic strain limiting for quadrilateral and triangular cloth meshes.Computer Graphics Forum(online,to appear)(2015).)。
[0122] 本发明实施例基于已得到的仅含位置信息的骨架,引入不同坐标系下表示相同旋转的方法,利用局部坐标计算LBS蒙皮变换,进行骨架姿势调整和皮肤变形。所用算法耗时为毫秒级别,高效鲁棒,可进一步应用于运动数据迁移、基于深度感应器的体感应用等场景。
[0123] 以上对本发明实施例所提供的技术方案进行了详细的介绍。虽然本文应用了具体的个例对本发明的原理和实施方式进行了阐述,但是,上述实施例的说明仅适用于帮助理解本发明实施例的原理;同时,对于本领域技术人员来说,依据本发明实施例,在具体实施方式以及应用范围之内均会做出改变。
[0124] 需要说明的是:附图中的标记和文字只是为了更清楚地说明本发明,不视为对本发明保护范围的不当限定。
[0125] 术语“包括”、“包含”或者任何其它类似用语旨在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备/装置不仅包括那些要素,而且还包括没有明确列出的其它要素,或者还包括这些过程、方法、物品或者设备/装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备/装置中还存在另外的要素,即“包括一个”的意思还涵盖“包括另一个”的意思。
[0126] 本发明的各个步骤可以用通用的计算装置来实现,例如,它们可以集中在单个的计算装置上,例如:个人计算机、服务器计算机、手持设备或便携式设备、平板型设备或者多处理器装置,也可以分布在多个计算装置所组成的网络上,它们可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。因此,本发明不限于任何特定的硬件和软件或者其结合。
[0127] 本发明提供的方法可以使用可编程逻辑器件来实现,也可以实施为计算机程序软件或程序模块(其包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件或数据结构等等),例如根据本发明的实施例可以是一种计算机程序产品,运行该计算机程序产品使计算机执行用于所示范的方法。所述计算机程序产品包括计算机可读存储介质,该介质上包含计算机程序逻辑或代码部分,用于实现所述方法。所述计算机可读存储介质可以是被安装在计算机中的内置介质或者可以从计算机主体上拆卸下来的可移动介质(例如:采用热插拔技术的存储设备)。所述内置介质包括但不限于可重写的非易失性存储器,例如:RAM、ROM、快闪存储器和硬盘。所述可移动介质包括但不限于:光存储介质(例如:CD-ROM和DVD)、磁光存储介质(例如:MO)、磁存储介质(例如:磁带或移动硬盘)、具有内置的可重写非易失性存储器的媒体(例如:存储卡)和具有内置ROM的媒体(例如:ROM盒)。
[0128] 本发明并不限于上述实施方式,在不背离本发明实质内容的情况下,本领域普通技术人员可以想到的任何变形、改进或替换均落入本发明的范围。
[0129] 尽管上文已经示出、描述和指出了适用于各种实施方式的本发明的基本新颖特征的详细描述,但是将会理解,在不脱离本发明意图的情况下,本领域技术人员可以对系统的形式和细节进行各种省略、替换和改变。