掌桥专利:专业的专利平台
掌桥专利
首页

多视角图像生成方法、装置、可读存储介质及电子设备

文献发布时间:2023-06-19 19:23:34


多视角图像生成方法、装置、可读存储介质及电子设备

技术领域

本申请涉及计算机技术领域,尤其涉及一种多视角图像生成方法、装置、可读存储介质及电子设备。

背景技术

随着虚拟技术的发展,自由相机视角下具有真实感的人像生成技术对虚拟人视频内容的生产至关重要。在相关技术中,可以通过生成对抗网络(Generative AdversarialNetworks,GAN)生成给定人物图像在不同相机视角下的新的人物图像。

然而,相关技术中的多视角图像生成方法存在不能准确重建给定人物图像的细节信息的技术问题,导致生成的新相机视角下的人物图像与输入图像的细节不相符,保真度较差。

基于此,急需一种能够准确重建给定图像的细节,且图像生成效率高的多视角图像生成方法。

发明内容

本申请的目的是提供一种多视角图像生成方法、装置、可读存储介质及电子设备,用于丰富重建输入图像的细节,确保多视角图像生成下的三维一致性。

本申请提供一种多视角图像生成方法,包括:

获取任一视角下包含目标人物的第一图像;将所述第一图像输入目标模型,得到所述第一图像的粗粒度三维表达,以及将所述第一图像输入细粒度图像编码器,得到所述第一图像的三维细节特征;将所述粗粒度三维表达与所述三维细节特征结合后,得到所述第一图像的细粒度三维表达,并基于所述细粒度三维表达,渲染出给定相机视角下包含所述目标人物的第二图像;其中,所述目标模型包括:粗粒度图像编码器和三维生成对抗网络;所述粗粒度图像编码器用于将所述第一图像映射为所述三维生成对抗网络的中间层输出的隐空间向量;所述三维生成对抗网络用于基于所述粗粒度图像编码器输出的隐空间向量得到所述粗粒度三维表达。

可选地所述获取任一视角下包含目标人物的第一图像之前,所述方法还包括:循环执行以下步骤,直至完成对所述三维生成对抗网络的预训练:将多维分布的高斯噪声输入所述三维生成对抗网络,输出人物图像的三维表达,并利用所述人物图像的三维表达对应的可微分渲染方法将所述三维表达渲染为随机相机视角下的二维人物图像;利用判别器识别所述随机相机视角下的二维人物图像是否为真实图像,并根据识别结果调整所述三维生成对抗网络的参数;其中,所述判别器基于真实二维人物图像对所述随机相机视角下的二维人物图像进行识别。

可选地,所述完成对所述三维生成对抗网络的预训练之后,所述方法还包括:将真实二维人物图像作为所述粗粒度图像编码器的输入图像,对所述粗粒度图像编码器进行训练,使得所述粗粒度图像编码器输出的隐空间向量输入到所述三维生成对抗网络后,所述三维生成对抗网络输出的三维表达能够被重建为所述粗粒度图像编码器的输入图像;其中,所述粗粒度图像编码器输出的隐空间向量为:所述粗粒度图像编码器将输入图像映射为所述三维生成对抗网络的中间层输出的隐空间向量;所述粗粒度图像编码器的训练过程使用的第一损失函数包括目标损失函数中的至少一项;所述目标损失函数包括:输入图像与重建图像的像素差异,感知损失,输入图像与重建图像之间人物特征差异,粗粒度图像编码器输出的隐空间向量与所述三维生成对抗网络的隐空间向量平均值之间的差异;所述隐空间向量平均值为:所述三维生成对抗网络在预训练过程中,所述中间层输出的多个隐空间向量的平均值。

可选地,所述将真实二维人物图像作为所述粗粒度图像编码器的输入图像,对所述粗粒度图像编码器进行训练之后,所述方法还包括:基于训练后的所述粗粒度图像编码器对所述三维生成对抗网络的模型参数进行调优;其中,调优过程使用真实二维人物图像作为训练数据;调优过程使用的第二损失函数包括:所述目标损失函数中的至少一项,和/或,所述三维生成对抗网络在预训练过程中生成的二维人物图像与所述三维生成对抗网络调优前的生成结果的相似性损失;所述三维生成对抗网络调优前的生成结果为:所述三维生成对抗网络输出的三维表达所渲染出的二维人物图像。

