三维人脸模型生成方法、装置、计算机设备及存储介质与流程

文档序号:20922597发布日期:2020-05-29 14:21阅读:290来源:国知局
三维人脸模型生成方法、装置、计算机设备及存储介质与流程

本申请实施例涉及计算机技术领域,特别涉及一种三维人脸模型生成方法、装置、计算机设备及存储介质。



背景技术:

随着计算机技术的发展,三维人脸模型的应用越来越广泛。三维人脸模型可以用于多种场景下,如游戏人物构建场景、虚拟人物形象构建场景等,通过用户的人脸图像,可以生成用户的三维人脸模型,便于用户的使用。

相关技术中提供了一种三维人脸模型生成方法,获取目标人脸的视频,将该视频中包括的多个人脸图像进行融合,生成三维人脸模型。由于上述方法是将视频中的多个人脸图像进行融合,融合过程所需的计算量大,导致构建三维人脸模型的效率低。



技术实现要素:

本申请实施例提供了一种三维人脸模型生成方法、装置、计算机设备及存储介质,能够提高了构建三维人脸模型的效率。所述技术方案如下:

一方面,提供了一种三维人脸模型构建方法,所述方法包括:

获取多个目标人脸图像及对应的多个深度图像,所述多个目标人脸图像包含同一人脸,且所述多个深度图像包含对应目标人脸图像中的像素点的深度信息;

根据每个目标人脸图像所属的图像类型,获取所述每个目标人脸图像中与所属的图像类型匹配的区域人脸图像,所述图像类型包括正脸类型、左侧脸类型、右侧脸类型或抬头类型;

根据所述每个目标人脸图像中的区域人脸图像,获取对应的深度图像中的区域深度图像,所述区域人脸图像的位置与所述区域深度图像的位置匹配;

根据获取的多个区域人脸图像及多个区域深度图像进行融合,生成所述人脸的三维人脸模型。

另一方面,提供了一种三维人脸模型构建装置,所述装置包括:

图像获取模块,用于获取多个目标人脸图像及对应的多个深度图像,所述多个目标人脸图像包含同一人脸,且所述多个深度图像包含对应目标人脸图像中的像素点的深度信息;

第二图像获取模块,用于根据每个目标人脸图像所属的图像类型,获取所述每个目标人脸图像中与所属的图像类型匹配的区域人脸图像,所述图像类型包括正脸类型、左侧脸类型、右侧脸类型或抬头类型;

第三图像获取模块,用于根据所述每个目标人脸图像中的区域人脸图像,获取对应的深度图像中的区域深度图像,所述区域人脸图像的位置与所述区域深度图像的位置匹配;

人脸模型生成模块,用于根据获取的多个区域人脸图像及多个区域深度图像进行融合,生成所述人脸的三维人脸模型。

可选地,所述第二图像获取模块,包括:

标志点选取单元,用于从任一目标人脸图像的多个标志点中,选取与所述目标人脸图像所属的图像类型匹配的至少一个第一标志点;

人脸图像获取单元,用于从所述目标人脸图像中获取所述至少一个第一标志点构成的区域人脸图像。

可选地,所述图像获取模块,包括:

第一图像获取单元,用于获取多个人脸图像及对应的多个深度图像,所述多个人脸图像包含所述人脸;

图像序列划分单元,用于将所述多个人脸图像按照所属的图像类型进行划分,得到多个图像序列,每个图像序列包括所属图像类型相同的人脸图像;

第二图像获取单元,用于从每个图像序列中选取一个目标人脸图像,得到所述多个目标人脸图像,获取所述多个目标人脸图像对应的深度图像。

可选地,所述多个图像序列至少包括所述正脸类型对应的第一图像序列和其他图像类型对应的第二图像序列,所述第二图像获取单元,还用于从所述第一图像序列中选取一个第一人脸图像,作为所述目标人脸图像;获取每个第二图像序列中的每个第二人脸图像与所述第一人脸图像之间的姿态角度差;分别从所述每个第二图像序列中选取一个所述姿态角度差最大的第二人脸图像,也作为所述目标人脸图像。

可选地,所述第二图像获取单元,还用于对于任一第二人脸图像,确定所述第二人脸图像与所述第一人脸图像中序号相同的至少一个第二标志点;根据所述第一人脸图像中所述至少一个第二标志点的坐标,及所述第二人脸图像中所述至少一个第二标志点的坐标,获取所述第一人脸图像与所述第二人脸图像之间的旋转平移矩阵;对所述旋转平移矩阵进行转换,得到所述第二人脸图像与所述第一人脸图像之间的姿态角度差。

可选地,所述图像获取模块,包括:

第三图像获取单元,用于获取多个人脸图像及对应的多个深度图像,所述多个人脸图像包含所述人脸;

人脸图像确定单元,用于根据每个人脸图像的眼部状态,将所述多个人脸图像中处于未眨眼状态的人脸图像,确定为所述目标人脸图像,所述眼部状态包括眨眼状态或未眨眼状态。

可选地,所述装置还包括:

标志点确定模块,用于对于任一人脸图像,确定所述人脸图像中目标眼部区域的上眼皮标志点、下眼皮标志点、左眼角标志点及右眼角标志点;

距离确定模块,用于确定所述上眼皮标志点与所述下眼皮标志点之间的第一距离,及所述左眼角标志点与所述右眼角标志点之间的第二距离;

开合比确定模块,用于将所述第一距离与所述第二距离之间的比值确定为所述目标眼部区域的开合比;

状态确定模块,用于响应于所述开合比小于开合比阈值,确定所述人脸图像处于眨眼状态;

所述状态确定模块,还用于响应于所述开合比不小于所述开合比阈值,确定所述人脸图像处于未眨眼状态。

可选地,所述装置还包括:

阈值确定模块,用于获取所述多个人脸图像对应的开合比的平均值,作为所述开合比阈值。

可选地,所述人脸模型生成模块,包括:

第一融合单元,用于将所述多个区域深度图像进行融合,得到三维轮廓模型;

特征提取单元,用于从所述多个目标人脸图像中分别提取每个区域人脸图像的颜色纹理特征;

第二融合单元,用于将所述每个区域人脸图像的颜色纹理特征与所述三维轮廓模型进行融合,生成所述三维人脸模型。

可选地,所述第一融合单元,还用于根据所述每个目标人脸图像对应的焦距值,将所述每个目标人脸图像对应的区域深度图像转换成点云数据;将所述每个目标人脸图像对应的点云数据进行融合,得到所述三维轮廓模型。

可选地,所述多个目标人脸图像包括所述正脸类型对应的第一人脸图像和其他图像类型对应的第二人脸图像,所述第一融合单元,还用于按照每个第二人脸图像与所述第一人脸图像的姿态角度差,将所述每个第二人脸图像对应的第二点云数据进行旋转;将旋转后的每个第二点云数据与所述第一人脸图像对应的第一点云数据进行融合,生成所述三维轮廓模型。

