三维模型处理方法及装置与流程

文档序号:16792326发布日期:2019-02-01 19:41阅读:157来源:国知局
三维模型处理方法及装置与流程

本发明涉及三维建模技术领域,具体而言,涉及一种三维模型处理方法及装置。



背景技术:

目前,在例如三维虚拟现实、人脸解锁、人脸重塑、三维美颜、三维打光、三维试衣等应用中,都会涉及人脸三维建模。目前常用的例如结构光等方法建立的人脸三维模型质量不佳,容易出现模型形状异常的情况,严重影响上述应用的用户体验。



技术实现要素:

有鉴于此,本发明实施例提供一种三维模型处理方法及装置,以建立好的人脸三维模型进行后处理,以改善其质量。

为实现上述目的,本发明提供如下技术方案:

第一方面,本发明实施例提供一种三维模型处理方法,包括:

获得待建模人脸的原始人脸三维模型,原始人脸三维模型包括至少一个原始顶点;

计算原始顶点与标准人脸三维模型中对应的标准顶点之间的几何差异;

基于几何差异对需要处理的原始顶点进行几何变换,获得以标准顶点的位置为参照的目标顶点;

在原始人脸三维模型中将需要处理的原始顶点替换为对应的目标顶点,得到变换后的人脸三维模型。

上述方法以一个已知的标准人脸三维模型为参考,计算目标顶点,替换掉原始人脸三维模型中需要处理的原始顶点,获得最终要使用的人脸三维模型。其中,标准人脸三维模型可以选择质量较好的人脸三维模型,需要处理的原始顶点可以选择导致模型形状异常的顶点,从而该方法可以用于对原始人脸三维模型进行后处理优化,处理后的原始人脸三维模型质量较高,从而可以应用于各种应用场景中,改善用户体验。

结合第一方面,在第一方面的第一种可能的实现方式中,计算原始顶点与标准人脸三维模型中对应的标准顶点之间的几何差异之后,以及基于几何差异对需要处理的原始顶点进行几何变换之前,方法还包括:

判断几何差异是否超过预设的容差范围;

若是,将原始顶点确定为需要处理的原始顶点。

如果上述几何差异超过了预设的容差范围,表明该原始顶点处的原始人脸三维模型的形状与对应的标准顶点处的标准人脸三维模型的形状存在较大差异,如果标准人脸三维模型为质量较好的人脸三维模型,则原始人脸三维模型在该原始顶点处的形状存在异常,需要对该原始顶点进行后处理以修复这种形状异常,从而这样的原始顶点为需要处理的原始顶点。如果上述几何差异未超过预设的容差范围,表明该原始顶点处的原始人脸三维模型的质量是可接受的,无需处理。

结合第一方面的第一种可能的实现方式,在第一方面的第二种可能的实现方式中,针对原始人脸三维模型不同区域内的原始顶点,容差范围的取值与原始人脸三维模型不同区域内的曲率值正相关。

在上述实现方式,针对原始人脸三维模型不同区域可以设置不同的容差范围,意味着可以针对不同的区域的特性进行差异化处理,有利于对原始人脸三维模型的后处理进行更精确的控制。

具体地,在原始人脸三维模型的曲率值较大的区域,如耳朵、眼睛、鼻子等轮廓明显的区域,原始顶点与标准顶点之间的几何差异相对会大一些,此时容差范围也应相应地设置得大一些,避免过多的原始顶点被后处理,引起过度修复的问题。类似地,在原始人脸三维模型的曲率值较小的区域,如脸颊、下吧等轮廓不明显的区域,原始顶点与标准顶点之间的几何差异相对会小一些,容差范围也应相应地设置得小一些。

结合第一方面,在第一方面的第三种可能的实现方式中,几何差异包括:原始顶点与对应的标准顶点在三轴方向上的位移差(x,y,z),原始顶点与对应的标准顶点在三轴方向上的转角差(θx,θy,θz),以及原始顶点与对应的标准顶点在三轴方向上的缩放比例(sx,sy,sz);

基于几何差异对需要处理的原始顶点进行几何变换,获得以标准顶点的位置为参照的目标顶点,包括:

基于原始人脸三维模型中的两眼距离d1以及标准人脸三维模型中的两眼距离d2,计算基础缩放比例scale1=d1/d2;