可选地,所述将真实二维人物图像作为所述粗粒度图像编码器的输入图像,对所述粗粒度图像编码器进行训练之后,所述方法还包括:循环执行以下步骤对所述细粒度图像编码器进行训练:将真实二维人物图像作为所述细粒度图像编码器的输入图像,通过所述细粒度图像编码器提取输入图像的三维细节特征,并将提取到的三维细节特征与所述三维生成对抗网络基于同一输入图像输出的三维表达相结合,得到细粒度三维表达;基于所述细粒度三维表达渲染生成任一相机视角下的二维人物图像,并根据第三损失函数的损失值对所述细粒度图像编码器的模型参数进行调整;其中,所述第三损失函数包括:所述目标损失函数中的至少一项;在所述细粒度图像编码器的训练过程中,基于第三图像对第四图像的合理性进行约束;所述第三图像为:所述粗粒度图像编码器映射得到的隐空间向量输入到所述三维生成对抗网络后,得到的三维表达所渲染的二维人物图像;所述第四图像为:基于所述细粒度三维表达所渲染的二维人物图像;所述第三图像与所述第四图像为基于同一输入图像得到的。

本申请还提供一种多视角图像生成装置,包括:

获取模块,用于获取任一视角下包含目标人物的第一图像;处理模块,用于将所述第一图像输入目标模型,得到所述第一图像的粗粒度三维表达,以及将所述第一图像输入细粒度图像编码器,得到所述第一图像的三维细节特征;生成模块,用于将所述粗粒度三维表达与所述三维细节特征结合后,得到所述第一图像的细粒度三维表达,并基于所述细粒度三维表达,渲染出给定相机视角下包含所述目标人物的第二图像;其中,所述目标模型包括:粗粒度图像编码器和三维生成对抗网络;所述粗粒度图像编码器用于将所述第一图像映射为所述三维生成对抗网络的中间层输出的隐空间向量;所述三维生成对抗网络用于基于所述粗粒度图像编码器输出的隐空间向量得到所述粗粒度三维表达。

可选地,所述装置还包括:训练模块;所述训练模块,用于将多维分布的高斯噪声输入所述三维生成对抗网络,输出人物图像的三维表达,并利用所述人物图像的三维表达对应的可微分渲染方法将所述三维表达渲染为随机相机视角下的二维人物图像;所述训练模块,还用于利用判别器识别所述随机相机视角下的二维人物图像是否为真实图像,并根据识别结果调整所述三维生成对抗网络的参数;其中,所述判别器基于真实二维人物图像对所述随机相机视角下的二维人物图像进行识别。

可选地,所述训练模块,用于将真实二维人物图像作为所述粗粒度图像编码器的输入图像,对所述粗粒度图像编码器进行训练,使得所述粗粒度图像编码器输出的隐空间向量输入到所述三维生成对抗网络后,所述三维生成对抗网络输出的三维表达能够被重建为所述粗粒度图像编码器的输入图像;其中,所述粗粒度图像编码器输出的隐空间向量为:所述粗粒度图像编码器将输入图像映射为所述三维生成对抗网络的中间层输出的隐空间向量;所述粗粒度图像编码器的训练过程使用的第一损失函数包括目标损失函数中的至少一项;所述目标损失函数包括:输入图像与重建图像的像素差异,感知损失,输入图像与重建图像之间人物特征差异,粗粒度图像编码器输出的隐空间向量与所述三维生成对抗网络的隐空间向量平均值之间的差异;所述隐空间向量平均值为:所述三维生成对抗网络在预训练过程中,所述中间层输出的多个隐空间向量的平均值。