可选地,所述第二融合单元,还用于确定每个区域人脸图像在所述三维轮廓模型中对应的区域;分别将所述每个区域人脸图像的颜色纹理特征融合至所述三维轮廓模型中对应的区域的表面,生成所述目标人脸的三维人脸模型。

另一方面,提供了一种计算机设备,所述计算机设备包括处理器和存储器,所述存储器中存储有至少一条程序代码,所述至少一条程序代码由所述处理器加载并执行,以实现如上述方面所述的三维人脸模型生成方法。

另一方面,提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有至少一条程序代码,所述至少一条程序代码由处理器加载并执行,以实现如上述方面所述的三维人脸模型生成方法。

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

本申请实施例提供的方法、装置、计算机设备及存储介质,获取多个目标人脸图像及对应的多个深度图像,根据每个目标人脸图像所属的图像类型,获取每个目标人脸图像中与所属的图像类型匹配的区域人脸图像,根据每个目标人脸图像中的区域人脸图像,获取对应的深度图像中的区域深度图像,通过获取每个目标人脸图像与所属图像类型匹配的区域人脸图像,将该目标人脸图像中其他区域的人脸图像剪裁处理,使得到的每个区域人脸图像及对应的区域深度图像只包括所属图像类型匹配的区域,不包括其他图像类型匹配的区域,从而使不同的区域人脸图像之间的重叠区域减少,根据获取到多个区域人脸图像及多个区域深度图像进行融合,生成人脸的三维人脸模型过程中的计算量小,从而提高了构建三维人脸模型的效率。

且多个目标人脸图像中可以包含抬头类型的人脸图像,使生成的三维人脸模型中能够包含人脸的下巴区域和脖颈区域,从而提高了生成的三维人脸模型的完整性。

并且,通过对获取到的多个人脸图像进行筛选,选取多个目标人脸图像,减少了构建三维人脸模型所需的人脸图像的数量,以使后续在传输多个目标人脸图像时,提高了人脸图像的传输效率,且提高了构建三维人脸模型的效率。

并且,通过确定获取到的多个人脸图像的眼部状态,筛选出处于未眨眼状态的人脸图像,使筛选后的人脸图像的数量减少,从而通过筛选后的人脸图像生成三维人脸模型的过程中的计算量小,且通过处于未眨眼状态的人脸图像,提高了生成的三维人脸模型的完整性。

附图说明

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

图1是本申请实施例提供的一种实施环境的示意图;

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

图3是本申请实施例提供的一种人脸图像序列的示意图;

图4是本申请实施例提供的一种人脸图像的示意图;

图5是本申请实施例提供的一种坐标系的示意图;

图6是本申请实施例提供的一种多个目标人脸图像的示意图;

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

图8是本申请实施例提供的一种多个区域深度图像的示意图;

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

图10是本申请实施例提供的一种三维轮廓模型的示意图;

图11是本申请实施例提供的一种三维轮廓模型的示意图;

图12是本申请实施例提供的一种三维人脸模型的示意图;

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

图14是本申请实施例提供的一种三维人脸模型生成装置的结构示意图;

图15是本申请实施例提供的一种三维人脸模型生成装置的结构示意图;

图16是本申请实施例提供的一种终端的结构示意图;

图17是本申请实施例提供的一种服务器的结构示意图。

具体实施方式

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

本申请所使用的术语“第一”、“第二”等可在本文中用于描述各种概念,但除非特别说明,这些概念不受这些术语限制。这些术语仅用于将一个概念与另一个概念区分。举例来说,在不脱离本申请的范围的情况下,可以将第一人脸图像称为第二人脸图像,且类似地,可将第二人脸图像称为第一人脸图像。

本申请所使用的术语“至少一个”、“多个”、“每个”、“任一”,至少一个包括一个、两个或两个以上,多个包括两个或两个以上,而每个是指对应的多个中的每一个,任一是指多个中的任意一个。举例来说,多个元素包括3个元素,而每个是指这3个元素中的每一个元素,任一是指这3个元素中的任意一个,可以是第一个,可以是第二个、也可以是第三个。

为了便于理解本申请实施例的技术过程,下面对本申请实施例所涉及的一些名词进行解释:

rgb-d(redgreenblue-depth,颜色深度)图像序列:通过深度摄像机采集得到的带有彩色信息的rgb(redgreenblue,红绿蓝)图像序列和带有深度信息depth(深度)图像序列。rgb图像用于提取三维模型的纹理信息,depth图像用于获取三维信息。

pnp(pespective-n-point,计算机视觉):在已知世界坐标系下n个空间点的三维坐标以及这些空间点在图像上的二维投影,求解摄像机的姿态,在本申请实施例中用来计算人脸转动的姿态角。

ransac(randomsampleconsensus,随机抽样一致):随机抽样一致性算法,从一组包含“局外点”的观测数据集中,通过迭代方式估计数学模型的参数。

icp(iterativeclosestpoint,最近点搜索):迭代最近点算法,是一种点云匹配算法。该算法通过迭代计算两幅点云的空间变换关系,使两幅点云转换到同一坐标系下进行配准对齐。

svd(singularvaluedecomposition,奇异值分解):线性代数中一种重要的对矩阵进行分解的方法,得到左奇异矩阵、sigma(协方差)矩阵和右奇异矩阵。

surfel(点元)模型:一种三维点云数据模型,该模型中每个点云存储了点的位置信息、面片的半径、法向量、颜色信息和点云数据的获取时间。

本申请实施例提供的三维人脸模型生成方法,可以用于计算机设备中。在一种可能实现方式中,该计算机设备可以为终端,该终端可以为手机、计算机、平板电脑等多种类型的终端。

终端通过深度摄像机拍摄人脸,获取到多个目标人脸图像及对应的多个深度图像,根据获取的多个目标人脸图像及对应的多个深度图像,确定出多个区域人脸图像及多个区域深度图像,根据该多个区域人脸图像及该多个区域深度图像生成人脸的三维人脸模型。

在另一种可能实现方式中,该计算机设备可以包括服务器和终端。图1是本申请实施例提供的一种实施环境的结构示意图,如图1所示,该实施环境包括终端101和服务器102。终端101与服务器102建立通信连接,通过建立的通信连接进行交互。

其中,该终端101可以为手机、计算机、平板电脑等多种类型的终端101。服务器102可以为一台服务器,或者由若干台服务器组成的服务器集群,或者是一个云计算服务器中心。

终端101通过深度摄像机拍摄人脸,获取到多个目标人脸图像及对应的多个深度图像,将获取到多个目标人脸图像及对应的多个深度图像发送至服务器102,该服务器102根据接收到的多个目标人脸图像及对应的多个深度图像,确定出多个区域人脸图像及多个区域深度图像,根据该多个区域人脸图像及该多个区域深度图像生成人脸的三维人脸模型,服务器102将生成的三维人脸模型发送至终端101,终端101显示该三维人脸模型供用户使用。

