三维人脸模型的生成方法、装置、设备及介质与流程

文档序号:19948759发布日期:2020-02-18 09:58阅读:311来源:国知局
三维人脸模型的生成方法、装置、设备及介质与流程

本申请涉及人工智能的计算机视觉技术领域,特别涉及一种三维人脸模型的生成方法、装置、设备及介质。



背景技术:

三维(3dimensions,3d)人脸重建是指从一张或多张二维(2dimensions,2d)图像中重建出的人脸的3d模型。

相关技术中,三维人脸重建是基于从图像中获取的目标对象的三维人脸模型与3dmm库(3dmorphablemodel,三维形变模型)中的标准人脸模型进行拟合后得到的。通过形变传递(deformationtransfer,dt)技术,利用两个模型中的点与点的对应关系(correspondence)将低模点云(标准人脸模型)上的点拉到高模点云(目标对象的三维人脸模型)对应的位置,其他点由平滑项拟合得到。

基于上述情况,在3dmm库的基础上拟合的三维人脸模型不能完整地表达出与目标对象的人头相像的人头,也即拟合后的低模不像高模,从而使得导出的表情基也不符合目标对象产生的表情。



技术实现要素:

本申请实施例提供了一种三维人脸模型的生成方法、装置、设备及介质,使得在3dmm库的基础上拟合的目标对象的三维人脸模型与目标对象的面部相像。所述技术方案如下:

根据本申请的一个方面,提供了一种三维人脸模型的生成方法,所述方法包括:

获取输入的目标对象的三维人脸网格,以及标准对象对应的标准人脸模型;

将所述三维人脸网格和所述标准人脸模型按照对应关系划分为至少两个面部子区域;

获取每个所述面部子区域的姿态参数以及与所述面部子区域对应的局部三维人脸网格,所述局部三维人脸网格是所述三维人脸网格的一部分;

根据每个所述面部子区域的姿态参数和所述局部三维人脸网格,计算将每个所述面部子区域拟合至所述三维人脸网格对应的面部子区域时的误差损失,所述误差损失包括顶点损失;

在所述顶点损失收敛时,将所述面部子区域拟合至所述三维人脸网格中对应的面部子区域;

在所述至少两个面部子区域拟合后,对相邻的面部子区域进行融合处理,得到所述目标对象对应的三维人脸模型。

根据本申请的另一方面,提供了一种三维物体模型的生成方法,所述方法包括:

获取输入的目标物体的三维外形网格,以及标准物体对应的标准外形模型;

将所述三维外形网格和所述标准外形模型按照对应关系划分为至少两个形状子区域;

获取每个所述形状子区域的姿态参数以及与所述形状子区域对应的局部三维外形网格,所述局部三维外形网格是所述三维外形网格的一部分;

根据每个所述形状子区域的姿态参数和所述局部三维外形网格,计算将每个所述形状子区域拟合至所述三维外形网格对应的形状子区域时的误差损失,所述误差损失包括顶点损失;

在所述顶点损失收敛时,将所述形状子区域拟合至所述三维外形网格中对应的形状子区域;

在所述至少两个形状子区域拟合后,对相邻的形状子区域进行融合处理,得到所述目标物体对应的三维物体模型。

根据本申请的另一方面,提供了一种三维人脸模型的生成装置,所述装置包括:

第一获取模块,用于获取输入的目标对象的三维人脸网格,以及标准对象对应的标准人脸模型;

第一处理模块,用于将所述三维人脸网格和所述标准人脸模型按照对应关系划分为至少两个面部子区域;

所述第一获取模块,用于获取每个所述面部子区域的姿态参数以及与所述面部子区域对应的局部三维人脸网格,所述局部三维人脸网格是所述三维人脸网格的一部分;

第一计算模块,用于根据每个所述面部子区域的姿态参数和所述局部三维人脸网格,计算将每个所述面部子区域拟合至所述三维人脸网格对应的面部子区域时的误差损失,所述误差损失包括顶点损失;

第一拟合模块,用于在所述顶点损失收敛时,将所述面部子区域拟合至所述三维人脸网格中对应的面部子区域;

第一融合模块,在所述至少两个面部子区域拟合后,对相邻的面部子区域进行融合处理,得到所述目标对象对应的三维人脸模型。

根据本申请的另一方面,提供了一种三维物体模型的生成装置,所述装置包括:

第二获取模块,用于获取输入的目标物体的三维外形网格,以及标准物体对应的标准外形模型;

第二处理模块,用于将所述三维外形网格和所述标准外形模型按照对应关系划分为至少两个形状子区域;

所述第二获取模块,用于获取每个所述形状子区域的姿态参数以及与所述形状子区域对应的局部三维外形网格,所述局部三维外形网格是所述三维外形网格的一部分;

第二计算模块,用于根据每个所述形状子区域的姿态参数和所述局部三维外形网格,计算将每个所述形状子区域拟合至所述三维外形网格对应的形状子区域时的误差损失,所述误差损失包括顶点损失;

第二拟合模块,用于在所述顶点损失收敛时,将所述形状子区域拟合至所述三维外形网格中对应的形状子区域;

第二融合模块,用于在所述至少两个形状子区域拟合后,对相邻的形状子区域进行融合处理,得到所述目标物体对应的三维物体模型。

根据本申请的另一方面,提供了一种计算机设备,所述计算机设备包括:处理器和存储器,所述存储器中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现如上方面所述的三维人脸模型的生成方法和三维物体模型的生成方法。

根据本申请的另一方面,提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由处理器加载并执行以实现如上方面所述的三维人脸模型的生成方法和三维物体模型的生成方法。

本申请实施例提供的技术方案带来的有益效果至少包括:

相比于将目标对象的整个三维人脸网格与标准人脸模型进行拟合,通过将三维人脸网格和标准人脸模型按照对应关系划分为至少两个面部子区域,并将标准人脸模型中的每个面部子区域分别拟合至三维人脸网格中,通过对相邻的面部子区域进行融合处理,得到目标对象对应的三维人脸模型。通过将划分后的每个面部子区域进行拟合,提高了输出的三维人脸模型的质量,避免了三维人脸模型产生失真的现象,使得基于该三维人脸模型导出的三维表情基更符合目标对象产生的表情。

附图说明

为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1是本申请一个示例性实施例提供的双线性的3dmm库的示意图;

图2是本申请一个示例性实施例提供的一组表情基的示意图;

图3是本申请技术方案涉及的一个流程框架图;

图4是本申请一个示例性实施例提供的生成三维人脸模型和生成三维表情基的示意图;

图5是本申请一个示例性实施例提供的三维人脸模型的生成方法的流程图;

图6是本申请另一个示例性实施例提供的三维人脸模型的生成方法的流程图;

