人脸模型构建方法、装置及电子设备与流程

文档序号:11288516阅读:355来源:国知局
人脸模型构建方法、装置及电子设备与流程

本发明涉及计算机图形学技术领域,具体而言,涉及一种人脸模型构建方法、装置及电子设备。



背景技术:

三维人脸表情合成是应用于诸多领域的计算机图形学技术,基于单张照片的人脸动画是指从二维人脸图像触发,合成出该人的动画表情。人脸动画具有广阔的应用前景,主要包括:三维游戏、影视制作、人机交互界面、远程呈现、教育等。

目前,比较常见的人脸表情动画生成方法有:

1.基于mpeg-4标准的表情动画方法,其定义了几种常见表情下特征点的运动路径,虽然简单,但缺陷是生成的表情不够真实。

2.基于表情克隆的方法,通过扫描获得带表情的三维人脸模型,将该表情映射到目标人脸模型上;这类方法能够生成细微的表情,缺点是每个顶点均需要映射处理,计算量大导致无法实时处理。

3.第三大类是基于关键帧的插值技术,这在影视制作中比较常见,预先设计人脸的三维表情,过渡帧通过插值来获得;但对于每一个人脸模型均需要重新设计其关键帧表情,并且需要专业美工人员的配合。



技术实现要素:

本发明的目的在于提供一种人脸模型构建方法、装置及电子设备,用以改善上述问题。

为了实现上述目的,本发明实施例采用的技术方案如下:

第一方面,本发明提供了一种人脸模型构建方法,用于在单张人脸图片上制作动态效果,所述方法包括:获取人脸的第一人脸图像;约束第一人脸图像的边缘控制点的移动,通过移动第一人脸图像的非边缘控制点在第一人脸图像中的位置,生成多个第二人脸图像;根据第一人脸图像和多个第二人脸图像构建动态人脸模型。

第二方面,本发明提供了一种人脸模型构建装置,用于在单张人脸图片上制作动态效果,所述装置包括:图像获取模块,用于获取人脸的第一人脸图像;图像生成模块,用于约束第一人脸图像的边缘控制点的移动,通过移动第一人脸图像的非边缘控制点在第一人脸图像中的位置,生成多个第二人脸图像;人脸模型构建模块,用于根据第一人脸图像和多个第二人脸图像构建动态人脸模型。

第三方面,本发明提供了一种电子设备,所述电子设备包括存储器、处理器、以及人脸模型构建装置,所述人脸模型构建装置存储于所述存储器中并包括一个或多个由所述处理器执行的软件功能模组,所述人脸模型构建装置包括:图像获取模块,用于获取人脸的第一人脸图像;图像生成模块,用于约束第一人脸图像的边缘控制点的移动,通过移动第一人脸图像的非边缘控制点在第一人脸图像中的位置,生成多个第二人脸图像;人脸模型构建模块,用于根据第一人脸图像和多个第二人脸图像构建动态人脸模型。

相对现有技术,本发明具有以下有益效果:本发明提供的一种人脸模型构建方法、装置及电子设备,采用约束第一人脸图像的边缘控制点的移动,以及移动第一人脸图像的非边缘控制点的位置生成多个第二人脸图像的方法,从而在移动第一人脸图像的非边缘控制点的时候,能够保持人脸边缘轮廓不变,从而能够避免由于人脸模型动作所产生的缝隙,另外,通过一张第一人脸图像,便可以构建虚拟的动态人脸模型,生成人脸动态效果,与现有技术中基于关键帧的插值技术相比,所需的设备简单、操作方便。

为使本发明的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。

附图说明

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

图1示出了本发明较佳实施例提供的电子设备的方框示意图。

图2示出了本发明较佳实施例提供的人脸模型构建方法流程图。

图3为图2示出的步骤s102的子步骤流程图。

图4为图3示出的子步骤s1023的子步骤流程图。

图5为图3示出的子步骤s1024的子步骤流程图。