本申请实施例提供的方法,可用于各种场景下构建三维人脸模型,以适用于不同场景下的互动娱乐需求。例如,在游戏、宣传发布等场景中可准确构建出人脸的三维人脸模型,用于构建逼真的游戏人物属性。在日常对话交流场景下,构建出来的三维人脸模型可用于定制专属的颜文字,增强聊天的趣味性。构建出来的三维人脸模型还可以用于虚拟美妆、虚拟试衣、虚拟人物形象等广泛的娱乐场景。

例如,仿真游戏人物设置场景下:

用户在终端显示的游戏场景界面中,点击仿真游戏人物设置按钮,打开该终端的深度摄像机,通过该深度摄像机拍摄该用户的人脸,获取到多个人脸图像及对应的深度图像,则终端采用本申请实施例提供的三维人脸模型生成方法,根据获取的多个目标人脸图像及对应的多个深度图像,生成人脸的三维人脸模型,在终端的游戏场景界面中显示该三维人脸模型,用户可以通过该游戏场景界面将该三维人脸模型作为仿真游戏人物的人脸。

图2是本申请实施例提供的一种三维人脸模型生成方法的流程图,应用于计算机设备中,如图2所示,该方法包括:

201、计算机设备获取多个人脸图像及对应的多个深度图像。

其中,人脸图像及对应的深度图像可以通过深度摄像机拍摄人脸得到的,人脸图像是包含人脸的rgb三通道彩色图像,深度图像是包含对应的人脸图像中的像素点的深度信息的图像。人脸图像中每个像素点与人脸的任一位置点对应,任一像素点的深度信息可以表示为该像素点对应的人脸位置与深度摄像机的位置之间的距离,则通过深度图像中的深度信息,可以确定出真实空间中深度摄像机的位置与人脸任一点之间的距离。该多个人脸图像包含同一人脸,在该多个人脸图像中,该人脸的朝向可以不同,如人脸的朝向可以为人脸朝向正前方、人脸朝向左侧、人脸朝向右侧、人脸朝向上方等。该多个人脸图像与该多个深度图像一一对应。

在一种可能实现方式中,该步骤201可以包括:计算机设备通过深度摄像机对人脸进行拍摄,获取到多个人脸图像及对应的多个深度图像。其中,深度摄像机用于获取人脸图像及对应的深度图像。在计算机设备通过深度摄像机对人脸进行拍摄时,获取到的人脸图像与深度图像是一一对应的。

其中,深度摄像机可以包括摄像头及深度传感器,对人脸进行拍摄时,通过摄像头可以拍摄到人脸图像,通过深度传感器可以获取到人脸图像对应的深度图像。例如,手机包括摄像头和深度传感器,用户点击该手机的拍摄按钮对该用户的人脸进行拍摄时,通过该摄像头获取到一个人脸图像,且同时通过该深度传感器获取到与该人脸图像对应的深度图像。

另外,在计算机设备对人脸拍摄时,该人脸可以按照预设顺序转动,使该计算机设备可以进行多次拍摄。其中,该预设顺序可以为初始位置为人脸正面朝向计算机设备,人脸向左转动,人脸向右转动回到初始位置,人脸向右转动,人脸向左转动回到初始位置,人脸向上抬头。在人脸转动过程中,计算机设备对人脸进行拍摄,可以获取到多个人脸图像及对应的多个深度图像。对于计算机设备的拍摄方式,可以对人脸拍摄视频,也可以按照预设拍摄间隔对人脸进行拍摄,如该预设拍摄间隔可以为1秒。

另外,计算机设备获取到的多个人脸图像及对应的多个深度图像可以作为rgb-d(redgreenblue-depth,颜色深度)图像序列,其中,如图3所示,多个人脸图像可以为rgb-d图像序列包括的带有彩色信息的rgb图像序列,多个深度图像可以为rgb-d图像序列包括的带有深度信息depth(深度)图像序列。

202、计算机设备将多个人脸图像按照所属的图像类型进行划分,得到多个图像序列。

其中,按照人脸朝向的不同,可以将人脸图像划分为多种图像类型。图像类型包括正脸类型、左侧脸类型、右侧脸类型或抬头类型,属于正脸类型的人脸图像中人脸朝向正前方,属于左侧脸类型的人脸图像中人脸朝向该人脸的右侧,属于右侧脸类型的人脸图像中人脸朝向该人脸的左侧,属于抬头类型的人脸图像中人脸朝向上方。如图3所示,人脸图像231属于正脸类型,人脸图像232属于左侧脸类型,人脸图像233属于右侧脸类型,人脸图像234属于抬头类型。

每个图像序列包括至少一个人脸图像,每个图像序列包括所属图像类型相同的人脸图像。计算机设备获取到多个人脸图像后,确定该多个人脸图像的图像类型,将该多个人脸图像中所属图像类型相同的人脸图像划分为一个图像序列,则得到的多个图像序列可以包括正脸图像序列,及左侧脸图像序列、右侧脸图像序列及抬头图像序列中的至少一种。

对于确定多个人脸图像的图像类型,在一种可能实现方式中,计算机设备对该多个人脸图像进行标志点检测,确定每个人脸图像中包括的至少一个标志点;对于任一人脸图像,该人脸图像中与任一图像类型匹配的标志点个数超过预设阈值时,确定该人脸图像属于该任一图像类型;或者,对于任一人脸图像,确定该人脸图像中与每个图像类型匹配的标志点的个数,将匹配的标志点的个数最大的图像类型确定为该人脸图像的图像类型。

其中,每个人脸图像中可以包括至少一个标志点,每个标志点指示人脸中一个位置,在多个标志点中,不同的标志点在人脸中指示的位置不同。如图4所示,人脸图像中多个标志点在人脸中的位置,标志点71指示人脸的鼻尖位置,标志点60指示人脸中右眼的右眼角位置等。由于不同的标志点指示人脸不同的位置,因此,可以为不同的标志点设置相匹配的图像类型。

例如,对于正脸类型的人脸图像,可以将指示人脸鼻尖、眼部区域、嘴唇区域的标志点设置为与该正脸类型匹配的标志点;对于左侧脸类型的人脸图像,可以将指示人脸中左侧脸多个位置的标志点设置为与该左侧脸类型匹配。计算机设备根据每个人脸图像中包括的人脸进行标志点检测,可以确定出每个人脸图像中包括的标志点,后续可以根据每个人脸图像中包括的标志点匹配的图像类型,确定出每个人脸图像所属的图像类型。

可选地,计算机设备通过标志点检测模型对该多个人脸图像进行标志点检测,确定每个人脸图像中包括的标志点。其中,该标志点检测模型可以是卷积神经网络模型,是通过大量的样本训练后得到的。

在另一种可能实现方式中,计算机设备按照获取该多个人脸图像顺序,将第一个人脸图像确定为正脸图像,将该多个人脸图像中其余的人脸图像作为待确定图像类型的人脸图像;对该多个人脸图像进行标志点检测,确定每个人脸图像中包括的至少一个标志点;对于其中的任一人脸图像,确定该人脸图像与该正脸图像中共同包括的预设数目个目标标志点,利用该人脸图像中目标标志点的坐标,及该正脸图像中目标标志点的坐标,确定该人脸图像与该正脸图像之间的姿态角度差;根据每个人脸图像对应的姿态角度差,确定每个人脸图像所属的图像类型。