计算几何变换的变换矩阵matrix=m1(x,y,z)*m2(θx,θy,θz)*m3(sx,sy,sz)*scale1,其中,m1表示一个以位移差为元素的矩阵,m2表示一个以转角差为元素的矩阵,m3表示一个以缩放比例为元素的矩阵;

目标顶点的坐标idst=isrc*matrix,其中isrc为需要处理的原始顶点的坐标。

结合第一方面,在第一方面的第四种可能的实现方式中,获得待建模人脸的原始人脸三维模型,包括:

获得由深度摄像头从不同位置采集的待建模人脸的多个深度数据帧;

确定多个深度数据帧中可用于建模的深度数据帧;

在可用于建模的深度数据帧中的相邻帧对应的点云之间进行点云匹配,获得原始人脸三维模型。

现有技术中的三维建模方法,例如结构光等方法,需要依赖于专门的硬件设备,如结构光设备,其成本较高,而上述实现方式只需要利用深度摄像头采集的深度数据帧即可完成三维建模,深度摄像头是一种常见设备,目前的多摄像头手机上通常都包括深度摄像头,其成本较低。

结合第一方面的第四种可能的实现方式,在第一方面的第五种可能的实现方式中,在获得一个深度数据帧的同时,还获得由普通摄像头从同一位置采集的待建模人脸的一个普通图像帧,确定多个深度数据帧中可用于建模的深度数据帧,包括:

对每个深度图像帧对应的普通图像帧进行人脸检测,在确定普通图像帧中存在人脸时,将该深度图像帧确定为一个可用于建模的深度数据帧。

如果普通图像帧中未检测到人脸,表示对应的深度数据帧中并未包括待建模人脸的深度信息,该深度数据帧不应被用于人脸三维建模。在进行人脸三维建模之前首先筛选出可用于建模的深度数据帧,有利于改善模型质量。

结合第一方面的第四种可能的实现方式,在第一方面的第六种可能的实现方式中,在可用于建模的深度数据帧中的相邻帧对应的点云之间进行点云匹配,包括:

将可用于建模的深度数据帧加入至点云匹配队列,在点云匹配队列相邻的成员之间进行点云匹配。

结合第一方面或第一方面的第一种至第六种中的任意一种可能的实现方式,在第一方面的第七种可能的实现方式中,标准人脸三维模型为基于多个人脸三维模型构建的平均模型。

平均模型是对大量模型进行统计的结果,能够代表人脸三维模型的通常形状,具有较高的参考价值,因此可以作为标注人脸三维模型。

第二方面,本发明实施例提供一种三维模型处理装置,包括:

模型获取模块,用于获得原始人脸三维模型,原始人脸三维模型包括至少一个原始顶点;

几何差异计算模块,用于计算原始顶点与标准人脸三维模型中对应的标准顶点之间的几何差异;

目标顶点计算模块,用于基于几何差异对需要处理的原始顶点进行几何变换,获得以标准顶点的位置为参照的目标顶点;

目标模型获取模块,用于在原始人脸三维模型中将需要处理的原始顶点替换为对应的目标顶点,得到变换后的人脸三维模型。

第三方面,本发明实施例提供一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序指令,计算机程序指令被处理器读取并运行时,执行第一方面或第一方面的任意一种可能的实现方式提供的方法的步骤。

第四方面,本发明实施例提供一种电子设备,包括存储器以及处理器,存储器中存储有计算机程序指令,计算机程序指令被处理器读取并运行时,执行第一方面或第一方面的任意一种可能的实现方式提供的方法的步骤。

为使本发明的上述目的、技术方案和有益效果能更明显易懂,下文特举实施例,并配合所附附图,作详细说明如下。

附图说明

为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。

图1示出了一种可应用于本发明实施例中的电子设备的结构框图;

图2示出了本发明实施例提供的三维模型处理方法的流程图;

图3示出了存在质量问题的人脸三维模型的示意图;

图4示出了质量良好的人脸三维模型的示意图;

图5示出了本发明实施例提供的三维模型处理方法的步骤s10的流程图;

图6示出了本发明实施例提供的三维模型处理装置的功能模块图。

具体实施方式

下面将结合本发明实施例中附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。

应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。同时,在本发明的描述中,术语“第一”、“第二”等仅用于将一个实体或者操作与另一个实体或操作区分开来,而不能理解为指示或暗示相对重要性,也不能理解为要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