可选地,所述训练模块,还用于基于训练后的所述粗粒度图像编码器对所述三维生成对抗网络的模型参数进行调优;其中,调优过程使用真实二维人物图像作为训练数据;调优过程使用的第二损失函数包括:所述目标损失函数中的至少一项,和/或,所述三维生成对抗网络在预训练过程中生成的二维人物图像与所述三维生成对抗网络调优前的生成结果的相似性损失;所述三维生成对抗网络调优前的生成结果为:所述三维生成对抗网络输出的三维表达所渲染出的二维人物图像。

可选地,所述训练模块,还用于将真实二维人物图像作为所述细粒度图像编码器的输入图像,通过所述细粒度图像编码器提取输入图像的三维细节特征,并将提取到的三维细节特征与所述三维生成对抗网络基于同一输入图像输出的三维表达相结合,得到细粒度三维表达;所述训练模块,还用于基于所述细粒度三维表达渲染生成任一相机视角下的二维人物图像,并根据第三损失函数的损失值对所述细粒度图像编码器的模型参数进行调整;其中,所述第三损失函数包括:所述目标损失函数中的至少一项;在所述细粒度图像编码器的训练过程中,基于第三图像对第四图像的合理性进行约束;所述第三图像为:所述粗粒度图像编码器映射得到的隐空间向量输入到所述三维生成对抗网络后,得到的三维表达所渲染的二维人物图像;所述第四图像为:基于所述细粒度三维表达所渲染的二维人物图像;所述第三图像与所述第四图像为基于同一输入图像得到的。

本申请还提供一种计算机程序产品,包括计算机程序/指令,该计算机程序/指令被处理器执行时实现如上述任一种所述多视角图像生成方法的步骤。

本申请还提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上述任一种所述多视角图像生成方法的步骤。

本申请还提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如上述任一种所述多视角图像生成方法的步骤。

本申请提供的多视角图像生成方法、装置、可读存储介质及电子设备,首先,获取任一视角下包含目标人物的第一图像;之后,将所述第一图像输入目标模型,得到所述第一图像的粗粒度三维表达,以及将所述第一图像输入细粒度图像编码器,得到所述第一图像的三维细节特征;最后,将所述粗粒度三维表达与所述三维细节特征结合后,得到所述第一图像的细粒度三维表达,并基于所述细粒度三维表达,渲染出给定相机视角下包含所述目标人物的第二图像。如此,便可以基于单张人物图像得到任一给定相机视角下该人物的人物图像,不仅能够丰富重建输入图像的细节,还能够确保多视角图像生成下的三维一致性。

附图说明

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

图1是本申请提供的多视角图像生成方法模型框架结构示意图;

图2是本申请提供的多视角图像生成方法的流程示意图;

图3是本申请提供的多视角图像生成装置的结构示意图;

图4是本申请提供的电子设备的结构示意图。

具体实施方式

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

本申请的说明书和权利要求书中的术语“第一”、“第二”等是用于区别类似的对象,而不用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施,且“第一”、“第二”等所区分的对象通常为一类,并不限定对象的个数,例如第一对象可以是一个,也可以是多个。此外,说明书以及权利要求中“和/或”表示所连接对象的至少其中之一,字符“/”,一般表示前后关联对象是一种“或”的关系。

三维生成对抗网络3D GAN,是神经辐射场(Neural Radiance Field,NeRF)与生成对抗网络(Generative Adversarial Network,GAN)的结合产物。通过将神经辐射场引入到生成对抗网络中,3D GAN保持了2D GAN超强的写实感。只要构建的神经辐射场的几何空间合理,理论上3D GAN可以渲染出任意视角的虚拟人形象。

基于3D GAN的多视角图像生成方法重建了给定图像的三维表达用于图像生成,在多视角图像生成下具有较好的三维一致性。但是,该方案得到的三维表达不能准确重建给定图像的细节信息,导致生成的新视角图像与原图的细节不相符,保真度较差。

针对相关技术中存在的上述技术问题,本申请提供了一种多视角图像生成方法,能够确保多视角图像生成下的严格三维一致性,并能够准确重建给定图像的细节。该方法在推理阶段,只需利用网络的单次前向传播即可生成高质量的多视角图像,有效提高了图像生成的效率。

下面结合附图,通过具体的实施例及其应用场景对本申请实施例提供的多视角图像生成方法进行详细地说明。

