一种虚拟形象生成方法、装置、设备以及可读存储介质与流程

文档序号:15389534发布日期:2018-09-08 00:58阅读:186来源:国知局

本发明涉及图像处理技术领域,更具体涉及一种虚拟形象生成方法、装置、设备以及可读存储介质。



背景技术:

随着现代生活水平的不断提高,人们对于娱乐化的需求也越来越多样性,目前,随着内容媒体行业的发展与技术的成熟,出现了以具体用户形象为参考的虚拟形象,进一步扩大了虚拟助手类的使用友好度,受到了越来越多用户的关注与喜爱。

现有技术中,以具体用户形象为参考的虚拟形象的生成方法为:从用户的人脸图像中抠出人脸部分,将抠出人脸部分直接粘贴到虚拟形象中的脸部区域,并对粘贴的人脸部分进行简单的拉伸或放缩,以使粘贴的人脸部分与虚拟形象的脸部区域匹配,从而得到以用户形象为参考的虚拟形象。然而,上述方法生成的虚拟形象很不自然,缺乏真实性,用户体验不佳。



技术实现要素:

有鉴于此,本发明提供了一种虚拟形象生成方法、装置、设备以及可读存储介质,以克服现有技术中生成的虚拟形象缺乏真实性,用户体验不佳的问题,其技术方案如下:

一种虚拟形象生成方法,包括:

获取包含目标用户的人脸的用户图像;

根据所述用户图像和参考三维人脸模型,构建所述目标用户的粗三维人脸模型;

根据所述用户图像,确定人脸属性信息;

基于所述人脸属性信息对所述粗三维人脸模型进行调整,以使调整后的三维人脸模型包含与所述人脸属性信息匹配的信息,调整后的三维人脸模型作为所述目标用户的虚拟形象。

优选地,所述虚拟形象生成方法,还包括:

为所述调整后的三维人脸模型拼接身体形象,拼接后的整体形象作为所述目标用户的虚拟形象。

优选地,所述虚拟形象生成方法,还包括:

基于所述人脸属性信息,为所述目标用户的虚拟形象适配场景信息。

其中,所述基于所述人脸属性信息,为所述目标用户的虚拟形象适配场景信息,包括:

确定与所述人脸属性信息匹配的场景模板;

基于所述场景模板为所述目标用户的虚拟形象添加场景。

优选地,所述虚拟形象生成方法,还包括:

根据所述目标用户的历史行为数据,更新所述目标用户的虚拟形象。

其中,所述根据所述目标用户的历史行为数据,更新所述目标用户的虚拟形象,包括:

基于所述目标用户的历史数据,确定预设的虚拟形象影响因素的值;

根据所述预设的虚拟形象影响因素的值确定虚拟形象变换方式;

基于所述虚拟形象变换方式对所述虚拟形象进行调整。

其中,所述根据所述预设的虚拟形象影响因素的值确定虚拟形象变换方式,包括:

根据所述预设的虚拟形象影响因素的值,确定所述虚拟形象的面部体型变换方式、衣着服饰变换方式和/或背景环境变换方式。

其中,所述根据所述用户图像,确定人脸属性信息,包括:

从所述用户图像中检测所述目标用户的人脸区域;

在检测出的所述人脸区域确定脸部特征点的位置,得到脸部特征点位置信息;

将所述用户图像和所述脸部特征点位置信息输入预先建立的人脸分析模型,获得所述人脸分析模型输出的人脸属性信息,其中,所述人脸分析模型以标注有人脸属性信息的训练人脸图像以及通过该训练人脸图像确定的脸部特征点位置信息为训练样本进行训练得到。

其中,所述根据所述用户图像和参考三维人脸模型,构建所述目标用户的粗三维人脸模型,包括:

将所述用户图像和所述参考三维人脸模型输入预先建立的三维人脸构建模型,获得所述三维人脸构建模型输出的三维人脸模型作为所述目标用户的粗三维人脸模型;

其中,所述三维人脸构建模型以训练用户图像和所述参考三维人脸模型为训练样本,以所述训练用户图像对应的三维人脸模型为样本标签进行训练得到。

其中,所述三维人脸构建模型由多个三维人脸重构子模型级联而成;

所述三维人脸构建模型中第一级三维重构子模型的输入为所述用户图像和所述参考三维人脸模型,其它级三维重构子模型的输入为所述用户图像和上一级三维重构子模型输出的三维人脸模型,最后一级三维重构子模型输出的三维人脸模型为所述目标用户的粗三维人脸模型。

其中,所述将所述用户图像和所述参考三维人脸模型输入预先建立的三维人脸构建模型,获得所述三维人脸构建模型输出的三维人脸模型作为所述目标用户的粗三维人脸模型,包括:

将所述用户图像和所述参考三维人脸模型输入第一级三维重构子模型;

对于每一级三维重构子模型,依次执行:

通过二维图像特征提取模块从输入的所述用户图像中提取二维人脸特征;

通过三维点云特征提取模块从输入的三维人脸模型中提取三维人脸特征;

通过特征融合模块将所述二维人脸特征和所述三维人脸特征融合,获得融合后的特征;

根据所述融合后的特征,通过三维人脸重构模块重构三维人脸模型,所述三维人脸重构模块重构得到的三维人脸模型为该级三维重构子模型输出的三维人脸模型;

最后一级三维重建子模型输出的三维人脸模型作为所述目标用户的粗三维人脸模型。

其中,所述基于所述人脸属性信息对所述粗三维人脸模型进行调整,包括:

将所述粗三维人脸模型和所述人脸属性信息输入预先建立的三维人脸调整模型,获得所述三维人脸调整模型输出的、所述调整后的三维人脸模型;