图1示出了一种可应用于本发明实施例中的电子设备的结构框图。参照图1,电子设备100包括一个或多个处理器102、一个或多个存储装置104、显示器106、普通摄像头108、深度摄像头110,这些组件通过总线系统112和/或其他形式的连接机构(未示出)互连。

处理器102可以是中央处理单元(cpu)或者具有数据处理能力和/或指令执行能力的其他形式的处理单元,并且可以控制电子设备100中的其他组件以执行期望的功能。

存储装置104可以各种形式的计算机可读存储介质,例如易失性存储器和/或非易失性存储器。易失性存储器例如可以包括随机存取存储器(ram)和/或高速缓冲存储器(cache)等。非易失性存储器例如可以包括只读存储器(rom)、硬盘、闪存等。在计算机可读存储介质上可以存储一个或多个计算机程序指令,处理器102可以运行计算机程序指令,以实现本发明实施例中的方法以及/或者其他期望的功能。在计算机可读存储介质中还可以存储各种应用程序和各种数据,例如应用程序使用和/或产生的各种数据等。

显示器106用于显示用户期望看到的各种信息,例如建立的人脸三维模型等信息,显示其106显示的内容通常由处理器102进行控制。

普通摄像头108用于采集普通图像帧,例如rgb图像、灰度图像等,作为人脸三维建模这个应用场景来说,普通图像帧的内容一般应包括待建模的人脸。

深度摄像头110用于采集深度数据帧(即场景的深度信息),作为人脸三维建模这个应用场景来说,深度数据帧的内容一般应包括待建模人脸的深度信息。

可以理解,图1所示的结构仅为示意,电子设备100还可包括比图1中所示更多或者更少的组件,或者具有与图1所示不同的配置。图1中所示的各组件可以采用硬件、软件或其组合实现。于本发明实施例中,电子设备100可以是,但不限于台式机、笔记本电脑、智能手机、智能穿戴设备等通用设备,也可以是用于人脸三维建模的专业设备。

图2示出了本发明实施例提供的三维模型处理方法的流程图。在后文中,均以该方法应用于电子设备100的处理器102为例进行说明,即后文中步骤的执行主体均为电子设备100的处理器102。参照图2,该方法包括:

步骤s10:获得待建模人脸的原始人脸三维模型,原始人脸三维模型包括至少一个原始顶点。

原始人脸三维模型是指通过三维建模方法建立出的、未经过后处理的人脸三维模型。建立原始人脸三维模型的方法是不作限定的,例如可以采用现有技术中的结构光、飞行时间(timeofflight,简称tof)等方法,也可以采用本发明实施例提供的点云匹配方法(详见后文阐述)。由于技术的局限性,原始人脸三维模型中可能会出现诸如图1示出的质量问题。参照图3,整个人脸的比例下大上小,头发与脖子混在一起,类似于狮身人面像的样子,与真实的人脸区别较大,实用价值较低。

此外,还需要指出,步骤s10中可以包括建模步骤,也可以不包括建模步骤。

本发明实施例中建立的三维模型是指多边形模型,这类模型采用大量的多边形(例如,三角形、四边形等)拼接成的多面体近似表示物体的轮廓,其中,每个多边形的顶点也称为三维模型的顶点。

原始顶点是指原始人脸三维模型的顶点,“原始”一词仅仅是为了便于区分顶点所属的模型,并不具有任何特殊意义。后文中的标准顶点、目标顶点的命名方式是类似的。对于三维模型而言,在引用顶点时,通常是通过顶点索引的方式引用的,在后文中不再特别说明。

步骤s11:计算原始顶点与标准人脸三维模型中对应的标准顶点之间的几何差异。

标准人脸三维模型通常是指质量较好、形状没有异常的人脸三维模型,作为处理原始人脸三维模型时使用的参考标准。标准人脸三维模型是事先建立好的,例如,可以通过人工或自动化的方式计算大量构建良好的人脸三维模型的平均模型,该平均模型能够代表人脸三维模型的通常形状,因此可以作为标准人脸三维模型。当然,步骤s11实际上并不限定到底要采用何种模型作为标准人脸三维模型,可以根据实际需求进行选择。