图6为图2示出的步骤s104的子步骤流程图。

图7示出了本发明较佳实施例提供的人脸模型构建装置的方框示意图。

图8为图7示出的人脸模型构建装置中图像生成模块的方框示意图。

图9为图8示出的图像生成模块中网格图像生成单元的方框示意图。

图10为图8示出的图像生成模块中图像渲染单元的方框示意图。

图11为图7示出的人脸模型构建装置中人脸表情添加模块的方框示意图。

图标:100-电子设备;110-存储器;120-存储控制器;130-处理器;200-人脸模型构建装置;201-图像获取模块;202-图像生成模块;2021-特征控制点获取模块;2022-网格图像获取单元;2023-网格图像生成单元;20231-第一子执行单元;20232-第二子执行单元;20233-第三子执行单元;20234-第四子执行单元;2024-图像渲染单元;20241-第五子执行单元;20242-第六子执行单元;20243-第七子执行单元;203-人脸模型构建模块;204-人脸表情添加模块;2041-基础图像选择单元;2042-图像区域获取单元;2043-新人脸图像生成单元;2044-人脸表情生成单元。

具体实施方式

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

应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。同时,在本发明的描述中,术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。

请参照图1,图1示出了本发明较佳实施例提供的电子设备100的方框示意图。电子设备100可以是,但不限于智能手机、平板电脑、膝上型便携计算机、车载电脑、个人数字助理(personaldigitalassistant,pda)、穿戴式移动终端等等。所述电子设备100包括人脸模型构建装置200、存储器110、存储控制器120及处理器130。

所述存储器110、存储控制器120及处理器130各元件相互之间直接或间接地电性连接,以实现数据的传输或交互。例如,这些元件相互之间可通过一条或多条通讯总线或信号线实现电性连接。所述人脸模型构建装置200包括至少一个可以软件或固件(firmware)的形式存储于所述存储器110中或固化在所述电子设备100的操作系统(operatingsystem,os)中的软件功能模块。所述处理器130用于执行存储器110中存储的可执行模块,例如所述人脸模型构建装置200包括的软件功能模块或计算机程序。

其中,存储器110可以是,但不限于,随机存取存储器(randomaccessmemory,ram),只读存储器(readonlymemory,rom),可编程只读存储器(programmableread-onlymemory,prom),可擦除只读存储器(erasableprogrammableread-onlymemory,eprom),电可擦除只读存储器(electricerasableprogrammableread-onlymemory,eeprom)等。其中,存储器110用于存储程序,所述处理器130在接收到执行指令后,执行所述程序,本发明任一实施例揭示的流程定义的服务器所执行的方法可以应用于处理器130中,或者由处理器130实现。

处理器130可以是一种集成电路芯片,具有信号处理能力。上述的处理器130可以是通用处理器,包括中央处理器(centralprocessingunit,cpu)、网络处理器(networkprocessor,np)、语音处理器以及视频处理器等;还可以是数字信号处理器、专用集成电路、现场可编程门阵列或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器130也可以是任何常规的处理器等。

第一实施例

请参照图2,图2示出了本发明较佳实施例提供的人脸模型构建方法流程图。人脸模型构建方法包括以下步骤:

步骤s101,获取人脸的第一人脸图像。

在本发明实施例中,第一人脸图像可以通过提示用户自行输入来获得,例如人脸模型构建方法开始执行时,电子设备100的显示屏显示提示信息“上传照片”,用户可以选择某一张存储于电子设备100的本地图片进行上传,第一人脸图像可以为一张人脸正面的人脸图片,人脸正面的人脸图片可以是,但不限于该人脸图片包括眉毛、眼睛、鼻子、嘴巴等部位的特征图像。

作为一种实施方式,获取到用户上传的第一人脸图像之后,利用机器学习的方法检测出人脸,机器学习的方法可以是,但不限于利用预先建立的人脸模板图像,与第一人脸图像进行匹配从而检测出人脸,人脸模板图像中包含眉毛、眼睛、鼻子和嘴巴等特征区域,如果人脸检测失败,则电子设备100的显示屏可以显示提示信息“无法识别脸部”,此时用户可以选择重新上传人脸图片。