其中,所述三维人脸调整模型以与训练用户图像对应的训练粗三维人脸模型、从所述训练用户图像中提取出的训练人脸属性信息为训练样本,以判别模块对与所述粗三维人脸模型对应的调整后三维人脸模型的调整判别结果为样本标签进行训练得到。

其中,训练所述三维人脸调整模型的过程,包括:

将所述训练粗三维人脸模型和所述训练人脸属性信息输入所述三维人脸调整模型,获得所述三维人脸调整模型输出的调整后三维人脸模型;

通过真实度判别模块判别所述调整后三维人脸模型相比于对应的真实三维人脸模型是否逼真;

和/或,通过有效性判别模块判别所述训练人脸属性信息的嵌入是否使所述调整后三维人脸模型产生了对应的变化;

和/或,通过相似度判别模块判别所述调整后三维人脸模型与对应的真实三维人脸模型是否相似;

和/或,通过身份一致性判别模块判断所述调整后三维人脸模型与对应的训练用户图像的用户身份是否一致。

一种虚拟形象生成装置,包括:图像获取模块、粗三维人脸模型构建模块、人脸属性信息确定模块和三维人脸模型调整模块;

所述图像获取模块,用于获取包含目标用户的人脸的用户图像;

所述粗三维人脸模型构建模块,用于根据所述用户图像和参考三维人脸模型,构建所述目标用户的粗三维人脸模型;

所述人脸属性信息确定模块,用于根据所述用户图像,确定人脸属性信息;

所述三维人脸模型调整模块,用于基于所述人脸属性信息对所述粗三维人脸模型进行调整,以使调整后的三维人脸模型包含与所述人脸属性信息匹配的信息,调整后的三维人脸模型作为所述目标用户的虚拟形象。

优选地,所述虚拟形象生成装置还包括:身体形象拼接模块;

所述身体形象拼接模块,用于为所述调整后的三维人脸模型拼接身体形象,拼接后的整体形象作为所述目标用户的虚拟形象。

优选地,所述虚拟形象生成装置还包括:场景适配模块;

所述场景适配模块,用于基于所述人脸属性信息,为所述目标用户的虚拟形象适配场景信息。

优选地,所述虚拟形象生成装置还包括:虚拟形象更新模块;

所述虚拟形象更新模块,用于根据所述目标用户的历史行为数据,更新所述目标用户的虚拟形象。

其中,所述三维人脸构建模型由多个三维人脸重构子模型级联而成;

其中,所述三维人脸构建模型中第一级所述三维重构子模型的输入为所述用户图像和所述参考三维人脸模型,其它级所述三维重构子模型的输入为所述用户图像和上一级三维重构子模型输出的三维人脸模型,最后一级所述三维重构子模型输出的三维人脸模型为所述目标用户的粗三维人脸模型。

一种虚拟形象生成设备,包括:存储器和处理器;

所述存储器,用于存储程序;

所述处理器,用于执行所述程序,所述程序具体用于:

获取包含目标用户的人脸的用户图像;

根据所述用户图像和参考三维人脸模型,构建所述目标用户的粗三维人脸模型;

根据所述用户图像,确定人脸属性信息;

基于所述人脸属性信息对所述粗三维人脸模型进行调整,以使调整后的三维人脸模型包含与所述人脸属性信息匹配的信息,调整后的三维人脸模型作为所述目标用户的虚拟形象。

一种可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时,实现上述的虚拟形象生成方法的各个步骤。

经由上述的技术方案可知,本发明提供的虚拟形象生成方法、装置、设备以及可读存储介质,首先获取包含目标用户的人脸的用户图像,然后根据该用户图像和参考三维人脸模型,构建该目标用户的粗三维人脸模型,除了根据用户图像构建粗三维人脸模型外,本发明还根据用户图像确定人脸属性信息,然后基于该人脸属性信息对粗三维人脸模型进行调整,调整后的三维人脸模型作为目标用户的虚拟形象。由此可见,本发明提供的虚拟形象生成方法首先基于用户图像构建属于目标用户的粗三维人脸模型,鉴于粗三维人脸模型可能不包含人脸的细节信息或个性化信息,进一步基于目标用户的人脸属性信息对粗三维人脸模型进行调整,从而使得最终的虚拟形象与目标用户的形象更贴合,即生成的虚拟形象更真实,大大提升了用户体验度。

附图说明

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

图1为本发明实施例提供的虚拟形象生成方法的一流程示意图;

图2为本发明实施例提供的虚拟形象生成方法中,根据用户图像,确定人脸属性信息的实现过程的流程示意图;

图3为本发明实施例提供的三维人脸构建模型的架构图;

图4为本发明实施例提供的三维人脸构建模型中每个三维人脸重构子模型的架构图;

图5为发明实施例提供的粗三维人脸模型调整过程示意图;

图6为本发明实施例提供的虚拟形象生成方法的另一流程示意图;

图7为本发明实施例提供的虚拟形象生成装置的结构示意图;

图8为本发明实施例提供的虚拟形象生成设备的结构示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

鉴于现有技术中用用户图像中的人脸直接替换虚拟形象中人脸的方式得到的虚拟形象缺乏真实感,用户体验不佳,本发明实施例提供了一种虚拟形象生成方法,请参阅图1,示出了该虚拟形象生成方法的流程示意图,该方法可以包括:

步骤s101:获取包含目标用户的人脸的用户图像。

其中,用户图像可以为已存储图像,也可为通过摄像头或具有摄像头的设备如相机、手机、pad、笔记本等即时拍摄的图像。

另外,需要说明的是,本实施例中包含目标用户的人脸的用户图像所涉及的对象只有目标用户,该图像除了可以为目标用户的自拍照外,还可以为从包括目标用户的合照中截取出来的图像,例如,从目标用户与朋友的合照、或者目标用户与家人的合照中截取出来的图像。