原始人脸三维模型和标准人脸三维模型可以具有相同的顶点数量和相同的顶点顺序,从而二者之间的顶点可以一一对应起来。原始顶点和对应的标准顶点之间位置关系通过几何差异定义,几何差异可以包括平移、旋转、缩放所引起的差异,可以通过相应的公式进行量化计算。几何差异实际上表征了原始顶点处的原始人脸三维模型的形状与对应的标准顶点处的标准人脸三维模型的形状的相似程度,几何差异越大,表示二者的形状越不相似,几何差异越小,表示二者的形状越相似。

步骤s12:基于几何差异对需要处理的原始顶点进行几何变换,获得以标准顶点的位置为参照的目标顶点。

可以对原始人脸三维模型中的所有原始顶点都进行处理,即将所有的原始顶点都作为需要处理的原始顶点,但对于人脸三维模型的后处理任务而言,通常只需要选择一部分导致原始人脸三维模型形状异常的顶点进行处理,其他顶点无需进行处理。

例如,可以预先设置一个容差范围,若步骤s11中某个原始顶点和对应的标准顶点之间计算出的几何差异超过了该容差范围,就将该原始顶点确定为一个需要处理的原始顶点。其原理是:

根据之前的阐述,若某个原始顶点和对应的标准顶点之间的几何差异超过了容差范围,表明该原始顶点处的原始人脸三维模型的形状与对应的标准顶点处的标准人脸三维模型的形状存在较大差异,而标准人脸三维模型通常是质量较好的人脸三维模型,因此可以确定原始人脸三维模型在该原始顶点处的形状存在异常,需要进行修复处理。

若某个原始顶点和对应的标准顶点之间的几何差异未超过容差范围,表明该原始顶点处的原始人脸三维模型的形状与对应的标准顶点处的标准人脸三维模型的形状不存在较大差异,因此无需进一步处理。

当然,选择需要处理的原始顶点也可以采取其他的方式,例如根据统计规律事先指定好哪些原始顶点需要处理。

基于获得的几何差异,可以对原始顶点进行几何变换,使得变换后原始顶点处的原始人脸三维模型的形状尽量与对应的标准顶点处的标准人脸三维模型的形状相似,即该变换过程以标准顶点为参照,变换后的原始顶点被称作目标顶点。

步骤s13:在原始人脸三维模型中将需要处理的原始顶点替换为对应的目标顶点,得到变换后的人脸三维模型。

步骤s13是对原始人脸三维模型进行后处理优化的过程。例如,若步骤s12中将几何差异超过容差范围的原始顶点作为需要处理的原始顶点,在执行步骤s13的替换之后,由于目标顶点都是以标准顶点为参照计算的,因此替换后的顶点和标准顶点的几何差异通常都会落入容差范围内,从而能够消除原始人脸三维模型中的形状异常,使处理后的原始人脸三维模型具有较高的质量,再将其用于后续的各种应用之中,可以改善用户的体验。完成顶点替换的原始人脸三维模型可以如图2所示。参照图4,该人脸的比例合理,头发、脖子等部位分离度良好,与真实的人脸一致,实用价值较高。

可以理解的,在上述方法中,人脸三维模型可以是指整个人的头部,也可以是指头部的一部分。进一步的,上述方法也可以推广到其他物体的三维建模过程中。

在本发明的一个实施例中,针对原始人脸三维模型不同区域内的原始顶点,可以设置不同的容差范围,即可以针对不同的区域的特性进行差异化处理,有利于对原始人脸三维模型的后处理进行更精确的控制。

例如,在一种实现方式中,容差范围的取值与原始人脸三维模型不同区域内的曲率值正相关。在原始人脸三维模型的曲率值较大的区域,如耳朵、眼睛、鼻子等轮廓明显的区域,经发明人长期统计研究发现,建模后原始顶点与标准顶点之间的几何差异相对会大一些,此时容差范围也应相应地设置得大一些,避免过多的原始顶点被后处理,引起过度修复的问题,最终导致原始人脸三维模型的一些个性化特征被抹除。相应地,在原始人脸三维模型的曲率值较小的区域,如脸颊、下吧等轮廓不明显的区域,原始顶点与标准顶点之间的几何差异相对会小一些,容差范围也应设置得小一些。

在本发明的一个实施例中,几何差异可以定义为由以平移、转动、缩放三个部分组成,分别如下:

原始顶点与对应的标准顶点在三轴方向上的位移差(x,y,z);

原始顶点与对应的标准顶点在三轴方向上的转角差(θx,θy,θz);

