用于生成三维头像模型的方法和装置与流程

文档序号:12787391阅读:244来源:国知局
本申请涉及计算机
技术领域
,具体涉及计算机图形学
技术领域
,尤其涉及用于生成三维头像模型的方法和装置。
背景技术
:随着计算机图形学以及计算机视觉等技术的进步,互动式数字媒体产业也得到良好发展。在交互式数字媒体领域,常常需要使用到用户的头像来表征用户所创建的账户。使用三维头像模型作为用户头像,有利于进一步提高娱乐性和真实感。然而,通过现有的方案生成的三维头像模型,或者真实感较差造成使用效果差,或者需要用户使用额外的专用设备提高用户参与成本,因此均无法得到普遍的使用。技术实现要素:本申请的目的在于提出一种改进的用于生成三维头像模型的方法和装置,来解决以上
背景技术
部分提到的技术问题。第一方面,本申请实施例提供了一种用于生成三维头像模型的方法,该方法包括:获取用户的不同人脸姿态角度的多张人脸图像;使用所述多张人脸图像中人脸姿态角度最正的人脸图像建立初始三维人脸模型;使用所述多张人脸图像中除人脸姿态角度最正的人脸图像外的其他至少一张人脸图像对所述初始三维人脸模型进行深度矫正,得到已矫正三维人脸模型;使用所述多张人脸图像中的至少两张人脸图像进行多帧融合,得到三维人脸模型的二维纹理;渲染所述已矫正三维人脸模型以及所述二维纹理,以生成三维头像模型。在一些实施例中,所述获取不同人脸姿态角度的多张人脸图像,包括:在预先设定的多个人脸姿态角度取值范围中,确定针对所述用户所采集的人脸图像集合中每张人脸图像的人脸姿态角度所属的人脸姿态角度取值范围;针对每个人脸姿态角度范围,选取出该人脸姿态角度范围对应的至少一张人脸图像。在一些实施例中,在所述获取不同人脸姿态角度的多张人脸图像之前,所述方法包括:从对所述用户的人脸进行多角度拍摄而生成的视频的视频帧中采集所述人脸图像集合。在一些实施例中,所述选取出该人脸姿态角度范围对应的至少一张人脸图像,包括:按照图像质量和/或人脸图像中的人脸表情,从该人脸姿态角度范围在所述人脸图像集合中对应的人脸图像中选取出至少一张人脸图像。在一些实施例中,所述按照图像质量和/或人脸图像中的人脸表情,从该人脸姿态角度范围在所述人脸图像集合中对应的人脸图像中选取出至少一张人脸图像,包括:利用第一卷积神经网络模型计算出所述人脸图像集合中每张人脸图像的图像质量分值,和/或,利用第二卷积神经网络模型计算出所述人脸图像集合中每张人脸图像中人脸的人脸表情分值;按照人脸图像的图像质量分值和/或人脸表情分值,从该人脸姿态角度范围在所述人脸图像集合中对应的人脸图像中选取出至少一张人脸图像。在一些实施例中,所述使用所述多张人脸图像中人脸姿态角度最正的人脸图像建立初始三维人脸模型,包括:采用可变形模板算法建立初始三维人脸模型。在一些实施例中,所述使用所述所述多张人脸图像中除人脸姿态角度最正的人脸图像外的其他至少一张人脸图像对所述初始三维人脸模型进行深度矫正,得到已矫正三维人脸模型,包括:采用自阴影光照模型进行深度矫正。在一些实施例中,所述使用所述多张人脸图像中的至少两张人脸图像进行多帧融合,得到三维人脸模型的二维纹理,包括:对所述至少两张人脸图像执行质量度提高操作;对质量度提高后的至少两张人脸图像进行多帧融合,以生成三维人脸模型的二维纹理。在一些实施例中,所述对所述至少两张人脸图像执行质量度提高操作,包括:针对所述至少两张人脸图像的每一张人脸图像,将人脸图像的各个通道的通道值分别输入至预先训练的、用于执行质量度提高操作的第一反卷积神经网络模型,其中,所述第一反卷积神经网络模型用于表征质量度提高前的人脸图像的各个通道的通道值与质量度提高后的人脸图像的梯度场的对应关系;采用泊松方程,基于所述第一反卷积神经网络模型输出的梯度场,重建质量度提高后的人脸图像。在一些实施例中,质量度提高操作包括以下一项或多项:光照均匀化操作、降噪操作、模糊去除操作。在一些实施例中,上述方法还包括第一反卷积神经网络模型训练步骤,包括:对预先挑选出的人脸图像执行质量度降低操作;将质量度降低后的人脸图像的各个通道的通道值以及质量度降低前的人脸图像的梯度场分别作为所述第一反卷积神经网络模型的输入样本与输出样本,对所述第一反卷积神经网络模型进行训练。在一些实施例中,所述对质量度提高后的至少两张人脸图像进行多帧融合,以生成三维人脸模型的二维纹理,包括:将质量度提高后的至少两张人脸图像的各个通道的通道值输入至预先训练的第二反卷积神经网络模型,其中,所述第二反卷积神经网络模型用于表征融合前多个人脸图像的各个通道的通道值与融合后图像的梯度场的对应关系;采用泊松方程,基于所述第二反卷积神经网络模型输出的梯度场重建三维人脸模型的二维纹理。在一些实施例中,所述第二反卷积神经网络模型包括与卷积层对称的反向卷积层以及用于提高所述第二反卷积神经网络模型所输出的图像梯度场所对应图像的分辨率的反向卷积层。在一些实施例中,所述方法还包括第二反卷积神经网络模型训练步骤,包括:获取用于所述第二反卷积神经网络模型的训练样本,所述训练样本数据包括通过不同于所述第二反卷积神经网络模型的泊松融合算法所获得的融合前人脸图像的通道值和融合后的图像梯度场和/或通过三维扫描仪扫描到的人脸图像的通道值和图像梯度场;基于所述第二反卷积神经网络模型的训练样本数据,对所述第二反卷积神经网络模型进行训练。第二方面,本申请实施例提供了一种用于生成三维头像模型的装置,获取单元,用于获取用户的不同人脸姿态角度的多张人脸图像;建立单元,用于使用所述多张人脸图像中人脸姿态角度最正的人脸图像建立初始三维人脸模型;矫正单元,用于使用所述多张人脸图像中除人脸姿态角度最正的人脸图像外的其他至少一张人脸图像对所述初始三维人脸模型进行深度矫正,得到已矫正三维人脸模型;融合单元,用于使用所述多张人脸图像中的至少两张人脸图像进行多帧融合,得到三维人脸模型的二维纹理;渲染单元,用于渲染所述已矫正三维人脸模型以及所述二维纹理渲染,以生成三维头像模型。在一些实施例中,所述获取单元包括:确定子单元,用于在预先设定的多个人脸姿态角度取值范围中,确定针对所述用户所采集的人脸图像集合中每张人脸图像的人脸姿态角度所属的人脸姿态角度取值范围;选取子单元,用于针对每个人脸姿态角度范围,选取出该人脸姿态角度范围对应的至少一张人脸图像。在一些实施例中,所述装置还包括:采集单元,用于在所述获取不同人脸姿态角度的多张人脸图像之前,从对所述用户的人脸进行多角度拍摄而生成的视频的视频帧中采集所述人脸图像集合。在一些实施例中,所述选取子单元进一步用于:按照图像质量和/或人脸图像中的人脸表情,从该人脸姿态角度范围在所述人脸图像集合中对应的人脸图像中选取出至少一张人脸图像。在一些实施例中,所述选取子单元包括:分值计算模块,用于利用第一卷积神经网络模型计算出所述人脸图像集合中每张人脸图像的图像质量分值,和/或,利用第二卷积神经网络模型计算出所述人脸图像集合中每张人脸图像中人脸的人脸表情分值;选取模块,用于按照人脸图像的图像质量分值和/或人脸表情分值,从该人脸姿态角度范围在所述人脸图像集合中对应的人脸图像中选取出至少一张人脸图像。在一些实施例中,所述建立单元进一步用于:采用可变形模板算法建立初始三维人脸模型。在一些实施例中,所述矫正单元进一步用于:采用自阴影光照模型进行深度矫正。在一些实施例中,所述融合单元包括:提高子单元,用于对所述至少两张人脸图像执行质量度提高操作;融合子单元,用于对质量度提高后的至少两张人脸图像进行多帧融合,以生成三维人脸模型的二维纹理。在一些实施例中,所述提高子单元包括:输入模块,用于针对所述至少两张人脸图像的每一张人脸图像,将人脸图像的各个通道的通道值分别输入至预先训练的、用于执行质量度提高操作的第一反卷积神经网络模型,其中,所述第一反卷积神经网络模型用于表征质量度提高前的人脸图像的各个通道的通道值与质量度提高后的人脸图像的梯度场的对应关系;重建模块,用于采用泊松方程,基于所述第一反卷积神经网络模型输出的梯度场,重建质量度提高后的人脸图像。在一些实施例中,所述质量度提高操作包括以下一项或多项:光照均匀化操作、降噪操作、模糊去除操作。在一些实施例中,所述装置还包括第一反卷积神经网络模型训练单元,用于:对预先挑选出的人脸图像执行质量度降低操作;将质量度降低后的人脸图像的各个通道的通道值以及质量度降低前的人脸图像的梯度场分别作为所述第一反卷积神经网络模型的输入样本与输出样本,对所述第一反卷积神经网络模型进行训练。在一些实施例中,所述融合子单元进一步用于,包括:将质量度提高后的至少两张人脸图像的各个通道的通道值输入至预先训练的第二反卷积神经网络模型,其中,所述第二反卷积神经网络模型用于表征融合前多个人脸图像的各个通道的通道值与融合后图像的梯度场的对应关系;采用泊松方程,基于所述第二反卷积神经网络模型输出的梯度场重建三维人脸模型的二维纹理。在一些实施例中,第二反卷积神经网络模型包括与卷积层对称的反向卷积层以及用于提高所述第二反卷积神经网络模型所输出的图像梯度场所对应图像的分辨率的反向卷积层。在一些实施例中,所述装置还包括第二反卷积神经网络模型训练单元,用于:获取用于所述第二反卷积神经网络模型的训练样本,所述训练样本数据包括通过不同于所述第二反卷积神经网络模型的泊松融合算法所获得的融合前人脸图像的通道值和融合后的图像梯度场和/或通过三维扫描仪扫描到的人脸图像的通道值和图像梯度场;基于所述第二反卷积神经网络模型的训练样本数据,对所述第二反卷积神经网络模型进行训练。本申请提供的用于生成三维头像模型的方法和装置,可以通过用户在不同人脸姿态角度的多张人脸图像生成三维人脸模型以及三维人脸模型的二维纹理,从而最终能使用所生成的三维人脸模型以及二维纹理生成最终的三维头像模型,只需采集用户在不同人脸姿态角度的多张人脸图像即可生成三维头像模型,成本较低。附图说明通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本申请的其它特征、目的和优点将会变得更明显:图1是本申请可以应用于其中的示例性系统架构图;图2是根据本申请的用于生成三维头像模型的方法的一个实施例的流程图;图3是图2所描述的实施例的一些可选实现方式中第一卷积神经网络模型中卷积神经网络的网络结构示意图;图4是根据本申请的用于生成三维头像模型的方法的又一个实施例的流程图;图5是图4所描述的实施例的一些可选实现方式中第一反卷积神经网络模型中卷积神经网络的网络结构示意图;图6是图4所描述的实施例的一些可选实现方式中第二反卷积神经网络模型中卷积神经网络的网络结构示意图;图7是根据本申请的用于生成三维头像模型的装置的一个实施例的结构示意图;图8是适于用来实现本申请实施例的终端设备或服务器的计算机系统的结构示意图。具体实施方式下面结合附图和实施例对本申请作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释相关发明,而非对该发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与有关发明相关的部分。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。图1示出了可以应用本申请的用于生成三维头像模型的方法或用于生成三维头像模型的装置的实施例的示例性系统架构100。如图1所示,系统架构100可以包括终端设备101、102、103,网络104和服务器105。网络104用以在终端设备101、102、103和服务器105之间提供通信链路的介质。网络104可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。用户可以使用终端设备101、102、103通过网络104与服务器105交互,以接收或发送消息等。终端设备101、102、103上可以安装有各种通讯客户端应用,例如游戏类应用、动画展示类应用、即时通信工具、社交平台软件等。终端设备101、102、103可以是具有显示屏并且三维图像展示的各种电子设备,包括但不限于智能手机、平板电脑、电子书阅读器、MP3播放器(MovingPictureExpertsGroupAudioLayerIII,动态影像专家压缩标准音频层面3)、MP4(MovingPictureExpertsGroupAudioLayerIV,动态影像专家压缩标准音频层面4)播放器、膝上型便携计算机和台式计算机等等。服务器105可以是提供各种服务的服务器,例如对终端设备101、102、103上显示的图像或图形提供支持的后台服务器。后台服务器可以将数据(例如图像数据)发送给终端设备,以供终端设备展示。需要说明的是,本申请实施例所提供的用于生成三维头像模型的方法可以由服务器105执行,也可以由终端设备101、102、103执行,还可以部分步骤由服务器105执行、部分步骤由终端设备101、102、103执行;相应地,用于生成三维头像模型的装置可以设置于服务器105中,也可以设置于终端设备101、102、103中,还可以部分单元设置于服务器105中并将其他单元设置于终端设备101、102、103中。应该理解,图1中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。继续参考图2,示出了根据本申请的用于生成三维头像模型的方法的一个实施例的流程200。该用于生成三维头像模型的方法,包括以下步骤:步骤201,获取用户的不同人脸姿态角度的多张人脸图像。在本实施例中,用于生成三维头像模型的方法运行于其上的电子设备(例如图1所示的终端设备或服务器)可以从本地或远程获取多张人脸图像。该多张人脸图像可以包括从不同人脸姿态角度观察用户时所对应的人脸图像。实践中,人脸姿态角度可以使用当前人脸图像的姿态相对于人脸的正面姿态之间的偏移角度来表征。此时,人脸图像可选的偏移角度可以处于0~90度这个区间,所获取的多张人脸图像的偏移角度可以分别是该视区间中的不同人脸姿态角度。例如,可以选择偏移角度分别为5度、20度、40度、60度、80度的多张人脸图像。需要说明的是,人脸姿态角度可以通过其他方面的数值来表征,例如可以通过当前人脸图像的姿态相对于人脸的侧面姿态之间的偏移角度来表征,此时正面姿态的偏移角度可以用0度表示。步骤202,使用多张人脸图像中人脸姿态角度最正的人脸图像建立初始三维人脸模型。在本实施例中,基于步骤201中得到的多张人脸图像,电子设备可以首先从多张人脸图像中选取出人脸姿态角度最正的人脸图像。人脸姿态角度最正的人脸图像可以是指人脸姿态相对于人脸的正面姿态偏移最小的人脸图像。其中,当人脸姿态角度使用当前人脸图像的姿态相对于人脸的正面姿态之间的偏移角度来表征时,则偏移角度最小的人脸图像为人脸姿态角度最正的人脸图像。相应的,若人脸姿态角度是通过当前人脸图像的姿态相对于人脸的侧面姿态之间的偏移角度来表征,此时偏移角度最大的人脸图像为人脸姿态角度最正的人脸图像。在选取出人脸姿态角度最正的人脸图像后,电子设备可以使用所选的人脸图像建立初始三维人脸模型。在使用所选的人脸图像建立初始三维人脸模型时,可以先获取初始模型,然后利用所选的人脸图像中的人脸特征点对初始模型进行调整,从而生成初始三维人脸模型。在本实施例的一些可选实现方式中,步骤202可以具体包括:采用可变形模板算法建立初始三维人脸模型。采用可变形模板算法建立初始三维人脸模型,可以具体按如下过程执行:首先,可以通过预先建立的人脸模型数据库中的各个人脸模型求取平均人脸模型。之后,可以通过以下的两个公式使用人脸模型数据库中的各个人脸模型以及平均人脸模型表示需要重建的人脸模型:其中,Smodel、Save、Si分别为重建的人脸模型中、平均人脸模型中以及人脸模型数据库的各个人脸模型中的形状向量,Tmodel、Tave、Ti分别为重建的人脸模型中、平均人脸模型中以及人脸模型数据库的各个人脸模型中的纹理向量,Tmodel、Save、Ti分别为重建的人脸模型中、平均人脸模型中以及人脸模型数据库的各个人脸模型中的纹理向量,αi和βi则为待定的系数。最后,利用人脸姿态角度最正的人脸图像求解αi和βi,即可根据求解得到的αi和βi求取出重建的人脸模型。在求解αi和βi时,可以采用迭代优化的方法。即,先随机初始化αi和βi以得到三维人脸模型,接着把这个三维人脸模型投影到二维平面上得到一张新的人脸图像,并采用这张人脸图片与用户输入的人脸图片构建损失函数,使得人脸姿态角度最正的人脸图像与我们投影到二维的人脸图像之间的差值最小化。然后,对上面的式子αi和βi进行求导,并采用梯度下降法,更新参数αi和βi,如此一直循环迭代,直到收敛。步骤203,使用多张人脸图像中除人脸姿态角度最正的人脸图像外的其他至少一张人脸图像对初始三维人脸模型进行深度矫正,得到已矫正三维人脸模型。在本实施例中,基于步骤201所得到的多张人脸图像,电子设备可以使用其中除人脸姿态角度最正的人脸图像外的其他至少一张人脸图像对基于步骤202所得到的初始三维人脸模型进行深度矫正,从而得到已矫正三维人脸模型。在使用人脸姿态角度最正的人脸图像建立初始三维人脸模型进行人脸初步重建时,由于使用的是单幅人脸图像,重建结果往往都接近平均模型,在图像深度上缺少数据,因此缺少个性化细节特征,故可以通过姿态角度最正的人脸图像外的其他至少一张人脸图像对基于初始三维人脸模型的图像深度进行矫正,从而即可实现对初始三维人脸模型的修正。已矫正三维人脸模型由于在深度上具有表达数据,因此已矫正三维人脸模型表现上更为立体,例如鼻子部分可以呈现出凸出状态。上述其他至少一张人脸图像可以是多张人脸图像中除人脸姿态角度最正的人脸图像外的所有人脸图像,也可以是其中的部分人脸图像。在本实施例的一些可选实现方式中,上述步骤203可以具体包括:采用自阴影光照模型进行深度矫正。即,在该实现方式中,在对初始三维人脸模型进行深度估计时,可以采用自阴影光照模型。自阴影则是物体在背光一侧在其自身上产生的阴影,它属于物体的一部分。由于自阴影本身的特殊性,在以往的SFS(由明暗恢复形状)方法中,对待自阴影问题一直都是采取回避的策略,这导致在其三维重建中会出现较大的形状畸变,从而三维重建的效果及其精度。采用自阴影光照模型进行处理,可以解决三维重建算法中的自阴影问题。例如,在采用自阴影光照模型进行处理时,可以对光照方向进行了大致估计,再通过边缘检测得到自阴影区域并进行修正,去除实际的自阴影区域。可见,采用自阴影光照模型进行深度矫正可以进一步提高最终所重建的三维头像模型的展示效果以及精度。步骤204,使用多张人脸图像中的至少两张人脸图像进行多帧融合,得到三维人脸模型的二维纹理。在本实施例中,基于步骤201所获取的多张人脸图像,上述电子设备可以使用其中的至少两张人脸图像进行多帧融合,得到三维人脸模型的二维纹理,以供后续渲染使用。融合时,可以使用多张人脸图像中的全部人脸图像进行融合,也可以仅使用部分人脸图像进行融合。多帧融合的过程可以是直接融合,也可以进行一定的预处理再融合。步骤205,渲染已矫正三维人脸模型以及二维纹理,以生成三维头像模型。在实施例中,电子设备可以渲染基于步骤203所得到的已矫正三维人脸模型以及基于步骤204所得到的二维纹理,即可渲染生成最终的三维模型。在本实施例的一些可选的实现方式中,上述步骤202可以包括:在预先设定的多个人脸姿态角度取值范围中,确定针对所述用户所采集的人脸图像集合中每张人脸图像的人脸姿态角度所属的人脸姿态角度取值范围;针对每个人脸姿态角度范围,选取出该人脸姿态角度范围对应的至少一张人脸图像。作为示例,可以预先设定0-18度、18-36度、36-54度、54-72度以及72到90度等5个人脸姿态角度取值范围。此时,电子设备可以确定每张人脸图像的人脸姿态角度属于上述5个人脸姿态角度取值范围中的哪一个人脸姿态角度取值范围。然后,针对每个人脸姿态角度范围,在属于该人脸姿态角度范围的人脸图像中选出对应的至少一张人脸图像。实践中,通常可以针对每个人脸姿态角度范围选取出一张人脸图像,这样即可使用对每个人脸姿态角度范围选出的一张人脸图像进行后续处理。在本实施例的一些可选实现方式中,在步骤201之前,上述方法还包括:从对用户的人脸进行多角度拍摄而生成的视频的视频帧中采集上述人脸图像集合。在该实现方式中,可以预先通过视频拍摄设备对用户进行多角度拍摄而形成视频。电子设备即可从该视频的各个视频帧中采集各种人脸姿态角度的人脸图像。该实现方式从视频中提取出待后续处理的人脸图像,只需要一次性拍摄视频即可,有助于避免对各种人脸姿态角度单独进行人脸拍摄而导致耗时较长的问题。在本实施例的一些可选实现方式中,上述选取出该人脸姿态角度范围对应的至少一张人脸图像可以具体包括:按照图像质量和/或人脸图像中的人脸表情,从该人脸姿态角度范围在所述人脸图像集合中对应的人脸图像中选取出至少一张人脸图像。在该实现方式中,在从属于该人脸姿态角度范围的人脸图像中选取人脸图像时,可以将图像质量和/或人脸表情作为选择的参考指标。通常,可以优先选取出图像质量较高以及人脸表情较弱的人脸图像,质量较高的人脸图像可以提高重建成的三维人脸模型的质量,人脸表情较弱则可以使得所处理的图像带有较少的表情特征,增强不同人脸图像之间的共性,使得生成三维人脸头像的过程中不同人脸图像情绪特征之间的冲突较少,降低处理难度。在本实施例的一些可选实现方式中,上述按照图像质量和/或人脸图像中的人脸表情,从该人脸姿态角度范围在所述人脸图像集合中对应的人脸图像中选取出至少一张人脸图像可以按以下步骤执行:首先,利用第一卷积神经网络模型计算出所述人脸图像集合中每张人脸图像的图像质量分值,和/或,利用第二卷积神经网络模型计算出所述人脸图像集合中每张人脸图像中人脸的人脸表情分值;之后,按照人脸图像的图像质量分值和/或人脸表情分值,从该人脸姿态角度范围在所述人脸图像集合中对应的人脸图像中选取出至少一张人脸图像。在该实现方式中,可以通过卷积神经网络模型对每张人脸图像的图像质量分值和/或人脸表情分值,并按照图像质量分值和/或人脸表情分值进行人脸图像的选取。卷积神经网络是一种端到端模型,不需要人工设计提取相关特征,只需要预先标注好相关的训练数据,即可进行端到端学习。在该实现方式中,对于第一卷积神经网络模型,可以使用已标注好图像质量分值的样本人脸图像作为训练数据进行训练即可;而对于第二卷积神经网络模型,可以使用已标注好人脸表情分值的样本人脸图像作为训练数据进行训练即可。实践中,样本人脸图像所标注的分值可以由专业的艺术评分师对人脸图像进行评分而得到。第一卷积神经网络模型中可以如图3所示。其中,可以设计采用conv1、conv2、conv3、conv4等4个卷积层以及Fc5、Fc6等两个全连接层组成的小型卷积神经网络。输入(Input)可以是人脸图像F。人脸图像可以是三通道图像,在输入时每一帧可以规划到同一的尺寸,例如40×40。输出(Output)则可以是一个0~1之间的数,用于表示分值。神经网络可以采用梯度下降法并按一定的学习率(例如0.001)进行训练。第二卷积神经网络模型的网络结构和训练方法可以参考第一卷积神经网络模型,这里不再赘述。当原始样本人脸图像较少时,可以通过采用旋转、镜像、随机裁剪、dropout、噪声处理、对比度处理等方式对原始样本人脸图像进行处理,并利用处理得到的人脸图像对样本进行扩充,防止过少样本导致的过拟合。此外,训练时还可以采用0.005L2正则约束项。在按照人脸图像的图像质量分值和/或人脸表情分值从该人脸姿态角度范围在所述人脸图像集合中对应的人脸图像中选取出至少一张人脸图像时,若同时按照人脸图像的图像质量分值和/或人脸表情分值,可以按照为图像质量分值和人脸表情分值预先设定的权重以及所得到的图像质量分值和人脸表情分值计算总权值,再选出总权值较大的人脸图像。本申请的上述实施例提供的方法,可以通过用户在不同人脸姿态角度的多张人脸图像生成三维人脸模型以及三维人脸模型的二维纹理,从而最终能使用所生成的三维人脸模型以及二维纹理生成最终的三维头像模型,只需采集用户在不同人脸姿态角度的多张人脸图像即可生成三维头像模型,成本较低。进一步参考图4,其示出了用于生成三维头像模型的方法的又一个实施例的流程400。该用于生成三维头像模型的方法的流程400,包括以下步骤:步骤401,获取用户的不同人脸姿态角度的多张人脸图像。在本实施例中,步骤401的具体处理可以参考图2对应实施例中的步骤201,这里不再赘述。步骤402,使用多张人脸图像中人脸姿态角度最正的人脸图像建立初始三维人脸模型。在本实施例中,步骤402的具体处理可以参考图2对应实施例中的步骤202,这里不再赘述。步骤403,使用多张人脸图像中除人脸姿态角度最正的人脸图像外的其他至少一张人脸图像对初始三维人脸模型进行深度矫正,得到已矫正三维人脸模型。在本实施例中,步骤403的具体处理可以参考图2对应实施例中的步骤203,这里不再赘述。步骤404,对多张人脸图像中的至少两张人脸图像执行质量度提高操作。在本实施例中,基于步骤403所获取的多张人脸图像,电子设备可以从中选取至少两张人脸图像并对所选取的至少两张人脸图像执行质量度提高操作。由于不同人脸图像在图像质量上可能存在不同,在图像质量度相差较大的情况直接拼接人脸图像,容易导致拼接成的二维纹理的拼接边界处出现明显的不自然现象,甚至会丢失纹理细节变得模糊,鲁棒性较差。因此,该该步骤可以对人脸图像执行质量度提高操作,从而使得参与后续融合时所使用的人脸图像均具有较高的质量度。在本实施例的一些可选实现方式中,上述质量度提高操作包括以下一项或多项:光照均匀化操作、降噪操作、模糊去除操作。光照、噪声以及清晰度是比较重要的质量度指标,可以分别进行光照均匀化操作、降噪操作、模糊去除操作等操作来提升这些质量度指标。步骤405,对质量度提高后的至少两张人脸图像进行多帧融合,以生成三维人脸模型的二维纹理。在本实施例中,电子设备可以对基于步骤404执行质量度提高操作后所得到的至少两张人脸图像进行多帧融合,从而生成三维人脸模型的二维纹理。该步骤的具体处理可以参考图2对应实施例的步骤204,这里不再赘述。步骤406,渲染已矫正三维人脸模型以及所述二维纹理,以生成三维头像模型。在本实施例中,步骤406的具体处理可以参考图2对应实施例中的步骤205,这里不再赘述。在本实施例的一些可选实现方式中,步骤404可以具体包括:针对所述至少两张人脸图像的每一张人脸图像,将人脸图像的各个通道的通道值分别输入至预先训练的、用于执行质量度提高操作的第一反卷积神经网络模型,其中,所述第一反卷积神经网络模型用于表征质量度提高前的人脸图像的各个通道的通道值与质量度提高后的人脸图像的梯度场的对应关系;采用泊松方程,基于第一反卷积神经网络模型输出的梯度场,重建质量度提高后的人脸图像。该实现方式中,采用基于梯度场的神经网络模型进行图像处理,使得处理图像更加自然、清晰。作为示例,第一反卷积神经网络模型中反卷积神经网络的网络结构可以如图5所示。其中,反卷积神经网络的输入层Input可以是质量度提高前的人脸图像的各个通道的通道值。例如对于RGB这种三通道图像,输入层可以分别对应于人脸图像中在R、G、B等三个通道的通道值。输出层Output则可以是质量度提高后的人脸图像对应的梯度场。反卷积神经网络可以是一个对称的网络结构。例如,在图5的中示出的即为4个卷积层的反卷积网络中,反向卷积层D-Layer1、D-Layer2、D-Layer3分别与正向卷积层Layer1、Layer2、Layer3对称,即对应的反向卷积层与正向卷积层共享且计算过程相反。表1示出了反卷积网络中网络结构参数的一个示例。网络层卷积层池化层特征图Input(3,512,512)Layer1Filters(3,3,3,64)maxpooling(2,2)(64,256,256)Layer2Filters(3,3,64,128)maxpooling(2,2)(128,128,128)Layer3Filters(3,3,128,256)maxpooling(2,2)(256,64,64)Layer4Filters(3,3,256,512)maxpooling(2,2)(512,32,32)表1在表1中,Filters(3,3,3,64)表示卷积层卷积核大小为3×3,输入特征图个数为3,输出为64个特征图,池化层统一采用大小为(2,2)的最大池化,网络输入为3通道512×512的图像。反向卷积层的参数与卷积层参数一一对应,权值共享,表1中未示出。可选的,在将人脸图像的各个通道的通道值输入至第一反卷积神经网络模型前,可以对人脸图像进行一些形状变换处理,例如可以首先检测出人脸图像中的人脸位置,然后选择设定的边缘比例(例如0.4)进行人脸裁剪,把裁剪的图片,统一缩放到一定尺度(例如512×512)的图像。之后,将形状变换处理后的图像中各通道的通道值输作为输入。在本实施例的一些可选实现方式中,上述方法还包括第一反卷积神经网络模型训练步骤,包括:对预先挑选出的人脸图像执行质量度降低操作;将质量度降低后的人脸图像的各个通道的通道值以及质量度降低前的人脸图像的梯度场分别作为所述第一反卷积神经网络模型的输入样本与输出样本,对所述第一反卷积神经网络模型进行训练。在该实现方式中,在设置训练第一反卷积神经网络模型时所使用的输入样本与输出样本时,由于真实场景中很难得到大量一一对应的原始质量度较差以及质量度较好的人脸图像,因此该实现方式中可以挑选出质量度较好的人脸图像作为输出样本,而对这些质量度较好的人脸图像执行质量度降低操作,并将质量度降低后的人脸图像作为对应的输入样本。例如,假设第一反卷积神经网络模型表征的是光照均匀化操作前的人脸图像的各个通道的通道值与光照均匀化操作后的人脸图像的梯度场的对应关系,则可以选用光照均匀的人脸图像作为第一反卷积神经网络模型的输出样本,并将对光照均匀的人脸图像进行重光照渲染而生成的人脸图像作为第一反卷积神经网络模型的输入样本,以训练成第一反卷积神经网络。如此,通过这种方式即可解决现实场景中样本数据难以获得的问题。作为示例,训练时可以采用随机批量梯度下降法,学习率选择0.001,L2惩罚系数可以选择0.0005,并采用earlystop作为迭代终止方案。在本实施例的一些可选实现方式中,步骤405可以包括:将质量度提高后的至少两张人脸图像的各个通道的通道值输入至预先训练的第二反卷积神经网络模型,其中,所述第二反卷积神经网络模型用于表征融合前多个人脸图像的各个通道的通道值与融合后图像的梯度场的对应关系;采用泊松方程,基于所述第二反卷积神经网络模型输出的梯度场重建三维人脸模型的二维纹理。可选的,第二反卷积神经网络模型中反卷积神经网络的网络结构可以参考前述实现方式中的第一反卷积神经网络模型。需要说明的是,在第二反卷积神经网络模型的反卷积神经网络中,输入层可以是融合前的至少两张人脸图像的各个通道的通道值,输出层则可以是融合后的图像的梯度场。该实现方式中,采用基于梯度场的神经网络模型进行图像处理,使得处理图像更加自然、清晰。可选的,在训练阶段,可以采用随机掩码的方式构建损失函数,然后利用梯度下降法进行训练。为了防止过拟合,提高网络泛化能力,还可以采用加噪、对比度调整等方式对原有样本图像进行形状变换处理并使用处理生成的新图像进行样本扩充。在本实施例的一些可选实现方式中,第二反卷积神经网络模型包括与卷积层对称的反向卷积层以及用于提高所述第二反卷积神经网络模型所输出的图像梯度场所对应图像的分辨率的反向卷积层。该实现方式中所描述的第二反卷积神经网络模型中反卷积神经网络的网络结构如图6所示。与图5所示的网络结构不同的是,图6中的网络结构多了反向卷积层D-Layer0,该反向卷积层可用于提高所输出的图像梯度场所对应图像的分辨率。在本实施例的一些可选实现方式中,上述方法还包括第二反卷积神经网络模型训练步骤,包括:获取用于所述第二反卷积神经网络模型的训练样本,所述训练样本数据包括通过不同于所述第二反卷积神经网络模型的泊松融合算法所获得的融合前人脸图像的通道值和融合后的图像梯度场和/或通过三维扫描仪扫描到的人脸图像的通道值和图像梯度场;基于所述第二反卷积神经网络模型的训练样本数据,对所述第二反卷积神经网络模型进行训练。在该实现方式中,不同于所述第二反卷积神经网络模型的泊松融合算法可以是传统的统泊松融合算法。在使用传统的所获得的统泊松融合算法进行融合时融合前人脸图像和融合后的图像作为训练样本时,可以人工挑选出融合较好的原始图像作为所使用的训练样本。使用传统的统泊松融合算法不需要额外的专用硬件设备,具有成本低廉的优势。在使用通过三维扫描仪扫描到的人脸图像作为训练样本时,只需要在训练时使用三维扫描仪扫描一次即可,后续生成三维人脸头像时只需要使用训练好的模型即可顺利生成,不需要每次生成时再使用价格昂贵的三维扫描仪,也有助于降低成本。通常,只需要应用的开发者在训练模型时使用三维扫描仪,而实际使用应用的终端用户只需要拍摄图像或视频即可利用训练成的模型形成该终端用户的三维人脸模型,不需要在终端设备处使用到三维扫描仪看,降低用户的参与成本。从图4中可以看出,与图2对应的实施例相比,本实施例中的用于生成三维头像模型的方法的流程400,在融合成三维人脸模型的二维纹理之前,对融合所使用人脸图像进行了质量度提高,避免融合成的二维纹理不自然的现象,使得最终生成的三维头像模型也更逼真自然。进一步参考图7,作为对上述各图所示方法的实现,本申请提供了一种用于生成三维头像模型的装置的一个实施例,该装置实施例与图2所示的方法实施例相对应,该装置具体可以应用于各种电子设备中。如图7所示,本实施例的用于生成三维头像模型的装置700包括:获取单元701、建立单元702、矫正单元703、融合单元704和渲染单元705。其中,获取单元701用于获取用户的不同人脸姿态角度的多张人脸图像;建立单元702用于使用所述多张人脸图像中人脸姿态角度最正的人脸图像建立初始三维人脸模型;矫正单元703用于使用所述多张人脸图像中除人脸姿态角度最正的人脸图像外的其他至少一张人脸图像对所述初始三维人脸模型进行深度矫正,得到已矫正三维人脸模型;融合单元704用于使用所述多张人脸图像中的至少两张人脸图像进行多帧融合,得到三维人脸模型的二维纹理;而渲染单元705用于渲染所述已矫正三维人脸模型以及所述二维纹理渲染,以生成三维头像模型。在本实施例中,获取单元701、建立单元702、矫正单元703、融合单元704和渲染单元705的具体处理可以参考图2对应实施例的步骤201、步骤202、步骤203、步骤204以及步骤205,这里不再赘述。在本实施例的一些可选实现方式中,获取单元701包括:确定子单元(未示出),用于在预先设定的多个人脸姿态角度取值范围中,确定针对所述用户所采集的人脸图像集合中每张人脸图像的人脸姿态角度所属的人脸姿态角度取值范围;选取子单元(未示出),用于针对每个人脸姿态角度范围,选取出该人脸姿态角度范围对应的至少一张人脸图像。该实现方式的具体处理可以参考图2对应实施例中相应的实现方式,这里不再赘述。在本实施例的一些可选实现方式中,装置700还包括:采集单元(未示出),用于在所述获取不同人脸姿态角度的多张人脸图像之前,从对所述用户的人脸进行多角度拍摄而生成的视频的视频帧中采集所述人脸图像集合。该实现方式的具体处理可以参考图2对应实施例中相应的实现方式,这里不再赘述。在本实施例的一些可选实现方式中,上述选取子单元进一步用于:按照图像质量和/或人脸图像中的人脸表情,从该人脸姿态角度范围在所述人脸图像集合中对应的人脸图像中选取出至少一张人脸图像。该实现方式的具体处理可以参考图2对应实施例中相应的实现方式,这里不再赘述。在本实施例的一些可选实现方式中,选取子单元包括:分值计算模块,用于利用第一卷积神经网络模型计算出所述人脸图像集合中每张人脸图像的图像质量分值,和/或,利用第二卷积神经网络模型计算出所述人脸图像集合中每张人脸图像中人脸的人脸表情分值;选取模块,用于按照人脸图像的图像质量分值和/或人脸表情分值,从该人脸姿态角度范围在所述人脸图像集合中对应的人脸图像中选取出至少一张人脸图像。该实现方式的具体处理可以参考图2对应实施例中相应的实现方式,这里不再赘述。在本实施例的一些可选实现方式中,建立单元702进一步用于:采用可变形模板算法建立初始三维人脸模型。该实现方式的具体处理可以参考图2对应实施例中相应的实现方式,这里不再赘述。在本实施例的一些可选实现方式中,矫正单元703进一步用于:采用自阴影光照模型进行深度矫正。该实现方式的具体处理可以参考图2对应实施例中相应的实现方式,这里不再赘述。在本实施例的一些可选实现方式中,所述融合单元包括:提高子单元,用于对所述至少两张人脸图像执行质量度提高操作;融合子单元,用于对质量度提高后的至少两张人脸图像进行多帧融合,以生成三维人脸模型的二维纹理。该实现方式的具体处理可以参考图4对应实施例中相应的步骤,这里不再赘述。在本实施例的一些可选实现方式中,所述提高子单元,包括:输入模块,用于针对所述至少两张人脸图像的每一张人脸图像,将人脸图像的各个通道的通道值分别输入至预先训练的、用于执行质量度提高操作的第一反卷积神经网络模型,其中,所述第一反卷积神经网络模型用于表征质量度提高前的人脸图像的各个通道的通道值与质量度提高后的人脸图像的梯度场的对应关系;重建模块,用于采用泊松方程,基于所述第一反卷积神经网络模型输出的梯度场,重建质量度提高后的人脸图像。该实现方式的具体处理可以参考图4对应实施例中相应的实现方式,这里不再赘述。在本实施例的一些可选实现方式中,质量度提高操作包括以下一项或多项:光照均匀化操作、降噪操作、模糊去除操作。该实现方式的具体处理可以参考图2对应实施例中相应的实现方式,这里不再赘述。该实现方式的具体处理可以参考图4对应实施例中相应的实现方式,这里不再赘述。在本实施例的一些可选实现方式中,装置700还包括第一反卷积神经网络模型训练单元,用于:对预先挑选出的人脸图像执行质量度降低操作;将质量度降低后的人脸图像的各个通道的通道值以及质量度降低前的人脸图像的梯度场分别作为所述第一反卷积神经网络模型的输入样本与输出样本,对所述第一反卷积神经网络模型进行训练。该实现方式的具体处理可以参考图4对应实施例中相应的实现方式,这里不再赘述。在本实施例的一些可选实现方式中,装置700还包括融合子单元进一步用于:将质量度提高后的至少两张人脸图像的各个通道的通道值输入至预先训练的第二反卷积神经网络模型,其中,所述第二反卷积神经网络模型用于表征融合前多个人脸图像的各个通道的通道值与融合后图像的梯度场的对应关系;采用泊松方程,基于所述第二反卷积神经网络模型输出的梯度场重建三维人脸模型的二维纹理。该实现方式的具体处理可以参考图4对应实施例中相应的实现方式,这里不再赘述。在本实施例的一些可选实现方式中,所述第二反卷积神经网络模型包括与卷积层对称的反向卷积层以及用于提高所述第二反卷积神经网络模型所输出的图像梯度场所对应图像的分辨率的反向卷积层。该实现方式的具体处理可以参考图4对应实施例中相应的实现方式,这里不再赘述。在本实施例的一些可选实现方式中,装置700还包括第二反卷积神经网络模型训练单元(未示出),用于:获取用于所述第二反卷积神经网络模型的训练样本,所述训练样本数据包括通过不同于所述第二反卷积神经网络模型的泊松融合算法所获得的融合前人脸图像的通道值和融合后的图像梯度场和/或通过三维扫描仪扫描到的人脸图像的通道值和图像梯度场;基于所述第二反卷积神经网络模型的训练样本数据,对所述第二反卷积神经网络模型进行训练。该实现方式的具体处理可以参考图4对应实施例中相应的实现方式,这里不再赘述。下面参考图8,其示出了适于用来实现本申请实施例的终端设备/服务器的计算机系统800的结构示意图。图8示出的终端设备/服务器仅仅是一个示例,不应对本申请实施例的功能和使用范围带来任何限制。如图8所示,计算机系统800包括中央处理单元(CPU)801,其可以根据存储在只读存储器(ROM)802中的程序或者从存储部分808加载到随机访问存储器(RAM)803中的程序而执行各种适当的动作和处理。在RAM803中,还存储有系统800操作所需的各种程序和数据。CPU801、ROM802以及RAM803通过总线804彼此相连。输入/输出(I/O)接口805也连接至总线804。以下部件连接至I/O接口805:包括键盘、鼠标等的输入部分806;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分807;包括硬盘等的存储部分808;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分809。通信部分809经由诸如因特网的网络执行通信处理。驱动器810也根据需要连接至I/O接口805。可拆卸介质811,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器810上,以便于从其上读出的计算机程序根据需要被安装入存储部分808。特别地,根据本公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分809从网络上被下载和安装,和/或从可拆卸介质811被安装。在该计算机程序被中央处理单元(CPU)801执行时,执行本申请的方法中限定的上述功能。附图中的流程图和框图,图示了按照本申请各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。描述于本申请实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的单元也可以设置在处理器中,例如,可以描述为:一种处理器包括获取单元、建立单元、矫正单元、融合单元和渲染单元。其中,这些单元的名称在某种情况下并不构成对该单元本身的限定,例如,获取单元还可以被描述为“获取用户的不同人脸姿态角度的多张人脸图像的单元”。作为另一方面,本申请还提供了一种计算机可读介质,该计算机可读介质可以是上述实施例中描述的装置中所包含的;也可以是单独存在,而未装配入该装置中。上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被该装置执行时,使得该装置:获取用户的不同人脸姿态角度的多张人脸图像;使用所述多张人脸图像中人脸姿态角度最正的人脸图像建立初始三维人脸模型;使用所述多张人脸图像中除人脸姿态角度最正的人脸图像外的其他至少一张人脸图像对所述初始三维人脸模型进行深度矫正,得到已矫正三维人脸模型;使用所述多张人脸图像中的至少两张人脸图像进行多帧融合,得到三维人脸模型的二维纹理;渲染所述已矫正三维人脸模型以及所述二维纹理,以生成三维头像模型。需要说明的是,本申请所述的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本申请中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本申请中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、RF等等,或者上述的任意合适的组合。以上描述仅为本申请的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本申请中所涉及的发明范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离上述发明构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本申请中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。当前第1页1 2 3 
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1