步骤s102:根据用户图像和参考三维人脸模型,构建目标用户的粗三维人脸模型。

其中,参考三维人脸模型用于辅助粗三维人脸模型的构建。参考三维人脸模型可以为给定的或已存储的三维人脸模型,其可通过获取大量三维人脸模型,然后对这些三维人脸模型计算均值得到。

需要说明的是,本步骤构建的粗三维人脸模型包括目标用户人脸的基本信息,但一些细节信息和/或个性化信息并未在该模型上体现。

步骤s103:根据用户图像,确定人脸属性信息。

其中,人脸属性信息可以为与人脸属性相关的信息,例如,年龄、性别、面部表情、面部配饰、地域、职业信息等。

具体地,对于年龄而言,可以固定年份跨度,将年龄信息划分为多个区间,例如,以5年为跨度,则0~99岁可划分为20个区间;对于性别而言,可分为男性、女性;对于面部表情而言,可分为喜、怒、哀、乐;对于面部配饰而言,可按是否戴眼镜划分为戴眼镜、不戴眼镜;对于地域而言,可以但不限为按省份划分、按区域划分等;对于职业而言,可以划分为婴幼儿、学生、工人、农民、办公人员等。

在一种可能的实现方式中,人脸属性信息可通过一定长向量表征。假设属性信息包括年龄、性别、国籍、面部表情,对于年龄而言,假设0~4岁用“1”表示,5~9岁用“2”表示,10~14岁用“3”表示,以此类推,对于性别而言,假设男性用“0”表示,女性用“1”表示,对于国籍而言,假设中国用“1”表示,韩国用“2”表示,对于面部表情而言,假设喜用“1”表示,怒用“2”表示,哀用“3”表示,乐用“3”表示,则人脸属性信息可通过长度为4维的向量表示,每一维代表一属性,比如向量[3,1,2,1],其表示目标用户的年龄为10~15岁,性别为女性,国籍为韩国,面部表情为喜。

另外,需要说明的是,本实施例并不限定步骤s102和步骤s103的执行顺序,即可先执行步骤s102再执行步骤s103,也可先执行步骤s103再执行步骤s102,也可同时执行步骤s102和步骤s103,只要包括这两个步骤都属于本发明的保护范围。

步骤s104:基于人脸属性信息对粗三维人脸模型进行调整,以使调整后的三维人脸模型包含与人脸属性信息匹配的信息,调整后的三维人脸模型作为目标用户的虚拟形象。

比如,用户图像中目标用户佩戴有眼镜和耳饰,根据用户图像确定出的人脸属性信息中包括佩戴有眼镜和佩戴耳饰,由于基于用户图像和参考三维人脸模型构建的三维人脸模型为较粗的模型,因此,有些细节信息或个性化信息并未在粗三维人脸模型中体现,比如,粗三维人脸模型并未佩戴眼镜和耳饰,因此,可基于人脸属性信息对粗三维人脸模型进行调整,调整后的三维人脸模型便是佩戴有眼镜和耳饰的三维人脸模型。再比如,人脸属性信息包括面部表情,且面部表情为怒,而构建的粗三维人脸模型的面部表情为中性表情,则基于人脸属性信息对粗三维人脸模型进行调整后得到的三维人脸模型的面部表情便为怒。

本发明提供的虚拟形象生成方法,首先获取包含目标用户的人脸的用户图像,然后根据该用户图像和参考三维人脸模型,构建该目标用户的粗三维人脸模型,除了根据用户图像构建粗三维人脸模型外,本发明还根据用户图像确定人脸属性信息,然后基于该人脸属性信息对粗三维人脸模型进行调整,调整后的三维人脸模型作为目标用户的虚拟形象。由此可见,本发明实施例提供的虚拟形象生成方法,首先基于用户图像构建属于目标用户的粗三维人脸模型,鉴于粗三维人脸模型可能不包含人脸的细节信息或个性化信息,进一步基于目标用户的人脸属性信息对粗三维人脸模型进行调整,从而使得最终的虚拟形象与目标用户的形象更贴合,即生成的虚拟形象更真实,大大提升了用户体验度。

需要说明的是,为了实现虚拟形象的生成,上述实施例提供的方法中,在获取到用户图像后,利用该用户图像执行了两个过程,其一,根据用户图像和参考三维人脸模型,构建目标用户的粗三维人脸模型,其二,根据用户图像,确定人脸属性信息。以下分别对这两个过程的具体实现过程进行说明。

请参阅图2,示出了根据用户图像,确定人脸属性信息的实现过程的流程示意图,该实现过程可以包括:

步骤s201:从用户图像中检测目标用户的人脸区域。

具体地,可以预先收集大量包含人脸的图像,通过提取尺度不变特征变化sift特征,根据提取的sift特征训练人脸与非人脸的分类模型,利用该分类模型从用户图像中检测出目标用户的人脸区域。

步骤s202:在检测出的人脸区域确定脸部特征点的位置,得到脸部特征点位置信息。

在检测出人脸区域后,进一步确定脸部特征点如眼睛、眉毛、鼻子、嘴巴、脸部外轮廓等的位置。具体的,可通过人脸的纹理特征和各特征点之间的位置约束结合确定脸部特征点的位置,例如,可通过主动形状模型(activeshapemodel,asm)或主动外观模型(activeappreancemodel,aam)确定脸部特征点的位置。

步骤s203:将用户图像和脸部特征点位置信息输入预先建立的人脸分析模型,获得人脸分析模型输出的人脸属性信息。

其中,人脸分析模型以标注有人脸属性信息的训练人脸图像以及通过该训练人脸图像确定的脸部特征点位置信息为训练样本进行训练得到。在一种可能的实现方式中,人脸分析模型可以但不限为深度神经网络(deepneuralnetwork,dnn)模型。