图7是本申请另一个示例性实施例提供的对标准人脸模型进行面部子区域划分的示意图;

图8是本申请一个示例性实施例提供的多个视角的人脸图像;

图9是本申请一个示例性实施例提供的标准人脸模型的面部子区域和过渡区域的示意图;

图10是本申请一个示例性实施例提供的划分面部子区域拟合与整个面部区域拟合的效果对比示意图;

图11是本申请一个示例性实施例提供的三维人脸模型的生成方法的流程图;

图12是本申请一个示例性实施例提供的进行融合处理与未进行融合处理的标准人脸模型的示意图;

图13是本申请一个示例性实施例提供的三维物体模型的生成方法的流程图;

图14是本申请一个示例性实施例提供的语音互动方法的流程图;

图15是本申请一个示例性实施例提供的三维人脸模型的生成装置的框图;

图16是本申请一个示例性实施例提供的三维物体模型的生成装置的框图;

图17是本申请一个示例性实施例提供的计算机设备的结构示意图。

具体实施方式

为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。

首先,对本申请实施例中涉及的名词进行介绍:

ai(artificialintelligence,人工智能)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。换句话说,人工智能是计算机科学的一个综合技术,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器。人工智能也就是研究各种智能机器的设计原理与实现方法,使机器具有感知、推理与决策的功能。

人工智能技术是一门综合学科,涉及领域广泛,既有硬件层面的技术也有软件层面的技术。人工智能基础技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大数据处理技术、操作/交互系统、机电一体化等技术。人工智能软件技术主要包括计算机视觉技术、语音处理技术、自然语言处理技术以及机器学习/深度学习等几大方向。

随着人工智能技术研究和进步,人工智能技术在多个领域展开研究和应用,例如常见的智能家居、智能穿戴设备、虚拟助理、智能音箱、智能营销、无人驾驶、自动驾驶、无人机、机器人、智能医疗、智能客服、人脸识别、三维人脸模型重建等,相信随着技术的发展,人工智能技术将在更多的领域得到应用,并发挥越来越重要的价值。

本申请实施例提供的方案涉及3d人脸重建技术领域,将标准对象对应的标准人脸模型与三维人脸网格进行拟合生成目标对象的三维人脸模型,基于该三维人脸模型,生成目标对象的一组表情基。

计算机视觉技术(computervision,cv):计算机视觉是一门研究如何使机器“看”的科学,更进一步的说,就是指用摄影机和电脑代替人眼对目标进行识别、跟踪和测量等机器视觉,并进一步做图形处理,使电脑处理成为更适合人眼观察或传送给仪器检测的图像。作为一个科学学科,计算机视觉研究相关的理论和技术,试图建立能够从图像或者多维数据中获取信息的人工智能系统。计算机视觉技术通常包括图像处理、图像识别、图像语义理解、图像检索、ocr(opticalcharacterrecognition,光学字符识别)、视频处理、视频语义理解、视频内容/行为识别、三维物体重建、3d技术、虚拟现实、增强现实、同步定位与地图构建等技术,还包括常见的人脸识别、指纹识别等生物特征识别技术。

3dmm(3dmorphablemodel,三维形变模型)库包括表情基和形状基两个部分,3dmm库包括线性或者双线性的形式。如图1所示,其示出了一个典型双线性的3dmm库10的示意图。每一行是同一个人,一共有m个人故有m行(m个不同的形状,也即shape),一行中每一列对应不同的表情,一共有n个表情故有n列。

一旦给出了如图1所示的3dmm库,一个任意形状带有任意表情的人脸可以用这个3dmm库进行参数化表示。如下公式:

其中,cr是3dmm库,维度为n×k×m,k是单个人脸点云的个数,n是表情的数目,m是形状基(或称为“捏脸基”)的数目,exp是表情基系数,维度是1×n,id是形状基系数,维度是m×1,n、m、k均为正整数。

从上述公式可以看出,任意一个人脸可以参数化表示成id+exp,其中这个人的id是固定的,所以可以导出专属这个人的一组表情基(又称为blendershape),如图2所示。显然,当有了这个人的这样一组表情基20,就可以用表情基系数来驱动这个人了,通过变换表情基系数,即可以生成这个人在任意表情下的三维人脸模型。

图3示出了本申请技术方案涉及的流程框架图。本申请实施例提供的方法应用于生成目标对象的三维人脸模型及生成目标对象的一组表情基的过程。该过程包括计算每个面部子区域的顶点损失和每个面部子区域的图像损失,对顶点损失和图像损失进行联立优化,此时可得到目标对象的三维人脸模型,对该三维人脸模型进行后处理,可得到优化后的三维人脸模型,基于该三维人脸模型可生成目标对象的一组三维表情基。

在生成目标对象的一组表情基之后,就可以驱动这组表情基,生成目标对象在任意表情下的三维人脸模型,从而实现不同的产品功能。例如,在游戏中、社交应用程序中使用的增强现实表情(也即ar表情,augmentedreality)等场景中都可应用到本申请提供的技术方案。在一个示例中,用户使用智能手机中支持三维人脸重建的应用程序,该应用程序调用智能手机的相机对用户的面部进行扫描,基于扫描到的图像生成该用户的三维人脸模型,并生成该用户的一组可驱动的三维表情基,通过驱动该组表情基可切换不同表情下的三维人脸模型实现对应的功能,如图4的(b)所示,该组表情基41中包括一个三维人脸模型的多个表情。

对于将3dmm库中的标准人脸模型与三维人脸网格进行拟合,相关技术中是通过形变传递技术实现的,预先在3dmm库上生成一组标准的表情基,将输入的任意拓扑的人脸模型(也即三维人脸网格或高模,关键点数量较多的模型)对齐到每一个标准表情基(标准人脸模型或低模,关键点数量较少的模型)上,从而生成一组目标对象的表情基,变形传递技术通过对应关系将标准人脸模型拉到三维人脸网格对应的位置,三维人脸网格上的其他点通过平滑操作拟合到标准人脸模型上。在实际操作中,三维人脸网格的噪声较大,如图4的(a)所示,三维人脸网格40的表面并不光滑或有一些瑕疵点,使得生成的目标对象的三维人脸模型也存在缺陷,尤其是目标对象的嘴巴和鼻子等复杂部位易于出现缺陷,使得生成的三维人脸模型与目标对象的人脸不像或失真。为了提高生成的三维人脸模型的质量,在上述过程中使用高质量的对应关系,而高质量的对应关系需要人工标定。

本申请实施例提供了一种方法,通过对标准人脸模型进行分区域拟合,使得生成的目标对象的三维人脸模型质量更高且导出的表情基与目标对象相像。