其中,该多个人脸图像是按照时间顺序依次获取到的,在开始拍摄人脸时,人脸正面朝向深度摄像机,则获取到的第一个人脸图像为正脸图像。

其中,姿态角度差包括偏航角度差或俯仰角度差,如图5所示,人脸正面朝向x轴的正方向,人脸绕z轴的转动角度为偏航角251;人脸绕y的转动角度为俯仰角252。该偏航角度差和俯仰角度差均可以为正数或负数,响应于人脸图像对应的偏航角度差为正数,确定该人脸图像属于左侧脸类型;响应于人脸图像对应的偏航角度差为负数,确定该人脸图像属于右侧脸类型;响应于人脸图像对应的俯仰角度差为正数时,确定该人脸图像属于抬头类型。例如,人脸向右转头,则拍摄得到的人脸图像中显示该人脸的左侧脸区域,该人脸图像与正脸图像之间的偏航角度差为正数;人脸向左转头,则拍摄得到的人脸图像显示该人脸的右侧脸区域,该人脸图像与正脸图像之间的偏航角度差为负数;人脸向上抬头时,则拍摄得到的人脸图像显示该人脸的下巴区域及脖颈区域,该人脸图像与正脸图像之间的俯仰角度差为正数。

在确定姿态角度差时,可选地,根据人脸图像及正脸图像中序号相同的目标标志点的坐标,确定该人脸图像与该正脸图像之间的旋转矩阵,将该旋转矩阵转换成角度,作为该人脸图像与该正脸图像之间的姿态角度差。其中,该待确定的人脸图像与该正脸图像之间的姿态角度差,可以利用pnp算法进行计算得到。

另外,该预设数目是由预先设置的,如预设数目为10。如果待确定的人脸图像与该正脸图像之间共同包括的标志点数目大于该预设数目,可以利用随机算法,如ransac算法,从待确定的人脸图像与该正脸图像之间共同包括的标志点中,确定出预设数目个目标标志点。

203、计算机设备从每个图像序列中选取一个目标人脸图像,得到多个目标人脸图像,获取多个目标人脸图像对应的深度图像。

由于每个图像序列包括所属图像类型相同的人脸图像,相同图像类型的人脸图像中包含的人脸会存在重叠区域,因此,从每个图像序列中选取一个目标人脸图像,则可以从多个图像序列中得到多个目标人脸图像,以便后续能够通过选取得到的多个目标人脸图像生成三维人脸模型,从而提高了生成三维人脸模型的效率。另外,多个目标人脸图像中可以包括抬头类型的人脸图像,以使后续生成的三维人脸模型中能够包含人脸的下巴区域和脖颈区域。

另外,在多个图像序列中,不同的图像序列所对应的图像类型不同,则得到的多个目标人脸图像中不同的目标人脸图像所属的图像类型不同。如图6所示,该多个目标人脸图像可以包括属于正脸类型的人脸图像231、属于左侧脸类型的人脸图像232、属于右侧脸类型的人脸图像233、属于抬头类型人脸图像234。

在一种可能实现方式中,计算机设备在图像序列中选取目标人脸图像的过程,如图7所示,可以包括以下步骤2031-步骤2033:

2031:从第一图像序列中选取一个第一人脸图像,作为目标人脸图像。

在本申请实施例中,多个图像序列至少包括正脸类型对应的第一图像序列和其他图像类型对应的第二图像序列。第一图像序列中的第一人脸图像均属于正脸类型,则可以从第一图像序列中随机选取一个第一人脸图像作为目标人脸图像;或者,第一图像序列中的第一人脸图像按照拍摄时间顺序排列,可以将拍摄时间最早的第一人脸图像作为目标人脸图像。

2032:获取每个第二图像序列中的每个第二人脸图像与第一人脸图像之间的姿态角度差。

其中,该步骤2032中的姿态角度差与上述步骤202中对姿态角度差的说明类似,在此不再赘述。且该步骤2032获取姿态角度差的方式,也可与上述步骤202中获取姿态角度差的方式类似,在此不再赘述。

在一种可能实现方式中,该2032可以包括:对于任一第二人脸图像,确定第二人脸图像与第一人脸图像中序号相同的至少一个第二标志点;根据第一人脸图像中至少一个第二标志点的坐标,及第二人脸图像中至少一个第二标志点的坐标,获取第一人脸图像与第二人脸图像之间的旋转平移矩阵;对旋转平移矩阵进行转换,得到第二人脸图像与第一人脸图像之间的姿态角度差。

其中,每个人脸图像可以包括多个标志点,每个标志点指示人脸中一个位置,不同的标志点在人脸中指示的位置不同。因此,可以将多个标志点分别设置不同的序号,根据任一个序号可以确定出对应的标志点。例如,标志点71指示人脸的鼻尖位置,标志点60指示人脸中右眼的右眼角位置等。

由于该至少一个第二标志点在第一人脸图像和第二人脸图像中的坐标不同,通过第一人脸图像中至少一个第二标志点的坐标,及第二人脸图像中至少一个第二标志点的坐标,可以确定出将第一人脸图像中至少一个第二标志点的坐标转换成第二人脸图像中至少一个第二标志点的坐标的旋转平移矩阵,或者,可以确定出第二人脸图像中至少一个第二标志点的坐标转换成第一人脸图像中至少一个第二标志点的坐标的旋转平移矩阵,将该旋转平移矩阵换成角度,将该角度可以作为第二人脸图像与第一人脸图像之间的姿态角度差。

对于选取的第二标志点的个数,可以是预设数目个第二标志点,与上述步骤202中预设数目个目标标志点的方式类似,在此不再赘述。

在另一种可能实现方式中,该步骤202可以包括:对于任一第二人脸图像,确定第二人脸图像中标志点集合s,及第一人脸图像中标志点集合m;从标志点集合s中随机选择预设数目个标志点,得到标志点集合s′,从标志点集合m中随机选择预设数目个标志点,得到标志点集合m′,且该标志点集合s′中的标志点与标志点集合m′中的标志点一一对应;分别确定该标志点集合s′和标志点集合m′的形心μs和形心μm;分别将该标志点集合s′和标志点集合m′中标志点的坐标减去对应的形心μs和形心μm的坐标,得到新的标志点集合s′和新的标志点集合m′,该标志点集合s′、标志点集合m′、标志点集合s′及标志点集合m′满足以下关系:

通过该标志点集合s′及该标志点集合m′构造矩阵w,并对矩阵w进行分解,得到矩阵u和矩阵v,该标志点集合s′、该标志点集合m′、该矩阵w、该矩阵u及该矩阵v满足以下关系:

利用该矩阵u及该矩阵v,得到第一人脸图像与第二人脸图像之间的旋转矩阵r;通过旋转矩阵r、形心μs及形心μm,可以得到第一人脸图像与第二人脸图像之间的平移矩阵t;该矩阵u、矩阵v、旋转矩阵r、平移矩阵t、形心μs及形心μm满足以下关系:

将该旋转矩阵r和平移矩阵t融合得到该旋转平移矩阵,对旋转平移矩阵进行转换,得到第二人脸图像与第一人脸图像之间的姿态角度差。其中,上述公式中的t用于表示将矩阵进行转置,得到该矩阵的转置矩阵。如,矩阵v的转置矩阵为vt。另外,上述过程可以通过ransac算法和icp算法,得到第二人脸图像与第一人脸图像之间的姿态角度差。

2033:分别从每个第二图像序列中选取一个姿态角度差最大的第二人脸图像,也作为目标人脸图像。

由于第一人脸图像属于正脸类型,第二人脸图像属于其他图像类型,如左侧脸类型或右侧脸类型,第二人脸图像与第一人脸图像之间的姿态角度差越大,第二人脸图像中包含的与所属图像类型匹配的区域越完整,则后续生成的三维人脸模型越准确,因此,从每个第二图像序列中选取一个姿态角度差最大的第二人脸图像,也作为目标人脸图像。例如,左侧脸类型对应的脸部区域为人脸的左侧脸,左侧脸类型的两个第二人脸图像与第一人脸图像对应的姿态角度差分别为20度和30度,则姿态角度差为30对应的第二人脸图像中显示的左侧脸比姿态角度差为30对应的第二人脸图像中显示的左侧脸完整,因此选取姿态角度差为30度的第二人脸图像作为目标人脸图像。

需要说明的是,本申请实施例是通过将获取到多个人脸图像划分成多个图像序列来确定目标人脸图像的,而在另一实施例中,还可以获取多个人脸图像及对应的多个深度图像;根据每个人脸图像的眼部状态,将多个人脸图像中处于未眨眼状态的人脸图像,确定为目标人脸图像,眼部状态包括眨眼状态或未眨眼状态。

由于处于眨眼状态的人脸图像中包含的人脸中眼部区域的特征不完整,如果将处于眨眼状态的人脸图像生成三维人脸模型,会导致该三维人脸模型的准确度差,因此,需要在生成三维人脸模型之前,需要筛选出处于未眨眼状态的人脸图像,以便后续生成三维人脸模型。

对于确定人脸图像的眼部状态的方式,在一种可能实现方式中,该方法还包括:对于任一人脸图像,确定人脸图像中目标眼部区域的上眼皮标志点、下眼皮标志点、左眼角标志点及右眼角标志点;确定上眼皮标志点与下眼皮标志点之间的第一距离,及左眼角标志点与右眼角标志点之间的第二距离;将第一距离与第二距离之间的比值确定为目标眼部区域的开合比;响应于开合比小于开合比阈值,确定人脸图像处于眨眼状态;响应于开合比不小于开合比阈值,确定人脸图像处于未眨眼状态。

其中,目标眼部区域可以为左眼部区域或右眼部区域,开合比用于表示眼睛开合的大小程度,通过该开合比可以确定眼部区域的眼部状态。开合比阈值可以是通过多个人脸中眼部区域的开合比预先设置的;也可以是通过该多个人脸图像中眼部区域的开合比确定。对于确定上眼皮标志点、下眼皮标志点、左眼角标志点及右眼角标志点的过程,与上述步骤202中确定标志点的过程类似,在此不再赘述。

通过上眼皮标志点的坐标与下眼皮标志点的坐标,可以确定出第一距离,通过左眼角标志点的坐标与右眼角标志点的坐标,可以确定出第二距离。通过该第一距离和第二距离,可以确定出该目标眼部区域的开合比,根据开合比与开合比阈值,可以确定出该人脸图像的眼部状态。在确定人脸图像眼部状态时,响应于左眼部区域和右眼部区域中任一眼部区域处于眨眼状态,则确定该人脸图像处于眨眼状态;响应于左眼部区域和右眼部区域均处于未眨眼状态,则确定该人脸图像处于未眨眼状态。

可选地,获取多个人脸图像对应的开合比的平均值,作为开合比阈值。由于不同的人脸中眼部区域的开合比阈值不同,因此,在确定当前的人脸的开合比阈值时,需根据当前的人脸的多个人脸图像的开合比确定,以使得到的开合比阈值与当前的人脸匹配,从而提高确定的人脸图像的眼部状态的准确率。且对于任一人脸的多个人脸图像,每个人脸图像中的眼部状态可能不同,导致每个人脸图像对应的开合比可能不同,则将多个人脸图像对应的开合比的平均值作为该人脸的开合比阈值,以使得到的开合比阈值与该人脸匹配,从而提高确定的人脸图像的眼部状态的准确率。

可选地,在确定多个人脸图像的眼部状态时,分别确定多个人脸图像中左眼部区域的开合比阈值及右眼部区域的开合比阈值,以使后续能够根据左眼部区域的开合比阈值,确定多个人脸图像中左眼部区域的眼部状态,根据右眼部区域的开合比阈值,确定多个人脸图像中右眼部区域的眼部状态。由于在同一个人脸中,左眼部区域的开合比阈值与右眼部区域的开合比阈值不同,通过分别确定多个人脸图像中左眼部区域的开合比阈值及右眼部区域的开合比阈值,以使后续能够精准地确定人脸图像的眼部状态,从而提高确定的人脸图像的眼部状态的准确率。

另外,在确定目标眼部区域中上眼皮标志点和下眼皮标志点时,可以确定多个上眼皮标志点和多个下眼皮标志点,该多个上眼皮标志点和多个下眼皮标志点一一对应。例如,上眼皮标志点序号为53、54、58,下眼皮标志点的序号为57、56、59,序号53与序号57对应,序号54与序号56对应,序号58与序号59对应。

可选地,确定人脸图像中目标眼部区域的多个上眼皮标志点中,上眼皮标志点1的坐标l1、上眼皮标志点2的坐标l2、上眼皮标志点3的坐标l3,及多个下眼皮标志点中下眼皮标志点4的坐标l4、下眼皮标志点5的坐标l5、下眼皮标志点6的坐标l6,左眼角标志点7的坐标为l7,右眼角标志点8的坐标为l8;通过坐标l1、l2、l3、l4、l5、l6、l7及l8,可以确定出该人脸图像中目标眼部区域的开合比d,坐标l1、l2、l3、l4、l5、l6、l7、l8及开合比d满足以下关系:

其中,||l1-l4||2为上眼皮标志点1与下眼皮标志点2构成的向量的二范数,也即是该向量平方和再开方,用于表示上眼皮标志点1与下眼皮标志点2之间的距离;||l2-l5||2用于表示上眼皮标志点2与下眼皮标志点5之间的距离;||l3-l6||2用于表示上眼皮标志点3与下眼皮标志点6之间的距离;||l7-l8||2用于表示上眼皮标志点7与下眼皮标志点8之间的距离。