上述实施例提供的虚拟形象生成方法中,根据用户图像和参考三维人脸模型,构建目标用户的粗三维人脸模型的过程可以包括:将用户图像和参考三维人脸模型输入预先建立的三维人脸构建模型,获得三维人脸构建模型输出的三维人脸模型作为目标用户的粗三维人脸模型。其中,三维人脸构建模型以训练用户图像和参考三维人脸模型为训练样本,以训练用户图像对应的三维人脸模型为样本标签进行训练得到。

在一种可能的实现方式中,三维人脸构建模型由多个三维人脸重构子模型级联而成,请参阅图3,示出了三维人脸构建模型的结构示意图。

三维人脸构建模型中第一级三维重构子模型的输入为用户图像和参考三维人脸模型,其它级三维重构子模型的输入为用户图像和上一级三维重构子模型输出的三维人脸模型,最后一级三维重构子模型输出的三维人脸模型为目标用户的粗三维人脸模型。

本实施例中由多个三维重构子模型级联而成的三维人脸构建模型,以由粗到细的方式逐步得到更加细化的属于目标用户的特定三维人脸模型。

具体的,通过图3示出的三维人脸构建模型构建目标用户的粗三维人脸模型的过程可以包括:将用户图像和参考三维人脸模型输入第一级三维重构子模型;对于每一级三维重构子模型,依次执行:从输入的用户图像中提取二维人脸特征,从输入的三维人脸模型中提取三维人脸特征,将二维人脸特征和三维人脸特征融合,获得融合后的特征,根据融合后的特征重构三维人脸模型,重构得到的三维人脸模型为该级三维重构子模型输出的三维人脸模型;最后一级三维重建子模型输出的三维人脸模型作为目标用户的粗三维人脸模型。

进一步地,请参阅图4,示出了三维人脸构建模型中每个三维重构子模型的结构示意图,其可以包括:二维图像特征提取模块401、三维点云特征提取模块402、特征融合模块403和三维人脸重构模块404。

在利用三维人脸构建模型构建目标用户的粗三维人脸模型时,对于每一级三维重构子模型而言,通过二维图像特征提取模块401从输入的用户图像中提取二维人脸特征;通过三维点云特征提取模块402从输入的三维人脸模型中提取三维人脸特征;通过特征融合模块403将二维人脸特征和三维人脸特征融合,获得融合后的特征;根据融合后的特征,通过三维人脸重构模块404重构三维人脸模型,三维人脸重构模块重构得到的三维人脸模型即为该级三维重构子模型输出的三维人脸模型。

其中,二维图像特征提取模块401具体可以为深度二维卷积神经网络,三维点云特征提取模块402具体可以为深度三维卷积神经网络,特征融合模块403具体可以为非线性映射模块,三维人脸重构模块404具体可以为反卷积重构模块。非线性映射模块将二维人脸特征与三维人脸特征合并,并求取非线性映射特征,反卷积重构模块基于非线性映射特征进行反卷积,便可得到重构的三维人脸模型。

需要说明的是,每级的三维重构子模型采用双流深度网络结构训练得到,每级双流深度网络结构的训练过程,可采用迁移学习的方式进行,三维点云特征提取网络和二维图像特征提取网络训练时,每个网络的输入与输出相同,让模型自己学习训练样本的三维特征和二维特征,如三维点云特征提取网络的输入和输出为任意的三维人脸模型,二维特征提取网络的输入输出为该人脸的二维图像;最后,将三维点云特征提取网络、二维图像特征提取网络、非线性映射模块和反卷积重构模块合并,利用训练用户图像进行联合训练。

为了使最终的虚拟形象更真实,在确定出人脸属性以及粗三维人脸模型后,进一步基于人脸属性信息对粗三维人脸模型进行调整,以使调整后的三维人脸模型包含与人脸属性信息匹配的信息。

在一种可能的实现方式中,基于人脸属性信息对粗三维人脸模型进行调整的过程可以包括:将粗三维人脸模型和人脸属性信息输入预先建立的三维人脸调整模型,获得三维人脸调整模型输出的、调整后的三维人脸模型。

其中,三维人脸调整模型以与训练用户图像对应的训练粗三维人脸模型、从训练用户图像中提取出的训练人脸属性信息为训练样本,以判别模块对与粗三维人脸模型对应的调整后三维人脸模型的调整判别结果为样本标签进行训练得到。

具体地,如图5所示,三维人脸调整模型可以包括特征提取模块501和三维重构模块502。在对粗三维人脸模型进行调整时,可通过特征提取模块501从粗三维人脸模型和人脸属性信息中提取特征,然后通过三维重构模块502基于提取的特征进行三维重建,从而得到调整后的三维人脸模型。

在一种可能的实现方式中,本实施例可采用对抗生成判别方法对三维人脸调整模型进行训练,需要说明的是,三维人脸调整模型属于生成模块,在训练过程中,通过判别模块对生成模块生成的信息进行判别,也就是通过判别模块对三维人脸调整模型输出的调整后三维人脸模型进行判别,判别结果能够表征三维人脸调整模型的调整效果,进而基于判别模块的判别结果指导生成模块即三维人脸调整模型的训练。图5示出了粗三维人脸模型调整过程示意图。

具体的,训练三维人脸调整模型的过程,可以包括:将训练粗三维人脸模型和训练人脸属性信息输入三维人脸调整模型,获得三维人脸调整模型输出的调整后三维人脸模型;通过真实度判别模块503对调整后三维人脸模型的真实度进行判别,和/或,通过有效性判别模块504对调整后三维人脸模型的有效性进行判别,和/或,通过相似度判别模块505对调整后三维人脸模型的相似度进行判别,和/或,通过身份一致性判别模块506对调整后三维人脸模型的身份一致性进行判别。