本申请实施例提供的方法流程,各步骤的执行主体可以是诸如手机、平板电脑、台式电脑、笔记本电脑、多媒体播放设备、可穿戴设备等终端,也可以是服务器。为了便于说明,在下述方法实施例中,仅以各步骤的执行主体为计算机设备为例,进行介绍说明,可选地,计算机设备可以是任何具备计算和存储能力的电子设备,如终端或服务器。

图5示出了本申请一个示例性实施例提供的三维人脸模型的生成方法的流程图。该方法可应用于上述计算机设备中,该方法包括如下步骤:

步骤501,获取输入的目标对象的三维人脸网格,以及标准对象对应的标准人脸模型。

三维人脸网格(mesh)是指采用多面体的顶点与多边形所形成的集合来描述目标对象的人脸的三维数据,该多边形是三角形、四边形或者其它简单的凸多边形中的至少一种,以便简化渲染过程。可选地,三维人脸网格也可以包括带有空洞的普通多边形组成的三维数据。本申请对此不加以限定。三维人脸网格适用于旋转、平移、缩放和仿射等变换。在本申请实施例中,三维人脸网格相当于点数(关键点的数量)较多的模型(高模),标准人脸模型相当于点数较少(关键点的数量)的模型(低模)。

可选地,可通过图像采集设备围绕目标对象的脸部(或整个头部)进行连续拍摄,该图像采集设备是指能够拍摄彩色图像和深度图像的设备,连续拍摄是按照预设频率进行照片拍摄,或是进行视频拍摄。示意性的,将采集到的目标对象的图像信息输入至模型中得到目标对象的三维人脸网格,该模型是具有划分三维人脸网格能力的机器学习模型。可选地,采集到的图像包括目标对象的正脸姿态图像、侧脸姿态图像、仰视姿态图像、俯视姿态图像等多个视角的图像。

可选地,标准对象对应的标准人脸模型是3dmm库中的三维人脸模型,在进行三维人脸模型重建时,需要将标准人脸模型与给定的三维人脸网格进行拟合,如将标准人脸模型进行平移变换、伸缩变换、旋转变换后,使标准人脸模型与给定的三维人脸网格对齐。标准人脸模型相当于一个可变换的人脸模板。

步骤502,将三维人脸网格和标准人脸模型按照对应关系划分为至少两个面部子区域。

面部子区域是模型对应的人脸区域中的部分区域。可选地,面部子区域可根据需求划分,或根据预设的划分方式进行划分,或按照对应关系进行划分,或采用相同的方式划分。示意性的,将三维人脸网格和标准人脸模型按照对应关系划分为四个面部子区域,分别是鼻子、嘴巴、下巴和其他部分对应的面部子区域(对应关系是五官部位)。示意性的,将三维人脸网格和标准人脸模型按照对应关系划分为两个面部子区域,分别是表面区域和内部区域,如脸颊、鼻梁等是表面区域,鼻孔是内部区域(对应关系是表面和内部)。示意性的,将三维人脸网格和标准人脸模型按照对应关系划分为两个面部子区域,分别是简单面部子区域和复杂面部子区域,如脸颊等面积较大的单层区域,鼻子至嘴巴等多层区域(对应关系是拟合的难易程度)。

示意性的,采用相同方式对三维人脸网格和标准人脸模型进行划分保证了三维人脸网格和标准人脸模型划分的面部子区域一一对应。

步骤503,将标准人脸模型中的每个面部子区域分别拟合至三维人脸网格中对应的面部子区域。

示意性的,将标准人脸模型和三维人脸网格按照对应关系划分为四个面部子区域,分别是鼻子、嘴巴、下巴和其他部分对应的面部子区域,将标准人脸模型的鼻子区域与三维人脸网格的鼻子区域进行拟合,该鼻子区域是鼻子与脸颊的交界处对应的边缘围成的区域,包括鼻孔所在的区域;将标准人脸模型的嘴巴区域与三维人脸网格的嘴巴区域进行拟合。

可选地,标准人脸模型中的每个面部子区域与三维人脸网格中的对应的面部子区域可同时进行拟合,也可按照一定的顺序进行拟合,如由上至下先对鼻子区域进行拟合,再对嘴巴区域进行拟合。本申请对此不加以限定。

通过不断对标准人脸模型与三维人脸网格之间的误差损失进行优化,使得误差损失收敛,标准人脸模型与三维人脸网格的拟合程度不断提高。

步骤504,在至少两个面部子区域拟合后,对相邻的面部子区域进行融合处理,得到目标对象对应的三维人脸模型。

融合处理是指对拟合后的两个相邻的面部子区域之间存在的不平整区域进行平滑处理。在一个示例中,拟合后的两个面部子区域分别是鼻子区域和嘴巴区域,鼻子区域和嘴巴区域之间存在不平整的区域,使得目标对象的三维人脸模型存在一定的噪声,对该不平整的区域进行融合处理后,该不平整区域将转换为平滑区域,该三维人脸模型的噪声减小,输出的三维人脸模型与目标对象的相像程度提高,该三维人脸模型得到优化。

可选地,融合处理可在相邻的两个面部子区域拟合后进行,或在部分面部子区域拟合后进行,或在每个面部子区域分别拟合后进行。比如,标准人脸模型上的鼻子区域和嘴巴区域分别与三维人脸网格上的鼻子区域和嘴巴区域拟合后,对鼻子区域和嘴巴区域进行融合处理,或者,在三维人脸网格和标准人脸模型上的每个面部子区域拟合后,对相邻的面部子区域进行融合处理。

综上所述,本实施例提供的方法,相比于将目标对象的整个三维人脸网格与标准人脸进行拟合,将三维人脸网格和标准人脸模型按照对应关系划分为至少两个面部子区域,并将标准人脸模型中的每个面部子区域分别拟合至三维人脸网格中,之后对相邻的面部子区域进行融合处理,得到目标对象对应的三维人脸模型。通过将划分后的每个面部子区域进行拟合,提高了输出的三维人脸模型的质量,避免了三维人脸模型产生失真的现象,使得基于该三维人脸模型导出的三维表情基更符合目标对象产生的表情。

图6示出了本申请一个示例性实施例提供的三维人脸模型的生成方法的流程图。该方法可应用于上述计算机设备中。该方法包括如下步骤:

步骤601,获取输入的目标对象的是三维人脸网格,以及标准对象对应的标准人脸模型。

步骤601与图5所示的步骤501一致,此处不再赘述。

步骤602,将三维人脸网格和标准人脸模型按照对应关系划分为至少两个面部子区域。

如图7所示,将标准人脸模型70按照五官对应的位置关系划分成鼻子区域701、嘴巴区域702、下巴区域703和其他部分对应的区域704(如面颊部分、眼眶部分)。示意性的,三维人脸网格也划分成与标准人脸模型对应的四个面部子区域。

