三维头发模型的重建方法、装置、电子设备及存储介质与流程

文档序号:29027695发布日期:2022-02-24 10:11阅读:224来源:国知局
三维头发模型的重建方法、装置、电子设备及存储介质与流程

1.本公开涉及三维模型重建技术领域,尤其涉及一种三维头发模型的重建方法、装置、电子设备及存储介质。


背景技术:

2.随着计算机视觉技术的发展,出现了三维重建技术。三维重建技术通过深度数据获取、预处理、点云配准与融合、生成表面等过程,把真实场景刻画成符合计算机逻辑表达的数学模型。由于头发的创建可以显著增强虚拟形象或者虚拟角色的真实感,且三维重建技术是在计算机中建立表达客观世界的虚拟现实的关键技术,因此,如何利用三维重建技术构造逼真的头发模型是急需解决的问题。
3.相关技术中,基于多方向约束对头发进行建模,主要利用从图像中重建的头发表面几何、头发表面方向和头模型几何,重建出完整的头发模型。
4.然而,目前的三维头发建模方法中,对头发模型中的头发簇进行调整,需要花费大量时间。


技术实现要素:

5.本公开提供一种三维头发模型的重建方法、装置、电子设备及存储介质,以至少解决相关技术中对头发模型中的头发簇进行调整,需要花费大量时间的技术问题。本公开的技术方案如下:
6.根据本公开实施例的第一方面,提供一种三维头发模型的重建方法,包括:
7.获取待调整头发簇和对应的基础形状模型,所述基础形状模型为表征基础发型的形状的三维模型,所述基础形状模型上分布有所述待调整头发簇和预设控制点;
8.根据所述预设控制点上的调整操作,对所述基础形状模型进行调整,并通过所述预设控制点调整后的三维坐标确定所述基础形状模型调整后的三维坐标;
9.根据所述基础形状模型调整后的三维坐标,对所述基础形状模型上的待调整头发簇进行调整;
10.根据调整后的头发簇,生成三维头发模型。
11.在其中一个实施例中,所述获取待调整头发簇和对应的基础形状模型,包括:
12.获取感兴趣头发簇和对应的原始基础形状模型,所述感兴趣头发簇为需要调整的头发簇,所述原始基础形状模型上分布有原始控制点;
13.复制所述感兴趣头发簇和对应的原始基础形状模型,得到感兴趣头发簇副本和对应的原始基础形状模型副本,所述原始基础形状模型副本上分布有原始控制点副本,将所述感兴趣头发簇副本作为所述待调整头发簇,将所述对应的原始基础形状模型副本作为所述基础形状模型,将所述原始控制点副本作为所述预设控制点。
14.在其中一个实施例中,所述根据所述基础形状模型调整后的三维坐标,对所述基础形状模型上的待调整头发簇进行调整,包括:
15.通过所述基础形状模型的纹理坐标,得到所述基础形状模型的三维坐标与所述待调整头发簇的三维坐标的对应关系;
16.根据所述基础形状模型调整后的三维坐标,以及所述基础形状模型的三维坐标与所述待调整头发簇的三维坐标的对应关系,确定所述待调整头发簇调整后的三维坐标;
17.根据所述待调整头发簇调整后的三维坐标,对所述基础形状模型上的待调整头发簇进行调整。
18.在其中一个实施例中,所述根据调整后的头发簇,生成三维头发模型,包括:
19.根据所述调整后的头发簇在对应的基础形状模型上的位置信息,生成所述调整后的头发簇的若干个骨骼点;
20.根据各所述骨骼点的位置信息,对所述调整后的头发簇进行蒙皮操作。
21.在其中一个实施例中,各所述骨骼点在所述调整后的头发簇的长度方向上均匀分布。
22.在其中一个实施例中,所述根据各所述骨骼点的位置信息,对所述调整后的头发簇进行蒙皮操作,包括:
23.根据各所述骨骼点的位置信息,在各所述骨骼点之间为所述调整后的头发簇添加骨骼;
24.获取所述调整后的头发簇中各顶点的位置信息;
25.根据各所述顶点的位置信息和各所述骨骼点的位置信息,获取各所述顶点与各所述骨骼点之间的距离;
26.根据所述距离生成所述调整后的头发簇中各顶点的蒙皮权重;
27.根据所述蒙皮权重,将各所述顶点与各所述骨骼点之间的骨骼进行关联。
28.在其中一个实施例中,所述待调整头发簇的生成方式,包括:
29.获取头发平面模板,所述头发平面模板包括多个投影图,所述投影图通过基础形状模型在多个预设视图方向上投影而得到;
30.从所述头发平面模板中选择目标投影图,通过所述目标投影图获取绘制的头发簇;
31.根据所述绘制的头发簇在所述目标投影图中的位置信息以及所述目标投影图对应的基础形状模型的几何信息,确定所述绘制的头发簇的几何信息;
32.根据所述绘制的头发簇的几何信息,生成所述待调整头发簇。
33.在其中一个实施例中,所述头发平面模板的生成方式,包括:
34.获取所述基础形状模型;
35.将所述基础形状模型在各所述预设视图方向上进行投影,得到所述基础形状模型在所述预设视图方向上的投影图;
36.根据所述基础形状模型在所述预设视图方向上的投影图,生成所述头发平面模板。
37.根据本公开实施例的第二方面,提供一种三维头发模型的重建装置,包括:
38.获取模块,被配置为执行获取待调整头发簇和对应的基础形状模型,所述基础形状模型为表征基础发型的形状的三维模型,所述基础形状模型上分布有所述待调整头发簇和预设控制点;
39.模型调整模块,被配置为执行根据所述预设控制点上的调整操作,对所述基础形状模型进行调整,并通过所述预设控制点调整后的三维坐标确定所述基础形状模型调整后的三维坐标;
40.头发簇调整模块,被配置为执行根据所述基础形状模型调整后的三维坐标,对所述基础形状模型上的待调整头发簇进行调整;
41.模型生成模块,被配置为执行根据调整后的头发簇,生成三维头发模型。
42.在其中一个实施例中,所述获取模块,还被配置为执行获取感兴趣头发簇和对应的原始基础形状模型,所述感兴趣头发簇为需要调整的头发簇,所述原始基础形状模型上分布有原始控制点;复制所述感兴趣头发簇和对应的原始基础形状模型,得到感兴趣头发簇副本和对应的原始基础形状模型副本,所述原始基础形状模型副本上分布有原始控制点副本,将所述感兴趣头发簇副本作为所述待调整头发簇,将所述对应的原始基础形状模型副本作为所述基础形状模型,将所述原始控制点副本作为所述预设控制点。
43.在其中一个实施例中,头发簇调整模块,还被配置为执行通过所述基础形状模型的纹理坐标,得到所述基础形状模型的三维坐标与所述待调整头发簇的三维坐标的对应关系;根据所述基础形状模型调整后的三维坐标,以及所述基础形状模型的三维坐标与所述待调整头发簇的三维坐标的对应关系,确定所述待调整头发簇调整后的三维坐标;根据所述待调整头发簇调整后的三维坐标,对所述基础形状模型上的待调整头发簇进行调整。
44.在其中一个实施例中,所述模型生成模块包括骨骼点生成单元和蒙皮操作单元;
45.所述骨骼点生成单元,被配置为执行根据所述调整后的头发簇在对应的基础形状模型上的位置信息,生成所述调整后的头发簇的若干个骨骼点;
46.所述蒙皮操作单元,被配置为执行根据各所述骨骼点的位置信息,对所述调整后的头发簇进行蒙皮操作。
47.在其中一个实施例中,各所述骨骼点在所述调整后的头发簇的长度方向上均匀分布。
48.在其中一个实施例中,所述蒙皮操作单元,还被配置为执行根据各所述骨骼点的位置信息,在各所述骨骼点之间为所述调整后的头发簇添加骨骼;获取所述调整后的头发簇中各顶点的位置信息;根据各所述顶点的位置信息和各所述骨骼点的位置信息,获取各所述顶点与各所述骨骼点之间的距离;根据所述距离生成所述调整后的头发簇中各顶点的蒙皮权重;根据所述蒙皮权重,将各所述顶点与各所述骨骼点之间的骨骼进行关联。
49.在其中一个实施例中,所述重建装置还包括待调整头发簇生成模块,被配置执行为获取头发平面模板,所述头发平面模板包括多个投影图,所述投影图通过基础形状模型在多个预设视图方向上投影而得到;从所述头发平面模板中选择目标投影图,通过所述目标投影图获取绘制的头发簇;根据所述绘制的头发簇在所述目标投影图中的位置信息以及所述目标投影图对应的基础形状模型的几何信息,确定所述绘制的头发簇的几何信息;根据所述绘制的头发簇的几何信息,生成所述待调整头发簇。
50.在其中一个实施例中,所述重建装置还包括头发平面模板生成模块,被配置为执行获取所述基础形状模型;将所述基础形状模型在各所述预设视图方向上进行投影,得到所述基础形状模型在所述预设视图方向上的投影图;根据所述基础形状模型在所述预设视图方向上的投影图,生成所述头发平面模板。
51.根据本公开实施例的第三方面,提供一种电子设备,包括:
52.处理器;
53.用于存储所述处理器可执行指令的存储器;
54.其中,所述处理器被配置为执行所述指令,以实现第一方面的任一项实施例中所述的三维头发模型的重建方法。
55.根据本公开实施例的第四方面,提供一种存储介质,当所述存储介质中的指令由电子设备的处理器执行时,使得电子设备能够执行第一方面的任一项实施例中所述的三维头发模型的重建方法。
56.根据本公开实施例的第五方面,提供一种计算机程序产品,所述程序产品包括计算机程序,所述计算机程序存储在可读存储介质中,设备的至少一个处理器从所述可读存储介质读取并执行所述计算机程序,使得设备执行第一方面的任一项实施例中所述的三维头发模型的重建方法。
57.本公开的实施例提供的技术方案至少带来以下有益效果:
58.本公开通过获取待调整头发簇和对应的基础形状模型,所述基础形状模型为表征基础发型的形状的三维模型,所述基础形状模型上分布有所述待调整头发簇和预设控制点;根据所述预设控制点上的调整操作,对所述基础形状模型进行调整,并通过所述预设控制点调整后的三维坐标确定所述基础形状模型调整后的三维坐标;根据所述基础形状模型调整后的三维坐标,对所述基础形状模型上的待调整头发簇进行调整;根据调整后的头发簇,生成三维头发模型。本公开通过对基础形状模型上的预设控制点进行调整,以实现对待调整头发簇的调整。由于预设控制点的数量远远小于基础形状模型的顶点的数量,相对于传统技术中通过顶点调整头发簇以改变头发模型的形状,不仅缩短了调整头发簇所花费的时间,而且减少了设计师的工作量,还减少设计单个素材所需要的时间,从而提升了三维头发模型的生成效率。
59.应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
60.此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理,并不构成对本公开的不当限定。
61.图1是根据一示例性实施例示出的一种三维头发模型的重建方法的应用环境图。
62.图2是根据一示例性实施例示出的一种三维头发模型的重建方法的流程图。
63.图3是根据一示例性实施例示出的三维头发模型的重建方法中步骤s210的流程图。
64.图4是根据一示例性实施例示出的三维头发模型的重建方法中步骤s230的流程图。
65.图5是根据一示例性实施例示出的三维头发模型的重建方法中步骤s240的流程图。
66.图6a是根据一示例性实施例示出的三维头发模型的重建方法中步骤s510的流程图。
67.图6b是根据一示例性实施例示出的骨骼点分布的示意图。
68.图7是根据一示例性实施例示出的三维头发模型的重建方法中步骤s520的流程图。
69.图8是根据一示例性实施例示出的一种待调整头发簇的生成方式的流程图。
70.图9是根据一示例性实施例示出的一种头发平面模板的生成方式的流程图。
71.图10是根据一示例性实施例示出的一种三维头发模型的重建方法的流程图。
72.图11是根据一示例性实施例示出的一种三维头发模型的重建装置的框图。
73.图12是根据一示例性实施例示出的一种电子设备的内部结构图。
具体实施方式
74.为了使本领域普通人员更好地理解本公开的技术方案,下面将结合附图,对本公开实施例中的技术方案进行清楚、完整地描述。
75.需要说明的是,本公开的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本公开的实施例能够以除了在这里图示或描述的那些以外的顺序实施。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
76.本公开所提供的三维头发模型的重建方法,可以应用于如图1所示的应用环境中。其中,终端110通过网络与服务器120进行交互。其中,终端110获取待调整头发簇和对应的基础形状模型,所述基础形状模型为表征基础发型的形状的三维模型,所述基础形状模型上分布有所述待调整头发簇和预设控制点;根据所述预设控制点上的调整操作,对所述基础形状模型进行调整,并通过所述预设控制点调整后的三维坐标确定所述基础形状模型调整后的三维坐标;根据所述基础形状模型调整后的三维坐标,对所述基础形状模型上的待调整头发簇进行调整;根据调整后的头发簇,生成三维头发模型。通过对基础形状模型上的预设控制点进行调整,以实现对待调整头发簇的调整。由于预设控制点的数量远远小于基础形状模型的顶点的数量,本实施中通过预设控制点对待调整头发簇进行调整,并根据调整后的头发簇生成三维头发模型,相对于传统技术中通过顶点调整头发簇以改变头发模型的形状,不仅缩短了调整头发簇所花费的时间,而且减少了设计师的工作量,还减少设计单个素材所需要的时间,提升了三维头发模型的生成效率。
77.其中,终端110可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑和便携式可穿戴设备,服务器120可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
78.图2是根据一示例性实施例示出的一种三维头发模型的重建方法的流程图,如图2所示,该三维头发模型的重建方法用于图1中的终端110中,包括以下步骤:
79.在步骤s210中,获取待调整头发簇和对应的基础形状模型。
80.其中,三维头发模型是具有特定发型的头发所对应的立体模型,比如三维头发模型可以是二次元头发对应的立体模型。基础形状模型为表征基础发型的形状的三维模型,基础形状模型可以是对常见发型的特征和形状进行总结和抽象得到的立体模型,常见发型
可以是长发、短发、刘海、背头、马尾、丸子等。基础形状模型的表面为各种基础发型的头发所附着的曲面。基础形状模型上分布有待调整头发簇和预设控制点。可以理解的是,若三维头发模型对应的发型复杂,则三维头发模型的重建需要多个基础形状模型,三维头发模型是由若干组的头发簇组成,头发簇可以是构成三维头发模型的一簇簇头发。头发簇附着在基本形状模型的表面,则基本形状模型的表面可以对应有至少一组头发簇。而待调整头发簇是需要调整位置和/或形状的头发簇。预设控制点是用于表征基础发型的特征点,预设控制点的数量和分布情况可以结合实际情况预先设定,且预设控制点的数量远小于基础形状模型顶点的数量,比如预设控制点的数量可以为41个,其中一个分布在天灵盖位置处,其余40个分为10行,每行4个,且均匀分布在基本形状模型的同一高度。预设控制点的位置确定后,可以通过三次样条插值,根据预设控制点的位置生成基础形状模型的顶点,则预设控制点与基础形状模型之间存在映射关系。具体的,从计算机本地获取若干头发簇和各自对应的基础形状模型,或者从与计算机网络连接的另一计算机设备中加载若干头发簇和各自对应的基础形状模型。为了逼真地展示三维头发模型,需要对其中的部分或者全部头发簇进行调整。从中选择待调整头发簇,由于头发簇是附着在对应的基础形状模型上,并选择待调整头发簇所对应的基础形状模型。
81.在步骤s220中,根据预设控制点上的调整操作,对基础形状模型进行调整,并通过预设控制点调整后的三维坐标确定基础形状模型调整后的三维坐标。
82.其中,预设控制点的三维坐标是用于表征预设控制点在世界坐标系内的位置信息。基础形状模型的三维坐标是用于表征基础形状模型在世界坐标系内的位置信息。由于头发簇附着在基础形状模型上,且基础形状模型上的预设控制点与基础形状模型之间存在映射关系,因此,通过对预设控制点的调整实现基础形状模型的调整,进而通过基础形状模型的调整实现头发簇的调整。
83.具体地,根据头发造型的实际需求,设计师对基础形状模型上的设控制点进行调整,即基础形状模型上的设控制点发生调整操作,响应于预设控制点的调整指令,预设控制点的位置发生变化。由于基础形状模型上的预设控制点与基础形状模型之间存在映射关系,在预设控制点的位置发生变化后,基础形状模型的位置也随着发生变化。又由于头发簇附着在基础形状模型上,基础形状模型的位置发生变化,基础形状模型上分布的待调整头发簇的位置也随着发生变化,且世界坐标系内的位置信息记为三维坐标。因此,通过预设控制点调整后的三维坐标确定基础形状模型调整后的三维坐标。需要说明的是,调整指令是发生在预设控制点上用于调整头发的造型的操作指令,调整指令可以是对预设控制点的拖拽操作,也可以是在基础形状模型的显示界面中输入预设控制点的调整距离等。
84.在步骤s230中,根据基础形状模型调整后的三维坐标,对基础形状模型上的待调整头发簇进行调整。
85.具体地,基础形状模型上的预设控制点与基础形状模型之间存在映射关系,通过预设控制点调整后的三维坐标确定基础形状模型调整后的三维坐标。由于头发簇附着在基础形状模型上,基础形状模型的位置发生变化,基础形状模型上分布的待调整头发簇的位置也随着发生变化,因此,通过根据基础形状模型调整后的三维坐标可以确定待调整头发簇调整后的位置,从而根据待调整头发簇调整后的位置对其进行调整。
86.在步骤s240中,根据调整后的头发簇,生成三维头发模型。
87.具体地,根据头发造型的实际需求,设计师对基础形状模型进行调整,基础形状模型对应的待调整头发簇随着基础形状模型的调整而调整。当完成待调整头发簇的调整工作后,可以利用调整后的头发簇,生成最终的三维头发模型。可以理解的是,初始的三维头发模型中包括若干头发簇。若部分头发簇需要调整,则该部分头发簇为待调整头发簇,在对该部分头发簇完成调整后,得到调整后的头发簇,从而利用除该部分之外的其他头发簇和调整后的头发簇一起生成最终的三维头发模型;若全部的头发簇需要调整,则全部的头发簇为待调整头发簇,在对全部头发簇完成调整后,得到调整后的头发簇,从而利用调整后的头发簇生成最终的三维头发模型。
88.上述三维头发模型的重建方法中,通过获取待调整头发簇和对应的基础形状模型;根据所述预设控制点上的调整操作,对所述基础形状模型进行调整,并通过所述预设控制点调整后的三维坐标确定所述基础形状模型调整后的三维坐标;根据所述基础形状模型调整后的三维坐标,对所述基础形状模型上的待调整头发簇进行调整;根据调整后的头发簇,生成三维头发模型。本实施例通过对基础形状模型上的预设控制点进行调整,以实现对待调整头发簇的调整。由于预设控制点的数量远远小于基础形状模型的顶点的数量,相对于传统技术中通过顶点调整头发簇以改变头发模型的形状,不仅缩短了调整头发簇所花费的时间,而且减少了设计师的工作量,还减少设计单个素材所需要的时间,提升了三维头发模型的生成效率。
89.在一示例性实施例中,如图3所示,在步骤s210中,获取待调整头发簇和对应的基础形状模型,具体可以通过以下步骤实现:
90.在步骤s310中,获取感兴趣头发簇和对应的原始基础形状模型。
91.其中,感兴趣头发簇为需要调整的头发簇,比如感兴趣头发簇可以是部分范围内需要调整位置、形状的头发簇。比如直发头发簇调整为卷发头发簇。感兴趣头发簇分布在原始基础形状模型上,原始基础形状模型上分布有原始控制点。原始基础形状模型可以是为被执行任何操作的基础形状模型。具体的,一方面,可以从计算机本地获取若干感兴趣头发簇和各自对应的原始基础形状模型,或者从与计算机网络连接的另一计算机设备中加载若干感兴趣头发簇和各自对应的原始基础形状模型。另一方面,从计算机本地获取若干头发簇和各自对应的基础形状模型,或者从与计算机网络连接的另一计算机设备中加载若干头发簇和各自对应的基础形状模型。为了逼真地展示三维头发模型,从中选择感兴趣头发簇,由于头发簇是附着在对应的基础形状模型上,并选择感兴趣头发簇所对应的原始基础形状模型。
92.在步骤s320中,复制感兴趣头发簇和对应的原始基础形状模型,得到感兴趣头发簇副本和对应的原始基础形状模型副本,原始基础形状模型副本上分布有原始控制点副本,将感兴趣头发簇副本作为待调整头发簇,将对应的原始基础形状模型副本作为基础形状模型,将原始控制点副本作为预设控制点。
93.其中,基础形状模型上附着有多组头发簇,多组头发簇之间的位置相互影响,对其中一组头发簇进行调整,其他头发簇也会随着调整,这个问题会增加设计师对头发簇的调整工作。比如,后续对其他头发簇的调整会影响已经完成调整的头发簇,不仅会影响头发造型的逼真效果,而且需要设计师对已经完成调整的头发簇再次调整,则头发簇的调整工作将会花费大量时间。为了避免头发簇之间的相互影响,增加设计师操作调控的自由度,可以
通过复制将需要调整的头发簇和对应的基础形状模型独立出来,从而在对需要调整的头发簇和对应的基础形状模型进行调整时,将不会影响其他头发簇的位置。感兴趣头发簇副本是对感兴趣头发簇的源文件复制而得到的,感兴趣头发簇副本对应的基础形状模型副本是对感兴趣头发簇的源文件所对应的基础形状模型复制而得到的。具体地,在若干组头发簇中选取感兴趣头发簇和对应的原始基础形状模型作为复制内容,响应于感兴趣头发簇和对应的原始基础形状模型的粘贴指令,生成感兴趣头发簇副本和对应的原始基础形状模型副本。由于感兴趣头发簇副本和对应的原始基础形状模型副本是通过复制操作而得到的,则原始基础形状模型副本上分布有原始控制点副本。为了对感兴趣头发簇副本进行调整,将感兴趣头发簇副本作为待调整头发簇,将对应的原始基础形状模型副本作为基础形状模型,将原始控制点副本作为预设控制点。需要说明的是,本公开中待调整头发簇可以是从计算本地或者与计算机网络连接的另一计算机设备中直接获取的待调整头发簇,也可以是复制感兴趣头发簇得到的感兴趣头发簇副本。
94.上述三维头发模型的重建方法中,获取感兴趣头发簇和对应的原始基础形状模型;通过复制感兴趣头发簇和对应的原始基础形状模型,得到感兴趣头发簇副本和对应的原始基础形状模型副本。可见,本实施例通过提供头发簇和对应的基础形状模型的复制功能,有效避免头发簇相互之间的影响;进而响应于原始控制点副本的调整指令,对感兴趣头发簇副本进行调整,不仅减少了设计师头发模型中头发簇的调整工作,而且减少头发簇调整所花费的时间,还提升设计师的工作效率。
95.在一示例性实施例中,如图4所示,在步骤s230中,根据基础形状模型调整后的三维坐标,对基础形状模型上的待调整头发簇进行调整,具体可以通过以下步骤实现:
96.在步骤s410中,通过基础形状模型的纹理坐标,得到基础形状模型的三维坐标与待调整头发簇的三维坐标的对应关系。
97.在步骤s420中,根据基础形状模型调整后的三维坐标,以及基础形状模型的三维坐标与待调整头发簇的三维坐标的对应关系,确定待调整头发簇调整后的三维坐标。
98.在步骤s430中,根据待调整头发簇调整后的三维坐标,对基础形状模型上的待调整头发簇进行调整。
99.其中,纹理坐标具有u和v两个坐标轴,因此称之为uv坐标,可以用于定义图片上每个点的位置信息,u代表横向坐标上的分布、v代表纵向坐标上的分布。基础形状模型的几何信息是已知的,几何信息包括纹理坐标和三维坐标,纹理坐标和三维坐标之间一一对应,且纹理坐标具有不变性。具体地,待调整头发簇分布在基础形状模型上,可以通过基础形状模型的纹理坐标得到待调整头发簇的纹理坐标。进一步地,由于纹理坐标具有不变性以及纹理坐标和三维坐标之间一一对应的关系,则可以通过基础形状模型的纹理坐标,得到基础形状模型的三维坐标与待调整头发簇的三维坐标的对应关系。从而将基础形状模型调整后的三维坐标代入基础形状模型的三维坐标与待调整头发簇的三维坐标的对应关系进行推算,确定待调整头发簇调整后的三维坐标。最后,根据待调整头发簇调整后的三维坐标,对基础形状模型上的待调整头发簇进行调整。
100.上述三维头发模型的重建方法中,通过基础形状模型的纹理坐标,得到基础形状模型的三维坐标与待调整头发簇的三维坐标的对应关系。从而根据基础形状模型调整后的三维坐标,以及基础形状模型的三维坐标与待调整头发簇的三维坐标的对应关系,确定待
调整头发簇调整后的三维坐标。最后,根据待调整头发簇调整后的三维坐标,对基础形状模型上的待调整头发簇进行调整。可见,本实施例实现了对头发模型的高精度调整,减少对头发模型调整操作的复杂度。
101.在一示例性实施例中,如图5所示,在步骤s240中,根据调整后的头发簇,生成三维头发模型,具体可以通过以下步骤实现:
102.在步骤s510中,根据调整后的头发簇在对应的基础形状模型上的位置信息,生成调整后的头发簇的若干个骨骼点。
103.在步骤s520中,根据各骨骼点的位置信息,对调整后的头发簇进行蒙皮操作。
104.其中,为了增加三维头发模型的逼真性,可以为每组的头发簇增加合理地内部实体结构(骨骼结构),比如预设数量的骨骼首尾连接形成当前头发簇的内部实体结构。骨骼点是构成三维头发模型的内部实体结构的关节点,在相邻的骨骼点之间增加一条骨骼。为了驱动三维头发模型产生合理的运动,可以为三维头发模型添加骨骼。
105.具体地,头发簇附着在基础形状模型上,通过基础形状模型上的预设控制点对头发簇进行调整,得到调整后的头发簇。需要结合调整后的头发簇的位置信息为其增加骨骼结构,则获取调整后的头发簇在对应的基础形状模型上的位置信息,并根据获取到的位置信息确定骨骼点的分布情况,从而生成对应的骨骼点。获取各骨骼点的位置信息,结合各骨骼点的位置信息,对调整后的头发簇进行蒙皮操作。
106.上述三维头发模型的重建方法中,通过根据调整后的头发簇在对应的基础形状模型上的位置信息,生成头发簇的各骨骼点;并根据各骨骼点的位置信息,对调整后的头发簇进行蒙皮操作。这样,减少了设计师的绑骨工作量,提升设计三维头发模型的工作率。
107.在一示例性实施例中,各所述骨骼点在所述调整后的头发簇的长度方向上均匀分布。进一步地示例性说明,如图6a所示,在步骤s510中,根据调整后的头发簇在对应的基础形状模型上的位置信息,生成调整后的头发簇的若干个骨骼点,具体可以通过以下步骤实现:
108.在步骤s610中,获取头发簇上的发根点和发梢点。
109.在步骤s620中,从头发簇的边缘轮廓上提取预设数量的点作为边缘点,边缘点在发根点和发梢点之间均匀分布。
110.在步骤s630中,根据发根点、发梢点和边缘点生成头发簇上的骨骼点。
111.其中,头发簇包括有发根点和发梢点。边缘轮廓是指构成头发簇外缘的边界线。具体地,为了将三维头发模型绑定到骨骼结构上,需要先生成对应的骨骼结构,骨骼结构包括骨骼点和相邻骨骼点之间的骨骼。为了增加三维头发模型的逼真性,结合头发簇的实际情况生成对应的骨骼点。因此,首先,需要获取头发簇上的发根点和发梢点;接着,从头发簇的边缘轮廓上提取预设数量的点作为边缘点,且边缘点均匀分布发根点和发梢点之间;最后,根据头发簇的发根点、头发簇的发梢点和头发簇边缘轮廓上的边缘点生成头发簇的骨骼点。
112.进一步地,获取位于同一高度上的两边缘点的中点,将发根点、发梢点和位于同一高度上的边缘点之间的中点作为头发簇的骨骼点。示例性地,如图6b所示,头发簇包括发根点610、发梢点620.头发簇副本的边缘轮廓上均匀分布有三个边缘点630,获取同一高度上的两边缘点630的中点640,将发根点610、发梢点620和位于同一高度上的边缘点630之间的
中点640作为头发簇的骨骼点.
113.上述三维头发模型的重建方法中,结合头发簇的实际情况,各所述骨骼点在所述调整后的头发簇的长度方向上均匀分布,比如将发根点、发梢点和位于同一高度上的边缘点之间的中点作为头发簇的骨骼点,增加三维头发模型的逼真性。
114.在一示例性实施例中,如图7所示,在步骤s520中,根据各骨骼点的位置信息,对调整后的头发簇进行蒙皮操作,具体可以通过以下步骤实现:
115.在步骤s710中,根据各骨骼点的位置信息,在各骨骼点之间为调整后的头发簇添加骨骼。
116.其中,骨骼点是构成调整后的头发簇的内部实体结构的关节点,在相邻的骨骼点之间增加一条骨骼。具体地,为了驱动调整后的头发簇产生合理的运动,可以为调整后的头发簇在各骨骼点之间添加骨骼。
117.在步骤s720中,获取调整后的头发簇中各顶点的位置信息。
118.具体地,头发簇包括若干个顶点,对通过预设控制点对头发簇进行调整之后,头发簇中各顶点的位置信息发生变化,获取调整后的头发簇中各顶点的位置信息。
119.在步骤s730中,根据各顶点的位置信息和各骨骼点的位置信息,获取各顶点与各骨骼点之间的距离。
120.具体地,获取头发簇上的发根点和发梢点;从头发簇副本的边缘轮廓上提取预设数量的点作为边缘点,边缘点在发根点和发梢点之间均匀分布;根据发根点、发梢点和边缘点生成头发簇副本上的骨骼点,可知,骨骼点的位置信息。在已知各顶点的位置信息和各骨骼点的位置信息的基础之上,计算各顶点与各骨骼点之间的距离。进一步地,为了避免较远位置骨骼点的干扰,从头发簇的各骨骼点中选择与每个顶点相邻的骨骼点进行顶点与骨骼点之间距离的计算,即该顶点只会受到与其相邻的两个骨骼点的影响。
121.在步骤s740中,根据距离生成调整后的头发簇中各顶点的蒙皮权重。
122.其中,蒙皮权重是对于头发簇副本中各顶点而言,用于表征各骨骼点对任一顶点的影响力强弱。蒙皮权重主要是根据顶点到骨骼点的距离而确定。距离越近,权重越大。如上文,为了避免较远位置骨骼点的干扰,仅仅考虑与每个顶点相邻的两个骨骼点对其的影响。因此,首先根据距离找到相对当前顶点最近邻的两个骨骼点,并计算当前顶点到最近邻的两个骨骼点d1、d2。那么蒙皮权重可以表示为:
123.w1=d2/(d1+d2);
124.w2=d1/(d1+d2)。
125.在步骤s750中,根据蒙皮权重,将各顶点与各骨骼点之间的骨骼进行关联。
126.其中,由于骨骼结构与头发簇是相互独立的,因此,通过蒙皮操作,为头发簇添加骨骼结构,骨骼结构的变化能够驱动头发簇也产生相应的运动。具体地,已经根据顶点与骨骼点之间的距离计算得到调整后的头发簇中顶点的蒙皮权重。从而根据蒙皮权重将各顶点与各骨骼点之间的骨骼进行关联,以使骨骼带动头发簇运动。
127.上述三维头发模型的重建方法中,通过根据各骨骼点的位置信息,对调整后的头发簇进行蒙皮操作,使得骨骼结构的变化能够驱动头发簇也产生相应的运动,解决传统技术中静止的三维头发模型不能满足现实需求的技术问题,对建立的三维头发模型进行完善。不仅可以提升设计师的生产效率,而且通过蒙皮操作提升三维头发模型的逼真性。
128.图8是根据一示例性实施例示出的一种待调整头发簇的生成方式的流程图,如图8所示,包括以下步骤:
129.在步骤s810中,获取头发平面模板,头发平面模板包括多个投影图,投影图通过基础形状模型在多个预设视图方向上投影而得到。
130.其中,头发平面模板可以是用于引导平面设计师对三维头发模型进行设计的平面模板。平面设计师可以通过头发平面模板设计三维头发模型的平面素材。头发平面模板包括多个投影图,投影图通过基础形状模型在多个预设视图方向上投影而得到。基础形状模型为表征基础发型的形状的三维模型。比如,基础形状模型可以是对常见发型的特征和形状进行总结和抽象得到的三维模型,常见发型可是长发、短发、刘海、背头、马尾、丸子等。基础形状模型的表面为各种基础发型的头发所附着的曲面。视图方向是光线自基础形状模型的一面向其对面投射的方向,也可以理解为视线自基础形状模型的一面向其对面投射的方向,比如从基础形状模型的前面向后面投射、从基础形状模型的左面向右面投射、从基础形状模型的上面向下面投射。预设视图方向包括主视图方向、后视图方向、左视图方向以及右视图方向等。投影图是指光线自物体的一面向其对面投影所得到的视图。具体的,从计算机本地获取头发平面模板或者从与计算机网络连接的另一计算机设备中加载头发平面模板。
131.在步骤s820中,从头发平面模板中选择目标投影图,通过目标投影图获取绘制的头发簇。
132.其中,头发是由若干组的头发簇组成,三维头发模型同样由若干头发簇构成。绘制的头发簇是构成三维头发模型的头发簇在目标投影图中的平面图像。在目标投影图上,设计师从该目标投影图对应的视图方向上绘制各头发簇的形状和纹理进行三维头发模型的设计。具体的,获取头发平面模板后,可以将头发平面模板包括的多个投影图进行显示,设计师结合实际设计需求从头发平面模板中选择目标投影图。在设计师在目标投影图上完成头发簇的绘制后,可以即时将绘制的头发簇发送至服务器或者当前计算机后台,从而服务器或者计算机后台获取在目标投影图上绘制的头发簇。另外,绘制的头发簇也可以事先存储在计算机本地,则从计算机本地获取在目标投影图上绘制的头发簇。目标投影图上绘制的头发簇还可以事先存储在与计算机本地网络连接的另一计算机设备中,则从与计算机本地网络连接的另一计算机设备获取在目标投影图上绘制的头发簇。
133.在步骤s830中,根据绘制的头发簇在目标投影图中的位置信息以及目标投影图对应的基础形状模型的几何信息,确定绘制的头发簇的几何信息。
134.其中,头发簇在目标投影图中的位置信息是指设计师在投影图上绘制头发簇,绘制的头发簇相对于目标投影图的位置信息。几何信息是用于表征三维模型的纹理特征、空间结构、空间位置的信息或者数据。每个基础形状模型具有对应的几何信息,用于表征该基础形状模型的空间结构、各顶点的空间位置等。具体的,目标投影图上绘制有至少一条头发簇,绘制的头发簇在目标投影图中的位置信息是可知的,从而可以获取绘制的头发簇在目标投影图中的位置信息。为了准确且快速的生成三维头发模型,获取产生目标投影图所对应的基础形状模型的几何信息。进一步地,绘制的头发簇附着在基础形状模型的投影轮廓上,且基础形状模型的投影与目标投影图对应的基础形状模型之间存在投影关系,则可以利用绘制的头发簇在目标投影图中的位置信息和目标投影图对应的基础形状模型的几何信息,确定头发簇的几何信息。
135.在步骤s840中,根据绘制的头发簇的几何信息,生成待调整头发簇。
136.如前文所述,头发是由若干组的头发簇组成,三维头发模型同样由若干头发簇构成。具体地,头发簇的几何信息包括头发簇的纹理信息和立体信息。根据头发簇的立体信息生成头发簇的空间结构,根据头发簇的纹理信息对头发簇的空间结构的表面进行渲染,生成待调整头发簇。
137.上述待调整头发簇的生成方法中,通过获取头发平面模板,从头发平面模板中选择目标投影图,通过目标投影图获取绘制的头发簇;根据头发簇在目标投影图中的位置信息以及目标投影图对应的基础形状模型的几何信息,确定头发簇的几何信息;从而根据头发簇的几何信息,生成三维头发模型。因此,本实施例实现了利用平面模板完成三维头发的建模工作,则根据本实施例不仅可以提升三维头发建模的生成效率,而且降低了三维头发建模的难度。
138.图9是根据一示例性实施例示出的一种头发平面模板的生成方式的流程图,如图9所示,包括以下步骤:
139.在步骤s910中,获取基础形状模型。
140.在步骤s920中,将基础形状模型在各预设视图方向上进行投影,得到基础形状模型在预设视图方向上的投影图。
141.在步骤s930中,根据基础形状模型在预设视图方向上的投影图,生成头发平面模板。
142.具体地,对常见发型的特征和形状进行总结和抽象得到基础形状模型,将得到的基础形状模型进行保存。在需要绘制头发簇的时候,可以从计算机本地获取基础形状模型,也可以通过网络从另一计算机设备获取并加载至计算机本地。为了便于平面设计师也可以进行三维模型的设计,将基础形状模型在各预设视图方向上进行投影,得到基础形状模型在预设视图方向上的投影图;根据基础形状模型在各个预设视图方向上的投影图,生成头发平面模板。
143.上述头发平面模板的生成方式中,为平面设计师设计三维头发模型提供了新通路,使得平面设计师在基础形状模型的投影图上绘制二维头发簇图像即可完成三维头发模型的设计。通过本实施例不仅降低了设计师的学习成本,而且帮助平面设计师完成三维设计的工作。进一步地,在实际设计三维头发模型的时候,设计师可以根据具体发型的需求,选择合适的基础形状模型以及合适的视角,生成头发平面模板。在头发平面模板中,再选择合适的位置、合适的形状、合适的纹理以绘制相应的头发簇。通过头发平面模板绘制头发簇时,整个过程相对于设计师而言是直接可控的,既提高设计师的工作效率,也提升三维头发模型的设计效果。
144.图10是根据一示例性实施例示出的一种三维头发模型的重建方法的流程图,如图10所示,该三维头发模型的重建方法用于图1中的终端110中,包括以下步骤:
145.在步骤s1002中,获取基础形状模型。
146.在步骤s1004中,将基础形状模型在各预设视图方向上进行投影,得到基础形状模型在预设视图方向上的投影图。
147.在步骤s1006中,根据基础形状模型在预设视图方向上的投影图,生成头发平面模板。
148.在步骤s1008中,获取头发平面模板,头发平面模板包括多个投影图,投影图通过基础形状模型在多个预设视图方向上投影而得到。
149.在步骤s1010中,从头发平面模板中选择目标投影图,通过目标投影图获取绘制的头发簇。
150.在步骤s1012中,根据绘制的头发簇在目标投影图中的位置信息以及目标投影图对应的基础形状模型的几何信息,确定绘制的头发簇的几何信息。
151.在步骤s1014中,根据绘制的头发簇的几何信息,生成待调整头发簇。
152.在步骤s1016中,获取待调整头发簇和对应的基础形状模型,基础形状模型为表征基础发型的形状的三维模型,基础形状模型上分布有待调整头发簇和预设控制点。
153.具体地,获取感兴趣头发簇和对应的原始基础形状模型,感兴趣头发簇为需要调整的头发簇,原始基础形状模型上分布有原始控制点;复制感兴趣头发簇和对应的原始基础形状模型,得到感兴趣头发簇副本和对应的原始基础形状模型副本,原始基础形状模型副本上分布有原始控制点副本,将感兴趣头发簇副本作为待调整头发簇,将对应的原始基础形状模型副本作为基础形状模型,将原始控制点副本作为预设控制点。
154.在步骤s1018中,根据预设控制点上的调整操作,对基础形状模型进行调整,并通过预设控制点调整后的三维坐标确定基础形状模型调整后的三维坐标。
155.在步骤s1020中,通过基础形状模型的纹理坐标,得到基础形状模型的三维坐标与待调整头发簇的三维坐标的对应关系。
156.在步骤s1022中,根据基础形状模型调整后的三维坐标,以及基础形状模型的三维坐标与待调整头发簇的三维坐标的对应关系,确定待调整头发簇调整后的三维坐标。
157.在步骤s1024中,根据待调整头发簇调整后的三维坐标,对基础形状模型上的待调整头发簇进行调整。
158.具体地,响应于基础形状模型副本上的预设控制点的调整指令,对基础形状模型副本进行调整,并获取调整后的基础形状模型副本的立体坐标;获取与基础形状模型副本对应的头发簇副本的纹理坐标;根据调整后的基础形状模型副本的立体坐标,对头发簇副本的纹理坐标进行转换,得到头发簇副本的立体坐标;根据头发簇副本的立体坐标,对与基础形状模型副本对应的头发簇副本进行调整。
159.在步骤s1026中,根据调整后的头发簇在对应的基础形状模型上的位置信息,生成调整后的头发簇的若干个骨骼点。
160.其中,各骨骼点在调整后的头发簇的长度方向上均匀分布。具体地,获取头发簇上的发根点和发梢点;从头发簇的边缘轮廓上提取预设数量的点作为边缘点,边缘点在发根点和发梢点之间均匀分布;将发根点、发梢点和位于同一高度上的边缘点之间的中点作为头发簇上的骨骼点。
161.在步骤s1028中,根据各骨骼点的位置信息,对调整后的头发簇进行蒙皮操作。
162.具体地,根据各骨骼点的位置信息,在各骨骼点之间为调整后的头发簇添加骨骼;获取调整后的头发簇中各顶点的位置信息;根据各顶点的位置信息和各骨骼点的位置信息,获取各顶点与各骨骼点之间的距离;
163.根据距离生成调整后的头发簇中各顶点的蒙皮权重;根据所述蒙皮权重,将各所述顶点与各所述骨骼点之间的骨骼进行关联。
164.应该理解的是,虽然上述流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,上述流程图中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
165.图11是根据一示例性实施例示出的一种三维头发模型的重建装置的装置框图。参照图11,该重建装置1100包括获取模块1102、模型调整模块1104、头发簇调整模块1106和模型生成模块1108。
166.获取模块1102,被配置为执行获取待调整头发簇和对应的基础形状模型,所述基础形状模型为表征基础发型的形状的三维模型,所述基础形状模型上分布有所述待调整头发簇和预设控制点;
167.模型调整模块1104,被配置为执行根据所述预设控制点上的调整操作,对所述基础形状模型进行调整,并通过所述预设控制点调整后的三维坐标确定所述基础形状模型调整后的三维坐标;
168.头发簇调整模块1106,被配置为执行根据所述基础形状模型调整后的三维坐标,对所述基础形状模型上的待调整头发簇进行调整;
169.模型生成模块1108,被配置为执行根据调整后的头发簇,生成三维头发模型。
170.在一示例性实施例中,所述获取模块1102,还被配置为执行获取感兴趣头发簇和对应的原始基础形状模型,所述感兴趣头发簇为需要调整的头发簇,所述原始基础形状模型上分布有原始控制点;复制所述感兴趣头发簇和对应的原始基础形状模型,得到感兴趣头发簇副本和对应的原始基础形状模型副本,所述原始基础形状模型副本上分布有原始控制点副本,将所述感兴趣头发簇副本作为所述待调整头发簇,将所述对应的原始基础形状模型副本作为所述基础形状模型,将所述原始控制点副本作为所述预设控制点。
171.在一示例性实施例中,头发簇调整模块1106,还被配置为执行通过所述基础形状模型的纹理坐标,得到所述基础形状模型的三维坐标与所述待调整头发簇的三维坐标的对应关系;根据所述基础形状模型调整后的三维坐标,以及所述基础形状模型的三维坐标与所述待调整头发簇的三维坐标的对应关系,确定所述待调整头发簇调整后的三维坐标;根据所述待调整头发簇调整后的三维坐标,对所述基础形状模型上的待调整头发簇进行调整。
172.在一示例性实施例中,所述模型生成模块1108包括骨骼点生成单元和蒙皮操作单元;
173.所述骨骼点生成单元,被配置为执行根据所述调整后的头发簇在对应的基础形状模型上的位置信息,生成所述调整后的头发簇的若干个骨骼点;
174.所述蒙皮操作单元,被配置为执行根据各所述骨骼点的位置信息,对所述调整后的头发簇进行蒙皮操作。
175.在一示例性实施例中,各所述骨骼点在所述调整后的头发簇的长度方向上均匀分布。
176.在一示例性实施例中,所述蒙皮操作单元,还被配置为执行根据各所述骨骼点的
位置信息,在各所述骨骼点之间为所述调整后的头发簇添加骨骼;获取所述调整后的头发簇中各顶点的位置信息;根据各所述顶点的位置信息和各所述骨骼点的位置信息,获取各所述顶点与各所述骨骼点之间的距离;根据所述距离生成所述调整后的头发簇中各顶点的蒙皮权重;根据所述蒙皮权重,将各所述顶点与各所述骨骼点之间的骨骼进行关联。
177.在一示例性实施例中,该重建装置还包括待调整头发簇生成模块,被配置执行为获取头发平面模板,所述头发平面模板包括多个投影图,所述投影图通过基础形状模型在多个预设视图方向上投影而得到;从所述头发平面模板中选择目标投影图,通过所述目标投影图获取绘制的头发簇;根据所述绘制的头发簇在所述目标投影图中的位置信息以及所述目标投影图对应的基础形状模型的几何信息,确定所述绘制的头发簇的几何信息;根据所述绘制的头发簇的几何信息,生成所述待调整头发簇。
178.在一示例性实施例中,该重建装置还包括头发平面模板生成模块,被配置为执行获取所述基础形状模型;将所述基础形状模型在各所述预设视图方向上进行投影,得到所述基础形状模型在所述预设视图方向上的投影图;根据所述基础形状模型在所述预设视图方向上的投影图,生成所述头发平面模板。
179.关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
180.图12是根据一示例性实施例示出的一种用于重建三维头发模型的设备1200的框图。例如,设备1200可以为一服务器。参照图12,设备1200包括处理组件1220,其进一步包括一个或多个处理器,以及由存储器1222所代表的存储器资源,用于存储可由处理组件1220的执行的指令,例如应用程序。存储器1222中存储的应用程序可以包括一个或一个以上的每一个对应于一组指令的模块。此外,处理组件1220被配置为执行指令,以执行上述三维头发模型的重建方法。
181.设备1200还可以包括一个电源组件1224被配置为执行设备1200的电源管理,一个有线或无线网络接口1226被配置为将设备1200连接到网络,和一个输入输出(i/o)接口1228。设备1200可以操作基于存储在存储器1222的操作系统,例如window12 12erver,mac o12 x,unix,linux,freeb12d或类似。
182.在示例性实施例中,还提供了一种包括指令的存储介质,例如包括指令的存储器1222,上述指令可由设备1200的处理器执行以完成上述三维头发模型的重建方法。存储介质可以是非临时性计算机可读存储介质,例如,所述非临时性计算机可读存储介质可以是rom、随机存取存储器(ram)、cd-rom、磁带、软盘和光数据存储设备等。
183.本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本技术旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求指出。
184.应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1