其中,通过真实度判别模块对调整后三维人脸模型的真实度进行判别,即通过真实度判别模块判别调整后三维人脸模型相比于对应的真实三维人脸模型是否逼真,具体的,可采用真假二分类或基于逼真度的判别方式进行判别;通过有效性判别模块对调整后三维人脸模型的有效性进行判别,即通过有效性判别模块判别训练人脸属性信息的嵌入是否使调整后三维人脸模型产生了对应的变化,具体地,可收集大量对应属性变化的三维人脸模型和非对应属性变化的三维人脸模型作为训练样本,通过深度三维卷积神经网络提取训练样本和生成模块生成的三维人脸模型的特征,并构建二值分类器进行判别;通过相似度判别模块对调整后三维人脸模型的相似度进行判别,即通过相似度判别模块判别调整后三维人脸模型与对应的真实三维人脸模型是否相似,具体地,可基于三维点状与纹理间距确定调整后三维人脸模型与对应的真实三维人脸模型的相似度;通过身份一致性判别模块对调整后三维人脸模型的身份一致性进行判别,即通过身份一致性判别模块判别调整后三维人脸模型与对应的训练用户图像的用户身份是否一致,具体地,合成带有属性嵌入的二维图像,将其与真实图像进行身份一致性判别,该部分可收集大量含有真实三维信息的二维图像作为训练样本,训练三维特征提取模型,进行不同三维信息之间的一致性或相似度判别。需要说明的是,为了实现上述训练过程,在收集训练用户图像时,需要同时收集与训练用户图像对应的真实三维人脸模型,其中,训练用户图像对应的三维人脸模型可通过深度相机、激光扫描仪等设备采集得到。

需要说明的是,本实施例中将三维人脸构建模型和三维人脸调整模型作为生成模块,在对生成模块和判别模块进行训练时可采用端到端的训练方式。在训练时,可先固定生成部分中用于辅助重建的参考三维人脸模型为同一用户的三维人脸模型,训练生成模块和判别模块直到模型收敛,并以该模型作为初始化,然后在训练过程中每次随机使用不同用户的三维人脸模型作为参考三维人脸模型进行进一步训练,使得模型能够针对任一参考三维人脸模型均给出较高精度的重建。

优选地,在基于人脸属性信息对粗三维人脸模型进行调整后,还可对调整后的三维人脸模型中的某个子区域如鼻子、眼部、嘴部等独立地嵌入属性信息,并基于插值或其它策略进行融合,以使三维人脸模型更加精细化。

比如,用户图像中目标用户并未佩戴眼镜,根据用户图像确定的人脸属性信息中包括未佩戴眼镜的信息,因此,最终获得的调整后的三维人脸模型为未佩戴眼镜的三维人脸模型,然而用户希望获得佩戴眼镜的三维人脸模型,此时,可独立地嵌入佩戴眼镜这一属性信息,使最终的三维人脸模型为佩戴了眼镜的三维人脸模型。当然,用户可基于自身的具体需求在调整后的三维人脸模型中嵌入任何人脸属性信息,以使生成的三维人脸模型能够满足自己的期望。

对于用户而言,其除了希望虚拟形象更够更具真实性外,还希望虚拟形象能够更具趣味性、娱乐性,为了进一步提升用户体验,本发明实施例还提供了一种虚拟形象生成方法,请参阅图6,示出了该虚拟形象生成方法的流程示意图,该方法可以包括:

步骤s601:获取包含目标用户的人脸的用户图像。

其中,用户图像可以为已存储图像,也可为通过摄像头或具有摄像头的设备如相机、手机、pad、笔记本等即时拍摄的图像。

步骤s602:根据用户图像和参考三维人脸模型,构建目标用户的粗三维人脸模型。

其中,参考三维人脸模型用于辅助粗三维人脸模型的构建。参考三维人脸模型可以为给定的或已存储的三维人脸模型,其可通过获取大量三维人脸模型,然后对这些三维人脸模型计算均值得到。

步骤s603:根据用户图像,确定人脸属性信息。

其中,人脸属性信息可以为与人脸属性相关的信息,例如,年龄、性别、面部表情、面部配饰、地域、职业信息等。在一种可能的实现方式中,人脸属性信息可通过一定长向量表征。

需要说明的是,本实施例并不限定步骤s602和步骤s603的执行顺序,只要包括这两个步骤都属于本发明的保护范围。

步骤s604:基于人脸属性信息对粗三维人脸模型进行调整,以使调整后的三维人脸模型包含与人脸属性信息匹配的信息。

需要说明的是,本实施例中步骤s601至s604的具体实现过程与上述实施例中步骤s101至s104的实现过程类似,其具体实现过程可参见上述实施例,在此不作赘述。

步骤s605:为调整后的三维人脸模型拼接身体形象,拼接后的整体形象作为目标用户的虚拟形象。

用户图像中通常不包含身体细节信息,在本实施例中,可基于用户交互确定目标用户的身体形象,例如,可获取用户通过输入设备或语音输入的、与目标用户的身体形象相关的信息,如体重、身高等,进而通过这些信息确定目标用户的身体形象。

在确定出目标用户的身体形象后,将其与调整后的三维人脸模型进行拼接。拼接的方式有多种,比如,可将调整后的三维人脸模型和身体形象的形状尺寸归一化后直接拼接,还可利用matting技术进行插值拼接等。

步骤s606:基于人脸属性信息,为目标用户的虚拟形象适配场景信息。

其中,场景信息可以但不限为背景场景、衣着服饰等信息。

由于人脸属性信息中包含职业、当前时间(用户图像中的背景中会包括该信息)等信息,因此,通过这些信息可为目标用户的虚拟形象适配背景场景、衣着服饰等。