步骤s102,约束第一人脸图像的边缘控制点的移动,通过移动第一人脸图像的非边缘控制点在第一人脸图像中的位置,生成多个第二人脸图像。

在本发明实施例中,检测到第一人脸图像中的人脸之后,首先检测出该人脸的边缘控制点和非边缘控制点,然后对第一人脸图像进行网格化,并保持边缘控制点在第一人脸图像中的位置不变,通过移动非边缘控制点在第一人脸图像中的位置,使得受非边缘控制点影响的网格顶点在第一人脸图像中的位置发生变化,网格顶点的位置变化导致网格顶点对应的网格发生形变,从而得到第二人脸图像。

请参照图3,步骤s102还包括以下子步骤:

子步骤s1021,获取第一人脸图像的特征控制点,特征控制点包括边缘控制点和非边缘控制点。

在本发明实施例中,特征控制点可以通过与人脸模板图像进行对比获得,作为一种实施方式,特征控制点有68个,包括人脸轮廓边缘、眼睛边缘、嘴巴边缘、鼻梁以及鼻翼的特征点,特征控制点包括边缘控制点和非边缘控制点。

作为一种实施方式,边缘控制点可以是人脸轮廓边缘的特征控制点,检测边缘控制点的方法可以是:利用曲线将部分特征控制点连接起来形成一个连通区域a,检测是否存在一个连通区域b的面积大于连通区域a,如果不存在这样的连通区域b,则处在连通区域a的边界上的特征控制点即为第一人脸图像的边缘控制点;如果存在这样的连通区域b,则检测是否存在一个连通区域c的面积大于连通区域b,依次类推,直到找出边缘控制点。

子步骤s1022,对第一人脸图像进行网格化,得到具有多个网格顶点的第一人脸网格图像。

在本发明实施例中,网格化可以是对第一人脸图像进行二维网格化,二维网格化可以是,但不限于将第一人脸图像等分为若干个三角形,得到具有多个三角形网格的第一人脸网格图像,网格顶点可以为多个三角形网格的顶点。

子步骤s1023,约束边缘控制点,通过移动非边缘控制点在第一人脸网格图像中的位置,控制网格顶点运动以得到多个第二人脸网格图像。

在本发明实施例中,保持边缘控制点在第一人脸图像中的位置不变,边缘控制点移动之后,边缘控制点移动的位移矩阵和边缘控制点对网格顶点的影响权重,计算受边缘控制点影响的网格顶点的新坐标,将该网格顶点由原来的坐标处移动至新坐标处,网格顶点的坐标变化导致对应的网格发生形变,从而得到第二人脸图像。

请参照图4,步骤s1023还包括以下子步骤:

子步骤s10231,保持边缘控制点的位置不变。

在本发明实施例中,保持边缘控制点的位置不变可以是使边缘控制点在第一人脸网格图像中的坐标不变。

子步骤s10232,对非边缘控制点进行位移,确定非边缘控制点的位移矩阵。

在本发明实施例中,位移矩阵的确定可以包括两种方法:

一种方法是首先通过人机交互的方式由研发人员手动对非边缘控制点进行位移,然后再根据非边缘控制点位移前的位置和位移后的位置计算位移矩阵,计算方法为:获取非边缘控制点位移前的位置c和位移后的位置c′;根据公式c′=mc,计算出非边缘控制点由c到c′的位移矩阵m=c′c-1

另一种方法是首先由电子设备100自动设置非边缘控制点的位移矩阵m的取值,然后利用非边缘控制点位移前的位置c和非边缘控制点的位移矩阵m,计算非边缘控制点位移后的位置c′。

子步骤s10233,当网格顶点未处于第一人脸网格图像的边缘时,控制该网格顶点移动,当网格顶点处于第一人脸网格图像的边缘时,约束该网格顶点的移动。