如图1所示,为本申请实施例提供的多视角图像生成方法所使用的模型框架结构示意图。该模型框架包括:用于得到输入图像的粗粒度三维表达的粗粒度图像编码器和三维生成对抗网络(即3D GAN);用于得到输入图像的三维细节特征的细粒度图像编码器;将粗粒度三维表达与三维细节特征相结合后,便可以得到输入图像的细粒度三维表达,基于该细粒度三维表达,可以渲染出任一指定相机视角下的人物图像。

如图2所示,基于如图1所示的模型框架,本申请实施例提供的一种多视角图像生成方法,该方法可以包括下述步骤201至步骤203:

步骤201、获取任一视角下包含目标人物的第一图像。

示例性地,上述第一图像为包含任一视角下的目标人物的图像,该第一图像可以作为如图1所示的模型框架的输入图像。本申请实施例中,可以以单视角人物图像作为输入图像,生成多视角人物图像。

步骤202、将所述第一图像输入目标模型,得到所述第一图像的粗粒度三维表达,以及将所述第一图像输入细粒度图像编码器,得到所述第一图像的三维细节特征。

其中,所述目标模型包括:粗粒度图像编码器和三维生成对抗网络;所述粗粒度图像编码器用于将所述第一图像映射为所述三维生成对抗网络的中间层输出的隐空间向量;所述三维生成对抗网络用于基于所述粗粒度图像编码器输出的隐空间向量得到所述粗粒度三维表达。

示例性地,如图1所示,在本申请实施例中,需要将第一图像分别输入到两个编码器中进行处理。将第一图像输入到粗粒度图像编码器后,该粗粒度图像编码器可以将第一图像映射为三维生成对抗网络(即图1中的3D GAN)的中间层输出的隐空间向量(即图1中的Latent表达)。之后,再由三维生成对抗网络基于该隐空间向量得到第一图像的粗粒度三维表达。

示例性地,上述三维生成对抗网络的中间层可以为该三维生成对抗网络中的任一指定中间层,即上述粗粒度图像编码器可以将输入的第一图像映射为三维生成对抗网络的隐性Latent表达。

示例性地,在得到粗粒度图像编码器输出的隐空间向量后,便可以将该隐空间向量输入到上述三维生成对抗网络中,得到第一图像的三维表达。

需要说明的是,本申请实施例中的三维表达(包括:粗粒度三维表达和细粒度三维表达)可以使用神经辐射场及其稀疏化变种进行表示。

示例性地,在通过粗粒度图像编码器以及三维生成对抗网络(即上述目标模型)生成第一图像的粗粒度三维表达的同时,还可以通过细粒度图像编码器从第一图像中提取出三维细节特征。

需要说明的是,粗粒度三维表达不能够准确的重建给定相机视角的人物图像的细节信息,因此,需要结合细粒度编码器输出的三维细节特征,以提高对输入图像细节的重建准确性。

步骤203、将所述粗粒度三维表达与所述三维细节特征结合后,得到所述第一图像的细粒度三维表达,并基于所述细粒度三维表达,渲染出给定相机视角下包含所述目标人物的第二图像。

示例性地,如图 1所示,在得到上述粗粒度三维表达以及三维细节特征之后,便可以将二者进行结合,得到细粒度三维表达。基于该细粒度三维表达,可以渲染出任一给定相机视角下的二维人物图像,即上述第二图像。

需要说明的是,在本申请实施例中,重建后的二维人物图像(即上述第二图像)与输入的二维人物图像(即上述第一图像)中的人物相同,均为输入图像中的目标人物,区别在于视角的不同。在特殊情况下,输入图像与重建图像的视角也可以相同。

可选地,在本申请实施例中,可以通过以下训练方法对上述粗粒度图像编码器、三维生成对抗网络以及细粒度图像编码器进行训练。

示例性地,上述步骤201之前,本申请实施例提供的多视角图像生成方法,还可以包括以下步骤204和步骤205:

步骤204、将多维分布的高斯噪声输入所述三维生成对抗网络,输出人物图像的三维表达,并利用所述人物图像的三维表达对应的可微分渲染方法将所述三维表达渲染为随机相机视角下的二维人物图像。