示例性地,属性信息包括:职业和当前时间,假设职业为学生,当前时间为下午3点,则可在用户虚拟形象的身体形象上添加学生服装,学生在下午3点一般在教室上课,因此,可为虚拟形象添加教室环境的背景,并且,目标用户的虚拟形象可适配为在教室听课的场景。

在一种可能的实现方式中,基于人脸属性信息,为目标用户的虚拟形象适配场景信息的过程可以包括:确定与人脸属性信息匹配的场景模板;基于场景模板为目标用户的虚拟形象添加场景。

具体的,可预先构建多种不同场景模板,场景模板可以但不限为背景场景模板、服饰模板等。在一种可能的实现方式中,可基于某一属性信息构建多种不同的场景模板,例如,可针对不同职业构建多种不同的场景模板,例如,针对学生这一职业可构建教室环境的背景场景模板,构建食堂环境的背景场景模板,构建体育场环境的背景模板、构建宿舍环境的背景模板等,针对学生这一职业还可构建各种校服模板,针对办公人员这一职业可构建办公环境的背景模板、构建会议室环境的背景模板等,针对办公人员这一职业还可构建各种正装的模板。

步骤s607:根据目标用户的历史行为数据,更新目标用户的虚拟形象并展示。

其中,目标用户的历史行为数据可以但不限定为目标用户在网站上的网页浏览历史数据、目标用户在即时聊天工具上的历史聊天数据、目标用户在商品购物平台上的历史购买数据、历史浏览数据等中的一种或多种。

目标用户的历史行为数据在一定程度上能够表征目标用户的偏好(如目标用户的近期体育爱好、近期购买喜好等)、身体状况(比如身体变胖、变瘦等)、职业状况(如近期职业变更)以及其他行为动态(如近期买房、买车等)等。

从网站、购物平台等途径获取到目标用户的历史行为数据之后,便可根据该目标用户的历史行为数据更新目标用户的虚拟形象,其具体实现过程可以参见后续实施例的说明。

本发明实施例提供的虚拟形象生成方法,首先基于用户图像构建属于目标用户的粗三维人脸模型,鉴于粗三维人脸模型可能不包含人脸的细节信息或个性化信息,进一步基于目标用户的人脸属性信息对粗三维人脸模型进行调整,然后为调整后的三维人脸模型拼接身体形象,获得目标用户的虚拟形象,该虚拟形象与目标用户的形象更贴合,及生成的虚拟形象更真实,大大提升了用户体验度,本实施例在生成虚拟形象后,进一步基于人脸属性信息,为目标用户的虚拟形象适配场景信息,还可根据目标用户的历史行为数据,更新目标用户的虚拟形象,场景的适配以及基于用户的历史行为数据对虚拟形象所进行的更新使得虚拟形象更丰富、更具有趣味性和娱乐性,进一步提升了用户体验。

以下对上述实施例提供的虚拟形象生成方法中步骤s607:根据目标用户的历史行为数据,更新目标用户的虚拟形象的具体实现过程进行说明。

根据目标用户的历史行为数据,更新目标用户的虚拟形象的过程可以包括:基于目标用户的历史数据,确定预设的虚拟形象影响因素的值;根据预设的虚拟形象影响因素的值确定虚拟形象变换方式;基于虚拟形象变换方式对虚拟形象进行调整。

示例性地,用户的历史行为数据中具有用户的体育爱好数据,而体育爱好为虚拟形象的影响因素,假设用户的体育爱好为足球,则足球即为虚拟形象影响因素的值。

在一种可能的实现方式中,可首先从网站、即时聊天工具和/或购物平台等途径获取目标用户的历史行为数据,然后从目标用户的历史行为数据中提取关键数据,其中,关键数据为对目标用户的虚拟形象有影响的数据。

具体的,从目标用户的历史行为数据中提取关键数据的实现过程可以包括:在目标用户的历史行为数据中获取与预设关键词匹配的数据,需要说明的是,与预设关键词匹配的数据可以包括预设关键词本身,还可以包括与预设关键词相关的数据。

在获取到关键数据后,可按某一预设分类规则对关键数据进行分类,获得分类结果。比如,关键数据中包括近期体育爱好数据和近期购买喜好数据,则近期体育爱好可划分为足球、乒乓球、篮球、瑜伽等,近期购买喜好可划分为化妆品、零食、保健品等。需要说明的是,分类结果中包括虚拟形象影响因素的值,因此,可基于关键数据的分类结果确定虚拟形象变换方式。

在一种可能的实现方式中,可根据获取的关键数据进行树状结构细分,该树状结构可由人工定义或自动聚类产生,例如,体育爱好根节点下可划分球类、田径、健身等子节点,在每个子节点下可继续划分,例如,球类下可划分为乒乓球、羽毛球、足球等子节点。

在划分完后,可针对每个子节点进行用户信息的统计,比如,对爱好足球的用户的身体状况信息进行统计,假设经统计得出,夏天踢足球的人平均有70%的人会晒黑,80%的人体重会瘦2~4kg,通过该统计结果便可确定如何对虚拟形象的面部和/或体型进行变换。即,根据统计结果可为对应子节点确定虚拟形象变换方式。

在本实施例中,虚拟形象变换方式可以包括虚拟形象的面部体型变换方式、衣着服饰变换方式和/或背景环境变换方式。其中,面部体型变换方式用于实现虚拟形象面部和/或体型的变换,衣着服饰变换方式用于实现虚拟形象的衣着服饰的变换,背景环境变换方式用于实现虚拟形象的背景环境的变换。在确定出上述虚拟形象变换方式后,便可基于虚拟形象变换方式对虚拟对象进行调整。