作为一种实施方式,利用前述步骤s1021中检测边缘控制点的方法,检测网格顶点是否处于第一人脸网格图像的边缘,当网格顶点未处于第一人脸网格图像的边缘时,根据非边缘控制点位移后的位置c′和非边缘控制点对网格顶点的影响权重,移动该网格顶点;当网格顶点处于第一人脸网格图像的边缘时,保持该网格顶点的位置不变,这样可以保证第二人脸图像的边缘像素点能够和第一人脸图像融合,避免产生缝隙。

子步骤s10234,根据非边缘控制点的位移矩阵和该非边缘控制点对网格顶点的影响权重,控制网格顶点由第一位置移动至第二位置,其中,第一位置为网格顶点在第一人脸网格图像上的坐标,第二位置为网格顶点在第二人脸网格图像上的坐标。

在本发明实施例中,对于一个网格,该网格的网格顶点的位置变化会导致该网格发生变形,而网格顶点的移动又是由影响该网格顶点的非边缘控制点决定的,例如,对于第一人脸网格图像中的某一网格顶点v,当影响该网格顶点v的n个非边缘控制点c1,c2,...,cn的位置发生变化时,网格顶点v的位置也会发生变化,由第一人脸网格图像中的网格顶点v变化到第二人脸网格图像中的网格顶点v′,网格顶点v′的计算方法可以为其中,mi为影响网格顶点v的第i个非边缘控制点ci变换到非边缘控制点ci′的位移矩阵,w(v,ci)为第i个非边缘控制点ci对网格顶点v的影响权重。

作为一种实施方式,非边缘控制点c对网格顶点v的影响权重w(v,c)可以由该边缘控制点c到网格顶点v的欧拉距离来确定,也就是说,w(v,c)与边缘控制点c到网格顶点v的欧拉距离成反比。

作为一种实施方式,对于影响网格顶点v的任意一个非边缘控制点c,该非边缘控制点c对网格顶点的影响权重为:

其中,k为一个常数系数,dist(v,c)为非边缘控制点c到网格顶点v的欧拉距离,dist(v,c)的计算公式为:

其中,(xv,yv),(xc,yc)分别为网格顶点v和非边缘控制点c的坐标信息。

作为一种实施方式,对于影响网格顶点v的若干个非边缘控制点c1,c2,...,cn,该若干个非边缘控制点c1,c2,...,cn对网格顶点的影响权重分别为:

其中,k为一个常数系数,影响网格顶点v的若干个非边缘控制点c1,c2,...,cn的选取满足约束条件

子步骤s1024,对每个第二人脸网格图像进行渲染,生成多个第二人脸图像。

在本发明实施例中,对于构建出的动态人脸模型,需要确保人脸模型中的uv坐标能够映射到第一人脸图像上,也就是说,人脸模型经过正交投影后能够和用户上传的原始图片中人脸区域的像素基本重合,因此,需要确保第二人脸图像中任意一个像素点的像素值,要与该像素点对应的第一人脸图像中的像素点的像素值相等,对第二人脸网格图像进行渲染就是将第一人脸图像中的像素点的像素值赋值到第二人脸图像对应的像素点。

请参照图5,子步骤s1024还包括以下子步骤:

子步骤s10241,获取第一人脸网格图像中每个网格顶点的第一像素值。

作为一种实施方式,选取第二人脸网格图像中的任意一个形变三角形网格,并找到该形变三角形网格的三个网格顶点v1′、v2′、v3′分别对应在第一人脸网格图像中的三个网格顶点v1、v2、v3,假设三个网格顶点v1、v2、v3的像素值分别为i(v1)、i(v2)、i(v3)。

子步骤s10242,设置第二人脸网格图像中与该网格顶点对应的网格顶点的第二像素值等于第一像素值。