步骤205、利用判别器识别所述随机相机视角下的二维人物图像是否为真实图像,并根据识别结果调整所述三维生成对抗网络的参数。

其中,所述判别器基于真实二维人物图像对所述随机相机视角下的二维人物图像进行识别。

示例性地,在对粗粒度图像编码器和细粒度图像编码器进行训练之前,首先需要预训练上述三维生成对抗网络。具体地,可以重复执行上述步骤204和步骤205,直至完成对该三维生成对抗网络的预训练。

示例性地,三维生成对抗网络以随机噪声作为输入,输出人像的特定三维表达。而三维生成对抗网络的网络结构可使用StyleGAN2结构。给定随机采样的相机视角,利用三维表达对应的可微分渲染方法将其渲染为二维人物图像,并使用判别器与大量收集的真实二维人物图像(包括:正面图像、侧面图像等)进行对抗学习训练三维生成对抗网络,最终得到能够生成合理人像三维表达的三维生成对抗网络。

示例性地,在完成三维生成对抗网络的预训练后,便可以基于该三维生成对抗网络对粗粒度图像编码器进行训练。

示例性地,上述步骤205之后,本申请实施例提供的多视角图像生成方法,还可以包括以下步骤206:

步骤206、将真实二维人物图像作为所述粗粒度图像编码器的输入图像,对所述粗粒度图像编码器进行训练,使得所述粗粒度图像编码器输出的隐空间向量输入到所述三维生成对抗网络后,所述三维生成对抗网络输出的三维表达能够被重建为所述粗粒度图像编码器的输入图像。

其中,所述粗粒度图像编码器输出的隐空间向量为:所述粗粒度图像编码器将输入图像映射为所述三维生成对抗网络的中间层输出的隐空间向量;所述粗粒度图像编码器的训练过程使用的第一损失函数包括目标损失函数中的至少一项;所述目标损失函数包括:输入图像与重建图像的像素差异,感知损失,输入图像与重建图像之间人物特征差异,粗粒度图像编码器输出的隐空间向量与所述三维生成对抗网络的隐空间向量平均值之间的差异;所述隐空间向量平均值为:所述三维生成对抗网络在预训练过程中,所述中间层输出的多个隐空间向量的平均值。

示例性地,基于预训练好的三维生成对抗网络,训练将单张人物图像映射为三维生成对抗网络的Latent表达(即上述隐空间向量)的图像编码器,使得由Latent表达经三维生成对抗网络得到的粗粒度三维表达经渲染后能够重建输入图像。粗粒度编码器的训练过程同样使用收集得到的大量真实二维人像作为训练数据。粗粒度图像编码器可采用残差网络ResNet或者特征金字塔(Feature Pyramid Networks,FPN)结构,损失函数为输入图像与重建图像之间的像素差异、学习感知图像块相似度(Learned Perceptual Image PatchSimilarity,LPIPS)差异(也称为感知损失)、输入图像与重建图像之间人物特征的差异等,以及映射得到的Latent表达与三维生成对抗网络的隐空间向量平均值的差异。

示例性地,在完成对粗粒度图像编码器的训练之后,还需要基于训练后的粗粒度图像编码器对预训练后的三维生成对抗网络的参数进行调优。

示例性地,上述步骤206之后,本申请实施例提供的多视角图像生成方法,还可以包括以下步骤207:

步骤207、基于训练后的所述粗粒度图像编码器对所述三维生成对抗网络的模型参数进行调优。

其中,调优过程使用真实二维人物图像作为训练数据;调优过程使用的第二损失函数包括:所述目标损失函数中的至少一项,和/或,所述三维生成对抗网络在预训练过程中生成的二维人物图像与所述三维生成对抗网络调优前的生成结果的相似性损失;所述三维生成对抗网络调优前的生成结果为:所述三维生成对抗网络输出的三维表达所渲染出的二维人物图像。