比如,用户的体育爱好为球类中的足球,足球对应的面部体型变换方式为肤色变黑,则在对虚拟形象进行更新时,将虚拟形象的肤色调黑。再比如,用户最近变更了职业,则可基于职业设置匹配的背景环境模板,而背景环境变换方式即基于背景环境模板为虚拟形象更新背景环境。再比如,用户近期购买或浏览的服饰均为正装,则可设置正装模板,而衣着服饰变换方式即基于正装模板为虚拟形象更新衣着服饰。

综上,本实施例在生成虚拟形象后,可基于用户的历史行为确定用于意图,通过用户意图确定面部体型变换方式、衣着服饰变换方式和/或背景环境变换方式,进而基于面部体型变换方式、衣着服饰变换方式和/或背景环境变换方式对虚拟形象进行更新,从而使虚拟形象既能与目标用户的偏好、习惯、近期状态等贴合,又能更具趣味性和娱乐性。

与上述方法相对应,本发明实施例还提供了一种虚拟形象生成装置,请参阅图7,示出了该装置的结构示意图,可以包括:图像获取模块701、粗三维人脸模型构建模块702、人脸属性信息确定模块703和三维人脸模型调整模块704。

图像获取模块701,用于获取包含目标用户的人脸的用户图像。

粗三维人脸模型构建模块702,用于根据用户图像和参考三维人脸模型,构建目标用户的粗三维人脸模型。

人脸属性信息确定模块703,用于根据用户图像,确定人脸属性信息。

三维人脸模型调整模块704,用于基于人脸属性信息对粗三维人脸模型进行调整,以使调整后的三维人脸模型包含与人脸属性信息匹配的信息,调整后的三维人脸模型作为目标用户的虚拟形象。

本发明实施例提供的虚拟形象生成装置,首先获取包含目标用户的人脸的用户图像,然后根据该用户图像和参考三维人脸模型,构建该目标用户的粗三维人脸模型,除了根据用户图像构建粗三维人脸模型外,本发明实施例还根据用户图像确定人脸属性信息,然后基于该人脸属性信息对粗三维人脸模型进行调整,调整后的三维人脸模型作为目标用户的虚拟形象。由此可见,本发明实施例提供的虚拟形象生成装置首先基于用户图像构建属于目标用户的粗三维人脸模型,鉴于粗三维人脸模型可能不包含人脸的细节信息或个性化信息,进一步基于目标用户的人脸属性信息对粗三维人脸模型进行调整,从而使得最终的虚拟形象与目标用户的形象更贴合,即生成的虚拟形象更真实,大大提升了用户体验度。

优选地,上述实施例提供的虚拟形象生成装置还可以包括:身体形象拼接模块。身体形象拼接模块,用于为调整后的三维人脸模型拼接身体形象,拼接后的整体形象作为目标用户的虚拟形象。

优选地,上述实施例提供的虚拟形象生成装置还可以包括:场景适配模块。场景适配模块,用于基于人脸属性信息,为目标用户的虚拟形象适配场景信息。

在一种可能的实现方式中,场景适配模块,具体用于确定与人脸属性信息匹配的场景模板;基于场景模板为目标用户的虚拟形象添加场景。

优选地,上述实施例提供的虚拟形象生成装置还可以包括:虚拟形象更新模块。虚拟形象更新模块,用于根据目标用户的历史行为数据,更新目标用户的虚拟形象。

进一步地,虚拟形象更新模块包括:第一确定子模块、第二确定子模块和更新子模块。

第一确定子模块,用于基于目标用户的历史数据,确定预设的虚拟形象影响因素的值。

第二确定子模块,用于根据预设的虚拟形象影响因素的值确定虚拟形象变换方式。

在一种可能的实现方式中,第二确定子模块,具体用户根据预设的虚拟形象影响因素的值,确定虚拟形象的面部体型变换方式、衣着服饰变换方式和/或背景环境变换方式。

更新子模块,用于基于虚拟形象变换方式对虚拟形象进行调整。

上述实施例提供的虚拟形象生成装置中,人脸属性信息确定模块703可以包括:检测子模块、特征点定位子模块和属性信息确定子模块。

检测子模块,用于从用户图像中检测目标用户的人脸区域。

特征点定位子模块,用于在检测出的人脸区域确定脸部特征点的位置,得到脸部特征点位置信息。

属性信息确定子模块,用于将用户图像和脸部特征点位置信息输入预先建立的人脸分析模型,获得人脸分析模型输出的人脸属性信息,其中,人脸分析模型以标注有人脸属性信息的训练人脸图像以及通过该训练人脸图像确定的脸部特征点位置信息为训练样本进行训练得到。

上述实施例提供的虚拟形象生成装置中,粗三维人脸模型构建模块702,具体用于将用户图像和参考三维人脸模型输入预先建立的三维人脸构建模型,获得三维人脸构建模型输出的三维人脸模型作为目标用户的粗三维人脸模型;其中,三维人脸构建模型以训练用户图像和参考三维人脸模型为训练样本,以训练用户图像对应的三维人脸模型为样本标签进行训练得到。

在一种可能的实现方式中,三维人脸构建模型由多个三维人脸重构子模型级联而成。其中,三维人脸构建模型中第一级三维重构子模型的输入为用户图像和参考三维人脸模型,其它级三维重构子模型的输入为用户图像和上一级三维重构子模型输出的三维人脸模型,最后一级三维重构子模型输出的三维人脸模型为目标用户的粗三维人脸模型。

进一步地,粗三维人脸模型构建模块702在将用户图像和参考三维人脸模型输入预先建立的三维人脸构建模型,获得三维人脸构建模型输出的三维人脸模型作为目标用户的粗三维人脸模型时,具体用于将用户图像和参考三维人脸模型输入第一级三维重构子模型;对于每一级三维重构子模型,将用户图像和参考三维人脸模型输入第一级三维重构子模型;对于每一级三维重构子模型,依次执行:从输入的用户图像中提取二维人脸特征,从输入的三维人脸模型中提取三维人脸特征,将二维人脸特征和三维人脸特征融合,获得融合后的特征,根据融合后的特征重构三维人脸模型,重构得到的三维人脸模型为该级三维重构子模型输出的三维人脸模型;最后一级三维重建子模型输出的三维人脸模型作为目标用户的粗三维人脸模型。