在本发明实施例中,假设三个网格顶点v1′、v2′、v3′的像素值分别为i(v1′)、i(v2′)、i(v3′),则将三个网格顶点v1、v2、v3的像素值一一对应赋值给三个网格顶点v1′、v2′、v3′,也就是说,使得像素值i(v1′)=i(v1),i(v2′)=i(v2),i(v3′)=i(v3)。

子步骤s10243,根据第二人脸网格图像中该网格顶点的第二像素点,确定与该网格顶点对应的网格的其他像素点的像素值。

在本发明实施例中,获得形变三角形网格的三个网格顶点v1′、v2′、v3′的像素值之后,可以利用该形变三角形网格的三个网格顶点的像素值进行线性拟合得到该形变三角形网格的其他像素点像素值。对于该形变三角形网格边上任意一个像素点,拟合方法可以为:假设该形变三角形网格的三个网格顶点v1′(x1,y1),v2′(x2,y2),v3′(x3,y3)对应的像素值分别为i(x1,y1),i(x2,y2),i(x3,y3),则形变三角形网格的三条网格边l1,l2,l3分别为:

则这三条网格边上任意一个像素点(xi,yi)的像素值分别为:

对于该形变三角形网格内的任意一个像素点的像素值,拟合方法可以为:假设该形变三角形网格内任意一个像素点p(ui,vi),该像素点p(ui,vi)的像素值i(ui,vi)由与该像素点在同一水平线上的该形变三角形的边缘点的像素值拟合得到,边缘点包括三个网格顶点v1′(x1,y1),v2′(x2,y2),v3′(x3,y3)和三条网格边上任意一个像素点(xi,yi):

其中,像素点(u2′,v2′),(u1′,v1′)分别为该形变三角形的两条网格边上的点,且满足v=v2′=v1′。根据上述方法,遍历第二人脸网格图像,直到第二人脸网格图像中的每一个像素点都具有像素值。

作为一种实施方式,还可以根据该形变三角形网格的面积和三个网格顶点的像素值的权重,计算该形变三角形网格内任意一个像素点p(ui,vi)的像素值i(ui,vi),计算方法如下:

根据三个网格顶点v1′(x1,y1),v2′(x2,y2),v3′(x3,y3)计算该形变三角形网格的面积:

计算网格顶点v1′(x1,y1),v2′(x2,y2),v3′(x3,y3)的像素值的权重:

计算该形变三角形网格内任意一个像素点p(ui,vi)的像素值i(ui,vi):

其中,i(u0,v0)=i(x1,y1),i(u1,v1)=i(x2,y2),i(u2,v2)=i(x3,y3)。

步骤s103,根据第一人脸图像和多个第二人脸图像构建动态人脸模型。

在本发明实施例中,将第一人脸图像和多个第二人脸图像进行融合,构建出动态人脸模型,该动态人脸模型能够实现人脸上下点头、左右摇头等各种不同的动作。

步骤s104,在动态人脸模型的基础上,添加人脸表情。

在本发明实施例中,构建出动态人脸模型之后,为该动态人脸模型中的特定区域添加表情,特征区域可以是,但不限于眼睛、嘴巴、眉毛等,例如,在眼睛区域添加眨眼表情、在嘴巴区域添加微笑表情等,可以使得动态人脸模型更加生动、逼真。

请参照图6,步骤s104还包括以下子步骤:

子步骤s1041,从动态人脸模型中任意选择一张人脸图像作为基础人脸网格图像。

在本发明实施例中,从动态人脸模型中任意选择一张基础人脸图像,根据子步骤s1022介绍的方法,对该基础人脸图像进行网格化,基础人脸网格图像。

子步骤s1042,获取基础人脸网格图像中需要产生动作的特征图像区域。

在本发明实施例中,特征图像区域可以是基础人脸图像中的眼睛、嘴巴、眉毛等能够产生人脸表情的图像区域。

子步骤s1043,约束基础人脸网格图像中其他图像区域的移动,通过控制特征图像区域内网格顶点的移动,实现该特征图像区域的形变,得到新人脸图像。