例如,目标眼部区域为左眼部区域,该左眼眼部区域的多个上眼皮标志点的序号为53、54、58,多个下眼皮标志点的序号为56、57、59,左眼角标志点为55,右眼角标志点为52,左眼眼部区域的开合比阈值为d1,则在人脸图像中左眼眼部区域满足以下公式时,确定该人脸图像的左眼眼部区域处于眨眼状态:

目标眼部区域为右眼部区域,该右眼眼部区域的多个上眼皮标志点的序号为61、62、66,多个下眼皮标志点的序号为64、65、67,左眼角标志点为63,右眼角标志点为60,左眼眼部区域的开合比阈值为d2,则在人脸图像中左眼眼部区域满足以下公式时,确定该人脸图像的左眼眼部区域处于眨眼状态:

需要说明的是,在另一实施例中,在确定目标人脸图像时,可以将上述的通过将获取到多个人脸图像划分成多个图像序列来确定目标人脸图像的方式,与通过获取到的多个人脸图像的眼部状态来确定目标人脸图像的方式进行结合。

204、计算机设备根据每个目标人脸图像所属的图像类型,获取每个目标人脸图像中与所属的图像类型匹配的区域人脸图像。

其中,区域人脸图像为人脸图像中部分区域的人脸图像。例如,正脸类型匹配的区域人脸图像包括人脸的正脸区域,左侧脸类型匹配的区域人脸图像包括人脸的左侧脸区域,右侧脸类型匹配的区域人脸图像包括人脸的右侧脸区域,抬头类型匹配的区域人脸图像包括人脸的下巴区域和脖颈区域。

在一种可能实现方式中,该步骤204包括:从任一目标人脸图像的多个标志点中,选取与目标人脸图像所属的图像类型匹配的至少一个第一标志点;从目标人脸图像中获取至少一个第一标志点构成的区域人脸图像。由于预先为每个标志点设置相匹配的图像类型,因此可以确定目标图像中与的图像类型匹配的至少一个第一标志点。对于为每个标志点设置相匹配的图像类型与上述步骤202中的说明类似,在此不再赘述。

对于确定区域人脸图像的方式,可选地,对该至少一个第一标志点进行边缘点检测,确定多个边缘点,将该多个边缘点进行连接构成封闭区域,将该封闭区域对应的人脸图像,作为该区域人脸图像。其中,该至少一个第一标志点中除该多个边缘点外,其余的第一标志点均在该封闭区域内。

205、计算机设备根据每个目标人脸图像中的区域人脸图像,获取对应的深度图像中的区域深度图像。

由于每个目标人脸图像与对应的深度图像中的各个像素点一一对应,则在确定目标人脸图像中的区域人脸图像后,可以从深度图像中确定出区域深度图像,该区域人脸图像的位置与区域深度图像的位置匹配。该区域深度图像包括对应的区域人脸图像中每个像素点的深度信息。如图8所示,图8中包括多个区域深度图像,区域深度图像281对应的图像类型为正脸类型,区域深度图像282对应的图像类型为左侧脸类型,区域深度图像283对应的图像类型为右侧脸类型,区域深度图像284对应的图像类型为抬头类型。

206、计算机设备根据获取的多个区域人脸图像及多个区域深度图像进行融合,生成人脸的三维人脸模型。

由于每个区域人脸图像中每个像素点包括对应的颜色,每个区域深度图像包括对应的区域人脸图像中每个像素点的深度信息,则通过该多个区域人脸图像及该多个区域深度图像可以获取到人脸的皮肤颜色及人脸的轮廓,从而生成人脸的三维人脸模型。

另外,多个区域人脸图像中可以包括抬头类型对应的区域人脸图像,使生成的三维人脸模型中能够包含人脸的下巴区域和脖颈区域。

在一种可能实现方式中,如图9所示,该步骤206可以包括以下步骤2061-步骤2063:

2061、将多个区域深度图像进行融合,得到三维轮廓模型。

由于每个区域深度图像包括对应的区域人脸图像中每个像素点的深度信息,则通过将该多个区域深度图像进行融合,可以获取到人脸的轮廓,从而得到三维轮廓模型。

在一种可能实现方式中,该步骤2061可以包括:根据每个目标人脸图像对应的焦距值,将每个目标人脸图像对应的区域深度图像转换成点云数据;将每个目标人脸图像对应的点云数据进行融合,得到三维轮廓模型。

其中,点云数据可以包括多个点,每一个点包含有三维坐标。每个目标人脸图像对应的区域深度图像中包含每个像素点的深度信息,按照每个区域深度图像中的每个像素点在区域深度图像中的二维坐标及每个像素点的深度信息,可以确定每个像素点的三维坐标,从而将每个区域深度图像转换成点云数据。且由于目标人脸图像是深度摄像机采用焦距值拍摄人脸得到的,该目标人脸图像是真实人脸的缩小成像得到的。则通过目标人脸图像中确定的每个像素点的坐标,可以确定出区域深度图像中每个像素点与深度摄像机之间的距离,利用该目标人脸图像对应的焦距值,对每个像素点与深度摄像机之间的距离进行处理,可以得到每个像素点对应的位置点与深度摄像机之间的真实距离,从而可以确定出多个位置点之间的真实距离,从而使每个区域深度图像转换成点云数据与真实人脸相匹配。因此,将多个图像类型对应的点云数据可以进行融合,从而得到与真实人脸匹配的三维轮廓模型。生成的三维轮廓模型如图10所示,该图10中三维轮廓模型261为三维轮廓模型的正脸、三维轮廓模型262为三维轮廓模型的右侧脸及三维轮廓模型263为三维轮廓模型的左侧脸。另外,可以采用surfel模型将区域深度图像转换成点云数据。

可选地,多个目标人脸图像包括正脸类型对应的第一人脸图像和其他图像类型对应的第二人脸图像,则该步骤2061还可以包括:按照每个第二人脸图像与第一人脸图像的姿态角度差,将每个第二人脸图像对应的第二点云数据进行旋转;将旋转后的每个第二点云数据与第一人脸图像对应的第一点云数据进行融合,生成三维轮廓模型。

其中,其他图像类型可以为左侧脸类型、右侧脸类型或抬头类型。由于其他图像类型对应的第二人脸图像与第一人脸图像之间具有姿态角度差,不同图像类型对应的区域深度图像对应的人脸的位置不同,因此,为了避免将属于不同位置的点云数据重叠,需要将每个第二点云数据进行旋转,以使旋转后的点云数据与第一点云数据之间的姿态角度差为0。在将每个第二点云数据与第一点云数据进行融合时,通过将每个第二点云数据与第一点云数据中相同的像素点进行重合,使旋转后的每个第二点云数据与第一点云数据进行融合,从而生成三维轮廓模型。

另外,上述在将多个点云数据进行融合的过程中,可以采用tsdf(truncatedsigneddistancefunction,截断的带符号距离函数)将多个点云数据进行融合。在生成三维轮廓模型后,需对该三维轮廓模型进行去噪、降采样、泊松重建以及拉普拉斯平滑等处理,最终得到一个完整的三维轮廓模型。