示例性地,为提升粗粒度阶段图像重建的准确性,可基于训练后的粗粒度图像编码器对三维生成对抗网络的模型参数进行进一步调优。该调优过程使用的训练数据与损失函数与步骤206相同,并可添加对三维生成对抗网络通过随机采样生成的人物图像与调优前生成结果的相似性损失,从而在提升图像重建准确性的同时,确保调优后的三维生成对抗网络所生成的粗粒度三维表达的合理性。

示例性地,在完成上述三维生成对抗网络以及粗粒度图像编码器的训练后,便可以基于训练后的三维生成对抗网络以及粗粒度图像编码器对细粒度图像编码器进行训练。

示例性地,上述步骤207之后,本申请实施例提供的多视角图像生成方法,还可以包括以下步骤208和步骤209:

步骤208、将真实二维人物图像作为所述细粒度图像编码器的输入图像,通过所述细粒度图像编码器提取输入图像的三维细节特征,并将提取到的三维细节特征与所述三维生成对抗网络基于同一输入图像输出的三维表达相结合,得到细粒度三维表达。

步骤209、基于所述细粒度三维表达渲染生成任一相机视角下的二维人物图像,并根据第三损失函数的损失值对所述细粒度图像编码器的模型参数进行调整。

其中,所述第三损失函数包括:所述目标损失函数中的至少一项;在所述细粒度图像编码器的训练过程中,基于第三图像对第四图像的合理性进行约束;所述第三图像为:所述粗粒度图像编码器映射得到的隐空间向量输入到所述三维生成对抗网络后,得到的三维表达所渲染的二维人物图像;所述第四图像为:基于所述细粒度三维表达所渲染的二维人物图像;所述第三图像与所述第四图像为基于同一输入图像得到的。

示例性地,在细粒度图像编码器的训练过程中,需要利用上述训练后的粗粒度图像编码器以及三维生成对抗网络按照上述步骤202同步输出对应的粗粒度三维表达。

示例性地,细粒度图像编码器用于在三维生成对抗网络输出的粗粒度三维表达上重建不能被Latent有效表达的图像细节,即上述三维细节特征。该细粒度图像编码器的网络结构可采用三维语义分割网络3D U-Net结构来提取输入图像在三维空间的细节特征,并添加到上述三维生成对抗网络输出的粗粒度三维表达上,进而获得细粒度三维表达。

示例性地,细粒度图像编码器的训练过程同样使用真实二维人像的重建损失函数进行训练。同时,可利用粗粒度重建结果(即基于粗粒度三维表达重建的二维人物图像)对得到细粒度三维表达所渲染出的新视角图像的合理性进行约束,以保证最终得到的细粒度三维表达在准确重建输入图像的同时,可渲染得到具备真实感的多视角人物图像。

举例说明,如图1所示,将单视角人物图像输入到网络模型中后,基于网络模型输出的细粒度三维表达,可以渲染出给定相机视角下的二维人物图像。

需要说明的是,本申请提供的多视角图像生成方法,利用单张人像生成的多视角图像具备严格的三维一致性,在自由相机视角下渲染得到的图像序列真实感强;生成的多视角人物图像保真性高,有效还原了原图中人像的精细细节,并且整个推理过程仅利用网络的单次前向传播即可实现,非常高效。

本申请实施例提供的多视角图像生成方法,首先,获取任一视角下包含目标人物的第一图像;之后,将所述第一图像输入目标模型,得到所述第一图像的粗粒度三维表达,以及将所述第一图像输入细粒度图像编码器,得到所述第一图像的三维细节特征;最后,将所述粗粒度三维表达与所述三维细节特征结合后,得到所述第一图像的细粒度三维表达,并基于所述细粒度三维表达,渲染出给定相机视角下包含所述目标人物的第二图像。如此,便可以基于单张人物图像得到任一给定相机视角下该人物的人物图像,不仅能够丰富重建输入图像的细节,还能够确保多视角图像生成下的三维一致性。

需要说明的是,本申请实施例提供的多视角图像生成方法,执行主体可以为多视角图像生成装置,或者该多视角图像生成装置中的用于执行多视角图像生成方法的控制模块。本申请实施例中以多视角图像生成装置执行多视角图像生成方法为例,说明本申请实施例提供的多视角图像生成装置。