其中,三维人脸构建模型中每个三维重构子模型可以包括:二维图像特征提取模块、三维点云特征提取模块、特征融合模块和三维人脸重构模块。

对于每一级三维重构子模型而言,通过二维图像特征提取模块从输入的用户图像中提取二维人脸特征;通过三维点云特征提取模块从输入的三维人脸模型中提取三维人脸特征;通过特征融合模块将二维人脸特征和三维人脸特征融合,获得融合后的特征;根据融合后的特征,通过三维人脸重构模块重构三维人脸模型,三维人脸重构模块重构得到的三维人脸模型即为该级三维重构子模型输出的三维人脸模型。

其中,二维图像特征提取模块具体可以为深度二维卷积神经网络,三维点云特征提取模块具体可以为深度三维卷积神经网络,特征融合模块具体可以为非线性映射模块,三维人脸重构模块具体可以为反卷积重构模块。非线性映射模块将二维人脸特征与三维人脸特征合并,并求取非线性映射特征,反卷积重构模块基于非线性映射特征进行反卷积,便可得到重构的三维人脸模型。

需要说明的是,每级的三维重构子模型采用双流深度网络结构训练得到,每级双流深度网络结构的训练过程,可采用迁移学习的方式进行,三维点云特征提取网络和二维图像特征提取网络训练时,每个网络的输入与输出相同,让模型自己学习训练样本的三维特征和二维特征,如三维点云特征提取网络的输入和输出为任意的三维人脸模型,二维特征提取网络的输入输出为该人脸的二维图像;最后,将三维点云特征提取网络、二维图像特征提取网络、非线性映射模块和反卷积重构模块合并,利用训练用户图像进行联合训练。

上述实施例提供的虚拟形象生成装置中,三维人脸模型调整模块704,具体用于将粗三维人脸模型和人脸属性信息输入预先建立的三维人脸调整模型,获得三维人脸调整模型输出的、调整后的三维人脸模型;其中,三维人脸调整模型以与训练用户图像对应的训练粗三维人脸模型、从训练用户图像中提取出的训练人脸属性信息为训练样本,以判别模块对与粗三维人脸模型对应的调整后三维人脸模型的调整判别结果为样本标签进行训练得到。

其中,三维人脸调整模型的训练过程,包括:将训练粗三维人脸模型和训练人脸属性信息输入三维人脸调整模型,获得三维人脸调整模型输出的调整后三维人脸模型;通过真实度判别模块判别调整后三维人脸模型相比于对应的真实三维人脸模型是否逼真;和/或,通过有效性判别模块判别训练人脸属性信息的嵌入是否使调整后三维人脸模型产生了对应的变化;和/或,通过相似度判别模块判别调整后三维人脸模型与对应的真实维人脸模型是否相似;和/或,通过身份一致性判别模块判断调整后三维人脸模型与对应的训练用户图像的用户身份是否一致。

本发明实施例还提供了一种虚拟形象生成设备,请参阅图8,示出了该设备的结构示意图,该设备可以包括:存储器801和处理器802。

存储器801,用于存储程序;

处理器802,用于执行所述程序,所述程序具体用于:

获取包含目标用户的人脸的用户图像;

根据所述用户图像和参考三维人脸模型,构建所述目标用户的粗三维人脸模型;

根据所述用户图像,确定人脸属性信息;

基于所述人脸属性信息对所述粗三维人脸模型进行调整,以使调整后的三维人脸模型包含与所述人脸属性信息匹配的信息,调整后的三维人脸模型作为所述目标用户的虚拟形象。

虚拟形象生成设备还包括:总线、通信接口803、输入设备804和输出设备805。

处理器802、存储器801、通信接口803、输入设备804和输出设备805通过总线相互连接。其中:

总线可包括一通路,在计算机系统各个部件之间传送信息。

处理器802可以是通用处理器,例如通用中央处理器(cpu)、微处理器等,也可以是特定应用集成电路(application-specificintegratedcircuit,asic),或一个或多个用于控制本发明方案程序执行的集成电路。还可以是数字信号处理器(dsp)、专用集成电路(asic)、现成可编程门阵列(fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。

处理器802可包括主处理器,还可包括基带芯片、调制解调器等。

存储器801中保存有执行本发明技术方案的程序,还可以保存有操作系统和其他关键业务。具体地,程序可以包括程序代码,程序代码包括计算机操作指令。更具体的,存储器801可以包括只读存储器(read-onlymemory,rom)、可存储静态信息和指令的其他类型的静态存储设备、随机存取存储器(randomaccessmemory,ram)、可存储信息和指令的其他类型的动态存储设备、磁盘存储器、flash等等。

输入设备804可包括接收用户输入的数据和信息的装置,例如键盘、鼠标、摄像头、扫描仪、光笔、语音输入装置、触摸屏、计步器或重力感应器等。

输出设备805可包括允许输出信息给用户的装置,例如显示屏、打印机、扬声器等。

通信接口803可包括使用任何收发器一类的装置,以便与其他设备或通信网络通信,如以太网,无线接入网(ran),无线局域网(wlan)等。

处理器802执行存储器801中所存放的程序,以及调用其他设备,可用于实现本发明实施例所提供的虚拟形象生成方法的各个步骤。

本发明实施例还提供了一种可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时,实现上述任一实施例提供的虚拟形象生成方法的各个步骤。

需要说明的是,本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。

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

对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本申请。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

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