人脸图像生成方法、装置、电子设备和存储介质与流程

文档序号:26178189发布日期:2021-08-06 18:24阅读:108来源:国知局
人脸图像生成方法、装置、电子设备和存储介质与流程

本发明涉及图像处理领域,具体而言,涉及一种人脸图像生成方法、装置、电子设备和存储介质。



背景技术:

随着人脸技术的发展,可以从人脸图像中识别出人脸的表情状态,并且将表情迁移到另一张人脸图像。并且,随着视频娱乐的普及,通过这种人脸表情迁移技术可以满足用户的个性化需求。

现有技术中,通常是基于深度神经网络模型来实现,但是由于训练数据的有限,会导致生成的人脸效果差。



技术实现要素:

有鉴于此,本发明的目的在于提供一种人脸图像生成方法、装置、电子设备和存储介质。

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

第一方面,本发明提供一种人脸图像生成方法,应用于电子设备,所述方法包括:

获取原图和表情图;所述原图包括目标人物的初始表情;所述表情图包括目标表情;

通过预设模型,根据所述原图和所述表情图,得到掩码图像、第一图像和第二图像;所述第一图像包括与所述目标表情匹配的所述目标人物的五官特征;所述第二图像包括与所述目标表情匹配的所述目标人物的头部特征;

通过所述预设模型,根据所述掩码图像对所述第一图像和所述第二图像进行融合,得到人脸图像;所述人脸图像包括所述目标人物的虚拟表情,所述虚拟表情与所述目标表情匹配。

在可选的实施方式中,所述通过预设模型,根据所述原图和所述表情图,得到掩码图像、第一图像和第二图像的步骤,包括:

通过所述预设模型的人脸关键点网络,对所述原图和所述表情图进行人脸关键点检测,得到原图关键点和表情图关键点;

通过所述预设模型的特征编码网络,对所述原图、所述原图关键点和所述表情图关键点进行特征提取,得到原图特征、原图关键点特征和表情图关键点特征;

通过所述预设模型,根据所述原图特征、所述原图关键点特征和所述表情图关键点特征,分别得到所述掩码图像和所述第一图像;

通过所述预设模型,根据所述原图、所述原图关键点特征和所述表情图关键点特征,得到所述第二图像。

在可选的实施方式中,所述通过所述预设模型,根据所述原图特征、所述原图关键点特征和所述表情图关键点特征,得到所述掩码图像的步骤,包括:

通过所述预设模型的掩码预测网络,根据所述原图特征、所述原图关键点特征和所述表情图关键点特征,得到所述掩码图像;所述掩码图像包括关键区域和非关键区域;所述关键区域用于表示所述目标人物的五官所在的区域。

在可选的实施方式中,所述通过所述预设模型,根据所述原图特征、所述原图关键点特征和所述表情图关键点特征,得到所述第一图像的步骤,包括:

通过所述预设模型的生成网络,根据所述原图特征、所述原图关键点特征和所述表情图关键点特征,得到所述第一图像;所述第一图像的分辨率为预设分辨率,所述预设分辨率小于所述原图的分辨率。

在可选的实施方式中,所述通过所述预设模型,根据所述原图、所述原图关键点特征和所述表情图关键点特征,得到第二图像的步骤,包括:

通过所述预设模型的光流预测网络,根据所述原图关键点特征和所述表情图关键点特征,得到光流信息;所述光流信息表征所述原图关键点特征与所述表情图关键点特征的位移信息;

根据所述光流信息,对所述原图进行变形处理,得到所述第二图像。

在可选的实施方式中,所述预设模型是按照以下方式训练得到的:

将训练样本输入到基础模型,得到目标图像;所述训练样本为预设同一人脸视频中的两张人脸视频帧;所述训练样本包括样本标记信息;

根据所述目标图像和所述样本标记信息,计算损失函数;

根据所述损失函数优化所述基础模型的参数;

当达到预设迭代次数时,得到所述预设模型。

在可选的实施方式中,所述获取原图和表情图的步骤,包括:

响应用户在视频模板界面的选择操作,确定与所述选择操作对应的目标视频模板,显示图片获取界面;所述视频模板界面至少包括一个视频模板;所述目标视频模板的每个视频帧为所述表情图;