需要说明的是,本申请实施例中,上述各个方法附图所示的。多视角图像生成方法均是以结合本申请实施例中的一个附图为例示例性的说明的。具体实现时,上述各个方法附图所示的多视角图像生成方法还可以结合上述实施例中示意的其它可以结合的任意附图实现,此处不再赘述。

下面对本申请提供的多视角图像生成装置进行描述,下文描述的与上文描述的多视角图像生成方法可相互对应参照。

图3为本申请实施例提供的多视角图像生成装置的结构示意图,如图3所示,具体包括:

获取模块301,用于获取任一视角下包含目标人物的第一图像;处理模块302,用于将所述第一图像输入目标模型,得到所述第一图像的粗粒度三维表达,以及将所述第一图像输入细粒度图像编码器,得到所述第一图像的三维细节特征;生成模块303,用于将所述粗粒度三维表达与所述三维细节特征结合后,得到所述第一图像的细粒度三维表达,并基于所述细粒度三维表达,渲染出给定相机视角下包含所述目标人物的第二图像;其中,所述目标模型包括:粗粒度图像编码器和三维生成对抗网络;所述粗粒度图像编码器用于将所述第一图像映射为所述三维生成对抗网络的中间层输出的隐空间向量;所述三维生成对抗网络用于基于所述粗粒度图像编码器输出的隐空间向量得到所述粗粒度三维表达。

可选地,所述装置还包括:训练模块;所述训练模块,用于将多维分布的高斯噪声输入所述三维生成对抗网络,输出人物图像的三维表达,并利用所述人物图像的三维表达对应的可微分渲染方法将所述三维表达渲染为随机相机视角下的二维人物图像;所述训练模块,还用于利用判别器识别所述随机相机视角下的二维人物图像是否为真实图像,并根据识别结果调整所述三维生成对抗网络的参数;其中,所述判别器基于真实二维人物图像对所述随机相机视角下的二维人物图像进行识别。

可选地,所述训练模块,用于将真实二维人物图像作为所述粗粒度图像编码器的输入图像,对所述粗粒度图像编码器进行训练,使得所述粗粒度图像编码器输出的隐空间向量输入到所述三维生成对抗网络后,所述三维生成对抗网络输出的三维表达能够被重建为所述粗粒度图像编码器的输入图像;其中,所述粗粒度图像编码器输出的隐空间向量为:所述粗粒度图像编码器将输入图像映射为所述三维生成对抗网络的中间层输出的隐空间向量;所述粗粒度图像编码器的训练过程使用的第一损失函数包括目标损失函数中的至少一项;所述目标损失函数包括:输入图像与重建图像的像素差异,感知损失,输入图像与重建图像之间人物特征差异,粗粒度图像编码器输出的隐空间向量与所述三维生成对抗网络的隐空间向量平均值之间的差异;所述隐空间向量平均值为:所述三维生成对抗网络在预训练过程中,所述中间层输出的多个隐空间向量的平均值。

可选地,所述训练模块,还用于基于训练后的所述粗粒度图像编码器对所述三维生成对抗网络的模型参数进行调优;其中,调优过程使用真实二维人物图像作为训练数据;调优过程使用的第二损失函数包括:所述目标损失函数中的至少一项,和/或,所述三维生成对抗网络在预训练过程中生成的二维人物图像与所述三维生成对抗网络调优前的生成结果的相似性损失;所述三维生成对抗网络调优前的生成结果为:所述三维生成对抗网络输出的三维表达所渲染出的二维人物图像。

可选地,所述训练模块,还用于将真实二维人物图像作为所述细粒度图像编码器的输入图像,通过所述细粒度图像编码器提取输入图像的三维细节特征,并将提取到的三维细节特征与所述三维生成对抗网络基于同一输入图像输出的三维表达相结合,得到细粒度三维表达;所述训练模块,还用于基于所述细粒度三维表达渲染生成任一相机视角下的二维人物图像,并根据第三损失函数的损失值对所述细粒度图像编码器的模型参数进行调整;其中,所述第三损失函数包括:所述目标损失函数中的至少一项;在所述细粒度图像编码器的训练过程中,基于第三图像对第四图像的合理性进行约束;所述第三图像为:所述粗粒度图像编码器映射得到的隐空间向量输入到所述三维生成对抗网络后,得到的三维表达所渲染的二维人物图像;所述第四图像为:基于所述细粒度三维表达所渲染的二维人物图像;所述第三图像与所述第四图像为基于同一输入图像得到的。