原始顶点与对应的标准顶点在三轴方向上的缩放比例(sx,sy,sz)。

为进行步骤s13中的几何变换,还需要计算原始人脸三维模型相对于标准人脸三维模型的基础缩放比例scale1,分别计算原始人脸三维模型中的两眼距离d1以及标准人脸三维模型中的两眼距离d2,则scale1=d1/d2。

获得位移差、转角差、缩放比例以及基础缩放比例后,可以计算几何变换的变换矩阵matrix=m1(x,y,z)*m2(θx,θy,θz)*m3(sx,sy,sz)*scale1,其中,m1表示一个以位移差为元素的矩阵,m2表示一个以转角差为元素的矩阵,m3表示一个以缩放比例为元素的矩阵,m1、m2以及m3的具体形式可以根据实际需求确定。

记目标顶点的坐标为idst,需要处理的原始顶点的坐标为isrc,几何变换可以通过矩阵乘法表示,即idst=isrc*matrix。

在上述实施例中,给出了几何差异以及几何变换的数学描述,当然在其他一些实施例中,不排除通过其他方式定义几何差异以及几何变换。

对于上述实施例来说,步骤s12中涉及的容差范围可以设置为针对位移差、转角差以及缩放比例中的各参数的取值范围,容差范围可以在进行三维模型后处理之前载入。

在本发明的一个实施例中,在步骤s13中完成顶点替换后,可以将完成顶点替换的原始人脸三维模型在电子设备100的显示器106上显示,以使用户可以及时获知对原始人脸三维模型进行后处理的结果,从而评估本发明实施例提供的三维模型处理方法的处理效果。

在某些实现方式中,也可以在对原始人脸三维模型进行处理的同时就将其显示在显示器106上,使用户可以实时观察处理过程。

在本发明的一个实施例中,还提供一种原始人脸三维模型的建模方法。图5示出了本发明实施例提供的三维模型处理方法的步骤s10的流程图。参照图5,步骤s10可以进一步包括:

步骤s100:获得由深度摄像头110从不同位置采集的待建模人脸的多个深度数据帧。

三维模型需要采集多个角度下的深度信息,将这些深度信息在空间上关联起来才能够完成模型的构建。深度数据帧具体的采集方式不作限定,例如,可以通过手持电子设备100围绕待建模人脸走动的方式进行采集,也可以将电子设备100放置在旋转机构上,旋转机构围绕待建模人脸转动完成采集,等等。

步骤s101:确定多个深度数据帧中可用于建模的深度数据帧。

如果能够确保深度数据帧中都包括待建模人脸的深度信息,那么这些深度数据帧都可用于建模。但实际中,也有可能会采集到一些并不包括人脸的深度数据帧,例如,作为拍摄对象的人在运动过程中,在某些时刻,其人脸可能位于深度摄像头110的拍摄范围之外。不包括人脸的深度信息的深度数据帧若被用于建模,可能导致模型质量下降。因此,可以对获得的深度数据帧进行筛选,确定其中可用于建模的深度数据帧。

在一些实现方式中,可以直接检测深度数据帧中是否存在人脸,只有在确定其中存在人脸时,才将该深度数据帧确定为可用,否则将其丢弃。在另一些实现方式中,可以通过普通摄像头108的辅助进行检测,在这些实现方式中,电子设备100同时包括深度摄像头110和普通摄像头108,二者设置在相邻近的位置。在深度摄像头110采集深度数据帧的同时,普通摄像头108也同步地采集一个普通图像帧。由于深度数据帧和对应的普通图像帧的采集位置基本是相同的,从而,只需要检测普通图像帧中是否存在人脸,就可以确定对应的深度数据帧中是否存在人脸。对于普通图像帧的人脸检测,可以利用现有的任意一种人脸检测算法,这里不进行详细阐述。如果普通图像帧中检测到人脸,将对应的深度数据帧确定为可用,否则确定为不可用,可以将该深度数据帧丢弃,避免影响建模质量。

步骤s102:在可用于建模的深度数据帧中的相邻帧对应的点云之间进行点云匹配,获得原始人脸三维模型。

每个深度数据帧对应一片点云,点云匹配就是求两片点云之间的旋转矩阵以及平移矩阵,将源点云变换到目标点云相同的坐标系下。点云匹配可以表示为以下的方程:

pt=r*ps+t