响应用户在所述图片获取界面的交互操作,获取与所述交互操作对应的目标图片;所述目标图片为所述原图。

第二方面,本发明提供一种人脸图像生成装置,应用于电子设备,所述装置包括:

获取模块,用于获取原图和表情图;所述原图包括目标人物的初始表情;所述表情图包括目标表情;

处理模块,用于通过预设模型,根据所述原图和所述表情图,得到掩码图像、第一图像和第二图像;所述第一图像包括与所述目标表情匹配的所述目标人物的五官特征;所述第二图像包括与所述目标表情匹配的所述目标人物的头部特征;

通过所述预设模型,根据所述掩码图像对所述第一图像和所述第二图像进行融合,得到人脸图像;所述人脸图像包括所述目标人物的虚拟表情,所述虚拟表情与所述目标表情匹配。

第三方面,本发明提供一种电子设备,包括处理器和存储器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时,实现前述实施方式中任一项所述的方法。

第四方面,本发明提供一种存储介质,所述存储介质上存储有计算机程序,该计算机程序被处理器执行时,实现前述实施方式中任一项所述的方法。

本发明实施例提供的人脸图像生成方法、装置、电子设备和存储介质。通过获取包括目标人物的初始表情的原图,以及包括目标表情的表情图;然后通过预设模型,根据原图和表情图,得到掩码图、第一图像和第二图像,其中,第一图像包括与目标表情匹配的目标人物的五官特征,第二图像包括与目标表情匹配的目标人物的头部特征;再通过预设模型,根据掩码图对第一图像和第二图像进行融合,得到人脸图像,人脸图像中目标人物的虚拟表情,其与目标表情匹配。从而实现人脸的表情迁移,并且基于五官特征和头部特征,可以使人脸特征能够更好的匹配,可以使生成的人脸图像更加真实,生成的效果更好。

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

附图说明

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

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

图2示出了本发明实施例提供的人脸图像生成方法的一种流程示意图;

图3示出了本发明实施例提供的人脸图像生成方法的一个示例图;

图4示出了本发明实施例提供的人脸图像生成方法的又一种流程示意图;

图5示出了本发明实施例提供的人脸图像生成方法的又一个示例图;

图6示出了本发明实施例提供的人脸图像生成方法的又一个示例图;

图7示出了本发明实施例提供的人脸图像生成方法的又一种流程示意图;

图8示出了本发明实施例提供的人脸图像生成方法的又一个示例图;

图9示出了本发明实施例提供的人脸图像生成装置的一种功能模块图。

图标:100-电子设备;110-总线;120-处理器;130-存储器;150-i/o模块;170-通信接口;300-人脸图像生成装置;310-获取模块;330-处理模块;350-训练模块。

具体实施方式

下面将结合本发明实施例中附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。

因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。

需要说明的是,术语“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

请参照图1,是本发明实施例提供的一种电子设备100的方框示意图。电子设备100包括总线110、处理器120、存储器130、i/o模块150、通信接口170。

总线110可以是将上述元件相互连接并在上述元件之间传递通信(例如控制消息)的电路。

处理器120可以通过总线110从上述其它元件(例如存储器130、i/o模块150、通信接口170等)接收命令,可以解释接收到的命令,并可以根据所解释的命令来执行计算或数据处理。