2062、从多个目标人脸图像中分别提取每个区域人脸图像的颜色纹理特征。

由于每个目标人脸图像中包括多个像素点,每个像素点具有对应的颜色特征,则提取每个区域人脸图像中的多个像素点的颜色特征,将该多个像素点的颜色特征作为颜色纹理特征。在提取区域人脸图像中的颜色纹理特征时,可以采用lbp(localbinarypatterns,局部二值模式)、灰度共生矩阵等算法。

2063、将每个区域人脸图像的颜色纹理特征与三维轮廓模型进行融合,生成三维人脸模型。

分别将每个区域人脸图像的颜色纹理特征与三维轮廓模型进行融合,使三维轮廓模型上的每个区域显示出对应的颜色纹理特征,从而生成该三维人脸模型。

在一种可能实现方式中,该步骤2063可以包括:确定每个区域人脸图像在三维轮廓模型中对应的区域;分别将每个区域人脸图像的颜色纹理特征融合至三维轮廓模型中对应的区域的表面,生成三维人脸模型。

另外,该步骤2063还可以包括:将每个区域人脸图像的颜色纹理特征进行融合,得到该人脸的颜色纹理特征的展开图像,将该颜色纹理特征的展开图像与该三维轮廓模型输入至渲染引擎,通过该渲染引擎进行渲染后,得到该三维人脸模型。如图11所示为该人脸的颜色纹理特征的展开图像111,渲染之后得到的三维人脸模型如图12所示,三维人脸模型121为正脸图像,三维人脸模型122为左侧脸图像。

本申请实施例提供的方法,获取多个目标人脸图像及对应的多个深度图像,根据每个目标人脸图像所属的图像类型,获取每个目标人脸图像中与所属的图像类型匹配的区域人脸图像,根据每个目标人脸图像中的区域人脸图像,获取对应的深度图像中的区域深度图像,通过获取每个目标人脸图像与所属图像类型匹配的区域人脸图像,将该目标人脸图像中其他区域的人脸图像剪裁处理,使得到的每个区域人脸图像及对应的区域深度图像只包括所属图像类型匹配的区域,不包括其他图像类型匹配的区域,从而使不同的区域人脸图像之间的重叠区域减少,根据获取到多个区域人脸图像及多个区域深度图像进行融合,生成人脸的三维人脸模型过程中的计算量小,从而提高了构建三维人脸模型的效率。

且多个目标人脸图像中可以包含抬头类型的人脸图像,使生成的三维人脸模型中能够包含人脸的下巴区域和脖颈区域,从而提高了生成的三维人脸模型的完整性。

并且,通过对获取到的多个人脸图像进行筛选,选取多个目标人脸图像,减少了构建三维人脸模型所需的人脸图像的数量,以使后续在传输多个目标人脸图像时,提高了人脸图像的传输效率,且提高了构建三维人脸模型的效率。

并且,通过确定获取到的多个人脸图像的眼部状态,筛选出处于未眨眼状态的人脸图像,使筛选后的人脸图像的数量减少,从而通过筛选后的人脸图像生成三维人脸模型的过程中的计算量小,且通过处于未眨眼状态的人脸图像,提高了生成的三维人脸模型的完整性。

需要说明的是,本申请实施例是以通过将获取到多个人脸图像划分成多个图像序列来确定目标人脸图像的进行说明的,而在另一实施例中,无需执行步骤201-203,可以直接将获取到的多个人脸图像及对应的多个深度图像,作为多个目标人脸图像及对应的多个深度图像;或者,还可以是获取其他设备发送的多个目标人脸及对应的多个深度图像。

图13是本申请实施例提供的一种三维人脸模型生成方法的流程图,该流程包括:

1、计算机设备通过深度摄像机拍摄人脸图像获取到人脸图像序列及对应的深度图像序列。

2、对人脸图像序列中的人脸图像进行人脸标志点检测,确定每个人脸图像中的人脸标志点。

3、通过每个人脸图像中眼部区域的人脸标志点的坐标,从该人脸图像序列中剔除处于眨眼状态的人脸图像,得到新的人脸图像序列。

4、通过新的人脸图像序列中每个人脸图像包括的人脸标志点,确定正脸图像,根据正脸图像中人脸标志点的坐标及其他人脸图像中人脸标志点的坐标,计算每个人脸图像中人脸转动的角度。

5、根据每个人脸图像对应的角度的大小,将新的人脸图像序列中的人脸图像分成多个图像序列,不同的图像序列匹配的图像类型不同。

6、从每个图像序列中根据角度大小进行筛选,选择角度最大的人脸图像,得到筛选后的目标人脸图像。

7、从目标人脸图像中裁剪出所属图像类型对应的人脸区域,从对应的深度图像中裁剪出对应的深度区域。

8、提取人脸区域的纹理特征,将多个深度区域进行融合,得到三维轮廓模型。

9、将人脸区域的纹理特征与三维轮廓模型进行融合,输出完整的三维人脸模型。

图14是本申请实施例提供的一种三维人脸模型生成装置的结构示意图,如图14所示,该装置包括:

第一图像获取模块1401,用于获取多个目标人脸图像及对应的多个深度图像,多个目标人脸图像包含同一人脸,且多个深度图像包含对应目标人脸图像中的像素点的深度信息;

第二图像获取模块1402,用于根据每个目标人脸图像所属的图像类型,获取每个目标人脸图像中与所属的图像类型匹配的区域人脸图像,图像类型包括正脸类型、左侧脸类型、右侧脸类型或抬头类型;

第三图像获取模块1403,用于根据每个目标人脸图像中的区域人脸图像,获取对应的深度图像中的区域深度图像,区域人脸图像的位置与区域深度图像的位置匹配;

人脸模型生成模块1404,用于根据获取的多个区域人脸图像及多个区域深度图像进行融合,生成人脸的三维人脸模型。

本申请实施例提供的装置,通过对获取到的多个目标人脸图像及对应的多个深度图像进行剪裁,使得到的每个区域人脸图像及对应的区域深度图像只包括所属图像类型匹配的区域,不包括其他图像类型匹配的区域,从而使不同的区域人脸图像之间的重叠区域减少,根据获取到多个区域人脸图像及多个区域深度图像进行融合,生成人脸的三维人脸模型过程中的计算量小,从而提高了构建三维人脸模型的效率。

可选地,如图15所示,第二图像获取模块1402,包括:

标志点选取单元1421,用于从任一目标人脸图像的多个标志点中,选取与目标人脸图像所属的图像类型匹配的至少一个第一标志点;

人脸图像获取单元1422,用于从目标人脸图像中获取至少一个第一标志点构成的区域人脸图像。

可选地,如图15所示,图像获取模块1401,包括:

第一图像获取单元1411,用于获取多个人脸图像及对应的多个深度图像,多个人脸图像包含人脸;

图像序列划分单元1412,用于将多个人脸图像按照所属的图像类型进行划分,得到多个图像序列,每个图像序列包括所属图像类型相同的人脸图像;