在本发明实施例中,根据子步骤s1023和子步骤s1023介绍的方法,实现该特征图像区域的形变,得到新人脸图像。

子步骤s1044,将新人脸图像加入至动态人脸模型中,与基础人脸图像顺序排列,且新人脸图像在基础人脸图像之后以生成人脸表情。

在本发明实施例中,如果要获得眨眼表情,则获取的基础人脸图像中的特征图像区域为睁开的眼睛,该特征图像区域形变之后,得到的新人脸图像中为闭合的眼睛,将新人脸图像加入至动态人脸模型中的基础人脸图像之后,动态人脸模型就会出现眨眼的表情,通过不同非边缘控制点具有的不同的运动矩阵,能够制作各种各样的表情和动作。

在本发明实施例中,首先,通过约束第一人脸图像中的边缘控制点、以及处在第一人脸网格图像的边缘的网格图像,使得最终构建的动态人脸模型在动作时不会出现缝隙;其次,通过移动第一人脸图像的非边缘控制点在第一人脸图像中的位置,生成第二人脸图像,最终构建动态人脸模型的方法,使得该动态人脸模型能够实现人脸上下点头、左右摇头等各种不同的动作;最后,通过不同非边缘控制点具有的不同的运动矩阵,能够制作各种各样的表情和动作。

第二实施例

请参照图7,图7示出了本发明较佳实施例提供的人脸模型构建装置200的方框示意图。人脸模型构建装置200包括图像获取模块201、图像生成模块202、人脸模型构建模块203及人脸表情添加模块204。

图像获取模块201,用于获取人脸的第一人脸图像。

在本发明实施例中,图像获取模块201可以用于执行步骤s101。

图像生成模块202,用于约束第一人脸图像的边缘控制点的移动,通过移动第一人脸图像的非边缘控制点在第一人脸图像中的位置,生成多个第二人脸图像。

在本发明实施例中,图像生成模块202可以用于执行步骤s102。

请参照图8,图8为图7示出的人脸模型构建装置200中图像生成模块202的方框示意图。图像生成模块202包括特征控制点获取模块2021、网格图像获取单元2022、网格图像生成单元2023及图像渲染单元2024。

特征控制点获取模块2021,用于获取第一人脸图像的特征控制点,特征控制点包括边缘控制点和非边缘控制点。

在本发明实施例中,特征控制点获取模块2021可以用于执行子步骤s1021。

网格图像获取单元2022,用于对第一人脸图像进行网格化,得到具有多个网格顶点的第一人脸网格图像。

在本发明实施例中,网格图像获取单元2022可以用于执行子步骤s1022。

网格图像生成单元2023,用于约束边缘控制点,通过移动非边缘控制点在第一人脸网格图像中的位置,控制网格顶点运动以得到多个第二人脸网格图像。

在本发明实施例中,网格图像生成单元2023可以用于执行子步骤s1023。

请参照图9,图9为图8示出的图像生成模块202中网格图像生成单元2023的方框示意图。网格图像生成单元2023包括第一子执行单元20231、第二子执行单元20232、第三子执行单元20233及第四子执行单元20234。

第一子执行单元20231,用于保持边缘控制点的位置不变。

在本发明实施例中,第一子执行单元20231可以用于执行子步骤s10231。

第二子执行单元20232,用于对非边缘控制点进行位移,确定非边缘控制点的位移矩阵。

在本发明实施例中,第二子执行单元20232可以用于执行子步骤s10232。

第三子执行单元20233,用于当网格顶点未处于第一人脸网格图像的边缘时,控制该网格顶点移动,当网格顶点处于第一人脸网格图像的边缘时,约束该网格顶点的移动。

在本发明实施例中,第三子执行单元20233可以用于执行子步骤s10233。

第四子执行单元20234,用于根据非边缘控制点的位移矩阵和该非边缘控制点对网格顶点的影响权重,控制网格顶点由第一位置移动至第二位置,其中,第一位置为网格顶点在第一人脸网格图像上的坐标,第二位置为网格顶点在第二人脸网格图像上的坐标。