本申请提供的多视角图像生成装置,首先,获取任一视角下包含目标人物的第一图像;之后,将所述第一图像输入目标模型,得到所述第一图像的粗粒度三维表达,以及将所述第一图像输入细粒度图像编码器,得到所述第一图像的三维细节特征;最后,将所述粗粒度三维表达与所述三维细节特征结合后,得到所述第一图像的细粒度三维表达,并基于所述细粒度三维表达,渲染出给定相机视角下包含所述目标人物的第二图像。如此,便可以基于单张人物图像得到任一给定相机视角下该人物的人物图像,不仅能够丰富重建输入图像的细节,还能够确保多视角图像生成下的三维一致性。

图4示例了一种电子设备的实体结构示意图,如图4所示,该电子设备可以包括:处理器(processor)410、通信接口(Communications Interface)420、存储器(memory)430和通信总线440,其中,处理器410,通信接口420,存储器430通过通信总线440完成相互间的通信。处理器410可以调用存储器430中的逻辑指令,以执行多视角图像生成方法,该方法包括:获取任一视角下包含目标人物的第一图像;将所述第一图像输入目标模型,得到所述第一图像的粗粒度三维表达,以及将所述第一图像输入细粒度图像编码器,得到所述第一图像的三维细节特征;将所述粗粒度三维表达与所述三维细节特征结合后,得到所述第一图像的细粒度三维表达,并基于所述细粒度三维表达,渲染出给定相机视角下包含所述目标人物的第二图像;其中,所述目标模型包括:粗粒度图像编码器和三维生成对抗网络;所述粗粒度图像编码器用于将所述第一图像映射为所述三维生成对抗网络的中间层输出的隐空间向量;所述三维生成对抗网络用于基于所述粗粒度图像编码器输出的隐空间向量得到所述粗粒度三维表达。

此外,上述的存储器430中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。

另一方面,本申请还提供一种计算机程序产品,所述计算机程序产品包括存储在计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,计算机能够执行上述各方法所提供的多视角图像生成方法,该方法包括:获取任一视角下包含目标人物的第一图像;将所述第一图像输入目标模型,得到所述第一图像的粗粒度三维表达,以及将所述第一图像输入细粒度图像编码器,得到所述第一图像的三维细节特征;将所述粗粒度三维表达与所述三维细节特征结合后,得到所述第一图像的细粒度三维表达,并基于所述细粒度三维表达,渲染出给定相机视角下包含所述目标人物的第二图像;其中,所述目标模型包括:粗粒度图像编码器和三维生成对抗网络;所述粗粒度图像编码器用于将所述第一图像映射为所述三维生成对抗网络的中间层输出的隐空间向量;所述三维生成对抗网络用于基于所述粗粒度图像编码器输出的隐空间向量得到所述粗粒度三维表达。

又一方面,本申请还提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现以执行上述各提供的多视角图像生成方法,该方法包括:获取任一视角下包含目标人物的第一图像;将所述第一图像输入目标模型,得到所述第一图像的粗粒度三维表达,以及将所述第一图像输入细粒度图像编码器,得到所述第一图像的三维细节特征;将所述粗粒度三维表达与所述三维细节特征结合后,得到所述第一图像的细粒度三维表达,并基于所述细粒度三维表达,渲染出给定相机视角下包含所述目标人物的第二图像;其中,所述目标模型包括:粗粒度图像编码器和三维生成对抗网络;所述粗粒度图像编码器用于将所述第一图像映射为所述三维生成对抗网络的中间层输出的隐空间向量;所述三维生成对抗网络用于基于所述粗粒度图像编码器输出的隐空间向量得到所述粗粒度三维表达。

以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。

最后应说明的是:以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。

技术分类

06120115890829