其中pt为目标点云,ps为源点云,点云匹配即求该公式中的旋转矩阵r与平移矩阵t。通过点云匹配可以将相邻帧的两片点云关联起来,将所有的相邻帧的对应的点云都关联后,实际上也就是将所有可用于建模的深度数据帧对应的深度信息结合在一起,从而完成了原始人脸三维模型的构建。

具体而言,点云匹配通常包括粗配准与精配准两个步骤:

粗配准就是在完全不清楚两片点云的相对位置关系的情况下,找到这两片点云近似的旋转矩阵r以及平移矩阵t(不一定很精确,但是已经大概是对的了)。粗配准的评价标准可以采用lcp(largetstcommonpointset):给定两个点集p和q,找到一个变换t(p),使得变换后的p与q的重叠度最大。解决上述lcp问题,最简单的方法就是遍历,为降低运算复杂度,还可以引入一些搜索策略,例如4pc(4pointcongruent)等策略。

精配准就是在已知旋转平移的初值的情况下(由粗配准获得),进一步计算得到更加精确的旋转矩阵r以及平移矩阵t。以icp(iterativeclosestpoint)算法为例,算法核心是最小化一个目标函数:

式中,是一对对应点,总共有np对对应点。这个目标函数实际上就是所有对应点之间的欧式距离的平方和。用初始的旋转矩阵r以及平移矩阵t对源点云进行变换,得到的一个变换后的点云。然后将这个变换后的点云与目标点云进行比较,只要两个点云之间的两个点的距离小于一定阈值,就认为这两个点是一对对应点。用初始的旋转矩阵r、平移矩阵t以及对应点进行迭代,优化r和t,使得目标函数f的函数值f(r,t)不断下降,icp算法最终收敛得到的就是最优的旋转矩阵r以及平移矩阵t。

在步骤s102的一种实现方式中,每获得一个可用于建模的深度数据帧,就将其加入至点云匹配队列,并将其与上次加入队列的深度数据帧进行点云匹配。在其他一些实施方式中,也可以获得全部的深度数据帧以后再进行点云匹配,或者采用其他的数据结构存储深度数据帧。

现有技术中的三维建模方法,例如结构光等方法,需要依赖于专门的硬件设备,如结构光设备,其成本较高,而上述实施例中只需要利用深度摄像头110采集的深度数据帧即可完成三维建模,深度摄像头110是一种常见设备,目前的多摄像头手机上通常都包括深度摄像头110以及普通摄像头108,其实施成本较低,易于推广普及。

本发明实施例还提供一种三维模型处理装置200。参照图6,该装置包括:

模型获取模块210,用于获得原始人脸三维模型,原始人脸三维模型包括至少一个原始顶点;

几何差异计算模块220,用于计算原始顶点与标准人脸三维模型中对应的标准顶点之间的几何差异;

目标顶点计算模块230,用于基于几何差异对需要处理的原始顶点进行几何变换,获得以标准顶点的位置为参照的目标顶点;

目标模型获取模块240,用于在原始人脸三维模型中将需要处理的原始顶点替换为对应的目标顶点,得到变换后的人脸三维模型。

本发明实施例提供的三维模型处理装置200,其实现原理及产生的技术效果和前述方法实施例相同,为简要描述,装置实施例部分未提及之处,可参考前述方法施例中的相应内容。

本发明实施例还提供一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序指令,计算机程序指令被处理器读取并运行时,执行本发明实施例提供的三维模型处理方法的步骤。该计算机可读存储介质可以实现为,但不限于图1示出的存储装置104。

本发明实施例还提供一种电子设备,包括存储器以及处理器,存储器中存储有计算机程序指令,计算机程序指令被处理器读取并运行时,执行本发明实施例提供的三维模型处理方法的步骤。该电子设备可以实现为,但不限于图1示出的电子设备100。

需要说明的是,本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。对于装置类实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。

本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,也可以通过其他的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本发明的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。

另外,在本发明各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。

所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在存储介质中,包括若干指令用以使得计算机设备执行本发明各个实施例所述方法的全部或部分步骤。前述的计算机设备包括:个人计算机、服务器、移动设备、智能穿戴设备、网络设备、虚拟设备等各种具有执行程序代码能力的设备,前述的存储介质包括:u盘、移动硬盘、只读存储器、随机存取存储器、磁碟、磁带或者光盘等各种可以存储程序代码的介质。

以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。

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