CN109002553B - 头发模型的构建方法、装置、电子设备和计算机可读介质 - Google Patents
头发模型的构建方法、装置、电子设备和计算机可读介质 Download PDFInfo
- Publication number
- CN109002553B CN109002553B CN201810899150.9A CN201810899150A CN109002553B CN 109002553 B CN109002553 B CN 109002553B CN 201810899150 A CN201810899150 A CN 201810899150A CN 109002553 B CN109002553 B CN 109002553B
- Authority
- CN
- China
- Prior art keywords
- hair
- coordinate data
- classification
- group
- model
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T17/00—Three dimensional [3D] modelling, e.g. data description of 3D objects
Landscapes
- Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Computer Graphics (AREA)
- Geometry (AREA)
- Software Systems (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提供了一种头发模型的构建方法、装置、电子设备和计算机可读介质,涉及数据库构建的技术领域,该方法包括:获取预设头发模型的头发数据;根据头发分层属性对每个预设头发模型的头发数据进行分层处理,得到分类组;利用多个预设头发模型的分类组生成至少一个新的头发模型,并利用新的头发模型构建头发数据库。本发明的方法既自动快捷,又能得到多种形状各异的头发模型,从而组成一个大型的头发数据库,缓解了现有的头发数据库的构建方法效率低下且智能程度差的技术问题。
Description
技术领域
本发明涉及数据处理的技术领域,尤其是涉及一种头发模型的构建方法、装置、电子设备和计算机可读介质。
背景技术
3D头发数据是指以某种形式表达出头发在3D空间中的具体形状。3D头发数据可用于电影动画行业,虚拟现实行业,3D头发重建等应用领域。尤其是大型的头发数据库对这些领域帮助很大。
目前,3D头发数据都是由3D建模师通过建模软件手工绘制而成。若要构建一个大型的头发数据库,需要花费大量的时间,并且产生大量的人工成本。
综上,现有的头发数据库的构建方法存在效率低下,智能程度差的技术问题。
发明内容
有鉴于此,本发明的目的包括:提供一种头发模型的构建方法、装置、电子设备和计算机可读介质,该方法能够快速有效的构建得到大型头发数据库,智能程度高。
第一方面,本发明实施例提供了一种头发模型的构建方法,包括:获取预设头发模型的头发数据,其中,所述头发数据中包括多个头皮区域和每个头皮区域所对应发丝的坐标数据,所述预设头发模型为多个;根据头发分层属性对每个所述预设头发模型的头发数据进行分层处理,得到分类组,其中,所述分类组包括多个子分类组,一个所述子分类组对应一种头发分层属性;利用多个所述预设头发模型的分类组生成至少一个新的头发模型,并利用所述新的头发模型构建头发数据库。
进一步地,利用多个所述预设头发模型的分类组生成至少一个新的头发模型包括:从多个所述分类组中选择至少两个分类组;将所述至少两个分类组进行混合,生成所述新的头发模型。
进一步地,所述至少两个分类组包括第一分类组和第二分类组,将所述至少两个分类组进行混合,生成所述新的头发模型包括:基于所述第一分类组和所述第二分类组,确定初始人头模型中各个头皮区域所对应的目标坐标数据,得到所述新的头发模型,其中,所述目标坐标数据为所述初始人头模型中各个头皮区域所对应发丝的坐标数据。
进一步地,基于所述第一分类组和所述第一分类组,确定初始人头模型中各个头皮区域所对应的目标坐标数据包括:从所述第一分类组中随机选择第一子分类组,并从所述第二分类组随机选择第二子分类组,其中,所述第一子分类组和所述第二子分类组的数量均至少为一个;按照所述头发分层属性在所述初始人头模型中确定与所述第一子分类组和所述第二子分类组相对应的第一组头皮区域,并将所述第一子分类组和所述第二子分类组中的坐标数据作为所述第一组头皮区域的目标坐标数据;利用所述第一分类组中的其他子分类组和所述第二分类组中的其他子分类组,计算第二组头皮区域的目标坐标数据,所述第二组头皮区域为所述初始人头模型中除所述第一组头皮区域之外的区域。
进一步地,利用所述第一分类组中的其他子分类组和所述第二分类组中的其他子分类组,计算第二组头皮区域的目标坐标数据包括:按照公式C[w][i]=p*A[w][i]+q*B[w][i]计算所述第二组头皮区域的目标坐标数据;其中,C[w][i]表示所述第二组头皮区域中的头皮区域w所对应的第i个坐标数据,A[w][i]表示所述第一分类组中头皮区域w所对应的第i个坐标数据,B[w][i]表示所述第二分类组中头皮区域w所对应的第i个坐标数据。
进一步地,当p和q的取值满足预设要求时,则确定C[w][i]为所述第二组头皮区域中的头皮区域w所对应的第i个坐标数据;其中,所述预设要求为C[w][i]与目标代表发丝的坐标数据之间的距离最小,所述目标代表发丝为代表发丝中与所述头皮区域w相邻的发丝,一个子分类组对应一个代表发丝,所述代表发丝中携带对应的子分类组所表征的全部发丝的特征信息。
进一步地,所述代表发丝采用以下方式确定:计算分类组Ai中子分类组Bij中的坐标数据Cijk与所述子分类组Bij中其他坐标数据之间的距离,得到K-1个距离,其中,i依次取1至I,j依次取1至J,k依次取1至K,I为分类组的数量,J为所述分类组Ai中子分类组的数量,K为所述子分类组Bij中的坐标数据的数量;计算所述K-1个距离的距离和,得到K个坐标数据的距离和;在所述K个坐标数据的距离和中确定最小距离和所对应的坐标数据作为代表坐标数据;将所述代表坐标数据所对应的发丝作为所述子分类组Bij的代表发丝。
进一步地,所述方法还包括:对所述新的头发模型中每个头皮区域的目标坐标数据与其相邻头皮区域的目标坐标数据进行加权和计算,得到加权计算结果;依据所述加权计算结果增加所述新的头发模型中每个头皮区域的发丝数量。
进一步地,根据头发分层属性对每个所述预设头发模型的头发数据进行分层处理,得到多个分类组包括:通过数据聚类算法按照头发分层属性对预设头发模型Qn的头发数据进行分层处理,得到多个子分类组,并将多个子分类组作为所述预设头发模型Qn的头发数据的分类组,其中,n依次取1至N,N为所述预设头发模型的数量。
进一步地,通过数据聚类算法按照头发分层属性对预设头发模型Qn的头发数据进行分层处理,得到多个子分类组包括:通过公式D=sigma(mi-ni|)计算所述预设头发模型Qn的头发数据中任意两个发丝的坐标数据之间的距离,其中,mi表示所述任意两个发丝的坐标数据中第一发丝的坐标数据的第i个坐标数据,ni表示所述任意两个发丝的坐标数据中第二发丝的坐标数据的第i个坐标数据,D表示所述第一发丝的坐标数据与所述第二发丝的坐标数据之间距离;如果所述距离小于预设距离,则将所述第一发丝的坐标数据与所述第二发丝的坐标数据归类到相同的子分类组中。
进一步地,获取预设头发模型的头发数据包括:在所述预设头发模型的人头内部添加二维坐标数据,其中,所述二维坐标数据所围成的图形为圆形,所述圆形的直径与所述预设头发模型的人头大小相关联;沿着所述圆形的圆心将所述预设头发模型的人头上的点投影至所述二维坐标数据所围成圆形的表面上,以建立所述预设头发模型的人头上的点与所述圆形的对应关系;对所述圆形的表面进行平分处理,得到多个网格,其中,一个所述网格对应所述预设头发模型的一个头皮区域;为每个所述网格设置对应发丝的坐标数据,得到所述预设头发模型的头发数据。
第二方面,本发明实施例提供了一种头发模型的构建装置,包括:获取单元,用于获取预设头发模型的头发数据,其中,所述头发数据中包括多个头皮区域和每个头皮区域所对应发丝的坐标数据,所述预设头发模型为多个;分层处理单元,用于根据头发分层属性对每个所述预设头发模型的头发数据进行分层处理,得到分类组,其中,所述分类组包括多个子分类组,一个所述子分类组对应一种头发分层属性;生成单元,用于利用多个所述预设头发模型的分类组生成至少一个新的头发模型,并利用所述新的头发模型构建头发数据库。
第三方面,本发明实施例提供了一种电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述第一方面中任一项所述的方法。
第四方面,本发明实施例提供了一种具有处理器可执行的非易失的程序代码的计算机可读介质,所述程序代码使所述处理器执行上述第一方面中任一项所述的方法。
在本实施例中,首先获取预设头发模型的头发数据;然后根据头发分层属性对每个预设头发模型的头发数据进行分层处理,得到分类组;最后利用多个预设头发模型的分类组生成至少以这个新的头发模型,并利用新的头发模型构建头发数据库。通过上述描述可知,在本实施例中,能够对每个预设头发模型的头发数据进行自动分层处理,进而得到分类组,再利用多个分类组自动生成新的头发模型。这种方法既自动快捷,又能得到多种形状各异的头发模型,从而组成一个大型的头发数据库。本发明所提供的方法缓解了现有的头发数据库的构建方法效率低下且智能程度差的技术问题。
本发明的其他特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点在说明书、权利要求书以及附图中所特别指出的结构来实现和获得。
为使本发明的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为根据本发明实施例的一种电子设备的示意图;
图2为根据本发明实施例的一种头发模型的构建方法的流程图;
图3为根据本发明实施例的曲线转换为固定数量点的坐标的示意图;
图4为根据本发明实施例的一种头发模型的构建装置的示意图;
图5为根据本发明实施例的一种头发模型的构建***的示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合附图对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例1:
首先,参照图1来描述用于实现本发明实施例的电子设备100,该电子设备可以用于运行本发明各实施例的头发模型的构建方法。
如图1所示,电子设备100包括一个或多个处理器102、一个或多个存储器104、输入装置106、输出装置108以及摄像机110,这些组件通过总线***112和/或其它形式的连接机构(未示出)互连。应当注意,图1所示的电子设备100的组件和结构只是示例性的,而非限制性的,根据需要,所述电子设备也可以具有其他组件和结构。
所述处理器102可以采用数字信号处理器(DSP)、现场可编程门阵列(FPGA)、可编程逻辑阵列(PLA)和ASIC(Application Specific IntegratedCircuit)中的至少一种硬件形式来实现,所述处理器102可以是中央处理单元(CPU)、图形处理器(GPU)、嵌入式神经网络处理器(NPU)或者具有数据处理能力和/或指令执行能力的其它形式的处理单元,并且可以控制所述电子设备100中的其它组件以执行期望的功能。
所述存储器104可以包括一个或多个计算机程序产品,所述计算机程序产品可以包括各种形式的计算机可读存储介质,例如易失性存储器和/或非易失性存储器。所述易失性存储器例如可以包括随机存取存储器(RAM)和/或高速缓冲存储器(cache)等。所述非易失性存储器例如可以包括只读存储器(ROM)、硬盘、闪存等。在所述计算机可读存储介质上可以存储一个或多个计算机程序指令,处理器102可以运行所述程序指令,以实现下文所述的本发明实施例中(由处理器实现)的客户端功能以及/或者其它期望的功能。在所述计算机可读存储介质中还可以存储各种应用程序和各种数据,例如所述应用程序使用和/或产生的各种数据等。
所述输入装置106可以是用户用来输入指令的装置,并且可以包括键盘、鼠标、麦克风和触摸屏等中的一个或多个。
所述输出装置108可以向外部(例如,用户)输出各种信息(例如,图像或声音),并且可以包括显示器、扬声器等中的一个或多个。
所述摄像机110用于进行图像采集,其中,摄像机所采集的数据经过所述头发模型的构建方法进行处理之后得到新的头发模型,例如,摄像机可以拍摄用户期望的图像(例如照片、视频等),然后,将该图像经过所述头发模型的构建方法进行处理之后得到新的头发模型,摄像机还可以将所拍摄的图像存储在所述存储器104中以供其它组件使用。
示例性地,用于实现根据本发明实施例的头发模型的构建方法的电子设备可以被实现为诸如智能手机、平板电脑等智能移动终端。
实施例2:
根据本发明实施例,提供了一种头发模型的构建方法的实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机***中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
图2是根据本发明实施例的一种头发模型的构建方法的流程图,如图2所示,该方法包括如下步骤:
步骤S202,获取预设头发模型的头发数据,其中,头发数据中包括多个头皮区域和每个头皮区域所对应发丝的坐标数据,预设头发模型为多个;
在本发明实施例中,该预设头发模型具体为3D建模师预先通过建模软件手工绘制得到的3D头发模型,该预设头发模型能够囊括当前大多数的主流头发模型,且都是在同一坐标系下的同一人头上手工绘制得到的。该预设头发模型的文件格式包括:obj格式,fbx格式等,本发明实施例对其不进行具体限制。
另外,预设头发模型的数量优选为50-100种,当然,包含的种类越多,构建得到的头发模型的样式就越多,得到的头发数据库就越大,本发明实施例对其不进行具体限制,可根据头发数据库的具体容量而设定。
具体的,头发数据为预设头发模型的可计算形式,其中包含有多个头皮区域和每个头皮区域所对应发丝的坐标数据。获取预设头发模型的头发数据的具体过程将在下文中进行描述。
步骤S204,根据头发分层属性对每个预设头发模型的头发数据进行分层处理,得到分类组,其中,分类组包括多个子分类组,一个子分类组对应一种头发分层属性;
在得到预设头发模型的头发数据后,进一步根据头发分层属性对每个预设头发模型的头发数据进行分层处理,得到一个分类组。
为了能够更好的理解这里的表述,下面进行举例说明:
对于预设头发模型A来讲,根据头发分层属性对预设头发模型A的头发数据进行分层处理后,就得到了分类组A,该分类组A中包含有a1刘海子分类组,a2头部左侧子分类组,a3头部右侧子分类组,a4头部后侧子分类组(是在头发分层属性为刘海,头部左侧,头部右侧,头部后侧的情况下),这样对于a1刘海子分类组来讲,其就对应一种头发分层属性,即预设头发模型A的头部刘海的属性。头发分层属性为对人头上头发按区域划分得到的,也即对人头的头皮区域进行划分得到的,例如,刘海区域、左侧面的头发区域、右侧面的头发区域、后面的头发区域等。需要说明的是,在本实施例中,可以根据实际需要来灵活设定头发分层属性。例如,可以预先在光头模型的头皮上预先划分多个区域,然后,为每个区域设置对应的属性标签,以表明该区域所对应的头发分层属性。
需要说明的是,每个分类组中所对应的头发分层属性可以相同,也可以不同。
同理,对于预设头发模型B来讲,根据头发分层属性对预设头发模型B的头发数据进行分层处理后,就得到了分类组B,该分类组B中包含有b1刘海子分类组,b2头部左侧子分类组,b3头部右侧子分类组,b4头部后侧子分类组(是在头发分层属性为刘海,头部左侧,头部右侧,头部后侧的情况下),这样对于b3头部右侧子分类组来讲,其就对应一种头发分层属性,即预设头发模型B的头部右侧的属性。
当然,本发明实施例对头发分层属性不进行具体限制,可以是上述描述中的刘海,头部左侧,头部右侧,头部后侧的分层,也可以为其它分层,分层的精细度可根据实际需求调整。
关于具体的分层处理的过程将在下文中进行详细描述,在此不再赘述。
步骤S206,利用多个预设头发模型的分类组生成至少一个新的头发模型,并利用新的头发模型构建头发数据库。
在得到分类组后,进一步利用多个预设头发模型的分类组生成至少一个新的头发模型。比如,如上述步骤S204中的描述,利用预设头发模型A和预设头发模型B的分类组就能得到新的头发模型。当然,使用的多个预设头发模型可能不止两个,也可能是其它数量,本发明实施例对其不进行具体限制。生成新的头发模型的具体过程将在下文中进行详细描述,在此不再赘述。
在得到新的头发模型后,就能利用新的头发模型构建头发数据库,具体过程也将在下文中进行详细描述。
在本实施例中,首先获取预设头发模型的头发数据;然后根据头发分层属性对每个预设头发模型的头发数据进行分层处理,得到分类组;最后利用多个预设头发模型的分类组生成至少以这个新的头发模型,并利用新的头发模型构建头发数据库。通过上述描述可知,在本实施例中,能够对每个预设头发模型的头发数据进行自动分层处理,进而得到分类组,再利用多个分类组自动生成新的头发模型。这种方法既自动快捷,又能得到多种形状各异的头发模型,从而组成一个大型的头发数据库。本发明所提供的方法缓解了现有的头发数据库的构建方法效率低下且智能程度差的技术问题。
上述内容对本发明实施例的头发模型的构建方法进行了简单介绍,下面对其中涉及到的具体内容进行详细描述。
下面将介绍获取预设头发模型的头发数据的具体过程:
上述步骤S202,获取预设头发模型的头发数据包括如下步骤:
步骤S2021,在预设头发模型的人头内部添加二维坐标数据,其中,二维坐标数据所围成的图形为圆形,圆形的直径与预设头发模型的人头大小相关联;
步骤S2022,沿着圆形的圆心将预设头发模型的人头上的点投影至二维坐标数据所围成圆形的表面上,以建立预设头发模型的人头上的点与圆形的对应关系;
步骤S2023,对圆形的表面进行平分处理,得到多个网格,其中,一个网格对应预设头发模型的一个头皮区域;
步骤S2024,为每个网格设置对应发丝的坐标数据。
在本发明实施例中,在预设头发模型上采样,将发型用一定数量的发丝表示,每根发丝降采样为相同数量的线段,这样预设头发模型就能用足够多的线段表示,具有了可计算性质。
具体的,使得预设头发模型具有可计算性质是通过把预设头发模型的头皮摊平的方式实现的。摊平的过程中,先在预设头发模型的人头内部添加一个圆形,该圆形足够大且不超过到人头外面,即圆形的直径与预设头发模型的人头大小相关联。
得到上述圆形后,沿着圆形的圆心将预设头发模型的人头上的点投影至圆形的表面上,得到预设头发模型的人头上的点与圆形的对应关系。
得到人头上的点与圆形的对应关系后,进一步对圆形的表面进行平分处理,得到多个网格,比如每个网格是一个5mm×5mm的区域(本发明实施例对其不进行具体限制,网格区域的大小可根据计算量和精确度来协调),由于上述的对应关系可知,这种得到的一个网格就对应预设头发模型的一个头皮区域。
在得到多个网格后,为每个网格设置对应发丝的坐标数据。具体的,每个网格里存下一根头发,这根头发就代表了这个网格(即其对应的头皮区域)的所有头发。对于每根头发,本质上是三维空间中的一条曲线,对应可以转换为固定数量点的坐标(参考图3所示),就用多个点的坐标作为该头发的坐标数据,也就是发丝的坐标数据,其中,该发丝的坐标数据为三维坐标数据。
上述内容对获取预设头发模型的头发数据的具体过程进行了详细介绍,下面对分层处理的过程进行详细描述。
在本实施例的一个可选实施方式中,步骤S204,根据头发分层属性对每个预设头发模型的头发数据进行分层处理,得到多个分类组包括如下步骤:
步骤S2041,通过数据聚类算法按照头发分层属性对预设头发模型Qn的头发数据进行分层处理,得到多个子分类组,并将多个子分类组作为所述预设头发模型Qn的头发数据的分类组,其中,n依次取1至N,N为所述预设头发模型的数量。
这里只是将可计算的头发数据按照头发属性进行了分类,比如类别包括刘海,头部左侧头发,头部右侧头发,后面头发等,具体是采用数据聚类算法(比如Kmeans算法,还可以为Birch算法,Dbscan算法等)实现的,在本发明实施例中,采用的数据聚类算法为Kmeans算法,当然,本发明实施例对数据聚类算法不进行具体限制。
具体的,通过数据聚类算法按照头发分层属性对每个预设头发模型的头发数据进行分层处理,得到多个子分类组包括如下步骤:
步骤S20411,通过公式D=sigma(mi-ni|)计算预设头发模型Qn的头发数据中任意两个发丝的坐标数据之间的距离,其中,mi表示任意两个发丝的坐标数据中第一发丝的坐标数据的第i个坐标数据,ni表示任意两个发丝的坐标数据中第二发丝的坐标数据的第i个坐标数据,D表示第一发丝的坐标数据与第二发丝的坐标数据之间距离;
具体的,如前所述,每根发丝可以用固定数量点(比如10个点)的坐标进行表示,那么任意两个发丝的坐标数据之间的距离即为第一发丝的坐标数据的第i个坐标数据与第二发丝的坐标数据的第i个坐标数据之间的距离,这样,对应的就能对应得到固定数量个(对应的就是10个)距离,最终对这固定数量个距离进行求和,得到的即为第一发丝的坐标数据与第二发丝的坐标数据之间距离D。
步骤S20412,如果距离小于预设距离,则将第一发丝的坐标数据与第二发丝的坐标数据为相同的子分类组中。
在得到任意两个发丝的坐标数据之间的距离后,如果距离小于预设距离,则将第一发丝的坐标数据与第二发丝的坐标数据归类到相同的子分类组中。也就是,当距离小于预设距离时,这两根发丝相似,可以归为一类,这样就能完成预设头发模型上的头发的分类。
需要说明的是,预设距离的大小可根据分类的精确度而设定,本发明实施例对其不进行具体限制。并且,本发明实施例中,只是对头发进行了分类,并没有对该分类进行命名,也就是说并没有对分类得到的子分类组进行具体头发属性(指刘海,后面,左面,右面)的区分。
上述内容对分层处理的具体过程进行了详细介绍,下面对生成新的头发模型的过程进行详细描述。
在本实施例的一个可选实施方式中,步骤S206,利用多个预设头发模型的分类组生成至少一个新的头发模型包括:
步骤S2061,从多个分类组中选择至少两个分类组;
为了能够对该过程进行更好的理解,下面以一具体实例进行说明,为了描述的简便,以两个分类组为例进行说明:
如步骤S204中所述,假设现在选择得到的正好为两个分类组,且这两个分类组分别为分类组A和分类组B,其中分类组A对应于预设头发模型A,分类组B对应于预设头发模型B。
步骤S2062,将至少两个分类组进行混合,生成新的头发模型。
在得到分类组A和分类组B后,将该分类组A和分类组B进行混合,生成新的头发模型。
在一个可选地实施方式中,步骤S2062,将至少两个分类组(至少两个分类组包括第一分类组和第二分类组)进行混合,生成新的头发模型包括如下步骤:
步骤S20621,基于第一分类组和第二分类组,确定初始人头模型中各个头皮区域所对应的目标坐标数据,得到新的头发模型,其中,目标坐标数据为初始人头模型中各个头皮区域所对应发丝的坐标数据。
在本发明实施例中,初始人头模式是指没有头发的模型,通俗讲,即为光头模型。
继续以上述举例进行说明,假设分类组A为第一分类组,分类组B为第二分类组,那么就是基于分类组A和分类组B确定初始人头模型中各个头皮区域所对应的目标坐标数据,得到新的头发模型,其中,目标坐标数据为初始人头模型中各个头皮区域所对应发丝的坐标数据。
在一个可选地实施方式中,步骤S20621,基于第一分类组和第一分类组,确定初始人头模型中各个头皮区域所对应的目标坐标数据包括如下步骤:
步骤S11,从第一分类组中随机选择第一子分类组,并从第二分类组随机选择第二子分类组,其中,第一子分类组和第二子分类组的数量均至少为一个;
具体的,从分类组A中随机选择了第一子分类组,比如选择的该第一子分类组正好为刘海,并从分类组B中随机选择第二子分类组,比如选择的该第二子分类组正好为后面头发。
如上所述,分类得到多个子分类组后,并没有对这些子分类组进行命名,所以在随机选择的时候,其实并不知晓选择的那个子分类组所属的属性类别。当然,很有可能在分类组A中随机选择的第一子分类组为刘海,同时在分类组B中随机选择的第二分类组也是刘海(这一刘海不同于第一子分类组的刘海,因为他们来自不同的分类组,也即来自不同的预设头发模型)。这样随机选择后,选择得到的子分类组的情况繁多,正因如此,后续混合时才会得到形状各异的发型,数据库的容量也才会很大。
步骤S12,按照头发分层属性在初始人头模型中确定与第一子分类组和第二子分类组相对应的第一组头皮区域,并将第一子分类组和第二子分类组中的坐标数据作为第一组头皮区域的目标坐标数据;
继续以上述举例(第一子分类组正好为刘海,第二子分类组正好为后面头发的情况)进行说明,这样就能在初始人头模型中确定第一子分类组和第二子分类组相对应的第一组头皮区域,即该第一组头皮区域为初始人头模型中的刘海对应的头皮区域和后面头发对应的头皮区域。这样,就将刘海作为刘海对应的头皮区域的目标坐标数据,将后面头发作为后面头皮区域的目标坐标数据。也就是,此时这一光头模型上刘海区域的发型和后面头发的发型已经确定了。
实际中,虽然并不知晓第一子分类组是不是刘海,第二子分类组是不是就是后面头发,但是第一子分类组和第二子分类组是能够与头皮区域对应的(因为是通过前面投影实现的,所以已然建立了对应关系),这样也能确定得到与第一子分类组和第二子分类组相对应的第一组头皮区域。
步骤S13,利用第一分类组中的其他子分类组和第二分类组中的其他子分类组,计算第二组头皮区域的目标坐标数据,第二组头皮区域为初始人头模型中除第一组头皮区域之外的区域。
在确定了第一组头皮区域目标坐标数据后,进一步利用第一分类组中的其他子分类组和第二分类组中的其他子分类组,计算第二组头皮区域的目标坐标数据,该第二组头皮区域为初始人头模型中除第一组头皮区域之外的区域。也就是利用第一分类组(如A分类组)中的其他未参与计算的子分类组(除去刘海的子分类组)和第二分类组(如B分类组)中的其他未参与计算的子分类组(除去后面头发的子分类组)继续计算初始人头模型中其它未确定区域的头发的样子。
具体的,步骤S13,利用第一分类组中的其他子分类组和第二分类组中的其他子分类组,计算第二组头皮区域的目标坐标数据包括如下步骤:
步骤S131,按照公式C[w][i]=p*A[w][i]+q*B[w][i]计算第二组头皮区域的目标坐标数据;其中,C[w][i]表示第二组头皮区域中的头皮区域w所对应的第i个坐标数据,A[w][i]表示第一分类组中头皮区域w所对应的第i个坐标数据,B[w][i]表示第二分类组中头皮区域w所对应的第i个坐标数据。
通过该公式可以得知,第二组头皮区域中的头皮区域w所对应的第i个坐标数据C[w][i]实际上是由分类组A中(即第一分类组中)头皮区域w所对应的第i个坐标数据A[w][i]与分类组B中(即第二分类组中)头皮区域w所对应的第i个坐标数据B[w][i]的加权和,关于权重p和q的确定将在下文中进行描述。
下面介绍权重p和q的确定过程:
具体的,当p和q的取值满足预设要求时,则确定C[w][i]为第二组头皮区域中的头皮区域w所对应的第i个坐标数据;其中,预设要求为C[w][i]与目标代表发丝的坐标数据之间的距离最小,目标代表发丝为代表发丝中与头皮区域w相邻的发丝,一个子分类组对应一个代表发丝,代表发丝中携带对应的子分类组所表征的全部发丝的特征信息。
也就是,只有当p和q的取值满足C[w][i]与目标代表发丝的坐标数据之间的距离最小时,C[w][i]为第二组头皮区域中的头皮区域w所对应的第i个坐标数据。其中,目标代表发丝为代表发丝中与头皮区域w相邻的发丝,一个子分类组对应一个代表发丝,代表发丝中携带对应的子分类组所表征的全部发丝的特征信息。也就是当头皮区域w中的发丝与头皮区域w相邻区域的代表发丝间的坐标数据的距离需要最小,这样才能使得头皮区域w中发丝与其邻近头皮区域中的发丝能够自然变化。
而代表发丝的确定采取如下的过程:
(1)计算分类组Ai中子分类组Bij中的坐标数据Cijk与子分类组Bij中其他坐标数据之间的距离,得到K-1个距离,其中,i依次取1至I,j依次取1至J,k依次取1至K,I为分类组的数量,J为分类组Ai中子分类组的数量,K为子分类组Bij中的坐标数据的数量;
(2)计算K-1个距离的距离和,得到K个坐标数据的距离和;
(3)在K个坐标数据的距离和中确定最小距离和所对应的坐标数据作为代表坐标数据;
(4)将代表坐标数据所对应的发丝作为子分类组Bij的代表发丝。
需要说明的是,在本实施例中,针对每个分类组均采用上述方式来进行处理,以分类组A中的子分类组a1为例来进行说明。假设,子分类组a1中包括K各坐标数据,针对每个坐标数据,处理过程描述如下:首先计算该坐标数据与子分类组a1中剩余坐标数据之间的距离,进而,得到K-1个距离。然后,计算K-1个距离的距离和。在对子分类组a1中的K个坐标数据均采用上述计算过程之后,将得到子分类组a1中K个坐标数据的距离和,其中,一个坐标数据对应一个距离和。之后,在K个坐标数据的距离和之后,将K个坐标数据的距离和中最小距离和所对应的坐标数据作为代表坐标数据。
在得到新的头发模型后,该方法还包括:
(1)对新的头发模型中每个头皮区域的目标坐标数据与其相邻头皮区域的目标坐标数据进行加权和计算,得到加权计算结果;
具体地,在本实施例中,可以预先为与每个头皮区域相邻的每个头皮区域的设置对应的权重。其中,权重的大小将影响每个头皮区域中对应发丝的形状。例如,如果为其中一个相邻的每个头皮区域的设置的权重值较大,那么该头皮区域与这个相邻的每个头皮区域所对应发丝之间的相似程度越高。本实施例中,不限定权重的取值,用于可以根据实际需要来进行设定。
(2)依据加权计算结果增加新的头发模型中每个头皮区域的发丝数量。
在得到加权计算结果之后,就可以将该加权计算结果所对应的坐标数据作为待增加发丝的坐标数据。然后,按照预定的数量增加新的头发模型中每个头皮区域的发丝数量。假定预定的数量为100,那么在当前头皮区域中增加100根待增加发丝。
需要说明的是,任意两个头皮区域之间所对应的预定的数量可以相同,也可以不同。
通过上述的描述可知,在本实施例中,提出了一种头发模型的构建方法,该头发模型的构建方法为一种新的构建大型3D头发数据库的方法。该方法能够对每个预设头发模型的头发数据进行自动分层处理,进而得到分类组,再利用多个分类组自动生成新的头发模型。这种方法既自动快捷,又能得到多种形状各异的头发模型,从而组成一个大型的头发数据库。
实施例3:
本发明实施例还提供了一种头发模型的构建装置,该头发模型的构建装置主要用于执行本发明实施例上述内容所提供的头发模型的构建方法,以下对本发明实施例提供的头发模型的构建装置做具体介绍。
图4是根据本发明实施例的一种头发模型的构建装置的示意图,如图4所示,该头发模型的构建装置主要包括获取单元10,分层处理单元20和生成单元30,其中:
获取单元,用于获取预设头发模型的头发数据,其中,头发数据中包括多个头皮区域和每个头皮区域所对应发丝的坐标数据,预设头发模型为多个;
分层处理单元,用于根据头发分层属性对每个预设头发模型的头发数据进行分层处理,得到分类组,其中,分类组包括多个子分类组,一个子分类组对应一种头发分层属性;
生成单元,用于利用多个预设头发模型的分类组生成至少一个新的头发模型,并利用新的头发模型构建头发数据库。
在本实施例中,首先获取预设头发模型的头发数据;然后根据头发分层属性对每个预设头发模型的头发数据进行分层处理,得到分类组;最后利用多个预设头发模型的分类组生成至少以这个新的头发模型,并利用新的头发模型构建头发数据库。通过上述描述可知,在本实施例中,能够对每个预设头发模型的头发数据进行自动分层处理,进而得到分类组,再利用多个分类组自动生成新的头发模型。这种方法既自动快捷,又能得到多种形状各异的头发模型,从而组成一个大型的头发数据库。本发明所提供的方法缓解了现有的头发数据库的构建方法效率低下且智能程度差的技术问题。
可选地,生成单元还用于:从多个分类组中选择至少两个分类组;将至少两个分类组进行混合,生成新的头发模型。
可选地,生成单元还用于:至少两个分类组包括第一分类组和第二分类组,基于第一分类组和第二分类组,确定初始人头模型中各个头皮区域所对应的目标坐标数据,得到新的头发模型,其中,目标坐标数据为初始人头模型中各个头皮区域所对应发丝的坐标数据。
可选地,生成单元还用于:从第一分类组中随机选择第一子分类组,并从第二分类组随机选择第二子分类组,其中,第一子分类组和第二子分类组的数量均至少为一个;按照头发分层属性在初始人头模型中确定与第一子分类组和第二子分类组相对应的第一组头皮区域,并将第一子分类组和第二子分类组中的坐标数据作为第一组头皮区域的目标坐标数据;利用第一分类组中的其他子分类组和第二分类组中的其他子分类组,计算第二组头皮区域的目标坐标数据,第二组头皮区域为初始人头模型中除第一组头皮区域之外的区域。
可选地,生成单元还用于:按照公式C[w][i]=p*A[w][i]+q*B[w][i]计算第二组头皮区域的目标坐标数据;其中,C[w][i]表示第二组头皮区域中的头皮区域w所对应的第i个坐标数据,A[w][i]表示第一分类组中头皮区域w所对应的第i个坐标数据,B[w][i]表示第二分类组中头皮区域w所对应的第i个坐标数据。
可选地,生成单元还用于:当p和q的取值满足预设要求时,则确定C[w][i]为第二组头皮区域中的头皮区域w所对应的第i个坐标数据;其中,预设要求为C[w][i]与目标代表发丝的坐标数据之间的距离最小,目标代表发丝为代表发丝中与头皮区域w相邻的发丝,一个子分类组对应一个代表发丝,代表发丝中携带对应的子分类组所表征的全部发丝的特征信息。
可选地,生成单元还用于:计算分类组Ai中子分类组Bij中的坐标数据Cijk与子分类组Bij中其他坐标数据之间的距离,得到K-1个距离,其中,i依次取1至I,j依次取1至J,k依次取1至K,I为分类组的数量,J为分类组Ai中子分类组的数量,K为子分类组Bij中的坐标数据的数量;计算K-1个距离的距离和,得到K个坐标数据的距离和;在K个坐标数据的距离和中确定最小距离和所对应的坐标数据作为代表坐标数据;将代表坐标数据所对应的发丝作为子分类组Bij的代表发丝。
可选地,该装置还用于:对新的头发模型中每个头皮区域的目标坐标数据与其相邻头皮区域的目标坐标数据进行加权和计算,得到加权计算结果;依据加权计算结果增加新的头发模型中每个头皮区域的发丝数量。
可选地,分层处理单元还用于:通过数据聚类算法按照头发分层属性对预设头发模型Qn的头发数据进行分层处理,得到多个子分类组,并将多个子分类组作为所述预设头发模型Qn的头发数据的分类组,其中,n依次取1至N,N为所述预设头发模型的数量。
可选地,分层处理单元还用于:通过公式D=sigma(mi-ni|)计算所述预设头发模型Qn的头发数据中任意两个发丝的坐标数据之间的距离,其中,mi表示所述任意两个发丝的坐标数据中第一发丝的坐标数据的第i个坐标数据,ni表示所述任意两个发丝的坐标数据中第二发丝的坐标数据的第i个坐标数据,D表示所述第一发丝的坐标数据与所述第二发丝的坐标数据之间距离;如果距离小于预设距离,则将第一发丝的坐标数据与第二发丝的坐标数据归类到相同的子分类组中。
可选地,获取单元还用于:在预设头发模型的人头内部添加二维坐标数据,其中,二维坐标数据所围成的图形为圆形,圆形的直径与预设头发模型的人头大小相关联;沿着圆形的圆心将预设头发模型的人头上的点投影至二维坐标数据所围成圆形的表面上,以建立预设头发模型的人头上的点与圆形的对应关系;对圆形的表面进行平分处理,得到多个网格,其中,一个网格对应预设头发模型的一个头皮区域;为每个网格设置对应发丝的坐标数据,得到预设头发模型的头发数据。
本发明实施例所提供的装置,其实现原理及产生的技术效果和前述方法实施例相同,为简要描述,装置实施例部分未提及之处,可参考前述方法实施例中相应内容。
实施例4:
如图5所示,本发明实施例还提供了一种头发模型的构建***,该头发模型的构建***主要用于执行本发明实施例上述内容所提供的头发模型的构建方法,以下对本发明实施例提供的头发模型的构建***做具体介绍。
该头发模型的构建***主要包括输入模块51,降采样模块52,头发分层模块53,头发插值模块54和上采样模块55,其中:
输入模块用于接收3D建模师设计的预设头发模型,并将预设头发模型传递至降采样模块;
降采样模块用于通过降采样操作将预设头发模型转换为可计算形式,得到预设头发模型的头发数据;
头发分层模块用于将预设头发模型的头发数据根据头发分层属性进行分割处理,使得预设头发模型上具有多个子分类组;
头发插值模块用于通过在不同预设头发模型上分别选择一个子分类组,得到多个子分类组,然后通过多个子分类组插值混合成一种新的头发类型;
上采样模块用于将新的头发类型进行加密渲染。
本发明实施例所提供的***,其实现原理及产生的技术效果和前述方法实施例相同,为简要描述,***实施例部分未提及之处,可参考前述方法实施例中相应内容。
在本发明的另一个实施例中,还提供了一种具有处理器可执行的非易失的程序代码的计算机可读介质,程序代码使处理器执行上述方法实施例1中的方法。
另外,在本发明实施例的描述中,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本发明中的具体含义。
在本发明的描述中,需要说明的是,术语“中心”、“上”、“下”、“左”、“右”、“竖直”、“水平”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。此外,术语“第一”、“第二”、“第三”仅用于描述目的,而不能理解为指示或暗示相对重要性。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的***、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的***、装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个***,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个处理器可执行的非易失的计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上所述实施例,仅为本发明的具体实施方式,用以说明本发明的技术方案,而非对其限制,本发明的保护范围并不局限于此,尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本发明实施例技术方案的精神和范围,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。
Claims (14)
1.一种头发模型的构建方法,其特征在于,包括:
获取预设头发模型的头发数据,其中,所述头发数据中包括多个头皮区域和每个头皮区域所对应发丝的坐标数据,所述预设头发模型为多个;
根据头发分层属性对每个所述预设头发模型的头发数据进行分层处理,得到分类组,其中,所述分类组包括多个子分类组,一个所述子分类组对应一种头发分层属性,所述头发分层属性是对人头的头皮区域进行划分得到的表征头皮区域的属性,一个所述预设头发模型对应一个所述分类组;
利用多个所述预设头发模型的分类组生成至少一个新的头发模型,并利用所述新的头发模型构建头发数据库。
2.根据权利要求1所述的方法,其特征在于,利用多个所述预设头发模型的分类组生成至少一个新的头发模型包括:
从多个所述分类组中选择至少两个分类组;
将所述至少两个分类组进行混合,生成所述新的头发模型。
3.根据权利要求2所述的方法,其特征在于,所述至少两个分类组包括第一分类组和第二分类组,
将所述至少两个分类组进行混合,生成所述新的头发模型包括:
基于所述第一分类组和所述第二分类组,确定初始人头模型中各个头皮区域所对应的目标坐标数据,得到所述新的头发模型,其中,所述目标坐标数据为所述初始人头模型中各个头皮区域所对应发丝的坐标数据。
4.根据权利要求3所述的方法,其特征在于,基于所述第一分类组和所述第一分类组,确定初始人头模型中各个头皮区域所对应的目标坐标数据包括:
从所述第一分类组中随机选择第一子分类组,并从所述第二分类组随机选择第二子分类组,其中,所述第一子分类组和所述第二子分类组的数量均至少为一个;
按照所述头发分层属性在所述初始人头模型中确定与所述第一子分类组和所述第二子分类组相对应的第一组头皮区域,并将所述第一子分类组和所述第二子分类组中的坐标数据作为所述第一组头皮区域的目标坐标数据;
利用所述第一分类组中的其他子分类组和所述第二分类组中的其他子分类组,计算第二组头皮区域的目标坐标数据,所述第二组头皮区域为所述初始人头模型中除所述第一组头皮区域之外的区域。
5.根据权利要求4所述的方法,其特征在于,利用所述第一分类组中的其他子分类组和所述第二分类组中的其他子分类组,计算第二组头皮区域的目标坐标数据包括:
按照公式C[w][i]=p*A[w][i]+q*B[w][i]计算所述第二组头皮区域的目标坐标数据;
其中,C[w][i]表示所述第二组头皮区域中的头皮区域w所对应的第i个坐标数据,A[w][i]表示所述第一分类组中头皮区域w所对应的第i个坐标数据,B[w][i]表示所述第二分类组中头皮区域w所对应的第i个坐标数据。
6.根据权利要求5所述的方法,其特征在于,当p和q的取值满足预设要求时,则确定C[w][i]为所述第二组头皮区域中的头皮区域w所对应的第i个坐标数据;
其中,所述预设要求为C[w][i]与目标代表发丝的坐标数据之间的距离最小,所述目标代表发丝为代表发丝中与所述头皮区域w相邻的发丝,一个子分类组对应一个代表发丝,所述代表发丝中携带对应的子分类组所表征的全部发丝的特征信息。
7.根据权利要求6所述的方法,其特征在于,所述代表发丝采用以下方式确定:
计算分类组Ai中子分类组Bij中的坐标数据Cijk与所述子分类组Bij中其他坐标数据之间的距离,得到K-1个距离,其中,i依次取1至I,j依次取1至J,k依次取1至K,I为分类组的数量,J为所述分类组Ai中子分类组的数量,K为所述子分类组Bij中的坐标数据的数量;
计算所述K-1个距离的距离和,得到K个坐标数据的距离和;
在所述K个坐标数据的距离和中确定最小距离和所对应的坐标数据作为代表坐标数据;
将所述代表坐标数据所对应的发丝作为所述子分类组Bij的代表发丝。
8.根据权利要求3所述的方法,其特征在于,所述方法还包括:
对所述新的头发模型中每个头皮区域的目标坐标数据与其相邻头皮区域的目标坐标数据进行加权和计算,得到加权计算结果;
依据所述加权计算结果增加所述新的头发模型中每个头皮区域的发丝数量。
9.根据权利要求1至8中任一项所述的方法,其特征在于,根据头发分层属性对每个所述预设头发模型的头发数据进行分层处理,得到多个分类组包括:
通过数据聚类算法按照头发分层属性对预设头发模型Qn的头发数据进行分层处理,得到多个子分类组,并将多个子分类组作为所述预设头发模型Qn的头发数据的分类组,其中,n依次取1至N,N为所述预设头发模型的数量。
10.根据权利要求9所述的方法,其特征在于,通过数据聚类算法按照头发分层属性对预设头发模型Qn的头发数据进行分层处理,得到多个子分类组包括:
通过公式D=sigma(|mi-ni|)计算所述预设头发模型Qn的头发数据中任意两个发丝的坐标数据之间的距离,其中,mi表示所述任意两个发丝的坐标数据中第一发丝的坐标数据的第i个坐标数据,ni表示所述任意两个发丝的坐标数据中第二发丝的坐标数据的第i个坐标数据,D表示所述第一发丝的坐标数据与所述第二发丝的坐标数据之间距离;
如果所述距离小于预设距离,则将所述第一发丝的坐标数据与所述第二发丝的坐标数据归类到相同的子分类组中。
11.根据权利要求1至8中任一项所述的方法,其特征在于,获取预设头发模型的头发数据包括:
在所述预设头发模型的人头内部添加二维坐标数据,其中,所述二维坐标数据所围成的图形为圆形,所述圆形的直径与所述预设头发模型的人头大小相关联;
沿着所述圆形的圆心将所述预设头发模型的人头上的点投影至所述二维坐标数据所围成圆形的表面上,以建立所述预设头发模型的人头上的点与所述圆形的对应关系;
对所述圆形的表面进行平分处理,得到多个网格,其中,一个所述网格对应所述预设头发模型的一个头皮区域;
为每个所述网格设置对应发丝的坐标数据,得到所述预设头发模型的头发数据。
12.一种头发模型的构建装置,其特征在于,包括:
获取单元,用于获取预设头发模型的头发数据,其中,所述头发数据中包括多个头皮区域和每个头皮区域所对应发丝的坐标数据,所述预设头发模型为多个;
分层处理单元,用于根据头发分层属性对每个所述预设头发模型的头发数据进行分层处理,得到分类组,其中,所述分类组包括多个子分类组,一个所述子分类组对应一种头发分层属性,所述头发分层属性是对人头的头皮区域进行划分得到的表征头皮区域的属性,一个所述预设头发模型对应一个所述分类组;
生成单元,用于利用多个所述预设头发模型的分类组生成至少一个新的头发模型,并利用所述新的头发模型构建头发数据库。
13.一种电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现上述权利要求1至11中任一项所述的方法。
14.一种具有处理器可执行的非易失的程序代码的计算机可读介质,其特征在于,所述程序代码使所述处理器执行上述权利要求1至11中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810899150.9A CN109002553B (zh) | 2018-08-08 | 2018-08-08 | 头发模型的构建方法、装置、电子设备和计算机可读介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810899150.9A CN109002553B (zh) | 2018-08-08 | 2018-08-08 | 头发模型的构建方法、装置、电子设备和计算机可读介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109002553A CN109002553A (zh) | 2018-12-14 |
CN109002553B true CN109002553B (zh) | 2021-10-01 |
Family
ID=64595700
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810899150.9A Active CN109002553B (zh) | 2018-08-08 | 2018-08-08 | 头发模型的构建方法、装置、电子设备和计算机可读介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109002553B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115409922B (zh) * | 2022-08-30 | 2023-08-29 | 北京百度网讯科技有限公司 | 三维发型生成方法、装置、电子设备和存储介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101540057A (zh) * | 2009-04-24 | 2009-09-23 | 中国科学院计算技术研究所 | 虚拟动物驱动方法和装置 |
EP2260403A1 (en) * | 2008-02-22 | 2010-12-15 | Pixar | Mesh transfer |
CN103035030A (zh) * | 2012-12-10 | 2013-04-10 | 西北大学 | 头发模型建模方法 |
CN105844706A (zh) * | 2016-04-19 | 2016-08-10 | 浙江大学 | 一种基于单幅图像的全自动三维头发建模方法 |
CN106355629A (zh) * | 2016-08-19 | 2017-01-25 | 腾讯科技(深圳)有限公司 | 一种虚拟形象的配置方法及装置 |
CN108305329A (zh) * | 2017-12-28 | 2018-07-20 | 深圳市创梦天地科技股份有限公司 | 一种构建模型的方法及终端 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2017181332A1 (zh) * | 2016-04-19 | 2017-10-26 | 浙江大学 | 一种基于单幅图像的全自动三维头发建模方法 |
WO2017185301A1 (zh) * | 2016-04-28 | 2017-11-02 | 华为技术有限公司 | 一种三维头发建模方法及装置 |
CN106960465A (zh) * | 2016-12-30 | 2017-07-18 | 北京航空航天大学 | 一种基于方向场和螺旋线匹配的单幅图像头发重建方法 |
-
2018
- 2018-08-08 CN CN201810899150.9A patent/CN109002553B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2260403A1 (en) * | 2008-02-22 | 2010-12-15 | Pixar | Mesh transfer |
CN101540057A (zh) * | 2009-04-24 | 2009-09-23 | 中国科学院计算技术研究所 | 虚拟动物驱动方法和装置 |
CN103035030A (zh) * | 2012-12-10 | 2013-04-10 | 西北大学 | 头发模型建模方法 |
CN105844706A (zh) * | 2016-04-19 | 2016-08-10 | 浙江大学 | 一种基于单幅图像的全自动三维头发建模方法 |
CN106355629A (zh) * | 2016-08-19 | 2017-01-25 | 腾讯科技(深圳)有限公司 | 一种虚拟形象的配置方法及装置 |
CN108305329A (zh) * | 2017-12-28 | 2018-07-20 | 深圳市创梦天地科技股份有限公司 | 一种构建模型的方法及终端 |
Also Published As
Publication number | Publication date |
---|---|
CN109002553A (zh) | 2018-12-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108961369B (zh) | 生成3d动画的方法和装置 | |
WO2021253788A1 (zh) | 一种人体三维模型构建方法及装置 | |
JP7395617B2 (ja) | 三次元メッシュモデルの再構築方法およびその装置、機器、並びに記憶媒体 | |
CN106709793A (zh) | 一种在线3d打印定制***及方法 | |
US11741678B2 (en) | Virtual object construction method, apparatus and storage medium | |
JP2023001336A (ja) | 画像表示方法、画像表示装置、電子機器、記憶媒体及びコンピュータプログラム | |
JP2020086542A (ja) | データ編集装置、データ編集方法及びプログラム | |
CN110647859B (zh) | 人脸图像分解方法和装置、电子设备及存储介质 | |
CN109002553B (zh) | 头发模型的构建方法、装置、电子设备和计算机可读介质 | |
CN109360166B (zh) | 一种图像处理方法、装置、电子设备和计算机可读介质 | |
CN108986210B (zh) | 三维场景重建的方法和设备 | |
CN107644455B (zh) | 人脸图像合成方法和装置 | |
CN115393532B (zh) | 脸部绑定方法、装置、设备及存储介质 | |
CN116258840A (zh) | 层级细节表示树的生成方法、装置、设备及存储介质 | |
EP4386658A1 (en) | Image data processing method and apparatus, virtual digital human construction method and apparatus, device, storage medium, and computer program product | |
CN115984440A (zh) | 对象渲染方法、装置、计算机设备和存储介质 | |
CN113409316B (zh) | 一种图像分类方法、装置、计算机可读存储介质及设备 | |
CN115690359A (zh) | 一种点云处理方法、装置、电子设备及存储介质 | |
CN112348955B (zh) | 一种物体渲染方法 | |
WO2021139178A1 (zh) | 图像合成方法及相关设备 | |
CN116681857A (zh) | 一种空间碰撞检测方法、装置及电子设备 | |
CN107194980A (zh) | 人脸模型构建方法、装置及电子设备 | |
CN115690304A (zh) | 数据处理方法、***及电子设备 | |
CN112245937A (zh) | 基于复杂网络的资源特征提取方法、装置、设备及介质 | |
JP2016224791A (ja) | 立体物造形用データ出力規制装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
PE01 | Entry into force of the registration of the contract for pledge of patent right |
Denomination of invention: Construction methods, devices, electronic devices, and computer-readable media for hair models Effective date of registration: 20230404 Granted publication date: 20211001 Pledgee: Shanghai Yunxin Venture Capital Co.,Ltd. Pledgor: BEIJING KUANGSHI TECHNOLOGY Co.,Ltd. Registration number: Y2023990000193 |
|
PE01 | Entry into force of the registration of the contract for pledge of patent right |