步骤603,对于标准人脸模型中的每个面部子区域,计算将面部子区域拟合至三维人脸网格中对应的面部子区域时的误差损失。

可选地,误差损失包括顶点损失和图像损失。

该步骤包括如下子步骤:

步骤6031a,获取每个面部子区域的姿态参数以及面部子区域对应的局部三维人脸网格,局部三维人脸网格是三维人脸网格的一部分。

示意性的,鼻子区域701的姿态参数是pose1,嘴巴区域702的姿态参数pose2,下巴区域703的姿态参数是pose3,其他部分对应区域704的姿态参数是pose4。

步骤6032a,根据每个面部子区域的姿态参数和局部三维人脸网格,计算将每个面部子区域拟合至三维人脸网格对应的面部子区域时的顶点损失。

可选地,顶点损失包括第一形状基损失(idloss)和第一表情基损失(exploss)。

计算每个面部子区域的第一形状基损失的公式如下:

其中,优化的变量是形状基系数id,srt是姿态参数pose,s是缩放参数,r是旋转矩阵,t是平移参数,cr是三维形变模型(3dmm库),exp是当前的表情基系数的均值,mhigh是三维人脸网格(即高模),通过高斯牛顿迭代即可求解最好的id系数。

计算每个面部子区域的第一表情基损失的公式如下:

其中,优化的变量是表情基系数exp,srt是姿态参数pose,s是缩放参数,r是旋转矩阵,t是平移参数,cr是3dmm库,exp是当前的表情基系数的均值,mhigh是三维人脸网格(即高模),通过高斯牛顿迭代即可求解最好的id系数,该公式优化的面部子区域是对应关系(correspondence)对应的部分。

优化第一形状基系数和第一表情基系数包括如下子步骤:

s1、根据每个面部子区域的姿态参数、每个面部子区域对应的形状基系数和表情基系数、局部三维人脸网格,计算将每个面部子区域拟合至局部三维人脸网格的第一形状基损失和第一表情基损失。

s2、根据第一形状基损失对形状基系数进行优化,计算得到每个面部子区域优化后的第一形状基系数,第一形状基系数用于控制目标对象的面相。

s3、根据第一表情基损失对表情基系数进行优化,计算得到每个面部子区域优化后的第一表情基系数,第一表情基系数用于控制目标对象的表情。

s4、重复上述三个步骤,直至第一形状基损失和第一表情基损失分别收敛。

步骤6031b,获取目标对象的n张人脸图像,n张人脸图像是用于生成三维人脸网格的图像,n为正整数。

人脸图像是对目标对象的脸部(或整个头部)进行采集的图像。可通过图像采集设备采集人脸图像,图像采集设备包括摄像头、摄像机、照相机、扫描仪、具有拍摄功能的终端(如手机、平板电脑、笔记本电脑、连接有摄像头的台式计算机等)。示意性的,使用移动终端围绕目标对象的脸部进行连续拍摄,连续拍摄是拍摄视频,或者按照预设频率进行照片连拍,在一个示例中,保持目标对象的脸部不动,使用移动终端围绕目标对象进行拍摄,在另一个示例中,保持移动终端不动,由目标对象在上、下、左、右方向上移动面部进行拍摄。人脸图像是基于各个视角的图像,如图8所示,图8的(a)示出了以目标对象的正面视角所采集的人脸图像81,图8的(b)示出了以目标对象的左侧脸部视角所采集的人脸图像82,图8的(c)示出了以目标对象的右侧脸部视角所采集的人脸图像83。

每个拍摄时刻会同时拍摄彩色图像和深度图像。同一个拍摄时刻拍摄的彩色图像和深度图像,构成一个图像对。换句话说,每个图像对包括同一时刻拍摄的彩色图像和深度图像。

示例性的,彩色图像是红绿蓝(redgreenblue,rgb)格式的彩色图像。深度(depth,d)图像中的每个像素点存储有深度摄像头到场景中各个真实点的距离(深度)值。

示例性的,彩色图像和深度图像存储为两张关联的图像,比如采用拍摄时刻进行关联。或者,彩色图像和深度图像存储为同一张图像,比如该图像同时包含r、g、b、d四个通道。本申请实施例对彩色图像和深度图像的具体存储方式不加以限定。

步骤6032b,获取人脸图像中的关键点信息、人脸图像的姿态参数和标准人脸模型中的关键点索引信息。

可选地,通过将人脸图像输入至模型中获取人脸图像中的关键点信息和姿态参数,或人工标定关键点和姿态参数。示意性的,模型是支持检测关键点和姿态参数的机器学习模型。示意性的,人工标定姿态参数通过在人脸图像上建立坐标系,测量人脸姿态角度(如欧拉角)、面部的旋转角度、缩放比例等参数。

步骤6033b,根据关键点信息、姿态参数和关键点索引信息,计算将每个面部子区域拟合至三维人脸网格中对应的面部子区域时的图像损失。

可选地,图像损失包括第二形状基损失(idloss)和第二表情基损失(exploss),第二形状基损失和第二表情基损失是针对人脸图像中的关键点(landmark)进行计算的。

计算三维人脸网格上每个面部子区域的第二形状基损失的公式如下:

其中,k是相机投影参数,rt是目标对象相对于图像的姿态参数(pose),r是旋转矩阵,t是平移参数,通过3d-2d点对匹配的方法(pespective-n-point,pnp)计算得到,cr是3dmm库,landmark是检测到的人脸图像中的关键点。

计算三维人脸网格上每个面部子区域的第二表情基损失的公式如下:

其中,k是相机投影参数,rt是目标对象相对于图像的pose,r是旋转矩阵,t是平移参数,通过pnp计算得到,cr是3dmm库,landmark是检测到的人脸图像中的关键点。

优化第二形状基系数和第二表情基系数包括如下子步骤:

s11、根据关键点信息、姿态参数、关键点索引信息、每个面部子区域对应的形状基系数和表情基系数,计算将每个面部子区域拟合至三维人脸网格中对应的面部子区域时的第二形状基损失和第二表情基损失。

通过关键点索引信息建立人脸图像中的关键点对应的第二形状基系数和第二表情基系数的计算公式。

s12、根据第二形状基损失对形状基系数进行优化,计算得到每个面部子区域优化后的第二形状基系数,第二形状基系数用于控制目标对象的面相。

s13、根据第二表情基损失对表情基系数进行优化,计算得到每个面部子区域优化后的第二表情基系数,第二表情基系数用于控制目标对象的表情。

s14、重复上述三个步骤,直至第二形状基损失和第二表情基损失分别收敛。

步骤604,在误差损失收敛时,将面部子区域拟合至三维人脸网格中对应的面部子区域。

