CN113658313B - 人脸模型的渲染方法、装置及电子设备 - Google Patents
人脸模型的渲染方法、装置及电子设备 Download PDFInfo
- Publication number
- CN113658313B CN113658313B CN202111058343.XA CN202111058343A CN113658313B CN 113658313 B CN113658313 B CN 113658313B CN 202111058343 A CN202111058343 A CN 202111058343A CN 113658313 B CN113658313 B CN 113658313B
- Authority
- CN
- China
- Prior art keywords
- face
- vertex
- model
- target point
- face structure
- 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
- 238000009877 rendering Methods 0.000 title claims abstract description 60
- 238000000034 method Methods 0.000 title claims abstract description 46
- 238000003062 neural network model Methods 0.000 description 10
- 238000012935 Averaging Methods 0.000 description 6
- 238000010586 diagram Methods 0.000 description 6
- 238000004590 computer program Methods 0.000 description 5
- 230000005540 biological transmission Effects 0.000 description 4
- 230000000694 effects Effects 0.000 description 3
- 241000353135 Psenopsis anomala Species 0.000 description 2
- 230000006978 adaptation Effects 0.000 description 2
- 238000013473 artificial intelligence Methods 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000001815 facial effect Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/005—General purpose rendering architectures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- 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
- G06T17/20—Finite element generation, e.g. wire-frame surface description, tesselation
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Graphics (AREA)
- Software Systems (AREA)
- Biomedical Technology (AREA)
- Data Mining & Analysis (AREA)
- Life Sciences & Earth Sciences (AREA)
- Artificial Intelligence (AREA)
- Geometry (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Health & Medical Sciences (AREA)
- Evolutionary Computation (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Mathematical Physics (AREA)
- Image Generation (AREA)
- Processing Or Creating Images (AREA)
Abstract
本公开关于一种人脸模型的渲染方法、装置及电子设备,其中,该方法包括:获取目标对象的脸部的原始三维结构,其中,目标对象属于第一类对象;向原始三维结构中添加补偿信息,得到目标三维结构,其中,补偿信息为根据第一类对象的第一脸部结构和第二类对象的第二脸部结构之间的差异确定的,第一脸部结构和第二脸部结构分别为第一类对象的基准脸部结构和第二类对象的基准脸部结构;对目标三维结构进行渲染,得到渲染后的目标图像。本公开解决了相关技术中,对人脸3D模型进行渲染效率低的问题。
Description
技术领域
本公开涉及计算机领域,尤其涉及一种人脸模型的渲染方法、装置及电子设备。
背景技术
相关技术中,在对亚洲人脸三维模型进行渲染从而渲染为欧洲人脸三维模型的过程中,每获取到一个亚洲人脸三维模型,都需要先确定该亚洲人脸三维模型与欧洲人脸三维模型的区别,然后,将区别补偿到亚洲人脸三维模型上。
若是采用上述方法,每一个亚洲人脸三维模型,都需要先确定与欧洲人脸三维模型的区别再进行渲染,造成渲染亚洲人脸三维模型的效率低。
发明内容
本公开提供一种人脸模型的渲染方法、装置及电子设备,以至少解决相关技术中对人脸模型渲染效率低的问题。本公开的技术方案如下:
根据本公开实施例的第一方面,提供一种人脸模型渲染方法,包括:获取目标对象的脸部的原始三维结构,其中,上述目标对象属于第一类对象;向上述原始三维结构中添加补偿信息,得到目标三维结构,其中,上述补偿信息为根据上述第一类对象的第一脸部结构和第二类对象的第二脸部结构之间的差异确定的,上述第一脸部结构和上述第二脸部结构分别为上述第一类对象的基准脸部结构和上述第二类对象的基准脸部结构;对上述目标三维结构进行渲染,得到渲染后的目标图像。
可选地,在向所述原始三维结构中添加补偿信息,得到目标三维结构之前,还包括:根据所述第一脸部结构和所述第二脸部结构中顶点的3D位置坐标确定所述补偿信息中的3D位置坐标补偿值;根据所述第一脸部结构和所述第二脸部结构中顶点的纹理坐标确定所述补偿信息中的纹理坐标补偿值。
可选地,所述根据所述第一脸部结构和所述第二脸部结构中顶点的3D位置坐标确定所述补偿信息中的3D位置坐标补偿值包括:在所述第一脸部结构与所述第二脸部结构重叠的情况下,对于所述第一脸部结构中的每个顶点,执行以下步骤,其中,在执行以下步骤时,所述每个顶点被视为当前顶点:在所述第二脸部结构中查找与所述当前顶点对应的目标点,其中,所述目标点是所述第二脸部结构中距离所述当前顶点最近的点;将所述目标点的3D位置坐标与所述当前顶点的3D位置坐标之间的差值确定为所述当前顶点对应的3D位置坐标补偿值。
可选地,所述方法还包括:在所述目标点不为所述第二脸部结构中的顶点时,在所述第二脸部结构中确定目标三角面片的三个顶点,其中,所述目标点位于所述目标三角面片中;使用预设的3个权重值对所述三个顶点的3D位置坐标进行加权求和,得到所述目标点的3D位置坐标,其中,所述预设的3个权重值与所述目标点到所述三个顶点的距离对应;在所述目标点为所述第二脸部结构中的顶点时,确定所述第二脸部结构中的顶点的3D位置坐标为所述目标点的3D位置坐标。
可选地,所述根据所述第一脸部结构和所述第二脸部结构中顶点的纹理坐标确定所述补偿信息中的纹理坐标补偿值包括:在所述第一脸部结构与所述第二脸部结构重叠的情况下,对于所述第一脸部结构中的每个顶点,执行以下步骤,其中,在执行以下步骤时,所述每个顶点被视为当前顶点:在所述第二脸部结构中查找与所述当前顶点对应的目标点,其中,所述目标点是所述第二脸部结构中距离所述当前顶点最近的点;将所述目标点的纹理坐标与所述当前顶点的纹理坐标之间的差值确定为所述当前顶点对应的纹理坐标补偿值。
可选地,所述方法还包括:在所述目标点不为所述第二脸部结构中的顶点时,在所述第二脸部结构中确定目标三角面片的三个顶点,其中,所述目标点位于所述目标三角面片中;在所述第二脸部结构的纹理坐标集合中获取所述三个顶点的纹理坐标;使用预设的3个权重值对所述三个顶点的纹理坐标进行加权求和,得到所述目标点的纹理坐标,其中,所述预设的3个权重值与所述目标点到所述三个顶点的距离对应;在所述目标点为所述第二脸部结构中的顶点时,确定所述第二脸部结构中的顶点的纹理坐标为所述目标点的纹理坐标。
可选地,所述向所述原始三维结构中添加补偿信息,得到目标三维结构,包括:对于所述原始三维结构中的每个顶点,执行以下步骤,其中,在执行以下步骤时,所述每个顶点被视为当前顶点:将所述原始三维结构中所述当前顶点的3D位置坐标与所述补偿信息中所述当前顶点对应的3D位置坐标补偿值进行求和操作,得到所述当前顶点的补偿后的3D位置坐标;将所述原始三维结构中所述当前顶点的纹理坐标与所述补偿信息中所述当前顶点对应的纹理坐标补偿值进行求和操作,得到所述当前顶点的补偿后的纹理坐标。
可选地,所述原始三维结构为所述第一类对象的第一人脸3D模型,所述目标三维结构为所述第二类对象的第二人脸3D模型,所述第一人脸3D模型与所述第一脸部结构的人脸3D模型和所述第二脸部结构的人脸3D模型具有相同的顶点拓扑结构。
根据本公开实施例的第二方面,提供一种人脸模型渲染装置,包括:获取单元,被配置为执行获取目标对象的脸部的原始三维结构,其中,上述目标对象属于第一类对象;补偿单元,被配置为执行向上述原始三维结构中添加补偿信息,得到目标三维结构,其中,上述补偿信息为根据上述第一类对象的第一脸部结构和第二类对象的第二脸部结构之间的差异确定的,上述第一脸部结构和上述第二脸部结构分别为上述第一类对象的基准脸部结构和上述第二类对象的基准脸部结构;渲染单元,被配置为执行对上述目标三维结构进行渲染,得到渲染后的目标图像。
可选地,所述装置还包括:第一确定单元,被配置为执行在向所述原始三维结构中添加补偿信息,得到目标三维结构之前,根据所述第一脸部结构和所述第二脸部结构中顶点的3D位置坐标确定所述补偿信息中的3D位置坐标补偿值;第二确定单元,被配置为执行根据所述第一脸部结构和所述第二脸部结构中顶点的纹理坐标确定所述补偿信息中的纹理坐标补偿值。
可选地,所述第一确定单元包括:第一处理模块,被配置为执行在所述第一脸部结构与所述第二脸部结构重叠的情况下,对于所述第一脸部结构中的每个顶点,执行以下步骤,其中,在执行以下步骤时,所述每个顶点被视为当前顶点:在所述第二脸部结构中查找与所述当前顶点对应的目标点,其中,所述目标点是所述第二脸部结构中距离所述当前顶点最近的点;将所述目标点的3D位置坐标与所述当前顶点的3D位置坐标之间的差值确定为所述当前顶点对应的3D位置坐标补偿值。
可选地,所述装置还包括:第二处理模块,被配置为在所述目标点不为所述第二脸部结构中的顶点时,在所述第二脸部结构中确定目标三角面片的三个顶点,其中,所述目标点位于所述目标三角面片中;使用预设的3个权重值对所述三个顶点的3D位置坐标进行加权求和,得到所述目标点的3D位置坐标,其中,所述预设的3个权重值与所述目标点到所述三个顶点的距离对应;在所述目标点为所述第二脸部结构中的顶点时,确定所述第二脸部结构中的顶点的3D位置坐标为所述目标点的3D位置坐标。
可选地,所述第二确定单元包括:第三处理模块,被配置为执行在所述第一脸部结构与所述第二脸部结构重叠的情况下,对于所述第一脸部结构中的每个顶点,执行以下步骤,其中,在执行以下步骤时,所述每个顶点被视为当前顶点:在所述第二脸部结构中查找与所述当前顶点对应的目标点,其中,所述目标点是所述第二脸部结构中距离所述当前顶点最近的点;将所述目标点的纹理坐标与所述当前顶点的纹理坐标之间的差值确定为所述当前顶点对应的纹理坐标补偿值。
可选地,所述装置还包括:第四处理模块,被配置为在所述目标点不为所述第二脸部结构中的顶点时,在所述第二脸部结构中确定目标三角面片的三个顶点,其中,所述目标点位于所述目标三角面片中;在所述第二脸部结构的纹理坐标集合中获取所述三个顶点的纹理坐标;使用预设的3个权重值对所述三个顶点的纹理坐标进行加权求和,得到所述目标点的纹理坐标,其中,所述预设的3个权重值与所述目标点到所述三个顶点的距离对应;在所述目标点为所述第二脸部结构中的顶点时,确定所述第二脸部结构中的顶点的纹理坐标为所述目标点的纹理坐标。
可选地,所述补偿单元,包括:补偿模块,用于对于所述原始三维结构中的每个顶点,执行以下步骤,其中,在执行以下步骤时,所述每个顶点被视为当前顶点:将所述原始三维结构中所述当前顶点的3D位置坐标与所述补偿信息中所述当前顶点对应的3D位置坐标补偿值进行求和操作,得到所述当前顶点的补偿后的3D位置坐标;将所述原始三维结构中所述当前顶点的纹理坐标与所述补偿信息中所述当前顶点对应的纹理坐标补偿值进行求和操作,得到所述当前顶点的补偿后的纹理坐标。
可选地,所述原始三维结构为所述第一类对象的第一人脸3D模型,所述目标三维结构为所述第二类对象的第二人脸3D模型,所述第一人脸3D模型与所述第一脸部结构的人脸3D模型和所述第二脸部结构的人脸3D模型具有相同的顶点拓扑结构。
根据本公开实施例的第三方面,提供一种电子设备,包括处理器;用于存储上述处理器可执行指令的存储器;其中,上述处理器被配置为执行上述指令,以实现上述人脸模型的渲染方法。
根据本公开实施例的第四方面,提供一种计算机可读的存储介质,包括当上述计 算机可读存储介质中的指令由电子设备的处理器执行时,使得电子设备能够执行上述的人脸模型的渲染方法。
根据本公开实施例的第五方面,提供一种计算机程序产品,包括计算机程序/指令,其中,上述计算机程序/指令被处理器执行时实现上述的人脸模型的渲染方法;
本公开的实施例提供的技术方案至少带来以下有益效果:
由于在获取目标对象的脸部的原始三维结构之后,可以向所述原始三维结构中添加补偿信息,得到目标三维结构,其中,该补偿信息为根据第一类对象的第一脸部结构和第二类对象的第二脸部结构之间的差异确定的,从而对所述目标三维结构进行渲染,得到渲染后的目标图像,不再需要每获取到目标对象的原始三维结构之后,都需要先确定属于第一类对象的目标对象的原始三维结构对应于第二类对象的三维结构,然后再确定补偿信息,最后再添加补偿信息得到该目标对象对应于第二类对象的三维结构并对该目标对象的三维结构进行渲染,提高了三维结构进行渲染的效率,解决了相关技术中,对人脸三维模型进行渲染效率低的问题。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理,并不构成对本公开的不当限定。
图1是根据一示例性实施例示出的一种人脸模型的渲染方法的流程图。
图2是根据一示例性实施例示出的一种人脸模型的渲染方法的补偿第一人脸3D模型的流程图。
图3是根据一示例性实施例示出的一种人脸模型的渲染方法的确定3D位置坐标补偿集合与纹理坐标补偿集合的流程图。
图4是根据一示例性实施例示出的一种人脸模型的渲染方法的拓扑示意图。
图5是根据一示例性实施例示出的一种人脸模型的渲染方法的补偿亚洲人脸3D模型的流程图。
图6是根据一示例性实施例示出的一种人脸模型的渲染装置的框图。
图7是根据一示例性实施例示出的一种电子设备的框图。
具体实施方式
为了使本领域普通人员更好地理解本公开的技术方案,下面将结合附图,对本公开实施例中的技术方案进行清楚、完整地描述。
需要说明的是,本公开的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本公开的实施例能够以除了在这里图示或描述的那些以外的顺序实施。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
图1是根据一示例性实施例示出的一种人脸模型渲染方法的流程图,如图1所示,人脸模型渲染方法包括以下步骤。
在步骤S11中,获取目标对象的脸部的原始三维结构,其中,目标对象属于第一类对象;
在步骤S12中,向原始三维结构中添加补偿信息,得到目标三维结构,其中,补偿信息为根据第一类对象的第一脸部结构和第二类对象的第二脸部结构之间的差异确定的,第一脸部结构和第二脸部结构分别为第一类对象的基准脸部结构和第二类对象的基准脸部结构;
在步骤S13中,对目标三维结构进行渲染,得到渲染后的目标图像。
通过上述步骤,在获取目标对象的脸部的原始三维结构之后,可以向原始三维结构中添加补偿信息,得到目标三维结构,其中,该补偿信息为根据第一类对象的第一脸部结构和第二类对象的第二脸部结构之间的差异确定的,从而对目标三维结构进行渲染,得到渲染后的目标图像,不再需要每获取到目标对象的原始三维结构之后,都需要先确定属于第一类对象的目标对象的原始三维结构对应于第二类对象的三维结构,然后再确定补偿信息,最后再添加补偿信息得到该目标对象对应于第二类对象的三维结构并对该目标对象的三维结构进行渲染,提高了三维结构进行渲染的效率,解决了相关技术中,对人脸三维模型进行渲染效率低的问题。
需要说明的是,上述原始三维结构可以为第一类对象的第一人脸3D模型,目标三维结构可以为第二类对象的第二人脸3D模型,上述第一人脸3D模型与第一脸部结构的人脸3D模型和第二脸部结构的人脸3D模型具有相同的顶点拓扑结构。在下面的说明中,以原始三维结构为第一人脸3D模型,目标三维结构为第二人脸3D模型,第一脸部结构为第一样本人脸3D模型,第二脸部结构为第二样本人脸3D模型为例进行说明。
作为一种可选的实施例,获取目标对象的脸部的原始三维结构时,可以是获取第一人脸3D模型的第一3D位置坐标集合和第一纹理坐标集合,其中,上述第一人脸3D模型的脸部结构为第一脸部结构,上述第一3D位置坐标集合包括上述第一人脸3D模型中的顶点的3D位置坐标,上述第一纹理坐标集合包括上述第一人脸3D模型中的顶点的纹理坐标。
在一个或多个实施例中,对于上述步骤S11,可以获取包括人脸的图像,可以为拍摄的人脸的照片,或者为下载的包括人脸的图片等。对于包括人脸的图像,可以先根据该图像获取到与人脸的图像对应的第一人脸3D模型。在根据图像获取第一人脸3D模型的时候,可以使用人工智能实现。人工智能可以为使用样本图片与样本3D模型训练的神经网络模型。样本图片中包括人脸图像。样本3D模型为人脸图像对应的3D模型。通过将样本图像输入到神经网络模型之后,根据神经网络模型输出的预测3D模型与样本3D模型进行比对,如果预测3D模型与样本3D模型差异大,则调整神经网络模型的参数,直到神经网络模型的识别准确度大于一个阈值。将训练后的神经网络模型作为获取第一人脸3D模型的模型。在输入包括人脸的图像之后,将该图像输入到训练后的神经网络模型中,经由神经网络模型输出预测的第一人脸3D模型。
在一个或多个实施例中,上述第一人脸3D模型中可以包括多个顶点,每一个顶点都对应一个三维空间中的3D位置坐标。每一个顶点都对应一个纹理坐标。纹理坐标记录有该顶点在渲染时,使用的图像中的颜色。图像即为确定第一人脸3D模型的图像。
以一个示例进行说明。例如对于相机拍照人脸得到人脸图像,将人脸图像输入到上述训练后的神经网络模型中,由上述神经网络模型输出与人脸图像对应的上述第一人脸3D模型。上述第一人脸3D模型中包括了多个顶点,每一个顶点都对应一个3D位置坐标,3D位置坐标是记录该顶点在第一人脸3D模型中的位置。多个3D位置坐标组成上述的第一3D位置坐标集合。每一个顶点都对应一个纹理坐标。纹理坐标记录有该顶点在渲染时,使用的照片中的颜色。多个纹理坐标组成上述的第一纹理坐标集合。
在一个或多个实施例中,在向原始三维结构中添加补偿信息,得到目标三维结构之前,可以通过多种方式获取该补偿信息。例如,根据第一类对象的第一脸部结构和第二类对象的第二脸部结构之间的差异确定该补偿信息,其中,第一脸部结构和第二脸部结构分别为第一类对象的基准脸部结构和第二类对象的基准脸部结构。继续以第一脸部结构为第一样本人脸3D模型,第二脸部结构为第二样本人脸3D模型为例进行说明。
在一个或多个实施例中,补偿信息包括3D位置坐标补偿集合和纹理坐标补偿集合,3D位置坐标补偿集合和纹理坐标补偿集合可以是使用第一样本人脸3D模型与第二样本人脸3D模型中的顶点的3D位置坐标以及顶点的纹理坐标确定得到的补偿集合。3D位置坐标补偿集合中记录有3D位置坐标补偿值,纹理坐标补偿集合中记录有纹理坐标补偿值。即,在向原始三维结构中添加补偿信息,得到目标三维结构之前,还包括:根据第一脸部结构和第二脸部结构中顶点的3D位置坐标确定补偿信息中的3D位置坐标补偿值;根据第一脸部结构和第二脸部结构中顶点的纹理坐标确定补偿信息中的纹理坐标补偿值。
在一个或多个实施例中,上述目标对象属于第一类对象,该第一类对象可以为具有第一脸部结构的对象。第二类对象为具有第二脸部结构的对象。例如,第一脸部结构与第二脸部结构可以为不同的地域的人的脸部结构。如第一脸部结构为亚洲人的脸部结构,第二脸部结构为欧洲人的脸部结构(或者第一脸部结构为欧洲人的脸部结构,第二脸部结构为亚洲人的脸部结构等,此外,还可以包括非洲人的脸部结构等)。例如,以第一脸部结构为亚洲人的脸部结构,第二脸部结构为欧洲人的脸部结构为例,获取亚洲人的脸部结构的第一样本人脸3D模型和欧洲人的脸部结构的第二样本人脸3D模型,两个样本人脸3D模型具有相同的顶点拓扑结构。使用顶点拓扑结构中的顶点的3D位置坐标确定出3D位置坐标补偿集合,以及使用顶点的纹理坐标确定纹理坐标补偿集合。
再例如,第一脸部结构与第二脸部结构还可以为不同脸型的脸部结构。例如,第一脸部结构为圆脸类型,第二脸部结构为瓜子脸类型(或者第一脸部结构为瓜子脸类型,第二脸部结构为圆脸类型等,此外,还可以包括长脸类型、方脸类型等)。例如,以第一脸部结构为圆脸,第二脸部结构为方脸为例,获取圆脸类型的第一样本人脸3D模型和长脸类型的第二样本人脸3D模型,两个样本人脸3D模型具有相同的顶点拓扑结构。使用顶点拓扑结构中的顶点的3D位置坐标确定出3D位置坐标补偿集合,以及使用顶点的纹理坐标确定纹理坐标补偿集合。
作为一种可选的实施例,在获取到补偿信息后,可以向原始三维结构中添加补偿信息,得到目标三维结构。在获取到3D位置坐标补偿集合和上述纹理坐标补偿集合之后,可以按照3D位置坐标补偿集合和上述纹理坐标补偿集合中的补偿值来对第一人脸3D模型中的3D位置坐标和纹理坐标进行补偿。在补偿时,对于第一人脸3D模型中的每一个顶点的3D位置坐标,使用3D位置坐标补偿集合中的3D位置坐标补偿值进行补偿,对于第一人脸3D模型中的每一个顶点的纹理坐标,使用纹理坐标补偿集合中的纹理坐标补偿值进行补偿。在对第一人脸3D模型进行补偿后,得到第二人脸3D模型。然后执行步骤S14,对第二人脸3D模型进行渲染。
在获取到第一人脸3D模型的第一3D位置坐标集合和第一纹理坐标集合之后,可以获取3D位置坐标补偿集合和纹理坐标补偿集合,从而直接根据获取3D位置坐标补偿集合和纹理坐标补偿集合中的补偿值对第一3D位置坐标集合和第一纹理坐标集合进行补偿处理,得到第二人脸3D模型,并对第二人脸3D模型进行渲染,不再需要每获取到一个第一人脸3D模型之后,都需要先确定与该第一人脸3D模型对应的人脸3D模型,然后再确定补偿信息,最后再添加补偿信息得到第二人脸3D模型并渲染第二人脸3D模型,提高了人脸3D模型进行渲染的效率。
在一个或多个实施例中,如上,在根据第一脸部结构和第二脸部结构中顶点的3D位置坐标确定补偿信息中的3D位置坐标补偿值;以及,根据第一脸部结构和第二脸部结构中顶点的纹理坐标确定补偿信息中的纹理坐标补偿值时,可以根据上述第一样本人脸3D模型与上述第二样本人脸3D模型中的顶点的3D位置坐标,确定上述3D位置坐标补偿集合;以及,根据上述第一样本人脸3D模型与上述第二样本人脸3D模型中的顶点的3D位置坐标以及顶点的纹理坐标,确定上述纹理坐标补偿集合。
在本实施例中,以上述的第一脸部结构为亚洲人的脸部结构,第二脸部结构为欧洲人的脸部结构为例,可以获取第一样本人脸3D模型与第二样本人脸3D模型,然后,使用第一样本人脸3D模型与第二样本人脸3D模型中的顶点的3D位置坐标和纹理坐标来确定3D位置坐标补偿集合与纹理坐标补偿集合。在确定第一样本人脸3D模型和第二样本人脸3D模型的时候,可以先获取多个第一脸部结构的人脸3D模型。例如,如图2所示,获取亚洲人脸的多个人脸3D模型201。不同的亚洲人脸有不同的人脸3D模型。获取到亚洲人脸的多个人脸3D模型后,多个人脸3D模型可以取平均值,平均得到第一样本人脸3D模型202。获取欧洲人脸的多个人脸3D模型203,不同的欧洲人脸有不同的人脸3D模型。获取到欧洲人脸的多个人脸3D模型后,多个人脸3D模型可以取平均值,平均得到第二样本人脸3D模型204。第一样本人脸3D模型203和第二样本人脸3D模型204可以确定出3D位置坐标补偿集合205和纹理坐标补偿集合206。3D位置坐标补偿集合205和纹理坐标补偿集合206用于补偿第一人脸3D模型,得到第二人脸3D模型。
在本实施例中,通过脸部结构中顶点的3D位置坐标以及纹理坐标分别确定对应的3D位置坐标补偿值和纹理坐标补偿值,可以高效准确地获得对应的3D位置坐标补偿值和纹理坐标补偿值。即在确定3D位置坐标补偿集合与确定纹理坐标补偿集合时,通过模型中顶点的3D位置坐标,确定3D位置坐标补偿集合;以及通过模型中顶点的3D位置坐标以及顶点的纹理坐标,确定纹理坐标补偿集合,能够高效准确地获得3D位置坐标补偿集合与纹理坐标补偿集合。另外,在获取到多个第一人脸类型的人脸3D模型和多个第二人脸类型的人脸3D模型后,进一步通过求取平均值确定出第一样本人脸3D模型和第二样本人脸3D模型,从而实现了提高确定的第一样本人脸3D模型和第二样本人脸3D模型的准确度的效果,进一步使用第一样本人脸3D模型和第二样本人脸3D模型确定3D位置坐标补偿集合和纹理坐标补偿集合,保证了确定的3D位置坐标补偿集合和纹理坐标补偿集合的准确度的效果。
作为一种可选的实施例,在根据第一脸部结构和第二脸部结构中顶点的3D位置坐标确定补偿信息中的3D位置坐标补偿值时,可以采用以下方式实现:在第一脸部结构与第二脸部结构重叠的情况下,对于第一脸部结构中的每个顶点,执行以下步骤,其中,在执行以下步骤时,每个顶点被视为当前顶点:在第二脸部结构中查找与当前顶点对应的目标点,其中,目标点是第二脸部结构中距离当前顶点最近的点;将目标点的3D位置坐标与当前顶点的3D位置坐标之间的差值确定为当前顶点对应的3D位置坐标补偿值。下面继续以第一脸部结构为第一样本人脸3D模型,第二脸部结构为第二样本人脸3D模型为例说明。
在一个或多个实施例中,上述根据上述第一样本人脸3D模型与上述第二样本人脸3D模型中的顶点的3D位置坐标,确定上述3D位置坐标补偿集合,包括:
在上述第一样本人脸3D模型与上述第二样本人脸3D模型重叠的情况下,对于上述第一样本人脸3D模型中的每个顶点,执行以下步骤,其中,在执行以下步骤时,上述每个顶点被视为当前顶点:
在上述第二样本人脸3D模型中查找与上述当前顶点对应的目标点,其中,上述目标点是上述第二样本人脸3D模型中距离上述当前顶点最近的点;
将上述目标点的3D位置坐标与上述当前顶点的3D位置坐标之间的差值确定为上述当前顶点对应的3D位置坐标补偿值,其中,上述3D位置坐标补偿集合包括上述当前顶点对应的3D位置坐标补偿值。通过上述处理,在第一脸部结构与第二脸部结构重叠的情况下,直接依据顶点确定3D位置补偿值,能够高效地确定3D位置补偿值。例如,在第一样本人脸3D模型与上述第二样本人脸3D模型重叠的情况下,可以直接依据顶点,以及距离顶点最近的点来确定该顶点的3D位置坐标补偿值,在样本人脸模型重叠的情况,来采用对应简单的处理方式,能够有效提高确定3D位置坐标补偿值的效率。
作为一种可选的实施例,根据第一脸部结构和第二脸部结构中顶点的纹理坐标确定补偿信息中的纹理坐标补偿值时,可以采用以下方式实现:在第一脸部结构与第二脸部结构重叠的情况下,对于第一脸部结构中的每个顶点,执行以下步骤,其中,在执行以下步骤时,每个顶点被视为当前顶点:在第二脸部结构中查找与当前顶点对应的目标点,其中,目标点是第二脸部结构中距离当前顶点最近的点;将目标点的纹理坐标与当前顶点的纹理坐标之间的差值确定为当前顶点对应的纹理坐标补偿值。在第一脸部结构为第一样本人脸3D模型,第二脸部结构为第二样本人脸3D模型时,上述根据第一脸部结构和第二脸部结构中顶点的纹理坐标确定补偿信息中的纹理坐标补偿值的步骤可以为根据上述第一样本人脸3D模型与上述第二样本人脸3D模型中的顶点的3D位置坐标以及顶点的纹理坐标,确定上述纹理坐标补偿集合,包括:
在上述第一样本人脸3D模型与上述第二样本人脸3D模型重叠的情况下,对于上述第一样本人脸3D模型中的每个顶点,执行以下步骤,其中,在执行以下步骤时,上述每个顶点被视为当前顶点:
在上述第二样本人脸3D模型中查找与上述当前顶点对应的目标点和目标顶点,其中,上述当前顶点在上述第一样本人脸3D模型中的拓扑位置与上述目标顶点在上述第二样本人脸3D模型中的拓扑位置相同,上述目标点是上述第二样本人脸3D模型中距离上述当前顶点最近的点;
将上述目标点的纹理坐标与上述目标顶点的纹理坐标之间的差值确定为上述当前顶点对应的纹理坐标补偿值,其中,上述纹理坐标补偿集合包括上述当前顶点对应的纹理坐标补偿值。
通过上述处理,在第二样本人脸3D模型上确定出与第一样本人脸3D模型上的顶点最近的目标点,将目标点与顶点的纹理坐标差值确定为用于补偿的纹理坐标。因此,在第一脸部结构与第二脸部结构重叠的情况下,直接依据顶点确定纹理坐标补偿值,能够高效地确定纹理坐标补偿值。例如,在第一样本人脸3D模型与上述第二样本人脸3D模型重叠的情况下,可以直接依据顶点,以及距离顶点最近的点(即目标点)来确定该顶点的纹理坐标补偿值,依据样本人脸模型重叠的情况,来采用对应简单的处理方式,能够有效提高确定纹理坐标补偿值的效率。
在一个或多个实施例中,上述的第一样本人脸3D模型与上述第二样本人脸3D模型重叠可以为两个3D模型的边缘部分的顶点是重合的。在边缘部分的顶点重合的情况下,除了边缘部分的顶点,剩余的顶点则会由于3D模型的不同而存在差异。本实施例中,可以通过获取两个3D模型的顶点之间的差异来确定出3D位置坐标补偿集合和纹理坐标补偿集合。
在一个或多个实施例中,上述的第一样本人脸3D模型上的当前顶点在第二样本人脸3D模型上对应一个目标点。目标点为距离当前顶点最近的点。本实施例中,可以从当前顶点出发,向第二样本人脸模型上的投射射线,射线在接触到第二样本人脸3D模型后停止。将最短的射线所接触到的第二样本人脸模型上的点确定为当前顶点的目标点。
在一个或多个实施例中,将目标点与当前顶点的3D位置坐标的差值确定为3D位置坐标补偿集合中的当前顶点对应的3D位置坐标补偿值,目标点与当前顶点的纹理坐标的差值确定为纹理坐标补偿集合中的当前顶点对应的纹理坐标补偿值。在本实施例中,可以将第一样本人脸3D模型与第二样本人脸3D模型置于同一个三维空间中。在该三维空间中,当前顶点与目标点均对应有一个3D位置坐标。将当前顶点与目标点的3D位置坐标的差值确定为3D位置坐标补偿集合中的当前顶点对应的3D位置坐标补偿值。此外,第一样本人脸3D模型中的当前顶点对应有与第一样本人脸3D模型对应的图像中的一个纹理坐标,该纹理坐标标识了上述第一样本人脸3D模型对应的图像的一个二维坐标位置,该纹理坐标用于指示当前顶点在渲染时,使用的颜色。第二样本人脸3D模型中的目标点对应有与第二样本人脸3D模型对应的图像中的一个纹理坐标,该纹理坐标标识了上述第二样本人脸3D模型对应的图像的一个二维坐标位置,该纹理坐标用于指示目标点在渲染时,使用的颜色。
例如,结合图3进行说明。图3中,步骤S31将第一样本人脸3D模型中的每一个顶点确定为当前顶点,S32在第二样本人脸3D模型中确定出当前顶点的目标点,对于当前顶点和目标点,S33,获取当前顶点与目标点的3D位置坐标,S34,使用目标点的3D位置坐标减去当前顶点的3D位置坐标,得到3D位置坐标差值,则3D位置坐标差值即为当前顶点对应的3D位置坐标补偿值。S35,将该3D位置坐标差值保存到3D位置坐标补偿集合中。而在S33,获取当前顶点与目标点的3D位置坐标之后,还可以执行S36,获取当前顶点与目标点的纹理坐标,S37,用目标点的纹理坐标减去当前顶点的纹理坐标,得到纹理坐标差值,纹理坐标差值即为当前顶点对应的纹理坐标补偿值。需要说明的是,本实施例中,图3中的步骤S32为在S31之后执行的步骤,S33-S35依次执行,S36-S38依次执行,S33-S35与S36-S38在S32后执行。除此之外,S33-S35与S36-S38之间的步骤并不做先后执行顺序的限定。
本实施例中,以第一样本人脸3D模型为多个亚洲人脸3D模型进行平均得到的亚洲样本人脸3D模型,以第二样本人脸3D模型为多个欧洲人脸3D模型进行平均得到的欧洲样本人脸3D模型为例,如图4所示,图4中,亚洲人脸3D结构和欧洲人脸3D结构的边缘的顶点重合,非边缘的顶点由于脸型的不同而存在差异。两个人脸3D结构具备相同的拓扑。对于亚洲样本人脸3D模型上的一个当前顶点A1,在欧洲样本人脸3D模型上的对应点为B1,A1和B1是拓扑中相同定义的点。A1和B1的3D位置坐标是不同的,3D位置坐标分别记为A1_3d,B1_3d,A1和B1具备相同的纹理坐标,记为A1_uv,B1_uv。在欧洲人脸3D模型上,确定出距离A1最近的点B2,可以从A1点向欧洲人脸3D模型上发射射线,将最短的射线与欧洲人脸3D模型上的接触点确定为B2点。记录3D位置坐标差值delta_3d_A1=B2_3d-A1_3d,纹理坐标差delta_uv_A1=B2_uv-B1_uv。对亚洲3D人脸模型上的所有的顶点作为当前顶点,得到所有顶点的3D位置坐标差集合delta_3d和纹理坐标差集合delta_uv。
在本实施例中,可以将3D位置坐标差集合delta_3d和纹理坐标差集合delta_uv保存,以备补偿使用。或者,在本实施例中,可以将3D位置坐标差集合delta_3d和纹理坐标差集合delta_uv绘制为图像,供渲染时使用。绘制图像时,将3D位置坐标差集合delta_3d中的x、y、z数据作为位置差图的3个通道(R、G、B通道)的数据。将纹理坐标差集合delta_uv中的u和v作为纹理坐标插图的前两个通道的数据。
通过本实施例中的方法,在确定3D位置坐标补偿集合与纹理坐标补偿集合的时候,通过上述方法确定每一个当前顶点的目标点,并将目标点与当前顶点的3D坐标的差确定为3D位置坐标补偿集合中的3D位置坐标补偿值,将目标点与当前顶点的纹理坐标的差确定为纹理坐标补偿集合中的纹理坐标补偿值,从而可以使用准确的目标点确定出准确的3D位置坐标补偿集合与纹理坐标补偿集合,进一步提高对人脸图像进行渲染的准确度。
作为一种可选的实施例,上述在第二脸部结构中查找与当前顶点对应的目标点时,依据查找结果不同,确定目标点的3D位置坐标的方式也不同。例如,在目标点不为第二脸部结构中的顶点时,在第二脸部结构中确定目标三角面片的三个顶点,其中,目标点位于目标三角面片中;使用预设的3个权重值对三个顶点的3D位置坐标进行加权求和,得到目标点的3D位置坐标,其中,预设的3个权重值与目标点到三个顶点的距离对应;在目标点为第二脸部结构中的顶点时,确定第二脸部结构中的顶点的3D位置坐标为目标点的3D位置坐标。
在第一脸部结构为第一样本人脸3D模型,第二脸部结构为第二样本人脸3D模型的情况下,在上述目标点不为上述第二样本人脸3D模型中的顶点时,在上述第二样本人脸3D模型中确定目标三角面片的三个顶点,其中,上述目标点位于上述目标三角面片中;使用预设的3个权重值对上述三个顶点的3D位置坐标进行加权求和,得到上述目标点的3D位置坐标,其中,上述预设的3个权重值与上述目标点到上述三个顶点的距离对应;
在上述目标点为上述第二样本人脸3D模型中的顶点时,在上述第二样本人脸3D模型的3D位置坐标集合中获取上述目标点的3D位置坐标,其中,上述第二样本人脸3D模型的3D位置坐标集合包括上述第二样本人脸3D模型中的顶点的3D位置坐标。
通过上述处理,能够实现在第二脸部结构中查找与当前顶点对应的目标点时,依据查找结果不同,采用不同的方式确定目标点的3D位置坐标。例如,针对与当前顶点对应的目标点不为第二样本人脸3D模型中的顶点,以及目标点为第二样本人脸3D模型中的顶点的情况下,均能够采用对应的方法得到目标点的3D位置坐标。在目标点为第二样本人脸3D模型中的顶点时,依据第二样本人脸3D模型的3D位置坐标集合中顶点的3D位置坐标确定目标点的3D位置坐标,直接准确地确定目标点的3D位置坐标;而在目标点不为上述第二样本人脸3D模型中的顶点时,通过目标点在第二样本人脸3D模型中的目标三角面片中的三个顶点的坐标确定目标点的3D位置坐标,例如,通过三个顶点加权求和的方式确定,使得在目标点不为第二样本人脸3D模型中的顶点时,也能够尽可能准确地确定目标点的3D位置坐标。因此,针对不同的情况,均能够准确地确定目标点的3D位置坐标,从而使得后续依据目标点的3D位置坐标计算得到的位置补偿也较为准确。
作为一种可选的实施例,上述在第二脸部结构中查找与当前顶点对应的目标点时,依据查找结果不同,确定目标点的3D位置坐标的方式也不同。例如,在目标点不为第二脸部结构中的顶点时,在第二脸部结构中确定目标三角面片的三个顶点,其中,目标点位于目标三角面片中;在第二脸部结构的纹理坐标集合中获取三个顶点的纹理坐标;使用预设的3个权重值对三个顶点的纹理坐标进行加权求和,得到目标点的纹理坐标,其中,预设的3个权重值与目标点到三个顶点的距离对应;在目标点为第二脸部结构中的顶点时,确定第二脸部结构中的顶点的纹理坐标为目标点的纹理坐标。
在第一脸部结构为第一样本人脸3D模型,第二脸部结构为第二样本人脸3D模型的情况下,在上述目标点不为上述第二样本人脸3D模型中的顶点时,在上述第二样本人脸3D模型中确定目标三角面片的三个顶点,其中,上述目标点位于上述目标三角面片中;在上述第二样本人脸3D模型的纹理坐标集合中获取上述三个顶点的纹理坐标;使用预设的3个权重值对上述三个顶点的纹理坐标进行加权求和,得到上述目标点的纹理坐标,其中,上述预设的3个权重值与上述目标点到上述三个顶点的距离对应;
在上述目标点为上述第二样本人脸3D模型中的顶点时,在上述第二样本人脸3D模型的纹理坐标集合中获取上述目标点的纹理坐标,其中,上述第二样本人脸3D模型的纹理坐标集合包括上述第二样本人脸3D模型中的顶点的纹理坐标。
通过上述处理,能够实现在第二脸部结构中查找与当前顶点对应的目标点时,依据查找结果不同,采用不同的方式确定目标点的纹理坐标。例如,针对与当前顶点对应的目标点不为第二样本人脸3D模型中的顶点,以及目标点为第二样本人脸3D模型中的顶点的情况下,均能够采用对应的方法得到目标点的纹理坐标。在目标点为第二样本人脸3D模型中的顶点时,依据第二样本人脸3D模型的纹理坐标集合中顶点的纹理坐标确定目标点的纹理坐标,直接准确地确定目标点的纹理坐标;而在目标点不为上述第二样本人脸3D模型中的顶点时,通过目标点在第二样本人脸3D模型中的目标三角面片中的三个顶点的坐标确定目标点的纹理坐标,例如,通过三个顶点加权求和的方式确定,使得在目标点不为第二样本人脸3D模型中的顶点时,也能够尽可能准确地确定目标点的纹理坐标。因此,针对不同的情况,均能够准确地确定目标点的纹理坐标,从而使得后续依据目标点的纹理坐标计算得到的位置补偿也较为准确。
可选地,本实施例中在上述确定当前顶点的目标点之后,可以通过目标点和当前顶点确定上述的3D位置坐标补偿集合和纹理坐标补偿集合。而目标点由于是第二样本人脸3D模型上的点,因此,目标点的3D位置坐标和纹理坐标可以通过第二样本人脸3D模型获取。如果目标点是第二样本人脸3D模型上的顶点,则目标点的3D位置坐标和纹理坐标是已知的。如果目标点不是第二样本人脸3D模型上的顶点,则目标点的3D位置坐标和纹理坐标可以通过目标点附近的顶点来确定。可选地,在目标点不是第二样本人脸3D模型上的顶点的情况下,可以获取第二样本人脸3D模型上,与目标点距离最近的3个顶点,使用3个顶点的3D位置坐标和纹理坐标确定目标点的3D位置坐标和纹理坐标。
例如,继续以第一样本人脸3D模型为多个亚洲人脸3D模型进行平均得到的亚洲样本人脸3D模型,以第二样本人脸3D模型为多个欧洲人脸3D模型进行平均得到的欧洲样本人脸3D模型为例,结合图4进行说明。如图4中,对于亚洲样本人脸3D模型或者对于欧洲样本人脸3D模型,每3个相邻的顶点构成一个三角形的面片。对于一个目标点并非欧洲样本人脸3D模型的顶点的情况,则将目标点所在的面片的3个顶点的3D位置坐标的加权求和结果确定为目标点的3D位置坐标,将目标点所在的面片的3个顶点的纹理坐标的加权求和结果确定为目标点的纹理坐标。
例如,如果目标点A并不是欧洲人脸3D模型的顶点,则获取A点到B2点所在面片的3个顶点B1,B2,B3的欧式距离分别为:d1,d2,d3,则点A的3d坐标为:
A_3d=w1*B1_3d+w2*B2_3d+w3*B3_3d,
点A的uv坐标为:
A_uv=w1*B1_uv+w2*B2_uv+w3*B3_uv,
其中w1=(d2+d3)/(d1+d2+d3),w2=(d1+d3)/(d1+d2+d3),w3=(d1+d2)/(d1+d2+d3)。
通过本实施例,通过上述方法,从而在目标点不是第二样本人脸3D模型上的点的情况下,通过上述方法,使用目标点所在的面片的3个顶点确定出目标点的3D位置坐标和纹理坐标,提高了确定目标点的3D位置坐标和纹理坐标的准确度的效果。
在一个或多个实施例中,向原始三维结构中添加补偿信息,得到目标三维结构时,对于原始三维结构中的每个顶点,执行以下步骤,其中,在执行以下步骤时,每个顶点被视为当前顶点:将原始三维结构中当前顶点的3D位置坐标与补偿信息中当前顶点对应的3D位置坐标补偿值进行求和操作,得到当前顶点的补偿后的3D位置坐标;将原始三维结构中当前顶点的纹理坐标与补偿信息中当前顶点对应的纹理坐标补偿值进行求和操作,得到当前顶点的补偿后的纹理坐标。
在一个或多个实施例中,上述补偿操作可以为将原始三维结构中当前顶点的3D位置坐标和3D位置坐标补偿值进行求和,将原始三维结构中当前顶点的纹理坐标和纹理坐标补偿值进行求和,得到补偿后的顶点。当对每一个当前顶点进行补偿后,则得到目标三维结构。
在第一脸部结构为第一样本人脸3D模型,第二脸部结构为第二样本人脸3D模型的情况下,继续以第一样本人脸3D模型为多个亚洲人脸3D模型进行平均得到的亚洲样本人脸3D模型,以第二样本人脸3D模型为多个欧洲人脸3D模型进行平均得到的欧洲样本人脸3D模型为例进行说明。结合图5所示。在渲染时,获取亚洲样本人脸3D模型和欧洲样本人脸3D模型,通过比对两者,计算出每一个顶点的3D位置坐标差和纹理坐标差。所有使用到亚洲人脸3D位置坐标和纹理坐标的地方,都需要进行补偿,在获取到亚洲人脸3D模型后,将上述3D位置坐标差和纹理坐标差补偿到亚洲人脸3D模型中,得到近似欧洲人脸3D模型,然后对欧洲人脸3D模型进行渲染,得到渲染后的结果。记具体一个顶点v的3D位置坐标为v_3d,纹理坐标为v_uv,有以下补偿:
3d位置坐标补偿:v_3d=v_3d+delta_v,
纹理坐标补偿:uv=uv+delta_uv,
其中delta_v是纹理坐标v_uv在上述的位置差图中索引出的值,delta_uv是纹理坐标v_uv在上述纹理坐标差图中索引出的值。
经过以上的补偿,即可以在亚洲3d人脸的信息基础上,渲染出和基于欧洲3d人脸信息效果近似的效果。
图6是根据一示例性实施例示出的一种人脸模型的渲染装置框图。参照图6,该装置包括获取单元601、补偿单元602和渲染单元603。
获取单元601,被配置为执行获取目标对象的脸部的原始三维结构,其中,目标对象属于第一类对象;补偿单元602,连接至上述获取单元601,被配置为执行向原始三维结构中添加补偿信息,得到目标三维结构,其中,补偿信息为根据第一类对象的第一脸部结构和第二类对象的第二脸部结构之间的差异确定的,第一脸部结构和第二脸部结构分别为第一类对象的基准脸部结构和第二类对象的基准脸部结构;渲染单元603,连接至上述补偿单元602,被配置为执行对目标三维结构进行渲染,得到渲染后的目标图像。
可选地,上述装置还包括:第一确定单元,被配置为执行在向原始三维结构中添加补偿信息,得到目标三维结构之前,根据第一脸部结构和第二脸部结构中顶点的3D位置坐标确定补偿信息中的3D位置坐标补偿值;第二确定单元,被配置为执行根据第一脸部结构和第二脸部结构中顶点的纹理坐标确定补偿信息中的纹理坐标补偿值。
可选地,第一确定单元包括:第一处理模块,被配置为执行在第一脸部结构与第二脸部结构重叠的情况下,对于第一脸部结构中的每个顶点,执行以下步骤,其中,在执行以下步骤时,每个顶点被视为当前顶点:在第二脸部结构中查找与当前顶点对应的目标点,其中,目标点是第二脸部结构中距离当前顶点最近的点;将目标点的3D位置坐标与当前顶点的3D位置坐标之间的差值确定为当前顶点对应的3D位置坐标补偿值。
可选地,装置还包括:第二处理模块,被配置为在目标点不为第二脸部结构中的顶点时,在第二脸部结构中确定目标三角面片的三个顶点,其中,目标点位于目标三角面片中;使用预设的3个权重值对三个顶点的3D位置坐标进行加权求和,得到目标点的3D位置坐标,其中,预设的3个权重值与目标点到三个顶点的距离对应;在目标点为第二脸部结构中的顶点时,确定第二脸部结构中的顶点的3D位置坐标为目标点的3D位置坐标。
可选地,第二确定单元包括:第三处理模块,被配置为执行在第一脸部结构与第二脸部结构重叠的情况下,对于第一脸部结构中的每个顶点,执行以下步骤,其中,在执行以下步骤时,每个顶点被视为当前顶点:在第二脸部结构中查找与当前顶点对应的目标点,其中,目标点是第二脸部结构中距离当前顶点最近的点;将目标点的纹理坐标与当前顶点的纹理坐标之间的差值确定为当前顶点对应的纹理坐标补偿值。
可选地,装置还包括:第四处理模块,被配置为在目标点不为第二脸部结构中的顶点时,在第二脸部结构中确定目标三角面片的三个顶点,其中,目标点位于目标三角面片中;在第二脸部结构的纹理坐标集合中获取三个顶点的纹理坐标;使用预设的3个权重值对三个顶点的纹理坐标进行加权求和,得到目标点的纹理坐标,其中,预设的3个权重值与目标点到三个顶点的距离对应;在目标点为第二脸部结构中的顶点时,确定第二脸部结构中的顶点的纹理坐标为目标点的纹理坐标。
可选地,补偿单元,包括:补偿模块,用于对于原始三维结构中的每个顶点,执行以下步骤,其中,在执行以下步骤时,每个顶点被视为当前顶点:将原始三维结构中当前顶点的3D位置坐标与补偿信息中当前顶点对应的3D位置坐标补偿值进行求和操作,得到当前顶点的补偿后的3D位置坐标;将原始三维结构中当前顶点的纹理坐标与补偿信息中当前顶点对应的纹理坐标补偿值进行求和操作,得到当前顶点的补偿后的纹理坐标。
可选地,原始三维结构为第一类对象的第一人脸3D模型,目标三维结构为第二类对象的第二人脸3D模型,第一人脸3D模型与第一脸部结构的人脸3D模型和第二脸部结构的人脸3D模型具有相同的顶点拓扑结构。
关于上述实施例中的装置,其中各个单元,模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
图7是根据一示例性实施例示出的一种用于人脸模型的渲染的电子设备700的框图。如图7所示,电子设备包括处理器720和用于存储上述处理器可执行指令的存储器710。上述处理器被配置为执行指令,以实现上述的人脸模型的渲染方法。本实施例中的电子设备还可以包括传输装置730、显示器740和连接总线750。传输装置730用于经由一个网络接收或者发送数据。上述的网络具体实例可包括有线网络及无线网络。在一个实例中,传输装置730包括一个网络适配器(Network Interface Controller,NIC),其可通过网线与其他网络设备与路由器相连从而可与互联网或局域网进行通讯。在一个实例中,传输装置730为射频(Radio Frequency,RF)模块,其用于通过无线方式与互联网进行通讯。上述显示器740用于显示渲染结果;上述连接总线750,用于连接上述电子设备中的各个模块部件。
在示例性实施例中,还提供了一种包括指令的计算机可读存储介质,例如包括指令的存储器710,上述指令可由电子设备700的处理器720执行以完成上述方法。可选地,计算机可读存储介质可以是ROM、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光数据存储设备等。
在示例性实施例中,还提供一种计算机程序产品,包括计算机程序/指令,上述计算机程序/指令被处理器执行时实现上述的人脸模型的渲染方法。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本申请旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求指出。
应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。
Claims (18)
1.一种人脸模型的渲染方法,其特征在于,包括:
获取目标对象的脸部的原始三维结构,其中,所述目标对象属于第一类对象;
向所述原始三维结构中添加补偿信息,得到目标三维结构,其中,所述补偿信息为根据所述第一类对象的第一脸部结构和第二类对象的第二脸部结构之间的差异确定的,所述第一脸部结构和所述第二脸部结构分别为所述第一类对象的基准脸部结构和所述第二类对象的基准脸部结构;
对所述目标三维结构进行渲染,得到渲染后的目标图像;
所述方法还包括:在获取到第一人脸3D模型的第一3D位置坐标集合和第一纹理坐标集合之后,获取3D位置坐标补偿集合和纹理坐标补偿集合,其中,所述第一人脸3D模型属于所述第一类对象;
根据所述3D位置坐标补偿集合和所述纹理坐标补偿集合中的补偿值,对所述第一3D位置坐标集合和所述第一纹理坐标集合进行补偿处理,得到第二人脸3D模型,其中,所述第二人脸3D模型属于所述第二类对象。
2.根据权利要求1所述的人脸模型的渲染方法,其特征在于,在向所述原始三维结构中添加补偿信息,得到目标三维结构之前,还包括:
根据所述第一脸部结构和所述第二脸部结构中顶点的3D位置坐标确定所述补偿信息中的3D位置坐标补偿值;
根据所述第一脸部结构和所述第二脸部结构中顶点的纹理坐标确定所述补偿信息中的纹理坐标补偿值。
3.根据权利要求2所述的人脸模型的渲染方法,其特征在于,所述根据所述第一脸部结构和所述第二脸部结构中顶点的3D位置坐标确定所述补偿信息中的3D位置坐标补偿值包括:
在所述第一脸部结构与所述第二脸部结构重叠的情况下,对于所述第一脸部结构中的每个顶点,执行以下步骤,其中,在执行以下步骤时,所述每个顶点被视为当前顶点:
在所述第二脸部结构中查找与所述当前顶点对应的目标点,其中,所述目标点是所述第二脸部结构中距离所述当前顶点最近的点;
将所述目标点的3D位置坐标与所述当前顶点的3D位置坐标之间的差值确定为所述当前顶点对应的3D位置坐标补偿值。
4.根据权利要求3所述的人脸模型的渲染方法,其特征在于,所述方法还包括:
在所述目标点不为所述第二脸部结构中的顶点时,在所述第二脸部结构中确定目标三角面片的三个顶点,其中,所述目标点位于所述目标三角面片中;使用预设的3个权重值对所述三个顶点的3D位置坐标进行加权求和,得到所述目标点的3D位置坐标,其中,所述预设的3个权重值与所述目标点到所述三个顶点的距离对应;
在所述目标点为所述第二脸部结构中的顶点时,确定所述第二脸部结构中的顶点的3D位置坐标为所述目标点的3D位置坐标。
5.根据权利要求2所述的人脸模型的渲染方法,其特征在于,所述根据所述第一脸部结构和所述第二脸部结构中顶点的纹理坐标确定所述补偿信息中的纹理坐标补偿值包括:
在所述第一脸部结构与所述第二脸部结构重叠的情况下,对于所述第一脸部结构中的每个顶点,执行以下步骤,其中,在执行以下步骤时,所述每个顶点被视为当前顶点:
在所述第二脸部结构中查找与所述当前顶点对应的目标点,其中,所述目标点是所述第二脸部结构中距离所述当前顶点最近的点;
将所述目标点的纹理坐标与所述当前顶点的纹理坐标之间的差值确定为所述当前顶点对应的纹理坐标补偿值。
6.根据权利要求5所述的人脸模型的渲染方法,其特征在于,所述方法还包括:
在所述目标点不为所述第二脸部结构中的顶点时,在所述第二脸部结构中确定目标三角面片的三个顶点,其中,所述目标点位于所述目标三角面片中;在所述第二脸部结构的纹理坐标集合中获取所述三个顶点的纹理坐标;使用预设的3个权重值对所述三个顶点的纹理坐标进行加权求和,得到所述目标点的纹理坐标,其中,所述预设的3个权重值与所述目标点到所述三个顶点的距离对应;
在所述目标点为所述第二脸部结构中的顶点时,确定所述第二脸部结构中的顶点的纹理坐标为所述目标点的纹理坐标。
7.根据权利要求1至6中任一项所述的人脸模型的渲染方法,其特征在于,所述向所述原始三维结构中添加补偿信息,得到目标三维结构,包括:
对于所述原始三维结构中的每个顶点,执行以下步骤,其中,在执行以下步骤时,所述每个顶点被视为当前顶点:
将所述原始三维结构中所述当前顶点的3D位置坐标与所述补偿信息中所述当前顶点对应的3D位置坐标补偿值进行求和操作,得到所述当前顶点的补偿后的3D位置坐标;
将所述原始三维结构中所述当前顶点的纹理坐标与所述补偿信息中所述当前顶点对应的纹理坐标补偿值进行求和操作,得到所述当前顶点的补偿后的纹理坐标。
8.根据权利要求7所述的人脸模型的渲染方法,其特征在于,所述原始三维结构为所述第一类对象的第一人脸3D模型,所述目标三维结构为所述第二类对象的第二人脸3D模型,所述第一人脸3D模型与所述第一脸部结构的人脸3D模型和所述第二脸部结构的人脸3D模型具有相同的顶点拓扑结构。
9.一种人脸模型的渲染装置,其特征在于,包括:
获取单元,被配置为执行获取目标对象的脸部的原始三维结构,其中,所述目标对象属于第一类对象;
补偿单元,被配置为执行向所述原始三维结构中添加补偿信息,得到目标三维结构,其中,所述补偿信息为根据所述第一类对象的第一脸部结构和第二类对象的第二脸部结构之间的差异确定的,所述第一脸部结构和所述第二脸部结构分别为所述第一类对象的基准脸部结构和所述第二类对象的基准脸部结构;
渲染单元,被配置为执行对所述目标三维结构进行渲染,得到渲染后的目标图像;
所述装置还被配置为,在获取到第一人脸3D模型的第一3D位置坐标集合和第一纹理坐标集合之后,获取3D位置坐标补偿集合和纹理坐标补偿集合,其中,所述第一人脸3D模型属于所述第一类对象;
根据所述3D位置坐标补偿集合和所述纹理坐标补偿集合中的补偿值,对所述第一3D位置坐标集合和所述第一纹理坐标集合进行补偿处理,得到第二人脸3D模型,其中,所述第二人脸3D模型属于所述第二类对象。
10.根据权利要求9所述的人脸模型的渲染装置,其特征在于,所述装置还包括:
第一确定单元,被配置为执行在向所述原始三维结构中添加补偿信息,得到目标三维结构之前,根据所述第一脸部结构和所述第二脸部结构中顶点的3D位置坐标确定所述补偿信息中的3D位置坐标补偿值;
第二确定单元,被配置为执行根据所述第一脸部结构和所述第二脸部结构中顶点的纹理坐标确定所述补偿信息中的纹理坐标补偿值。
11.根据权利要求10所述的人脸模型的渲染装置,其特征在于,所述第一确定单元包括:
第一处理模块,被配置为执行在所述第一脸部结构与所述第二脸部结构重叠的情况下,对于所述第一脸部结构中的每个顶点,执行以下步骤,其中,在执行以下步骤时,所述每个顶点被视为当前顶点:
在所述第二脸部结构中查找与所述当前顶点对应的目标点,其中,所述目标点是所述第二脸部结构中距离所述当前顶点最近的点;
将所述目标点的3D位置坐标与所述当前顶点的3D位置坐标之间的差值确定为所述当前顶点对应的3D位置坐标补偿值。
12.根据权利要求11所述的人脸模型的渲染装置,其特征在于,所述装置还包括:
第二处理模块,被配置为在所述目标点不为所述第二脸部结构中的顶点时,在所述第二脸部结构中确定目标三角面片的三个顶点,其中,所述目标点位于所述目标三角面片中;使用预设的3个权重值对所述三个顶点的3D位置坐标进行加权求和,得到所述目标点的3D位置坐标,其中,所述预设的3个权重值与所述目标点到所述三个顶点的距离对应;
在所述目标点为所述第二脸部结构中的顶点时,确定所述第二脸部结构中的顶点的3D位置坐标为所述目标点的3D位置坐标。
13.根据权利要求10所述的人脸模型的渲染装置,其特征在于,所述第二确定单元包括:
第三处理模块,被配置为执行在所述第一脸部结构与所述第二脸部结构重叠的情况下,对于所述第一脸部结构中的每个顶点,执行以下步骤,其中,在执行以下步骤时,所述每个顶点被视为当前顶点:
在所述第二脸部结构中查找与所述当前顶点对应的目标点,其中,所述目标点是所述第二脸部结构中距离所述当前顶点最近的点;
将所述目标点的纹理坐标与所述当前顶点的纹理坐标之间的差值确定为所述当前顶点对应的纹理坐标补偿值。
14.根据权利要求13所述的人脸模型的渲染装置,其特征在于,所述装置还包括:
第四处理模块,被配置为在所述目标点不为所述第二脸部结构中的顶点时,在所述第二脸部结构中确定目标三角面片的三个顶点,其中,所述目标点位于所述目标三角面片中;在所述第二脸部结构的纹理坐标集合中获取所述三个顶点的纹理坐标;使用预设的3个权重值对所述三个顶点的纹理坐标进行加权求和,得到所述目标点的纹理坐标,其中,所述预设的3个权重值与所述目标点到所述三个顶点的距离对应;
在所述目标点为所述第二脸部结构中的顶点时,确定所述第二脸部结构中的顶点的纹理坐标为所述目标点的纹理坐标。
15.根据权利要求9至14中任一项所述的人脸模型的渲染装置,其特征在于,所述补偿单元,包括:
补偿模块,用于对于所述原始三维结构中的每个顶点,执行以下步骤,其中,在执行以下步骤时,所述每个顶点被视为当前顶点:
将所述原始三维结构中所述当前顶点的3D位置坐标与所述补偿信息中所述当前顶点对应的3D位置坐标补偿值进行求和操作,得到所述当前顶点的补偿后的3D位置坐标;
将所述原始三维结构中所述当前顶点的纹理坐标与所述补偿信息中所述当前顶点对应的纹理坐标补偿值进行求和操作,得到所述当前顶点的补偿后的纹理坐标。
16.根据权利要求15所述的人脸模型的渲染装置,其特征在于,所述原始三维结构为所述第一类对象的第一人脸3D模型,所述目标三维结构为所述第二类对象的第二人脸3D模型,所述第一人脸3D模型与所述第一脸部结构的人脸3D模型和所述第二脸部结构的人脸3D模型具有相同的顶点拓扑结构。
17.一种电子设备,其特征在于,包括:
处理器;
用于存储所述处理器可执行指令的存储器;
其中,所述处理器被配置为执行所述指令,以实现如权利要求1至8中任一项所述的人脸模型的渲染方法。
18.一种计算机可读存储介质,当所述计算机可读存储介质中的指令由电子设备的处理器执行时,使得电子设备能够执行如权利要求1至8中任一项所述的人脸模型的渲染方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111058343.XA CN113658313B (zh) | 2021-09-09 | 2021-09-09 | 人脸模型的渲染方法、装置及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111058343.XA CN113658313B (zh) | 2021-09-09 | 2021-09-09 | 人脸模型的渲染方法、装置及电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113658313A CN113658313A (zh) | 2021-11-16 |
CN113658313B true CN113658313B (zh) | 2024-05-17 |
Family
ID=78483073
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111058343.XA Active CN113658313B (zh) | 2021-09-09 | 2021-09-09 | 人脸模型的渲染方法、装置及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113658313B (zh) |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108573480A (zh) * | 2018-04-20 | 2018-09-25 | 太平洋未来科技(深圳)有限公司 | 基于图像处理的环境光补偿方法、装置及电子设备 |
CN109118569A (zh) * | 2018-08-16 | 2019-01-01 | Oppo广东移动通信有限公司 | 基于三维模型的渲染方法和装置 |
CN109242961A (zh) * | 2018-09-26 | 2019-01-18 | 北京旷视科技有限公司 | 一种脸部建模方法、装置、电子设备和计算机可读介质 |
CN109785423A (zh) * | 2018-12-28 | 2019-05-21 | 广州华多网络科技有限公司 | 图像补光方法、装置及计算机设备 |
WO2020140832A1 (zh) * | 2019-01-04 | 2020-07-09 | 北京达佳互联信息技术有限公司 | 人脸三维重建方法、装置、电子设备及存储介质 |
CN113205568A (zh) * | 2021-04-30 | 2021-08-03 | 北京达佳互联信息技术有限公司 | 图像处理方法、装置、电子设备及存储介质 |
CN113361419A (zh) * | 2021-06-10 | 2021-09-07 | 百果园技术(新加坡)有限公司 | 一种图像处理方法、装置、设备及介质 |
-
2021
- 2021-09-09 CN CN202111058343.XA patent/CN113658313B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108573480A (zh) * | 2018-04-20 | 2018-09-25 | 太平洋未来科技(深圳)有限公司 | 基于图像处理的环境光补偿方法、装置及电子设备 |
CN109118569A (zh) * | 2018-08-16 | 2019-01-01 | Oppo广东移动通信有限公司 | 基于三维模型的渲染方法和装置 |
CN109242961A (zh) * | 2018-09-26 | 2019-01-18 | 北京旷视科技有限公司 | 一种脸部建模方法、装置、电子设备和计算机可读介质 |
CN109785423A (zh) * | 2018-12-28 | 2019-05-21 | 广州华多网络科技有限公司 | 图像补光方法、装置及计算机设备 |
WO2020140832A1 (zh) * | 2019-01-04 | 2020-07-09 | 北京达佳互联信息技术有限公司 | 人脸三维重建方法、装置、电子设备及存储介质 |
CN113205568A (zh) * | 2021-04-30 | 2021-08-03 | 北京达佳互联信息技术有限公司 | 图像处理方法、装置、电子设备及存储介质 |
CN113361419A (zh) * | 2021-06-10 | 2021-09-07 | 百果园技术(新加坡)有限公司 | 一种图像处理方法、装置、设备及介质 |
Also Published As
Publication number | Publication date |
---|---|
CN113658313A (zh) | 2021-11-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8842906B2 (en) | Body measurement | |
CN103745452B (zh) | 相机外参评估方法、装置、相机外参标定方法和装置 | |
CN108322724B (zh) | 图像立体匹配方法以及双目视觉设备 | |
CN110570435B (zh) | 用于对车辆损伤图像进行损伤分割的方法及装置 | |
CN112700552A (zh) | 三维物体检测方法、装置、电子设备及介质 | |
CN108010059B (zh) | 电子防抖算法的性能分析方法及装置 | |
CN111340749B (zh) | 图像质量的检测方法、装置、设备及存储介质 | |
EP3367334A1 (en) | Depth estimation method and depth estimation apparatus of multi-view images | |
CN109636890B (zh) | 纹理融合方法和装置、电子设备、存储介质、产品 | |
CN114862973B (zh) | 基于固定点位的空间定位方法、装置、设备及存储介质 | |
CN113706472A (zh) | 公路路面病害检测方法、装置、设备及存储介质 | |
CN115131437A (zh) | 位姿估计方法及相关模型的训练方法、装置、设备、介质 | |
CN112233161B (zh) | 手部图像深度确定方法、装置、电子设备及存储介质 | |
GB2563596A (en) | System and method for modeling a three dimensional space based on a two dimensional image | |
CN111563492B (zh) | 一种跌倒检测方法、跌倒检测装置及存储装置 | |
CN113658313B (zh) | 人脸模型的渲染方法、装置及电子设备 | |
CN117115358A (zh) | 数字人自动建模方法及装置 | |
CN113421292A (zh) | 一种三维建模细节增强方法及装置 | |
CN116452776B (zh) | 基于视觉同步定位与建图系统的低碳变电站场景重建方法 | |
CN113538477B (zh) | 平面位姿的获取方法、装置、电子设备及存储介质 | |
CN111462338B (zh) | 一种图像处理方法、电子设备及计算机可读储介质 | |
CN112184797B (zh) | 一种千克组砝码关键部位空间定位方法 | |
CN110319776B (zh) | 一种基于slam的三维空间距离测量方法及装置 | |
CN116091577A (zh) | 双目深度估计方法及装置、计算机可读介质和电子设备 | |
CN114881853A (zh) | 一种智能割草机局部全景图创建方法、装置、电子设备及存储介质 |
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 |