处理器120可能是一种集成电路芯片,具有信号处理能力。该处理器120可以是通用处理器,包括中央处理器(centralprocessingunit,cpu)、网络处理器(networkprocessor,np)等;还可以是数字信号处理器(dsp)、专用集成电路(asic)、现成可编程门阵列(fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。

存储器130可以存储从处理器120或其它元件(例如i/o模块150、通信接口170等)接收的命令或数据或者由处理器120或其它元件产生的命令或数据。

存储器130可以是但不限于,随机存取存储器(randomaccessmemory,ram),只读存储器(readonlymemory,rom),可编程只读存储器(programmableread-onlymemory,prom),可擦除只读存储器(erasableprogrammableread-onlymemory,eprom),电可擦除只读存储器(electricerasableprogrammableread-onlymemory,eeprom)等。

i/o模块150可以接收经由输入-输出手段(例如,传感器、键盘、触摸屏等)从用户输入的命令或数据,并可以通过总线110向处理器120或存储器130传送接收到的命令或数据。并且用于显示从上述元件接收、存储、处理的各种信息(例如多媒体数据、文本数据),可以向用户显示视频、图像、数据等。

通信接口170可用于与其他节点设备进行信令或数据的通信。

可以理解的是,图1所示的结构仅为电子设备100的结构示意图,电子设备100还可包括比图1中所示更多或者更少的组件,或者具有与图1所示不同的配置。图1中所示的各组件可以采用硬件、软件或其组合实现。

本发明实施例提供的电子设备可以是智能手机、个人计算机、平板电脑、可穿戴设备、超级移动个人计算机(ultra-mobilepersonalcomputer,umpc)、上网本、个人数字助理(personaldigitalassistant,pda)等。本发明实施例对此不作任何限制。

可以理解的是,电子设备100中安装有可以生成短视频的应用程序,该应用程序在运行过程中,可以实现本发明实施例提供的人脸图像生成方法。需要说明的是,该应用程序的短视频中的每个视频帧,可以通过该人脸图像生成方法得到,然后基于多个生成的人脸图像得到短视频。

下面将对本发明实施例提供人脸图像生成方法进行介绍。请参阅图2,图2是本发明实施例提供的一种人脸图像生成方法的流程示意图。

步骤s202,获取原图和表情图;

其中,原图包括一个人物的人脸,这个人物就是目标人物。原图中人脸的表情就是初始表情。表情图中可以是与原图中不同的人物,也可以是相同的人物,表情图中人脸的表情就是目标表情。

可以理解的是,不同的人物,其人脸特征是不同的;同一人物处于不同的表情状态,其人脸的特征也是不同的。

需要说明的是,为了更好的理解本发明,本发明实施例均是以原图和表情图中的人物不同,且图中各自人物的表情状态也不同为例,进行说明的。其并不对本发明实施构成限定。

可选地,原图可以是根据用户的交互操作获取到的图片,表情图可以是根据预存的视频模板获取到的。

步骤s204,通过预设模型,根据原图和表情图,得到掩码图像、第一图像和第二图像;

可以理解的是,人物的表情状态可以通过人脸的五官特征和头部特征体现,如大哭、大笑等五官特征,或者低头、扭头等头部特征。原图中的初始表情有对应的五官特征和头部特征,表情图中的目标表情也有对应的五官特征和头部特征。

其中,预设模型是预先训练好的模型,该模型会在下面的实施例中进行介绍。

可以选地,将原图和表情图作为该预设模型的输入,通过该预设模型,可以得到掩码图、第一图像和第二图像。

其中,第一图像包括与目标表情匹配的目标人物的五官特征,可以理解为,第一图像包括目标人物的五官特征,该五官特征与目标表情一样。例如,目标表情是大哭,第一图像中的五官特征也是大哭。

第二图像包括与目标表情匹配的目标人物的头部特征,可以理解为,第二图像中包括目标人物的头部特征,该头部特征与目标表情一样。例如,目标表情是低头,第二图像中的头部特征也是低头。

步骤s206,通过预设模型,根据掩码图像对第一图像和第二图像进行融合,得到人脸图像;

其中,人脸图像包括目标人物的人脸,人脸图像中人脸的表情就是虚拟表情,该虚拟表情与目标表情匹配。

可以理解的是,上述步骤中得到的掩码图是用于控制图像的处理区域,基于掩码图,对第一图像和第二图像进行融合处理,可以分别控制两张图像中的处理区域。

可以选地,根据掩码图,可以在融合处理过程中,获取到第一图像中五官特征所在的区域,第二图像中头部特征所在的区域,以使生成的人脸图像中人脸的表情,与目标表情匹配。

可见基于上述设计,通过获取包括目标人物的初始表情的原图,以及包括目标表情的表情图;然后通过预设模型,根据原图和表情图,得到掩码图、第一图像和第二图像,其中,第一图像包括与目标表情匹配的目标人物的五官特征,第二图像包括与目标表情匹配的目标人物的头部特征;再通过预设模型,根据掩码图对第一图像和第二图像进行融合,得到人脸图像,人脸图像中目标人物的虚拟表情与目标表情匹配。从而可以实现人脸的表情迁移,并且基于五官特征和头部特征,可以使人脸特征能够更好的匹配,可以使生成的人脸图像更加真实,生成的效果更好。

请参阅图3,是本发明实施例提供的一个示例图,图中示例性地给出了本发明实施例提供的预设模型的结构。其中,预设模型包括人脸关键点网络、特征编码网络、掩码预测网络、生成网络、光流预测网络和图像融合子模块。

下面将基于该预设模型,结合图3和图4对本发明实施例提供的人脸图像生成方法进行介绍。请参阅图4,步骤s204还可以包括以下步骤:

步骤s204-1,通过预设模型的人脸关键点网络,对原图和所述表情图进行人脸关键点检测,得到原图关键点和表情图关键点;

其中,人脸关键点检测是指定位出人脸的关键区域位置,其中包括眉毛、眼睛、鼻子、嘴巴、脸部轮廓等关键部位。

可选地,通过人脸关键点网络,可以确定出原图中目标人物为初始表情时,人脸的关键部位在原图中的位置,并且进行光栅化处理,可以得到原图关键点。

通过人脸关键点网络,可以确定出表情图中人脸的关键部位在表情图中的位置,并且进行光栅化处理,可以得到表情图关键点。

光栅化是指将几何图片转为二维图像,即将图片转化为栅格组成的图像。

步骤s204-3,通过预设模型的特征编码网络,对原图、原图关键点和表情图关键点进行特征提取,得到原图特征、原图关键点特征和表情图关键点特征;

其中,特征提取是确定出人脸的特征,其包括人脸部位的大小和形状;

可选地,通过特征编码网络,对原图进行特征提取,可以获取到原图中目标人物为初始表情时,人脸的各个部位的形状和大小,得到原图特征。

通过特征编码网络,对原图关键点进行特征提取,可以获取到原图中的目标人物为初始表情时,人脸的关键部位的形状和大小,得到原图关键点特征。

通过特征编码网络,对表情图关键点进行特征提取,可以获取到表情图中,人脸的关键部位的形状和大小。

在得到原图特征、原图关键点特征和表情图关键点特征之后,可以分别通过不同的网络层,分别得到掩码图像、第一图像和第三图像。可以理解的是,获得这三种图像的顺序可以按照实际需要设计,本发明实施例不做限制。

请参阅图5,图5中的(a)为原图,图5中的(c1)、(c2)和(c3)分别为基于原图和表情图得到的掩码图像、第一图像和第二图像,图5中的(d)为基于原图和表情图生成的人脸图像。需要说明的是,图5仅为示例性展示,其用于阐述本发明实现的原理和技术效果,不涉及到真实信息。

步骤s204-5,通过预设模型,根据原图特征、原图关键点特征和表情图关键点特征,得到掩码图像;

可选地,通过预设模块的掩码预设网络,可以将原图特征、原图关键点特征和表情图关键点特征进行比对和运算,从而得到掩码图像。

可以理解的是,通过掩码预设网络得到的掩码图像,其像素值可以为0,也可以为1。基于像素值,可以将掩码图像划分为关键区域和非关键区域,例如,像素值为1的区域为关键区域,像素值为0的区域为非关键区域。

可以理解的是,人脸的表情状态主要通过五官特征来体现,掩码图可以用于表示原图的区域,掩码图像中的关键区域可以用于表示原图中五官所在的区域,从而可以确定出五官所在的位置。

如图5中的(c1),该掩码图像包括两个区域,关键区域表示原图中五官所在的区域,非关键区域表示原图中其他区域。

由于掩码图像可以用于表示原图中特征所在的区域信息,基于特征所在区域信息,可以作用于模型中的其他网络层如生成网络,使生成网络重点关注关键区域即五官所在的区域,从而可以获得更真实的五官。具体的介绍会在下面的模型训练部分说明。

步骤s204-7,通过预设模型,根据原图特征、原图关键点特征和表情图关键点特征,得到第一图像;

可选地,通过预设模块的生成网络,可以将原图特征、原图关键点特征和表情图关键点特征进行比对和运算,从而得到第一图像。可选地,该生成网络可以采用vgg网络。

可以理解的是,该生成网络用于生成目标人物与目标表情匹配的五官特征,并且包括原图中没有的五官特征。

如图5中的(c2),是基于原图和表情得到的第一图像。原图中的目标人物的嘴巴为合并状态,其没有口腔内的特征;基于驱动图中的目标表情,通过生成网络生成的第一图像,该图像中目标人物的嘴巴为张开状态,并且包括口腔内的特征。

可选地,在设计生成网络时,可以设置生成的第一图像的分辨率,设置其分辨率为小于原图的分辨率,使生成网络重点关注需要生成的五官特征。

步骤s204-9,通过预设模型,根据原图、原图关键点特征和表情图关键点特征,得到第二图像;

可选地,通过预设模型的光流预测模块,根据原图关键点特征和表情图关键点特征,可以得到光流信息,该光流信息表示原图关键点特征与表情图关键点特征的位移量。

光流是用于表示图像的变化信息。人脸的表情状态不同,那么人脸特征的也就不同,光流可以用于表示人脸特征的变化信息。根据该光流信息,对原图进行变形处理,可以得到第二图像。

如图5中的(c3),是基于原图和表情图得到的第二图像。第二图像包括原图中的背景和通过变形处理后的人脸,其人脸包括目标对象的头部特征,如头发、人像轮廓。

可以理解的是,第二图像是基于原图进行变形处理得到,第二图像具有与原图相同的分辨率。

步骤s206,通过预设模型,根据掩码图像对第一图像和第二图像进行融合,得到人脸图像;

可选地,掩码图像与第一图像的分辨率均小于原图的分辨率,可以通过双线性插值法,将掩码图像和第一图像进行放大,得到放大掩码图像和放大第一图像,使两者的分辨率与原图的分辨率相同,也与第二图像的分辨率相同。

可以理解的是,每个图像都可以用该图像的图像矩阵表示。

可选地,将放大掩码图像的图像矩阵与放大第一图像的图像矩阵进行点乘,可以得到第一融合矩阵。该第一融合矩阵包括第一图像中五官特征的信息。

将放大掩码图像的图像矩阵进行取反,然后与第二图像的图像矩阵进行点乘,得到第二融合矩阵。该第二融合矩阵包括第二图像中除五官特征以外的信息,即头部特征信息和背景信息。

将第一融合矩阵和第二融合矩阵进行相加,可以得到人脸图像,该人脸图像包括目标人物的虚拟表情,即通过预设模型生成的表情,该表情与目标表情匹配。如图5中的(d),是基于原图和表情图生成的人脸图像。

可以理解的是,人脸的表情状态可以通过五官特征和头部特征来体现。且这两种特征的变化幅度是不同的。五官特征的变化幅度较小,而头部特征的变化幅度较大。现有技术中,通常采用深度神经网络来生成人脸特征,但是由于特征的变化幅度存在差异,使得生成的特征不能同时达到相同的效果。

本发明实施例基于上述设计,通过掩码预测网络得到掩码图像,掩码图像包括关键区域和非关键区域;将生成网络应用于变化幅度较小的五官特征,用于生成第一图像;针对变化幅度较大的头部特征,采用光流估计和图像变形处理的方式,得到第二图像;通过掩码图中的关键区域和非关键区域,获取到第一图像中的五官特征和第二图像中的头部特征,进行图像融合得到人脸图像。从而可以提高了人脸特征的匹配度,使得生成的人脸图像效果更真实。

在上述步骤中提到了,本发明实施例提供的预设模型是预先训练好的模型,下面将结合图6和图7,介绍一种获得该预设模型可能的实现方式。

本发明实施例提供预设模型是采用端到端的训练模式得到的。端到端是指模型在训练过程中,样本数据从输入端到输出端,会得到一个预测结果,该预测结果与真实结果相比存在一个误差,这个误差会在模型中的每一层传递,每一层都会基于这个误差进行调整,直到模型达到预期的效果才结束。基于端到端的训练模式,下面将对训练的步骤进行介绍。

请参阅图7,步骤s212,将训练样本输入到基础模型,得到目标图像;

其中,基础模型是还没有进行训练的模型;

可选地,可以从预设同一人脸视频中截取两个视频帧作为训练样本,这两个视频帧都包括同一个人物的人脸,但是这两个视频帧中人脸的表情是不同的。

可以理解的是,为了区分这两个视频帧,将其中一个视频帧称作源图,将另一个视频帧称作驱动图,源图中人脸的表情为迁移前的表情,驱动图中人脸的表情为迁移后的表情。

可选地,将源图和驱动图输入到基础模型中,得到的输出就是目标图像。

可以理解的是,为了便于描述,将掩码预测模块的输入称作掩码图;将生成网络的输出称作低清图;将基于光流对源图进行变形处理得到的图像称作高清图。

步骤s214,根据目标图像和样本标记信息,计算损失函数;

其中,训练样本包括样本标记信息;

可选地,得到目标图像后,可以结合训练样本的样本标记信息,计算损失函数。

步骤s216,根据损失函数优化基础模型的参数;

可选地,根据损失函数,可以调整基础模型中每个网络层的参数,以对模型进行优化。

步骤s218,当达到预设迭代次数时,得到预设模型。

可选地,该模型训练的收敛条件为迭代次数,当训练次数达到预设迭代次数,将当前的基础模型作为预设模型。

由于损失函数在模型训练中具有重要作用,下面将对该模型的损失函数进行介绍。

1、距离损失:l1=||x-g(z)||1

其中,l1表示距离损失函数;x表示驱动图;g(z)表示目标图像。

2、感知损失:

其中,lvgg表示感知损失函数;表示驱动图中的特征;表示目标图像中的特征;j表示生成网络的第j层,该生成网络采用的是vgg网络。

3、判别损失:

其中,lp表示判别损失函数;d表示判别器;g表示生成器;x表示驱动图;g(z)表示目标图像;d(x)表示判别器对驱动图的判别结果;d(g(z))表示判别器对目标图像的判别结果;e(x)表示x的期望;e(z)表示z的期望;z表示生成器的输入。

可以理解的是,在训练过程中,生成网络包括判别器和生成器。

4、光流预测网络的损失:给定光流为δ∈rh*w*2,其正则项即tvloss函数为:

该tvloss函数应用于光流,用于限制光流的平滑性,避免图像中出现突变。

5、掩码预测网络的损失:

其中,lmask表示掩码损失函数;m表示掩码图;mi,j表示掩码图m中第i行第j列像素点的值。

该掩码损失函数用于避免生成的掩码图的像素值都为1,避免导致目标图像都是低清图的信息。

6、生成网络的损失:lgen=||g(z)i,j*(1-m)||;

其中,lgen表示生成网络损失函数;m表示掩码图;g(z)i,j表示低清图。

该生成网络损失函数用于训练生成网络,使生成网络专注于关键区域对应的图像信息,以提升低清图的生成质量。

结合上述的损失函数,可以得到该模型的总损失函数为:

ltotal=λ1l1+λvgglvgg+λplp+λtvltv+λmasklmask+λgenlgen;

其中,λ1、λvgg、λp、λtv、λmask、λgen分别表示对应的损失函数的可调节权重参数。

在上述实施例中介绍到,本发明实施例提高的人脸图像生成方法,可以应用在生成短视频的应用程序中,用于生成多个人脸图像得到短视频。进而本发明实施例提供了一种可能实现的方式。请参图8,是本发明实施例提供的一个交互示例图。

如图8中的(u1),是本发明实施例提供的一个视频模板界面的示例图,该界面包括多个预先存储的视频模板,每个视频模板均包括同一个人物的人脸,该视频呈现的是人脸表情发生变化的过程。

当检测到用户在该界面的选择操作时,确定与该选择操作对应的目标视频模板即视频模板4。然后显示图8中的(u2),该视频模板界面包括模板预览区域,该区域用于向用户展示目标视频模板中的人物表情变化的视频,即播放视频模板4。

该视频模板界面还包括模板确认控件,当检测到用户在该模板确认控件的确认操作时,获取到目标模板视频中的每个视频帧,将每个视频帧作为表情图,即从视频模板4中获取到表情图;并且显示图片获取界面,如图中8的(u3)所示。

该图片获取界面包括上传提示区域和图片上传区域,上传提示区域用于向用户展示以上传图片的提示信息。

当检测到用户在图片上传区域的交互操作时,如用户在电子设备的本地相册执行的选择操作,或者用户通过电子设备执行拍照操作,获取到该交互操作对应的目标图片,该图片为原图。

该图片获取界面还包括视频生成控件,当检测到用户在该视频生成控件的确认操作时,根据获取到的原图和表情图,执行上述实施例中介绍的人脸图像生成方法,获得多张人脸图像,根据该多张人脸图像合成一个短视频;并且显示视频预览界面,如图8中的(u4)所示。

该视频预览界面包括视频播放区域和视频互动区域,该视频播放区域用于播放上述根据多张人脸图像合成的短视频,该视频互动区域用于与用户实现互动,以实现评论、发送弹幕等交互功能。

可见基于上述设计,基于用户选择的图片和视频模板,该图片中包括目标人物的人脸,该视频模板中包括多张表情图,这多张表情图呈现出人脸的表情变化过程;通过本发明实施例提供的人脸图像生成方法,可以生成多张人脸图像,该人脸图像可以合成一个短视频,该短视频中为目标人物的人脸,且人脸的表情变化与视频模板中的表情变化匹配。从而可以满足用户的视频娱乐需求。

为了执行上述实施例及各个可能的方式中的相应步骤,下面给出一种人脸图像生成装置的实现方式。请参阅图9,图9为本发明实施例提供的一种人脸图像生成装置300的功能模块图。需要说明的是,本实施例所提供的人脸图像生成装置300,其基本原理及产生的技术效果和上述实施例相同,为简要描述,本实施例部分未提及之处,可参考上述的实施例中相应内容。该人脸图像生成装置300包括:获取模块310,处理模块330。

获取模块310,用于获取原图和表情图;原图包括目标人物的初始表情;表情图包括目标表情;

处理模块330,用于通过预设模型,根据原图和表情图,得到掩码图像、第一图像和第二图像;第一图像包括与目标表情匹配的目标人物的五官特征;第二图像包括与目标表情匹配的目标人物的头部特征;

通过预设模型,根据掩码图像对第一图像和第二图像进行融合,得到人脸图像;人脸图像包括目标人物的虚拟表情,虚拟表情与目标表情匹配。

可选地,处理模块330还用于:通过预设模型的人脸关键点网络,对原图和表情图进行人脸关键点检测,得到原图关键点和表情图关键点;

通过预设模型的特征编码网络,对原图、原图关键点和表情图关键点进行特征提取,得到原图特征、原图关键点特征和表情图关键点特征;

通过预设模型,根据原图特征、原图关键点特征和表情图关键点特征,分别得到掩码图像和第一图像;

通过预设模型,根据原图、原图关键点特征和表情图关键点特征,得到第二图像。

可选地,处理模块330还用于:通过预设模型的掩码预测网络,根据原图特征、原图关键点特征和表情图关键点特征,得到掩码图像;掩码图像包括关键区域和非关键区域;关键区域用于表示目标人物的五官所在的区域。

可选地,处理模块330还用于:通过预设模型的生成网络,根据原图特征、原图关键点特征和表情图关键点特征,得到第一图像;第一图像的分辨率为预设分辨率,预设分辨率小于原图的分辨率。

可选地,处理模块330还用于:通过预设模型的光流预测网络,根据原图关键点特征和表情图关键点特征,得到光流信息;光流信息表征原图关键点特征与表情图关键点特征的位移信息;

根据光流信息,对原图进行变形处理,得到第二图像。

可选地,获取模块310还用于:响应用户在视频模板界面的选择操作,确定与选择操作对应的目标视频模板,显示图片获取界面;视频模板界面至少包括一个视频模板;目标视频模板的每个视频帧为表情图;

响应用户在图片获取界面的交互操作,获取与交互操作对应的目标图片;目标图片为原图。

可选地,人脸图像生成装置还包括训练模块350,训练模块350用于将训练样本输入到基础模型,得到目标图像;训练样本为预设同一人脸视频中的两张人脸视频帧;训练样本包括样本标记信息;

根据目标图像和样本标记信息,计算损失函数;

根据损失函数优化基础模型的参数;

当达到预设迭代次数时,得到预设模型。

本发明实施例还提供了一种电子设备,包括处理器120和存储器130,存储器130存储有计算机程序,处理器执行计算机程序时,实现上述实施例揭示的人脸图像生成方法。

本发明实施例还提供了一种存储介质,其上存储有计算机程序,该计算机程序被处理器120执行时实现本发明实施例揭示的人脸图像生成方法。

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

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

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

以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

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