对于每个面部子区域,取对应关系中的有效点(inliner)对应的部分进行拟合,有效点是指符合要求且没有错误的点,如,在三维人脸模型上不平整的区域中的点不属于有效点。结合对应的三维人脸网格上的关键点(landmark),每个面部子区域对应有独立的形状基系数(id)和表情基系数(exp),同时有独立的姿态参数(pose,如旋转参数r、平移参数t和缩放参数s中的至少一种)。

步骤605,在至少两个面部子区域拟合后,获取相邻的面部子区域中的过渡区域,过渡区域是相邻的面部子区域之间的公共点组成的区域。

如图9的(a)所示,将标准人脸模型划分成四个面部子区域,包括鼻子区域901、嘴巴区域902、下巴区域903和其他部分对应的区域904。示意性的,在鼻子区域901和嘴巴区域902之间存在过渡区域911,在嘴巴区域902和下巴区域903之间存在过渡区域912,如图9的(b)所示。可以理解的是,任意两个相邻的面部子区域之间存在过渡区域。

步骤606,对过渡区域进行融合处理,得到目标对象对应的三维人脸模型。

如图10所示,三维人脸网格对应(a)列,拟合整个头部的标准人脸模型对应(b)列,采用本实施例提供的方法拟合的标准人脸模型对应(c)列,上述模型包括正面视角101和侧面视角102。可以明显看出,在鼻子区域、嘴巴区域和下巴区域对应的位置,本实例提供的方法拟合的标准人脸模型的效果要优于拟合整个头部的标准人脸模型。

步骤607,根据每个面部子区域的形状基系数和表情基系数导出每个面部子区域对应的一组三维表情基。

步骤608,对至少两个面部子区域对应的一组三维表情基进行融合处理,得到目标对象的一组三维表情基。

需要说明的是,步骤6031a和步骤6032a对应的计算标准人脸模型的顶点损失可独立实施,步骤6031b至步骤6033b对应的计算标准人脸模型的图像损失可独立实施,计算顶点损失的步骤和计算图像损失的步骤也可组合实施。

综上所述,本实施例提供的方法,将三维人脸网格和标准人脸模型按照对应关系划分为至少两个面部子区域,计算标准人脸模型的每个面部子区域误差损失,在误差损失收敛时,将每个面部子区域拟合至三维人脸网格中对应的面部子区域,在至少两面部子区域拟合后,对相邻的面部子区域之间的过渡区域进行融合处理,得到平滑的目标对象的三维人脸模型,基于该三维人脸模型可生成一组三维表情基。通过对标准人脸模型进行区域划分后分别拟合的方式,使得生成的三维人脸模型更接近目标对象的面部,从而使得表情基也更接近目标对象产生的表情。

图11示出了本申请一个示例性实施例提供的三维人脸模型的生成方法的流程图,该方法可应用于上述计算机设备中,该方法包括如下步骤:

步骤1101,计算标准人脸模型的每个面部子区域的顶点损失。

每个面部子区域的顶点损失包括形状基损失(idloss)和表情基损失(exploss)。计算idloss的公式如下:

其中,优化的变量是形状基系数id,srt是姿态参数pose,s是缩放参数,r是旋转矩阵,t是平移参数,cr是三维形变模型(3dmm库),exp是当前的表情基系数的均值,mhigh是高模,通过高斯牛顿迭代即可求解最好的id系数。

计算exploss的公式如下:

其中,优化的变量是表情基系数exp,srt是姿态参数pose,s是缩放参数,r是旋转矩阵,t是平移参数,cr是3dmm库,exp是当前的表情基系数的均值,mhigh是高模,通过高斯牛顿迭代即可求解最好的id系数,该公式优化的面部子区域是对应关系(correspondence)对应的部分。

步骤1102,根据人脸图像中的关键点信息计算标准人脸模型的每个面部子区域的图像损失。

可通过采集到的目标对象的人脸图像获取一些信息进一步建立约束优化形状基系数和表情基系数,示意性的,人脸图像是目标对象的各个视角的照片,该人脸图像是彩色图像和深度图像的图像。

由于各个视角的人脸图像中的landmark与标准人脸模型中的关键点信息(keypoint)对应,已知keypoint的索引(index),可直接通过透视投影关系建立landmark的误差损失,同样,landmark的误差损失包括表情基损失和形状基损失,公式如下:

其中,k是相机投影参数,rt是目标对象相对于图像的姿态参数(pose),r是旋转矩阵,t是平移参数,通过3d-2d点对匹配的方法(pespective-n-point,pnp)计算得到,cr是3dmm库,landmark是检测到的人脸图像中的关键点。

计算表情基的公式如下:

其中,k是相机投影参数,rt是目标对象相对于图像的pose,r是旋转矩阵,t是平移参数,通过pnp计算得到,cr是3dmm库,landmark是检测到的人脸图像中的关键点。

通过上述公式,对人脸图像中的landmark的形状基系数和表情基系数进行优化。

步骤1103,将顶点损失和图像损失联立优化。

对于每个面部子区域,取对应关系中的有效点对应的部分进行拟合,有效点是指符合要求且没有错误的点,如,在三维人脸模型上存在的瑕疵点不属于有效点。结合对应的landmark,每个面部子区域对应有独立的形状基系数和表情基系数,同时对应有独立的姿态参数(如旋转参数、平移参数和缩放参数中的至少一种)。联立优化的具体流程如下:

1、初始的id和exp设置为3dmm库的均值。

示意性的,在3dmm库中有多个不同的标准人脸模型,每个标准人脸模型均含有形状基系数和表情基系数,形状基系数用于控制标准人脸模型的面相,表情基系数用于控制标准人脸模型的表情,不同的标准人脸模型的形状基系数和表情基系数不同。可选地,取3dmm库中所有标准人脸模型的形状基系数的平均值,得到初始的形状基系数,取3dmm库中所有标准人脸模型的表情基系数的平均值,得到初始的表情基系数。

2、遍历每一个面部子区域。

在一个示例中,将三维人脸网格和标准人脸模型按照对应关系划分为4个面部子区域,需要确定每个面部子区域所在的位置及每个面部子区域对应的形状基系数和表情基系数。可以理解的是,三维人脸网格的形状基系数和表情基系数是不同于标准人脸模型的。

3、使用当前的形状基系数和表情基系数计算出标准人脸模型上对应的面部子区域的形状基系数和表情基系数,用对应关系计算出目标对象的人脸姿态,同时通过pnp计算出对应的面部子区域对于人脸图像的姿态。

