具体实施方式
下面将参照附图更详细地描述本公开的实施例。虽然附图中显示了本公开的某些实施例,然而应当理解的是,本公开可以通过各种形式来实现,而且不应该被解释为限于这里阐述的实施例,相反提供这些实施例是为了更加透彻和完整地理解本公开。应当理解的是,本公开的附图及实施例仅用于示例性作用,并非用于限制本公开的保护范围。
应当理解,本公开的方法实施方式中记载的各个步骤可以按照不同的顺序执行,和/或并行执行。此外,方法实施方式可以包括附加的步骤和/或省略执行示出的步骤。本公开的范围在此方面不受限制。
本文使用的术语“包括”及其变形是开放性包括,即“包括但不限于”。术语“基于”是“至少部分地基于”。术语“一个实施例”表示“至少一个实施例”;术语“另一实施例”表示“至少一个另外的实施例”;术语“一些实施例”表示“至少一些实施例”。其他术语的相关定义将在下文描述中给出。
需要注意,本公开中提及的“第一”、“第二”等概念仅用于对不同的装置、模块或单元进行区分,并非用于限定这些装置、模块或单元所执行的功能的顺序或者相互依存关系。
需要注意,本公开中提及的“一个”、“多个”的修饰是示意性而非限制性的,本领域技术人员应当理解,除非在上下文另有明确指出,否则应该理解为“一个或多个”。
本公开实施方式中的多个装置之间所交互的消息或者信息的名称仅用于说明性的目的,而并不是用于对这些消息或信息的范围进行限制。
在详细介绍本公开的具体实施方式之前,首先对本公开的应用场景进行以下说明,本公开可以应用于虚拟角色图像的生成过程,例如通过一张现实中的人脸图像生成游戏系统中的游戏角色图像,以该游戏角色图像作为该游戏系统中的游戏角色,以此来增加用户与游戏内容的融入感,从而达到提升用户体验的效果,该游戏角色图像可以是三维图像,也可以是二维图像。
相关技术中,在生成虚拟角色图像时,通常包括人工作业和机器学习两种方式,其中,该人工作业方式一般是游戏系统提供一组(参数数量由几十到几百不等)可对3D角色图像进行调整的参数,用户在默认3D模型的基础上调整该参数,直至所生成的虚拟角色图像尽可能的反应输入图像的特征为止,该过程中由于参数的维度和自由度较高,且该参数调整过程自动化程度较低,因此迭代调整参数的过程需要花费的时间较长,不仅不利于提升虚拟角色图像的生成效率;通过该机器学习的方式生成虚拟角色图像的过程中,通常包括基于面部主要关键几何点的智能捏脸方向和基于整体重建的智能捏脸方向,该基于面部主要关键几何点的智能捏脸方向通常是建立输入图像关键点(例如五官位置)与捏脸参数之间的关系,即通过CNN(Convolutional Neural Networks,卷积神经网络)模型将输入的人脸关键点信息映射为捏脸参数,将生成好的捏脸参数在游戏系统中渲染出来,从而得到该虚拟角色图像,该过程由于仅考虑了输入图像少数图像关键点,因此难以在形态和神态上做到与输入图像相似的效果;而该基于整体重建的智能捏脸的方向,通常由于虚拟角色图像与输入图像之间的Domain Gap(域隙)过于明显,损失函数的约束能力有限,因此不能很好的对两个域之间的数据进行相互转换,所以产生的虚拟角色图像无论是形态还是神态都与输入图像存在较大的差异,也就是说,目前生成虚拟角色图像的方法,存在捏脸过程持续时间较长,捏脸效率低,生成的虚拟角色图像与输入图像之间的相似度较差,难以在形态和神态上与该输入图像保持一致,不利于提升用户体验的问题。
为了解决上述技术问题,本公开提供了一种虚拟角色图像的生成方法、装置、可读介质及电子设备,该虚拟角色图像的生成方法通过获取待生成所述虚拟角色图像的目标图像;从该目标图像中确定目标脸部区域;获取该目标脸部区域对应的几何特征;将该几何特征经预设图像翻译网络进行转换,以得到该目标图像对应的待定虚拟角色图像;根据该待定虚拟角色图像生成目标虚拟角色图像。这样,通过预设图像翻译网络构建几何特征与待定虚拟角色图像之间的关系,能够有效解决目标图像与虚拟角色图像之间存在巨大域隙的问题,从而不仅能够有效提升该目标虚拟角色图像与目标图像之间的相似度,使该目标虚拟角色图像与目标图像之间的形态和神态相似,还能够有效提升目标虚拟角色图像的生成效率。
下面结合具体的实施方式对本公开的技术方案进行详细阐述。
图1是本公开一示例性实施例示出的一种虚拟角色图像的生成方法的流程图;参见图1,该方法可以包括以下步骤:
步骤101,获取待生成该虚拟角色图像的目标图像。
其中,该虚拟角色图像可以是游戏系统内的游戏角色图像,也可以是其他计算机视角技术应用领域内的图像,例如,可以是无人驾驶中的虚拟角色图像,智慧医疗过程中的虚拟图像,智能安防系统中的虚拟图像等。该虚拟角色图像可以是三维图像也可以是二维图像,该目标图像可以人脸图像,也可以是其他动物图像。
步骤102,从该目标图像中确定目标脸部区域。
本步骤中,可以从所述目标图像中确定脸部区域;获取所述脸部区域中的人脸关键点信息,所述人脸关键点信息包括头发位置、五官位置以及脸庞位置中的一个或者多个;将所述人脸关键点信息与预设脸部区域模板中的预设标准位置对齐,以得到所述目标脸部区域。
需要说明的是,可以通过预设脸部检测器从该目标图像中截取脸部区域,该预设脸部检测器可以是现有技术中的人脸检测器,该预设脸部区域模板中的预设标准位置可以包括五官标准位置,头发标准位置以及脸庞标准位置,可以将通过预设脸部检测器截取的脸部区域输入人脸对齐算法中,以使人脸算法输出该人脸关键点信息,所述人脸关键点信息可以包括头发位置、五官位置以及脸庞位置;所述将该人脸关键点信息与该预设脸部区域模板中的预设标准位置对齐的实施方式可以是通过几何变换算法将该脸部区域中的头发位置变换至头发标准位置,将该脸部区域中的五官位置变换至该五官标准位置,以及将该脸部区域中的脸庞位置以及脸庞标准位置,从而得到消除几何形变的目标脸部区域,其中,该人脸检测器和该几何变换算法在现有技术中较为常见,因此本公开在此不再赘述。
步骤103,获取该目标脸部区域对应的几何特征。
本步骤中,可以将该目标脸部区域输入预设分割网络模型,以得到该目标脸部区域对应的该几何特征,该几何特征包括头发区域,五官区域以及脸庞区域。
其中,该预设分割网络模型的训练过程可以包括:获取多个脸部区域图像样本,该脸部区域图像样本中包括对每个划分区域的标注数据,以该多个脸部区域图像样本为训练数据,对预设初始神经网络模型进行训练,以得到该预设分割网络模型,该预设初始神经网络模型可以是CNN(Convolutional Neural Networks,卷积神经网络)或者FCN(FullyConvolution Network,全卷积网络)。
示例地,如图2所示,图2是本公开一示例性实施例示出的一种预设分割网络模型的原理示意图,在该图2中,将该真实的人脸图像作为该预设分割网络模型的输入,该预设分割网络模型能够输出人脸图像中人物的头发、五官(耳、眉、眼、鼻、唇),脸庞等所在位置的几何区域,从而形成该人脸图像对应的几何特征。
步骤104,将该几何特征经预设图像翻译网络进行转换,以得到该目标图像对应的待定虚拟角色图像。
其中,该预设图像翻译网络可以是cGAN(Conditional Generative AdversarialNets,条件生成-对抗网络)网络,可以包括预设生成子网络,和与该预设生成子网络耦合的预设判别子网络,该预设生成子网络通过以下图3(图3是本公开一示例性实施例示出的一种预设图像翻译网络的训练方法的流程图;)所示的步骤S1至步骤S6训练得到:
S1,获取多个第一虚拟角色图像样本,以及每个第一虚拟角色图像样本对应的几何特征样本。
其中,该第一虚拟角色图像样本可以是在游戏系统中的捏脸引擎中随机的设置一组捏脸参数,以使该捏脸引擎输出该捏脸参数对应的虚拟角色样本,将该虚拟图像样本作为该第一虚拟角色图像样本,可选地,该第一虚拟角色图像样本也可以是真实的人脸图像。
S2,将该几何特征样本输入预设初始生成子网络,以输出中间虚拟角色图像。
其中,该预设初始生成子网络可以是CNN神经网络,也可以是其他神经网络。
S3,将该第一虚拟角色图像样本,该第一虚拟角色图像样本对应的该中间虚拟角色图像和该几何特征样本,输入预设判别子网络,以使该预设判别子网络输出该中间虚拟角色图像与该第一虚拟角色图像样本的真假概率。
其中,该真假概率用于表征该中间虚拟角色图像是否为该第一虚拟角色图像,该预设判别子网络通过以下方式训练得到:获取多个第二虚拟角色图像样本,该第二虚拟角色图像样本包括第一虚拟角色图像,该第一虚拟角色图像对应的几何特征,以及第一虚拟角色图像是否属于真实图像的标注数据;以多个该第二虚拟角色图像样本为第一训练数据对预设初始判别网络进行训练,以得到该预设判别子网络。
S4,确定该真假概率是否为预设概率值。
本步骤中,该预设概率值可以是0.5,在该真假概率为非预设概率值的情况下,执行步骤S5,在该真假概率为预设概率值的情况下,执行步骤S6。
S5,调整该预设初始生成子网络的模型参数,以得到更新后的预设初始生成子网络,并再次执行该步骤S3所述的将该第一虚拟角色图像样本,该第一虚拟角色图像样本对应的该中间虚拟角色图像和该几何特征样本,输入预设判别子网络,以使该预设判别网络输出该中间虚拟角色图像与该第一虚拟角色图像样本的真假概率的步骤。
S6,将当前的预设初始生成子网络确定为该预设生成子网络。
示例地,如图4所示,图4是本公开一示例性实施例示出的一种预设图像翻译网络的训练示意图,在该图4中,图片a是一个第一虚拟角色图像样本,该图片g为该第一虚拟角色图像样本对应的几何特征样本,图片I为当前的预设初始生成子网络Gen输出的中间虚拟角色图像,将该图片a,该图片I和图片g,输入该预设判别子网络Dis,该预设判别子网络Dis会判断该图片I在该图片g的条件下是否为真实的图像,并会判断该图片a在该图片g的条件下是否为真实的图像,从而得到该图片I与该图片a为真实图像的真假概率,在该图片I的真假概率为非0.5的情况下,该预设判别子网络Dis输出0,此时需要调整该预设初始生成子网络Gen内的模型参数,并再次进行迭代计算直至预设判别子网络Dis输出1时,即在该图片I的真假概率为0.5的情况下,将当前的该预设初始生成子网络Gen作为该预设生成子网络。
步骤105,根据该待定虚拟角色图像生成目标虚拟角色图像。
本步骤中,可以将该待定虚拟角色图像输入该预设回归网络模型,以使该预设回归网络模型输出目标捏脸参数;将该目标捏脸参数输入预设游戏引擎,以得到该目标虚拟角色图像。
其中,该预设回归网络模型通过以下步骤训练得到:获取第二训练数据,该第二训练数据包括多个捏脸参数样本,以及每个捏脸参数样本对应的第三虚拟角色图像样本;根据该第二训练数据对预设初始回归网络进行训练,以得到该预设回归网络模型。
需要说明的是,可以通过均匀分布的规则随机设置捏脸参数,以得到多个捏脸参数样本,每个捏脸参数样本中可以包括多个不同的捏脸参数,通过将每个捏脸参数样本输入游戏系统中的捏脸引擎中,以使该捏脸引擎输出每个捏脸参数样本对应的第三虚拟角色样本。该预设初始回归网络可以是现有技术中的非线性回归网络,该非线性回归网络可以是基于神经网络的非线性回归网络,如BP神经网络,或者感知机(Multilayer Perceptron,MLP)网络。
示例地,如图5所示,图5是本公开一示例性实施例示出的一种生成目标虚拟角色图像的示意图,在该图5中,获取待生成虚拟角色图像的目标图像为图片r,通过预设脸部检测器从该目标图像中截取脸部区域;然后根据预设脸部区域模板将该脸部区域进行位置对齐处理,以得到消除几何形变的目标脸部区域,然后将该目标脸部区域输入预设分割网络模型,以输出得到该目标脸部区域对应的该几何特征(即图片G),将图片G输入预设图像翻译网络,以输出得到该目标图像对应的待定虚拟角色图像(即图片i),将图片i输入该预设回归网络模型,以使该预设回归网络模型输出目标捏脸参数p;将该目标捏脸参数p输入预设游戏引擎,以输出得到该目标虚拟角色图像A。
以上技术方案,通过预设图像翻译网络构建几何特征与待定虚拟角色图像之间的关系,能够有效解决目标图像与虚拟角色图像之间存在巨大域隙的问题,从而不仅能够有效提升该目标虚拟角色图像与目标图像之间的相似度,使该目标虚拟角色图像与目标图像之间的形态和神态相似,还能够有效提升目标虚拟角色图像的生成效率。
图6是本公开另一示例性实施例示出的一种虚拟角色图像的生成方法的流程图;参见图6,该方法可以包括以下步骤:
步骤601,获取待生成该虚拟角色图像的目标图像。
其中,该虚拟角色图像可以是游戏系统内的游戏角色图像,也可以是其他计算机视角技术应用领域内的图像,例如,可以是无人驾驶中的虚拟角色图像,智慧医疗过程中的虚拟图像,智能安防系统中的虚拟图像等。该虚拟角色图像可以是三维图像也可以是二维图像,该目标图像可以人脸图像,也可以是其他动物图像。
步骤602,从该目标图像中确定脸部区域,并获取该脸部区域中的人脸关键点信息。
其中,该人脸关键点信息包括头发位置、五官位置以及脸庞位置中的一个或者多个,可以通过预设脸部检测器截取该脸部区域,将该脸部区域输入人脸对齐算法,以使该人脸对齐算法输出该人脸关键点信息,该预设脸部检测器可以是现有技术中的人脸检测器,该人脸检测器和该人脸对齐算法在现有技术中较为常见,本公开在此不再赘述。
步骤603,将该人脸关键点信息与预设脸部区域模板中的预设标准位置对齐,以得到所述目标脸部区域。
其中,该预设脸部区域模板中的预设标准位置可以包括五官标准位置,头发标准位置以及脸庞标准位置,可以将通过预设脸部检测器截取的脸部区域输入人脸对齐算法中,以使人脸算法输出该人脸关键点信息,所述人脸关键点信息可以包括头发位置、五官位置以及脸庞位置。
本步骤中,可以通过几何变换算法将该脸部区域中的头发位置变换至头发标准位置,将该脸部区域中的五官位置变换至该五官标准位置,以及将该脸部区域中的脸庞位置以及脸庞标准位置,从而得到消除几何形变的目标脸部区域,该人脸检测器和该几何变换算法在现有技术中较为常见,因此本公开在此不再赘述。
步骤604,将该目标脸部区域输入预设分割网络模型,以得到该目标脸部区域对应的该几何特征。
本步骤中,该几何特征包括头发区域,五官区域以及脸庞区域,由于目标图像(可以是真实场景中的人像数据)与虚拟角色图像(例如,游戏场景中的游戏角色图像)之间存在巨大的Domain Gap(域隙),因此,本公开通过该预设分割网络模型将目标图像与虚拟角色图像映射到同一个几何空间,从而得到在该集合空间下的该目标脸部区域对应的该几何特征,上述将目标图像与虚拟角色图像映射到同一个几何空间的过程可以通过以下公式描述:gr=S(r),ga=S(a);
其中,该gr为该目标脸部区域在该目标图像对应几何空间内的几何信息,该S(r)为该目标图像r对应的目标脸部区域在共同的几何空间下的几何特征,该ga为该虚拟角色图像a在自己的几何空间内的几何信息,该S(a)为虚拟角色图像a在共同的几何空间下的几何特征。这样,能够避免目标图像与虚拟角色图像之间存在巨大域隙的问题,有利于提升该目标虚拟角色图像与目标图像之间的相似度。
步骤605,将该几何特征输入预设图像翻译网络,以得到该目标图像对应的待定虚拟角色图像。
本步骤的具体实施方式可以参见以上图1中步骤104所示的实施例,本公开在此不再赘述。
另外,本步骤中可以将该几何特征ga或gr采用该cGAN网络映射至像素空间I,以得到该待定虚拟角色图像,该映射过程可以通过以下公式表示:
Ig=cGAN(g)
其中,该g包括目标图像的几何特征ga或该虚拟角色图像的几何特征gr,Ig表征目标图像或者虚拟角色图像在像素空间I中的像素信息,由在该像素空间I中的像素信息可以确定出该待定虚拟角色图像,该cGAN表征该预设图像翻译网络对应的函数名称。这样,能够通过该预设图像翻译网络将该目标图像(真实场景下的人像数据)映射至该虚拟角色图像(例如,游戏场景中的游戏角色图像)对应的像素空间,得到该待定虚拟角色图像,有助于生成与该目标图像形态和神态相似的目标虚拟角色图像。
步骤606,将该待定虚拟角色图像输入该预设回归网络模型,以使该预设回归网络模型输出目标捏脸参数。
其中,该预设回归网络模型通过以下步骤训练得到:获取第二训练数据,该第二训练数据包括多个捏脸参数样本,以及每个捏脸参数样本对应的第三虚拟角色图像样本;根据该第二训练数据对预设初始回归网络进行训练,以得到该预设回归网络模型。
示例地,若该待定虚拟角色图像为A,该预设回归网络模型用M表示,则该待定虚拟角色图像A对应的目标捏脸参数PA可以表示为PA=M(A)。这样,通过该预设回归网络模型能够有效的获取到该目标捏脸参数,从而能够为该目标虚拟角色图像的生成提供可靠的数据依据。
步骤607,将该目标捏脸参数输入预设游戏引擎,以得到该目标虚拟角色图像。
其中,该预设游戏引擎可以根据该目标捏脸参数,在预设3D人脸模型的基础上,生成与该目标图像形态和神态相似的虚拟角色图像,该预设游戏引擎在游戏行业里较为常见,本公开在此不再赘述。
以上技术方案,通过预设图像翻译网络构建几何特征与待定虚拟角色图像之间的关系,能够有效解决目标图像与虚拟角色图像之间存在巨大域隙的问题,从而不仅能够有效提升该目标虚拟角色图像与目标图像之间的相似度,使该目标虚拟角色图像与目标图像之间的形态和神态相似,还能够有效提升目标虚拟角色图像的生成效率。
图7是本公开一示例性实施例示出的一种虚拟角色图像的生成装置的框图;参见图7,该装置可以包括:
第一获取模块701,用于获取待生成该虚拟角色图像的目标图像;
第一确定模块702,用于从该目标图像中确定目标脸部区域;
第二获取模块703,用于获取该目标脸部区域对应的几何特征;
第二确定模块704,用于将该几何特征经预设图像翻译网络进行转换,以得到该目标图像对应的待定虚拟角色图像;
生成模块705,用于根据该待定虚拟角色图像生成目标虚拟角色图像。
以上技术方案,通过预设图像翻译网络构建几何特征与待定虚拟角色图像之间的关系,能够有效解决目标图像与虚拟角色图像之间存在巨大域隙的问题,从而不仅能够有效提升该目标虚拟角色图像与目标图像之间的相似度,使该目标虚拟角色图像与目标图像之间的形态和神态相似,还能够有效提升目标虚拟角色图像的生成效率。
可选地,该第一确定模块702,用于:
从所述目标图像中确定脸部区域;获取所述脸部区域中的人脸关键点信息,所述人脸关键点信息包括头发位置、五官位置以及脸庞位置中的一个或者多个;将所述人脸关键点信息与预设脸部区域模板中的预设标准位置对齐,以得到所述目标脸部区域。
可选地,该第二获取模块703,用于:
将该目标脸部区域输入预设分割网络模型,以得到该目标脸部区域对应的该几何特征,所述几何特征包括头发区域,五官区域以及脸庞区域。
可选地,该预设图像翻译网络包括预设生成子网络,和与该预设生成子网络耦合的预设判别子网络,该预设生成子网络通过以下步骤训练得到:
获取多个第一虚拟角色图像样本,以及每个第一虚拟角色图像样本对应的几何特征样本;
将该几何特征样本输入预设初始生成子网络,以输出中间虚拟角色图像;
将该第一虚拟角色图像样本,该第一虚拟角色图像样本对应的该中间虚拟角色图像和该几何特征样本,输入预设判别子网络,以使该预设判别子网络输出该中间虚拟角色图像与该第一虚拟角色图像样本的真假概率;
在该真假概率为非预设概率值的情况下,调整该预设初始生成子网络的模型参数,以得到更新后的预设初始生成子网络,并再次执行该将该第一虚拟角色图像样本,该第一虚拟角色图像样本对应的该中间虚拟角色图像和该几何特征样本,输入预设判别子网络,以使该预设判别网络输出该中间虚拟角色图像与该第一虚拟角色图像样本的真假概率的步骤,直至在确定该真假概率为预设概率值的情况下,将当前的预设初始生成子网络确定为该预设生成子网络。
可选地,该预设判别子网络通过以下方式训练得到:
获取多个第二虚拟角色图像样本,该第二虚拟角色图像样本包括第一虚拟角色图像,该第一虚拟角色图像对应的几何特征,以及第一虚拟角色图像是否属于真实图像的标注数据;
以多个该第二虚拟角色图像样本为第一训练数据对预设初始判别网络进行训练,以得到该预设判别子网络。
可选地,该生成模块705,用于:
将该待定虚拟角色图像输入该预设回归网络模型,以使该预设回归网络模型输出目标捏脸参数;
将该目标捏脸参数输入预设游戏引擎,以得到该目标虚拟角色图像。
可选地,该预设回归网络模型通过以下步骤训练得到:
获取第二训练数据,该第二训练数据包括多个捏脸参数样本,以及每个捏脸参数样本对应的第三虚拟角色图像样本;
根据该第二训练数据对预设初始回归网络进行训练,以得到该预设回归网络模型。
以上技术方案,通过预设图像翻译网络构建几何特征与待定虚拟角色图像之间的关系,能够有效解决目标图像与虚拟角色图像之间存在巨大域隙的问题,从而不仅能够有效提升该目标虚拟角色图像与目标图像之间的相似度,使该目标虚拟角色图像与目标图像之间的形态和神态相似,还能够有效提升目标虚拟角色图像的生成效率。
下面参考图8,其示出了适于用来实现本公开实施例的电子设备800的结构示意图。本公开实施例中的终端设备可以包括但不限于诸如移动电话、笔记本电脑、数字广播接收器、PDA(个人数字助理)、PAD(平板电脑)、PMP(便携式多媒体播放器)、车载终端(例如车载导航终端)等等的移动终端以及诸如数字TV、台式计算机等等的固定终端。图8示出的电子设备仅仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。
如图8所示,电子设备800可以包括处理装置(例如中央处理器、图形处理器等)801,其可以根据存储在只读存储器(ROM)802中的程序或者从存储装置808加载到随机访问存储器(RAM)803中的程序而执行各种适当的动作和处理。在RAM 803中,还存储有电子设备800操作所需的各种程序和数据。处理装置801、ROM 802以及RAM 803通过总线804彼此相连。输入/输出(I/O)接口805也连接至总线804。
通常,以下装置可以连接至I/O接口805:包括例如触摸屏、触摸板、键盘、鼠标、摄像头、麦克风、加速度计、陀螺仪等的输入装置806;包括例如液晶显示器(LCD)、扬声器、振动器等的输出装置807;包括例如磁带、硬盘等的存储装置808;以及通信装置809。通信装置809可以允许电子设备800与其他设备进行无线或有线通信以交换数据。虽然图8示出了具有各种装置的电子设备800,但是应理解的是,并不要求实施或具备所有示出的装置。可以替代地实施或具备更多或更少的装置。
特别地,根据本公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在非暂态计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信装置809从网络上被下载和安装,或者从存储装置808被安装,或者从ROM 802被安装。在该计算机程序被处理装置801执行时,执行本公开实施例的方法中限定的上述功能。
需要说明的是,本公开上述的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本公开中,计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读信号介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:电线、光缆、RF(射频)等等,或者上述的任意合适的组合。
在一些实施方式中,客户端、服务器可以利用诸如HTTP(HyperText TransferProtocol,超文本传输协议)之类的任何当前已知或未来研发的网络协议进行通信,并且可以与任意形式或介质的数字数据通信(例如,通信网络)互连。通信网络的示例包括局域网(“LAN”),广域网(“WAN”),网际网(例如,互联网)以及端对端网络(例如,ad hoc端对端网络),以及任何当前已知或未来研发的网络。
上述计算机可读介质可以是上述电子设备中所包含的;也可以是单独存在,而未装配入该电子设备中。
上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被该电子设备执行时,使得该电子设备:获取待生成所述虚拟角色图像的目标图像;从该目标图像中确定目标脸部区域;获取该目标脸部区域对应的几何特征;将该几何特征经预设图像翻译网络进行转换,以得到该目标图像对应的待定虚拟角色图像;根据该待定虚拟角色图像生成目标虚拟角色图像。
可以以一种或多种程序设计语言或其组合来编写用于执行本公开的操作的计算机程序代码,上述程序设计语言包括但不限于面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言——诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)——连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
附图中的流程图和框图,图示了按照本公开各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本公开实施例中所涉及到的模块可以通过软件的方式实现,也可以通过硬件的方式来实现。其中,模块的名称在某种情况下并不构成对该模块本身的限定,例如,第一获取模块还可以被描述为“获取待生成虚拟角色图像的目标图像的模块”。
本文中以上描述的功能可以至少部分地由一个或多个硬件逻辑部件来执行。例如,非限制性地,可以使用的示范类型的硬件逻辑部件包括:现场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、片上系统(SOC)、复杂可编程逻辑设备(CPLD)等等。
在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
根据本公开的一个或多个实施例,示例1提供了一种虚拟角色图像的生成方法,该方法包括:
获取待生成所述虚拟角色图像的目标图像;
从该目标图像中确定目标脸部区域;
获取该目标脸部区域对应的几何特征;
将该几何特征经预设图像翻译网络进行转换,以得到该目标图像对应的待定虚拟角色图像;
根据该待定虚拟角色图像生成目标虚拟角色图像。
根据本公开的一个或多个实施例,示例2提供了示例1的方法,该从该目标图像中确定目标脸部区域,包括:
从该目标图像中确定脸部区域;
获取所述脸部区域中的人脸关键点信息;
将所述人脸关键点信息与预设脸部区域模板中的预设标准位置对齐,以得到所述目标脸部区域。
根据本公开的一个或多个实施例,示例3提供了示例1的方法,该获取该目标脸部区域对应的几何特征,包括:
将该目标脸部区域输入预设分割网络模型,以得到该目标脸部区域对应的该几何特征。
根据本公开的一个或多个实施例,示例4提供了示例1的方法,该预设图像翻译网络包括预设生成子网络,和与该预设生成子网络耦合的预设判别子网络,该预设生成子网络通过以下步骤训练得到:
获取多个第一虚拟角色图像样本,以及每个第一虚拟角色图像样本对应的几何特征样本;
将该几何特征样本输入预设初始生成子网络,以输出中间虚拟角色图像;
将该第一虚拟角色图像样本,该第一虚拟角色图像样本对应的该中间虚拟角色图像和该几何特征样本,输入预设判别子网络,以使该预设判别子网络输出该中间虚拟角色图像与该第一虚拟角色图像样本的真假概率;
在该真假概率为非预设概率值的情况下,调整该预设初始生成子网络的模型参数,以得到更新后的预设初始生成子网络,并再次执行该将该第一虚拟角色图像样本,该第一虚拟角色图像样本对应的该中间虚拟角色图像和该几何特征样本,输入预设判别子网络,以使该预设判别网络输出该中间虚拟角色图像与该第一虚拟角色图像样本的真假概率的步骤,直至在确定该真假概率为预设概率值的情况下,将当前的预设初始生成子网络确定为该预设生成子网络。
根据本公开的一个或多个实施例,示例5提供了示例4的方法,该预设判别子网络通过以下方式训练得到:
获取多个第二虚拟角色图像样本,该第二虚拟角色图像样本包括第一虚拟角色图像,该第一虚拟角色图像对应的几何特征,以及第一虚拟角色图像是否属于真实图像的标注数据;
以多个该第二虚拟角色图像样本为第一训练数据对预设初始判别网络进行训练,以得到该预设判别子网络。
根据本公开的一个或多个实施例,示例6提供了示例1的方法,该根据该待定虚拟角色图像生成目标虚拟角色图像,包括:
将该待定虚拟角色图像输入该预设回归网络模型,以使该预设回归网络模型输出目标捏脸参数;
将该目标捏脸参数输入预设游戏引擎,以得到该目标虚拟角色图像。
根据本公开的一个或多个实施例,示例7提供了示例6的方法,该预设回归网络模型通过以下步骤训练得到:
获取第二训练数据,该第二训练数据包括多个捏脸参数样本,以及每个捏脸参数样本对应的第三虚拟角色图像样本;
根据该第二训练数据对预设初始回归网络进行训练,以得到该预设回归网络模型。
根据本公开的一个或多个实施例,示例8提供了一种一种虚拟角色图像的生成装置,该装置包括:
第一获取模块,用于获取待生成所述虚拟角色图像的目标图像;
第一确定模块,用于从该目标图像中确定目标脸部区域;
第二获取模块,用于获取该目标脸部区域对应的几何特征;
第二确定模块,用于将该几何特征将预设图像翻译网络进行转换,以得到该目标图像对应的待定虚拟角色图像;
生成模块,用于根据该待定虚拟角色图像生成目标虚拟角色图像。
根据本公开的一个或多个实施例,示例9提供了一种计算机可读介质,其上存储有计算机程序,该程序被处理装置执行时实现以上示例1-7中任一项该方法的步骤。
根据本公开的一个或多个实施例,示例10提供了一种电子设备,包括:
存储装置,其上存储有计算机程序;
处理装置,用于执行该存储装置中的该计算机程序,以实现以上示例1-7中任一项该方法的步骤。
以上描述仅为本公开的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本公开中所涉及的公开范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离上述公开构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本公开中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。
此外,虽然采用特定次序描绘了各操作,但是这不应当理解为要求这些操作以所示出的特定次序或以顺序次序执行来执行。在一定环境下,多任务和并行处理可能是有利的。同样地,虽然在上面论述中包含了若干具体实现细节,但是这些不应当被解释为对本公开的范围的限制。在单独的实施例的上下文中描述的某些特征还可以组合地实现在单个实施例中。相反地,在单个实施例的上下文中描述的各种特征也可以单独地或以任何合适的子组合的方式实现在多个实施例中。
尽管已经采用特定于结构特征和/或方法逻辑动作的语言描述了本主题,但是应当理解所附权利要求书中所限定的主题未必局限于上面描述的特定特征或动作。相反,上面所描述的特定特征和动作仅仅是实现权利要求书的示例形式。关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。