在本发明实施例中,第四子执行单元20234可以用于执行子步骤s10234。

图像渲染单元2024,用于对每个第二人脸网格图像进行渲染,生成多个第二人脸图像。

在本发明实施例中,图像渲染单元2024可以用于执行子步骤s1024。

请参照图10,图10为图8示出的图像生成模块202中图像渲染单元2024的方框示意图。图像渲染单元2024包括第五子执行单元20241、第六子执行单元20242及第七子执行单元20243。

第五子执行单元20241,用于获取第一人脸网格图像中每个网格顶点的第一像素值。

在本发明实施例中,第五子执行单元20241可以用于执行子步骤s10241。

第六子执行单元20242,用于设置第二人脸网格图像中与该网格顶点对应的网格顶点的第二像素值等于第一像素值。

在本发明实施例中,第六子执行单元20242可以用于执行子步骤s10242。

第七子执行单元20243,用于根据第二人脸网格图像中该网格顶点的第二像素点,确定与该网格顶点对应的网格的其他像素点的像素值。

在本发明实施例中,第七子执行单元20243可以用于执行子步骤s10243。

人脸模型构建模块203,用于根据第一人脸图像和多个第二人脸图像构建动态人脸模型。

在本发明实施例中,人脸模型构建模块203可以用于执行步骤s103。

人脸表情添加模块204,用于在动态人脸模型的基础上,添加人脸表情。

在本发明实施例中,人脸表情添加模块204可以用于执行步骤s104。

请参照图11,图11为图7示出的人脸模型构建装置200中人脸表情添加模块204的方框示意图。人脸表情添加模块204包括基础图像选择单元2041、图像区域获取单元2042、新人脸图像生成单元2043及人脸表情生成单元2044。

基础图像选择单元2041,用于从动态人脸模型中任意选择一张人脸图像作为基础人脸网格图像。

在本发明实施例中,基础图像选择单元2041可以用于执行步骤s1041。

图像区域获取单元2042,用于获取基础人脸网格图像中需要产生动作的特征图像区域。

在本发明实施例中,图像区域获取单元2042可以用于执行步骤s1042。

新人脸图像生成单元2043,用于约束基础人脸网格图像中其他图像区域的移动,通过控制特征图像区域内网格顶点的移动,实现该特征图像区域的形变,得到新人脸图像。

在本发明实施例中,新人脸图像生成单元2043可以用于执行步骤s1043。

人脸表情生成单元2044,用于将新人脸图像加入至动态人脸模型中,与基础人脸图像顺序排列,且新人脸图像在基础人脸图像之后以生成人脸表情。

在本发明实施例中,人脸表情生成单元2044可以用于执行步骤s1044。

综上所述,本发明提供的一种人脸模型构建方法、装置及电子设备,用于在单张人脸图片上制作动态效果,所述方法包括:获取人脸的第一人脸图像;约束第一人脸图像的边缘控制点的移动,通过移动第一人脸图像的非边缘控制点在第一人脸图像中的位置,生成多个第二人脸图像;根据第一人脸图像和多个第二人脸图像构建动态人脸模型。本发明提供的人脸模型构建方法相对于现有技术,具有以下优点:首先,通过约束第一人脸图像中的边缘控制点、以及处在第一人脸网格图像的边缘的网格图像,使得最终构建的动态人脸模型在动作时不会出现缝隙;其次,通过移动第一人脸图像的非边缘控制点在第一人脸图像中的位置,生成第二人脸图像,最终构建动态人脸模型的方法,使得该动态人脸模型能够实现人脸上下点头、左右摇头等各种不同的动作;最后,通过不同非边缘控制点具有的不同的运动矩阵,能够制作各种各样的表情和动作。

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

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

所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、磁碟或者光盘等各种可以存储程序代码的介质。需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。

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