在一个示例中,计算出的标准人脸模型的鼻子区域对应的形状基系数是id1、表情基系数是exp1,嘴巴区域对应的形状基系数是id2、表情基系数是exp2,下巴区域对应的形状基系数是id3、表情基系数是exp3,其他部分区域对应的形状基系数是id4、表情基系数是exp4。示意性的,目标对象的人脸姿态是pose1,鼻子区域相对于人脸图像的姿态是pose2。

4、固定表情基系数,利用顶点损失vertex_loss和landmark_loss优化对应面部子区域的形状基系数。

5、固定形状基系数,利用顶点损失vertex_loss和landmark_loss优化对应面部子区域的表情基系数。

6、迭代第2步、第3步和第4步,直到收敛。

7、对下一个面部子区域重复第3步、第4步、第5步和第6步。

基于上述流程可以计算出每个面部子区域的误差损失,分别优化每个面部子区域的误差损失,得到每个面部子区域的形状基系数和表情基系数,从而可得到每个面部子区域对应的三维人脸网格,将每个面部子区域对应的三维人脸网格进行融合得到最终的三维人脸网格。

步骤1104,对生成的目标对象的三维人脸模型进行后处理。

由图12的(a)可以看出生成的三维人脸模型在相邻面部子区域的交界处有明显的褶皱,需要对过渡区域进行光滑。在每个面部子区域交界的地方确定一圈公共点,如图9所示,图9的(a)中将生成的三维人脸模型划分为鼻子区域901、嘴巴区域902、下巴区域903和其他部分对应的区域904。示意性的,鼻子区域901和嘴巴区域902有公共点组成的交界处911,嘴巴区域902和下巴区域903有公共点组成的交界处912。

对过渡区域进行融合处理包括如下子步骤:

步骤111,获取第一距离和第二距离,第一距离是过渡区域中的公共点与第一面部子区域之间的距离,第二距离是过渡区域中的公共点与第二面部子区域之间的距离。

在一个示例中,公共点a是鼻子区域和嘴巴区域之间的过渡区域的公共点,第一面部子区域是鼻子区域,第二面部子区域是嘴巴区域,公共点a与鼻子区域之间的距离是第一距离s1,公共点b与鼻子区域之间的距离是第二距离s2。

步骤112,根据第一距离确定公共点相对于第一面部子区域的第一权重,根据第二距离确定公共点相对于第二面部子区域的第二权重。

示意性的,对s1和s2的倒数的平方求和,归一化后得到公共点a相对于鼻子区域的第一权重,公共点a相对于嘴巴区域的第二权重。可以理解的是,公共点距离一个面部子区域越近,则该公共点对于该面部子区域的权重越大;反之,则该公共点对于该面部子区域的权重越小。

步骤113,根据第一面部子区域对应的形状基系数和表情基系数、第一权重、第二面部子区域对应的形状基系数和表情基系数、第二权重确定交界点。

将公共点与每个面部子区域的形状基系数和表情基系数相乘,得到乘积,将乘积进行权重加权求和,确定最终的交界点。

步骤114,将公共点替换为交界点,交界点组成经过融合处理后的区域。

步骤115,根据融合处理后的区域得到目标对象对应的三维人脸模型。

示意性的,根据最终的交界点对标准人脸模型进行融合处理,过渡区域变得平滑。如图12所示,图12的(a)为将标准人脸模型的各面部子区域直接拼合后的得到的效果图,标准人脸模型的鼻子区域和嘴巴区域对应的位置存在褶皱,图12的(b)为对标准人脸模型的过渡区域进行融合处理后的效果图,在标准人脸模型的鼻子区域和嘴巴区域对应的位置变得平滑。

平滑的方式不局限于上述方式,其他任意形式的加权平均算法或起到相同效果的方式均可用于对三维人脸模型进行平滑。

步骤1105,基于目标对象的三维人脸模型导出表情基。

和导出目标对象的表情基的方法一致,通过形状基系数,在3dmm库上计算出一组表情基。本实施例提供的方法需要将每个面部子区域分别导出一组表情基,同时使用步骤1104中的方法平滑过渡区域,生成目标对象的一组三维表情基。

综上所述,本实例提供的方法,通过计算标准人脸模型的每个面部子区域的顶点损失和人脸图像中的关键点信息的图像损失,将顶点损失和图像损失联立优化,并对生成的目标对象的三维人脸模型进行后处理,使得生成的三维人脸模型的质量更高,与输入的目标对象的三维人脸网格更相像,从而使得基于该三维人脸模型导出的一组三维表情基更贴近目标对象产生的表情。

上述生成三维人脸模型的方法还可与生成三维物体模型结合,本申请实施例还提供了一种三维物体模型的生成方法,如图13所示,该方法可应用于上述计算机设备中,该方法包括如下步骤:

步骤1301,获取输入的目标物体的三维外形网格,以及标准物体对应的标准外形模型。

目标物体包括动物的面部或头部、动物的身体部位、人的身体部位和具有形状的物体中的至少一种。示意性的,目标物体是兔子的面部,或人的肘部关节等部位,或形状结构比较复杂的物体。目标物体的三维外形网格可以通过采集目标物体的图像获得,标准物体对应的标准外形模型可通过对应的形状模型库获得,标准外形模型是在目标物体静止状态下或基础状态下(无其他附加部分)的模型。

步骤1302,将三维外形网格和标准外形模型按照对应关系划分为至少两个形状子区域。

形状子区域是目标物体的外部形状区域的部分区域,可选地,形状子区域可根据需求划分,或根据预设的划分方式进行划分,或按照对应关系进行划分,或采用相同的方式进行划分。

在一个示例中,目标物体是兔子的头部,将兔子头部对应的三维外形网格和和标准外形模型按照对应关系划分为眼睛区域、嘴巴区域、耳朵区域和其他区域。可选地,标准外形模型是三维兔子头部在模型库中模型,在该模型库中具有多种类型的兔子对应的兔子头部的标准外形模型。

步骤1303,将标准外形模型中的每个形状子区域分别拟合至三维外形网格中对应的形状子区域。

可选地,通过计算顶点损失和图像损失中的至少一种方式来拟合三维外形网格和标准外形模型。

与生成三维人脸模型的原理一致,通过每个形状子区域的姿态参数以及形状子区域的局部三维外形网格计算每个形状子区域拟合至三维外形网格对应的形状子区域的误差损失。局部三维外形网格是三维外形网格的一部分。

或者,通过从n张目标物体的图像中获取目标物体中的关键点信息、姿态参数和标准外形模型中的关键点索引信息,计算将形状子区域拟合至三维外形网格中对应的形状子区域的图像损失。当目标物体是动物的面部或头部时,关键点是面部或头部的器官对应的点,比如关键点是动物的眼睛、嘴巴、耳朵等位置对应的点;当目标物体是动物的身体部位时,关键点是身体部位的轮廓或能够与其他动物区分的特征对应的点,比如尾巴的轮廓;当目标物体是人的身体部位时,关键点是人的身体部位的轮廓或关节对应的点,如肘部关节;当目标物体是具有复杂结构或形状的物体时,关键点是该物体的轮廓或特征形状对应的点,如球状结构。