第二图像获取单元1413,用于从每个图像序列中选取一个目标人脸图像,得到多个目标人脸图像,获取多个目标人脸图像对应的深度图像。

可选地,多个图像序列至少包括正脸类型对应的第一图像序列和其他图像类型对应的第二图像序列,第二图像获取单元1413,还用于从第一图像序列中选取一个第一人脸图像,作为目标人脸图像;获取每个第二图像序列中的每个第二人脸图像与第一人脸图像之间的姿态角度差;分别从每个第二图像序列中选取一个姿态角度差最大的第二人脸图像,也作为目标人脸图像。

可选地,第二图像获取单元1413,还用于对于任一第二人脸图像,确定第二人脸图像与第一人脸图像中序号相同的至少一个第二标志点;根据第一人脸图像中至少一个第二标志点的坐标,及第二人脸图像中至少一个第二标志点的坐标,获取第一人脸图像与第二人脸图像之间的旋转平移矩阵;对旋转平移矩阵进行转换,得到第二人脸图像与第一人脸图像之间的姿态角度差。

可选地,如图15所示,图像获取模块1401,包括:

第三图像获取单元1414,用于获取多个人脸图像及对应的多个深度图像,多个人脸图像包含人脸;

人脸图像确定单元1415,用于根据每个人脸图像的眼部状态,将多个人脸图像中处于未眨眼状态的人脸图像,确定为目标人脸图像,眼部状态包括眨眼状态或未眨眼状态。

可选地,如图15所示,装置还包括:

标志点确定模块1405,用于对于任一人脸图像,确定人脸图像中目标眼部区域的上眼皮标志点、下眼皮标志点、左眼角标志点及右眼角标志点;

距离确定模块1406,用于确定上眼皮标志点与下眼皮标志点之间的第一距离,及左眼角标志点与右眼角标志点之间的第二距离;

开合比确定模块1407,用于将第一距离与第二距离之间的比值确定为目标眼部区域的开合比;

状态确定模块1408,用于响应于开合比小于开合比阈值,确定人脸图像处于眨眼状态;

该状态确定模块1408,还用于响应于开合比不小于开合比阈值,确定人脸图像处于未眨眼状态。

可选地,如图15所示,装置还包括:

阈值确定模块1409,用于获取多个人脸图像对应的开合比的平均值,作为开合比阈值。

可选地,如图15所示,人脸模型生成模块1404,包括:

第一融合单元1441,用于将多个区域深度图像进行融合,得到三维轮廓模型;

特征提取单元1442,用于从多个目标人脸图像中分别提取每个区域人脸图像的颜色纹理特征;

第二融合单元1443,用于将每个区域人脸图像的颜色纹理特征与三维轮廓模型进行融合,生成三维人脸模型。

可选地,第一融合单元1441,还用于根据每个目标人脸图像对应的焦距值,将每个目标人脸图像对应的区域深度图像转换成点云数据;将每个目标人脸图像对应的点云数据进行融合,得到三维轮廓模型。

可选地,多个目标人脸图像包括正脸类型对应的第一人脸图像和其他图像类型对应的第二人脸图像,第一融合单元1441,还用于按照每个第二人脸图像与第一人脸图像的姿态角度差,将每个第二人脸图像对应的第二点云数据进行旋转;将旋转后的每个第二点云数据与第一人脸图像对应的第一点云数据进行融合,生成三维轮廓模型。

可选地,第二融合单元1443,还用于确定每个区域人脸图像在三维轮廓模型中对应的区域;分别将每个区域人脸图像的颜色纹理特征融合至三维轮廓模型中对应的区域的表面,生成目标人脸的三维人脸模型。

图16是本申请实施例提供的一种终端的结构示意图,可以实现上述实施例中第一终端、第二终端及第三终端执行的操作。该终端1600可以是便携式移动终端,比如:智能手机、平板电脑、mp3播放器(movingpictureexpertsgroupaudiolayeriii,动态影像专家压缩标准音频层面3)、mp4(movingpictureexpertsgroupaudiolayeriv,动态影像专家压缩标准音频层面4)播放器、笔记本电脑、台式电脑、头戴式设备、智能电视、智能音箱、智能遥控器、智能话筒,或其他任意智能终端。终端1600还可能被称为用户设备、便携式终端、膝上型终端、台式终端等其他名称。

通常,终端1600包括有:处理器1601和存储器1602。

处理器1601可以包括一个或多个处理核心,比如4核心处理器、8核心处理器等。存储器1602可以包括一个或多个计算机可读存储介质,该计算机可读存储介质可以是非暂态的,用于存储至少一个指令,该至少一个指令用于被处理器1601所具有以实现本申请中方法实施例提供的三维人脸模型生成方法。

在一些实施例中,终端1600还可选包括有:外围设备接口1603和至少一个外围设备。处理器1601、存储器1602和外围设备接口1603之间可以通过总线或信号线相连。各个外围设备可以通过总线、信号线或电路板与外围设备接口1603相连。具体地,外围设备包括:射频电路1604、显示屏1605和音频电路1606中的至少一种。

射频电路1604用于接收和发射rf(radiofrequency,射频)信号,也称电磁信号。射频电路1604通过电磁信号与通信网络及其他通信设备进行通信。

显示屏1605用于显示ui(userinterface,用户界面)。该ui可以包括图形、文本、图标、视频及其它们的任意组合。该显示屏1605可以是触摸显示屏,还可以用于提供虚拟按钮和/或虚拟键盘。

音频电路1606可以包括麦克风和扬声器。麦克风用于采集用户及环境的音频信号,并将音频信号转换为电信号输入至处理器1601进行处理,或者输入至射频电路1604以实现语音通信。出于立体声采集或降噪的目的,麦克风可以为多个,分别设置在终端1600的不同部位。麦克风还可以是阵列麦克风或全向采集型麦克风。扬声器则用于将来自处理器1601或射频电路1604的电信号转换为音频信号。

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

图17是本申请实施例提供的一种服务器的结构示意图,该服务器1700可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上处理器(centralprocessingunits,cpu)1701和一个或一个以上的存储器1702,其中,存储器1702中存储有至少一条指令,至少一条指令由处理器1701加载并执行以实现上述各个方法实施例提供的方法。当然,该服务器还可以具有有线或无线网络接口、键盘及输入输出接口等部件,以便进行输入输出,该服务器还可以包括其他用于实现设备功能的部件,在此不做赘述。

服务器1700可以用于执行上述三维人脸模型生成方法。

本申请实施例还提供了一种计算机设备,该计算机设备包括处理器和存储器,存储器中存储有至少一条程序代码,该至少一条程序代码由处理器加载并执行,以实现上述实施例的三维人脸模型生成方法。

本申请实施例还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有至少一条程序代码,该至少一条程序代码由处理器加载并执行,以实现上述实施例的三维人脸模型生成方法。

本申请实施例还提供了一种计算机程序,该计算机程序中存储有至少一条程序代码,该至少一条程序代码由处理器加载并执行,以实现上述实施例的三维人脸模型生成方法。

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

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

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