可选地,计算顶点损失的方式与三维人脸模型对应的计算方式相同或不同,计算图像损失的方式与三维人脸模型对应的计算方式相同或不同。

步骤1304,将至少两个形状子区域拟合后,对相邻的形状子区域进行融合处理,得到目标物体对应的三维物体模型。

示意性的,对已经拟合的相邻两个形状子区域进行融合处理,或者,每个形状子区域拟合后,对相邻的形状子区域进行融合处理,使得拟合后的形状子区域更加平滑。融合处理的方式与三维人脸模型的方式相同或不同。

本实施例中的方法可应用于生成ar表情包以及根据三维人脸网格生成对应的三维物体模型,如根据三维人脸网格生成具有动物面部的三维物体模型,并且基于该三维物体模型导出一组三维表情基,该三维表情基是基于动物面部的表情基。

在一个示例中,用户使用智能手机,智能手机上运行有支持生成三维物体模型的应用程序,该应用程序调用智能手机的摄像头采集用户的面部图像,生成具有对应表情的动物面部模型,该动物面部模型是兔子的面部模型,基于该兔子的面部模型可导出一组与用户表情对应的表情基。

综上所述,本实施例提供的方法,与生成三维人脸模型的方法类似,将目标物体对应的三维外形网格和标准外形模型分区域拟合,并将拟合后的模型进行融合处理,提高了输出的目标物体对应的三维物体模型的质量。

下面,以应用于语音互动场景为例,对本申请技术方案进行介绍说明。

请参考图14,其示出了本申请一个实施例提供的语音互动方法的流程图。该方法的执行主体可以是诸如手机、平板电脑、可穿戴设备等终端。该方法可以包括如下几个步骤:

步骤1401,确定待播放的语音信息,以及与该语音信息对应的表情序列,该表情序列包括至少一个表情。

语音信息与表情序列之间的映射关系可以预先存储,在确定出待播放的语音信息之后,可以根据上述映射关系,找到与该语音信息对应的表情序列。例如,可以存储每个发音与表情之间的映射关系,在确定出待播放的语音信息之后,可以确定出该语音信息对应的发音序列,该发音序列中包括至少一个按序排列的发音,获取每个发音对应的表情,即可得到与该语音信息对应的表情序列。

步骤1402,对于表情序列中的每个表情,根据每个表情对应的表情基系数和目标对象的表情基,生成目标对象在每个表情下的三维人脸模型。

以生成目标对象的目标表情为例,确定目标表情对应的目标表情基系数,然后根据该目标表情基系数和目标对象的这组表情基,生成目标对象在目标表情下的三维人脸模型。

可选地,采用目标对象的纹理图对每个表情下的三维人脸模型进行渲染,得到每个表情下带纹理的三维人脸模型。

可选地,采用如下方式生成目标对象的一组表情基:拍摄获取目标对象在n种头部姿态下的图像对,每个图像对包括一种头部姿态下的rgb图像和深度图像,n为正整数;根据n个图像对,生成目标对象的一组表情基。有关表情基的生成过程可以参见上文实施例中的介绍说明,本实施例对此不再赘述。

步骤1403,播放语音信息。

步骤1404,在播放语音信息的过程中,按照表情序列中包含的各个表情的顺序,依次显示各个表情下的三维人脸模型。

可选地,在播放语音信息的过程中,按照表情序列中包含的各个表情的顺序,依次显示各个表情下带纹理的三维人脸模型。

综上所述,本申请实施例提供的技术方案中,通过确定与待播放的语音信息对应的表情序列,根据每个表情对应的表情基系数和目标对象的表情基,生成目标对象在每个表情下的三维人脸模型,在播放语音信息的过程中,按照表情序列中包含的各个表情的顺序,依次显示各个表情下的三维人脸模型,从而实现了一种基于三维人脸重建得到的模型进行语音交互的方案,且能够根据实时播放的语音,显示相匹配的表情,更加逼真。

以下为本申请的装置实施例,对于装置实施例中未详细描述的细节,可以结合参考上述方法实施例中相应的记载,本文不再赘述。

图15示出了本申请的一个示例性实施例提供的三维人脸模型的生成装置的结构示意图。该装置可以通过软件、硬件或者两者的结合实现成为终端的全部或一部分,该装置包括:

第一获取模块1510,用于获取输入的目标对象的三维人脸网格,以及标准对象对应的标准人脸模型;

第一处理模块1520,用于将三维人脸网格和标准人脸模型按照对应关系划分为至少两个面部子区域;

第一拟合模块1530,用于将标准人脸模型中的每个面部子区域分别拟合至三维人脸网格中对应的面部子区域;

第一融合模块1540,用于在至少两个面部子区域拟合后,对相邻的面部子区域进行融合处理,得到目标对象对应的三维人脸模型。

在一个可选的实施例中,该装置包括计算模块1550;

所述第一计算模块1550,用于对于标准人脸模型中的每个面部子区域,计算将面部子区域拟合至三维人脸网格中对应的面部子区域时的误差损失;

所述拟合模块1530,用于在误差损失收敛时,将面部子区域拟合至三维人脸网格中对应的面部子区域。

在一个可选的实施例中,误差损失包括顶点损失;

所述第一获取模块1510,用于获取每个面部子区域的姿态参数以及与面部子区域对应的局部三维人脸网格,局部三维人脸网格是三维人脸网格的一部分;

所述第一计算模块1550,用于根据每个面部子区域的姿态参数和局部三维人脸网格,计算将每个面部子区域拟合至三维人脸网格对应的面部子区域时的顶点损失。

在一个可选的实施例中,顶点损失包括第一形状基损失和第一表情基损失;

所述第一计算模块1550,用于根据每个面部子区域的姿态参数、每个面部子区域对应的形状基系数和表情基系数、局部三维人脸网格,计算将每个面部子区域拟合至局部三维人脸网格的第一形状基损失和第一表情基损失;

所述第一计算模块1550,用于根据第一形状基损失对形状基系数进行优化,计算得到每个面部子区域优化后的第一形状基系数;

所述第一计算模块1550,用于根据第一表情基损失对表情基系数进行优化,计算得到每个面部子区域优化后的第一表情基系数;

所述第一处理模块1520,用于重复上述三个步骤,直至第一形状基损失和第一表情基损失分别收敛。

在一个可选的实施例中,误差损失包括图像损失;

所述第一获取模块1510,用于获取目标对象的n张人脸图像,n张人脸图像是用于生成三维人脸网格的图像,n为正整数;

所述第一获取模块1510,用于获取人脸图像中的关键点信息、人脸图像的姿态参数和标准人脸模型中的关键点索引信息;

所述第一计算模块1550,用于根据关键点信息、姿态参数和关键点索引信息,计算将每个面部子区域拟合至三维人脸网格中对应的面部子区域时的图像损失。

在一个可选的实施例中,图像损失包括第二形状基损失和第二表情基损失;

所述第一计算模块1550,用于根据关键点信息、姿态参数、关键点索引信息、面部子区域对应的形状基系数和表情基系数,计算将每个面部子区域拟合至三维人脸网格中对应的面部子区域时的第二形状基损失和第二表情基损失;

所述第一计算模块1550,用于根据第二形状基损失对形状基系数进行优化,计算得到每个面部子区域优化后的第二形状基系数;

所述第一计算模块1550,用于根据第二表情基损失对表情基系数进行优化,计算得到每个面部子区域优化后的第二表情基系数;

所述第一处理模块1520,用于重复上述三个步骤,直至第二形状基损失和第二表情基损失分别收敛。

在一个可选的实施例中,所述第一获取模块1510,用于在至少两个面部子区域拟合后,获取相邻的面部子区域中的过渡区域,过渡区域是相邻的面部子区域之间的公共点组成的区域;

所述第一处理模块1520,用于对过渡区域进行融合处理,得到目标对象对应的三维人脸模型。

在一个可选的实施例中,所述第一获取模块1510,用于获取第一距离和第二距离,第一距离是过渡区域中的公共点与第一面部子区域之间的距离,第二距离是过渡区域中的公共点与第二面部子区域之间的距离;

所述第一计算模块1550,用于根据第一距离确定公共点相对于第一面部子区域的第一权重,根据第二距离确定公共点相对于第二面部子区域的第二权重;

所述第一计算模块1550,用于根据第一面部子区域对应的形状基系数和表情基系数、第一权重、第二面部子区域对应的形状基系数和表情基系数、第二权重确定交界点;

所述第一处理模块1520,用于将公共点替换为交界点,交界点组成经过融合处理后的区域;

所述第一处理模块1520,用于根据融合处理后的区域得到目标对象对应的三维人脸模型。

在一个可选的实施例中,所述第一处理模块1520,用于根据每个面部子区域的形状基系数和表情基系数导出每个面部子区域对应的一组三维表情基;对至少两个面部子区域对应的一组三维表情基进行融合处理,得到目标对象的一组三维表情基。

图16示出了本申请的一个示例性实施例提供的三维物体模型的生成装置的结构示意图。该装置可以通过软件、硬件或者两者的结合实现成为终端的全部或一部分,该装置包括:

第二获取模块1610,用于获取输入的目标物体的三维外形网格,以及标准物体对应的标准外形模型;

第二处理模块1620,用于将三维外形网格和标准外形模型按照对应关系划分为至少两个形状子区域;

所述第二获取模块1610,用于获取每个形状子区域的姿态参数以及与形状子区域对应的局部三维外形网格,局部三维外形网格是三维外形网格的一部分;

第二计算模块1650,用于根据每个形状子区域的姿态参数和局部三维外形网格,计算将每个形状子区域拟合至三维外形网格对应的形状子区域时的误差损失,误差损失包括顶点损失;

第二拟合模块1630,用于在顶点损失收敛时,将形状子区域拟合至所述三维外形网格中对应的形状子区域;

第二融合模块1640,用于在至少两个形状子区域拟合后,对相邻的形状子区域进行融合处理,得到目标物体对应的三维物体模型。

图17示出了本申请一个实施例提供的终端1700的结构框图。该终端1700可以是手机、平板电脑、可穿戴设备、多媒体播放设备、相机等电子设备。

通常,终端1700包括有:处理器1701和存储器1702。

处理器1701可以包括一个或多个处理核心,比如4核心处理器、17核心处理器等。处理器1701可以采用dsp(digitalsignalprocessing,数字信号处理)、fpga(fieldprogrammablegatearray,现场可编程门阵列)、pla(programmablelogicarray,可编程逻辑阵列)中的至少一种硬件形式来实现。处理器1701也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称cpu(centralprocessingunit,中央处理器);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。在一些实施例中,处理器1701可以在集成有gpu(graphicsprocessingunit,图像处理器),gpu用于负责显示屏所需要显示的内容的渲染和绘制。一些实施例中,处理器1701还可以包括ai(artificialintelligence,人工智能)处理器,该ai处理器用于处理有关机器学习的计算操作。

存储器1702可以包括一个或多个计算机可读存储介质,该计算机可读存储介质可以是非暂态的。存储器1702还可包括高速随机存取存储器,以及非易失性存储器,比如一个或多个磁盘存储设备、闪存存储设备。在一些实施例中,存储器1702中的非暂态的计算机可读存储介质用于存储至少一条指令、至少一段程序、代码集或指令集,该至少一条指令、至少一段程序、代码集或指令集用于被处理器1701所执行以实现本申请中方法实施例提供的三维人脸模型的生成方法,或者语音互动方法,或者三维物体模型的生成方法。

在一些实施例中,终端1700还可选包括有:外围设备接口1703和至少一个外围设备。处理器1701、存储器1702和外围设备接口1703之间可以通过总线或信号线相连。各个外围设备可以通过总线、信号线或电路板与外围设备接口1703相连。具体地,外围设备可以包括:射频电路1704、触摸显示屏1705、摄像头1706、音频电路1707、定位组件1708和电源1709中的至少一种。

其中,摄像头1706可以是彩色摄像头+深度摄像头形成的三维摄像头。

本领域技术人员可以理解,图17中示出的结构并不构成对终端1700的限定,可以包括比图示更多或更少的组件,或者组合某些组件,或者采用不同的组件布置。

在示例性实施例中,还提供了一种计算机可读存储介质,所述存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或所述指令集在被计算机设备的处理器执行时以实现上述三维人脸模型的生成方法和三维物体模型的生成方法。

可选地,该计算机可读存储介质可以包括:只读存储器(readonlymemory,rom)、随机存取存储器(randomaccessmemory,ram)、固态硬盘(solidstatedrives,ssd)或光盘等。其中,随机存取记忆体可以包括电阻式随机存取记忆体(resistancerandomaccessmemory,reram)和动态随机存取存储器(dynamicrandomaccessmemory,dram)。

在示例性实施例中,还提供一种计算机程序产品,所述计算机程序产品被计算机设备的处理器执行时,用于实现上述三维人脸模型的生成方法和三维物体模型的生成方法。

应当理解的是,在本文中提及的“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。

本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。

以上所述仅为本申请的可选实施例,并不用以限制本申请,凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1