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

纹理生成方法、装置、设备及存储介质

文献发布时间:2023-06-19 11:21:00


纹理生成方法、装置、设备及存储介质

技术领域

本公开涉及图像处理技术,具体涉及一种纹理生成方法、装置、设备及存储介质。

背景技术

现有的三维人体重建技术中,重建得到的三维人体模型通常都要在人体网格模型的基础上补充人体纹理信息,以使得整个三维人体模型具有更为逼真的视觉效果。而要获得带纹理的三维人体模型,往往需要对人体进行连续的扫描。但是,通过连续扫描人体获得人体纹理的方式,操作比较复杂。

发明内容

有鉴于此,本公开实施例至少提供一种纹理生成方法、装置、设备及存储介质。

第一方面,提供一种纹理生成方法,所述方法包括:

获取目标对象的第一视图纹理;

将所述第一视图纹理输入预先训练得到的纹理生成网络,得到所述纹理生成网络预测输出的所述目标对象的第二视图纹理,所述第一视图纹理和第二视图纹理对应于不同的视图采集角度。

在一个例子中,所述目标对象是人体,所述目标对象的第一视图纹理是所述人体的正向视图纹理,所述第二视图纹理是所述人体的背向视图纹理。

在一个例子中,所述得到所述纹理生成网络预测输出的所述目标对象的第二视图纹理之后,所述方法还包括:将所述第一视图纹理和第二视图纹理,映射至所述目标对象的初始三维模型,得到填充有纹理结构的目标三维模型;所述初始三维模型表示所述目标对象的几何形状的三维网格模型。

在一个例子中,所述将所述第一视图纹理输入预先训练得到的纹理生成网络,得到所述纹理生成网络预测输出的所述目标对象的第二视图纹理,包括:对所述第一视图纹理进行下采样处理,提取得到第一纹理特征图;基于所述第一纹理特征图进行上采样处理,输出所述第二视图纹理。

在一个例子中,所述纹理生成网络的训练过程包括:基于样本对象的第一视图纹理样本,通过待训练的纹理生成网络输出所述样本对象的第二视图纹理样本;根据所述第一视图纹理样本和所述第二视图纹理样本,生成网络监督信息;所述网络监督信息包括如下至少一种:纹理监督信息、以及通过生成对抗网络得到的对抗监督信息;基于所述网络监督信息,调整所述纹理生成网络的网络参数。

在一个例子中,在所述网络监督信息包括:纹理监督信息时,所述根据所述第一视图纹理样本和所述第二视图纹理样本,生成网络监督信息,包括:对所述第一视图纹理样本进行特征提取,得到第一纹理特征;对所述第二视图纹理样本进行特征提取,得到第二纹理特征;根据所述第一纹理特征、第二纹理特征以及第二视图标签的纹理特征,得到用于表示纹理特征之间差异的第一特征损失作为所述纹理监督信息。

在一个例子中,在所述网络监督信息包括所述对抗监督信息时,所述根据所述第一视图纹理样本和所述第二视图纹理样本,生成网络监督信息,包括:将所述第一视图纹理样本和第二视图纹理样本输入第一判别器;根据所述第一判别器的输出值和第一判别标签,得到第一判别损失作为所述对抗监督信息。

在一个例子中,所述网络监督信息还包括:回归监督信息;所述方法还包括:基于所述第二视图纹理样本、以及对应的第二视图标签,得到第一回归损失作为所述回归监督信息。

在一个例子中,所述基于样本对象的第一视图纹理样本,通过待训练的纹理生成网络输出所述样本对象的第二视图纹理样本,包括:接收初始图像,所述初始图像中包括所述样本对象;对所述初始图像进行处理,得到所述第一视图纹理样本、以及如下两个对象掩码中的至少一个:第一视图对象掩码和第二视图对象掩码;将所述第一视图对象掩码和第二视图对象掩码中的至少一个对象掩码、以及所述第一视图纹理样本作为所述待训练的纹理生成网络的输入,得到所述纹理生成网络输出的所述第二视图纹理样本。

在一个例子中,所述基于样本对象的第一视图纹理样本,通过待训练的纹理生成网络输出所述样本对象的第二视图纹理样本之前,所述方法还包括:基于所述样本对象的第三视图纹理样本,通过待训练的辅助纹理生成网络输出所述样本对象的第四视图纹理样本;其中,所述第一视图纹理样本比所述第三视图纹理样本的分辨率高;根据所述第四视图纹理样本,调整所述辅助纹理生成网络的网络参数;在所述辅助纹理生成网络训练完成之后,将所述辅助纹理生成网络的至少部分网络参数作为所述纹理生成网络的至少部分网络参数。

在一个例子中,所述辅助纹理生成网络包括:第一编码端和第一解码端;所述纹理生成网络包括:第二编码端和第二解码端;其中,所述第二编码端比第一编码端增加至少一个卷积层,所述第二解码端比第一解码端增加至少一个反卷积层。

第二方面,提供一种纹理生成装置,所述装置包括:

纹理获取模块,用于获取目标对象的第一视图纹理;

预测处理模块,用于将所述第一视图纹理输入预先训练得到的纹理生成网络,得到所述纹理生成网络预测输出的所述目标对象的第二视图纹理,所述第一视图纹理和第二视图纹理对应于不同的视图采集角度。

在一个例子中,所述目标对象是人体,所述目标对象的第一视图纹理是所述人体的正向视图纹理,所述第二视图纹理是所述人体的背向视图纹理。

在一个例子中,所述装置还包括:用于训练所述纹理生成网络的网络训练模块;所述网络训练模块包括:纹理输出子模块,用于基于样本对象的第一视图纹理样本,通过待训练的纹理生成网络输出所述样本对象的第二视图纹理样本;监督生成子模块,用于根据所述第一视图纹理样本和所述第二视图纹理样本,生成网络监督信息;所述网络监督信息包括如下至少一种:纹理监督信息、以及通过生成对抗网络得到的对抗监督信息;参数调整子模块,用于基于所述网络监督信息,调整所述纹理生成网络的网络参数。

在一个例子中,所述监督生成子模块,在用于生成所述纹理监督信息时,包括:对所述第一视图纹理样本进行特征提取,得到第一纹理特征;对所述第二视图纹理样本进行特征提取,得到第二纹理特征;根据所述第一纹理特征、第二纹理特征以及第二视图标签的纹理特征,得到用于表示纹理特征之间差异的第一特征损失作为所述纹理监督信息。

在一个例子中,所述监督生成子模块,在用于生成所述对抗监督信息时,包括:将所述第一视图纹理样本和第二视图纹理样本输入第一判别器;根据所述第一判别器的输出值和第一判别标签,得到第一判别损失作为所述对抗监督信息。

在一个例子中,所述纹理输出子模块,具体用于:接收初始图像,所述初始图像中包括所述样本对象;对所述初始图像进行处理,得到所述第一视图纹理样本、以及如下两个对象掩码中的至少一个:第一视图对象掩码和第二视图对象掩码;将所述第一视图对象掩码和第二视图对象掩码中的至少一个对象掩码、以及所述第一视图纹理样本作为所述纹理生成网络的输入,得到所述纹理生成网络输出的所述第二视图纹理样本。

第三方面,提供一种电子设备,该设备包括:存储器、处理器,所述存储器用于存储计算机可读指令,所述处理器用于调用所述计算机指令,实现本公开任一实施例的方法。

第四方面,提供一种计算机可读存储介质,其上存储有计算机程序,所述程序被处理器执行时实现本公开任一实施例的方法。

第五方面,提供一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现本公开任一实施例的方法。

本公开实施例提供的纹理生成方法、装置、设备及存储介质,通过预先训练得到的纹理生成网络来预测输出目标对象的第二视图纹理,使得只需要获取目标对象的第一视图纹理就可以获得该第二视图纹理,由此对目标对象的视图采集要求降低,操作简单,降低纹理生成的成本;并且,通过纹理生成网络的方式来预测第二视图纹理,由于神经网络经过了预先训练,也使得纹理生成的较为准确和真实。

附图说明

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

图1示出了本公开至少一个实施例提供的一种纹理生成方法的流程示意图;

图2示出了本公开至少一个实施例提供的一种纹理生成方法的原理示意图;

图3示出了本公开至少一个实施例提供的一种纹理生成网络的训练流程图;

图4示出了本公开至少一个实施例提供的一种纹理生成网络的训练原理图;

图5示出了本公开至少一个实施例提供的对应图4的训练流程图;

图6示出了本公开至少一个实施例提供的一种纹理生成网络的训练原理图;

图7示出了本公开至少一个实施例提供的一种纹理生成网络的训练原理图;

图8示出了本公开至少一个实施例提供的纹理生成网络的训练流程图;

图9示出了本公开至少一个实施例提供的另一种纹理生成网络的训练原理图;

图10示出了本公开至少一个实施例提供的一种纹理生成装置的结构图;

图11示出了本公开至少一个实施例提供的另一种纹理生成装置的结构图。

具体实施方式

为了使本技术领域的人员更好地理解本公开一个或多个实施例中的技术方案,下面将结合本公开一个或多个实施例中的附图,对本公开一个或多个实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本公开一部分实施例,而不是全部的实施例。基于本公开一个或多个实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都应当属于本公开保护的范围。

三维人体重建在很多领域有着重要应用,包括但不限于如下的应用场景:

例如,可以通过三维人体重建,增强一些虚拟现实应用场景的真实感。比如,虚拟试衣、虚拟云会议、虚拟课堂等。

又例如,可以将通过三维人体重建得到的三维人体模型,导入到游戏数据里,完成个性化人物角色的生成。

再例如,目前制作科幻电影需要用到绿幕、动捕等多种科技技术,硬件设备昂贵、整体流程耗时繁杂。通过三维人体重建得到虚拟的三维人体模型,可以简化流程,节省资源。

不论何种应用场景,三维人体重建都存在着尽可能简化用户的操作成本的需求,比如,可以基于单张RGB图像进行三维人体重建,由于只需要一张图像就可以进行三维人体重建,使得用户的配合较少,用户体验较好。而在基于RGB图像进行三维人体重建时,由于该单张图像只包括了人体的部分纹理,那就需要去预测其他人体部分的纹理,以能够对三维人体模型进行完整的纹理贴图。

基于此,本公开实施例提供了一种纹理生成方法,该方法旨在根据人体一部分区域中的纹理去预测其他区域的纹理,并且实现较好的纹理预测效果。其中,该方法中使用纹理生成网络来进行纹理预测。可以理解的是,该方法不仅可以适用于人体的纹理生成,也可以用于其他对象的纹理生成,如下方法描述中以人体为例。

图1示例了一种纹理生成方法的流程图,如图1所示,该方法可以包括:

在步骤100中,获取目标对象的第一视图纹理。

例如,所述目标对象可以是人体,所述目标对象的第一视图纹理可以是从人体正面采集的正面图像,该正面图像可以称为人体的正向视图纹理。

在步骤102中,将第一视图纹理输入预先训练得到的纹理生成网络,得到所述纹理生成网络预测输出的所述目标对象的第二视图纹理,所述第一视图纹理和第二视图纹理对应于不同的视图采集角度。

例如,纹理生成网络输出的第二视图纹理可以是人体背向视图纹理。请结合图2的示意,人体的第一视图纹理21输入纹理生成网络22,可以得到该纹理生成网络22输出的人体的第二视图纹理23。可以看到,第一视图纹理21和第二视图纹理23可以是对应于不同的视图采集角度,第一视图纹理21是由人体正面采集的正面图像,第二视图纹理23相当于由人体背面采集的背面图像。

其中,本实施例不限制纹理生成网络22的网络结构。例如,该纹理生成网络22可以是深度残差卷积神经网络,其中可以包括编码端和解码端。编码端可以包括多个卷积层,可以通过该多个卷积层对网络输入的第一视图纹理进行下采样处理,提取得到第一纹理特征图;解码端可以包括多个反卷积层,通过该多个反卷积层对第一纹理特征图进行上采样处理,输出第二视图纹理。

本实施例的纹理生成方法,通过预先训练得到的纹理生成网络来预测输出目标对象的第二视图纹理,使得只需要获取目标对象的第一视图纹理就可以获得该第二视图纹理,由此对目标对象的视图采集要求降低,比如,只要采集人体的正面图像,就可以通过该纹理生成网络得到人体的背面图像,从而相对于三维人体重建领域的传统方法要求采集用户的多个人体视图以得到完整的模型纹理,本实施例的方式操作简单,降低纹理生成的成本;并且,通过纹理生成网络的方式来预测第二视图纹理,由于神经网络经过了预先训练,也使得纹理生成的较为准确和真实。

此外,在获得了目标对象的第一视图纹理和第二视图纹理之后,可以将这两种视图纹理映射至目标对象的初始三维模型,其中,该初始三维模型是一种表示目标对象的几何形状的三维网格模型,比如可以是表示人体几何结构的网格Mesh,可以基于上述的第一视图纹理(如,人体正向视图纹理)和第二视图纹理(如,人体背向视图纹理),对该初始三维模型进行纹理贴图,将上述两视图纹理映射至初始三维模型的网格Mesh上。并且,对于人体的一些不可见的人体部位区域,比如上述的第一视图纹理和第二视图纹理都不可见的人体区域,可以使用插值技术在模型的一些缝隙进行纹理的填充,从而将模型的纹理补全,最终得到填充有纹理结构的带纹理的三维人体模型。这种带纹理的三维人体模型能够使得重建得到的人体模型更加逼真。

如下描述上述纹理生成网络的训练过程:

图3示例了在一实施例中的纹理生成网络的训练流程示意图,如图3所示,该训练过程可以包括如下处理:

在步骤300中,基于样本对象的第一视图纹理样本,通过待训练的纹理生成网络输出所述样本对象的第二视图纹理样本。

本实施例,可以将网络训练过程中使用的相关信息都称为训练样本。例如,其中的样本对象的第一视图纹理样本,可以是训练过程中使用的一张人体正面图像,人体即所述样本对象,该人体的正面图像即第一视图纹理样本。通过纹理生成网络输出的样本对象的第二视图纹理样本可以是人体的背面图像。

本步骤中使用的纹理生成网络是尚未训练完成的纹理生成网络,在该纹理生成网络的训练中可以进行多次迭代,直至达到网络训练结束条件,比如达到了预设的迭代次数,或者预测输出结果与标签间的误差足够小,等。本实施例中的训练流程可以是其中一次迭代过程。

在步骤302中,根据所述第一视图纹理样本和所述第二视图纹理样本,生成网络监督信息;所述网络监督信息包括如下至少一种:纹理监督信息、以及通过生成对抗网络得到的对抗监督信息。

本步骤中,可以基于步骤300中得到的第一视图纹理样本和第二视图纹理样本,生成用于监督网络训练的网络监督信息。例如,该网络监督信息可以是纹理监督信息,或者对抗监督信息,也可以是这两种监督信息都有。此外,本实施例在生成网络监督信息时可以依据第一视图纹理样本和第二视图纹理样本之外的其他信息,生成的网络监督信息也可以包括纹理监督信息和对抗监督信息之外的其他类型的监督信息。

其中,纹理监督信息可以是用于约束第一视图纹理样本与第二视图纹理样本之间的纹理特征一致性的信息,通过在该纹理监督信息的监督下去调整纹理生成网络的网络参数,能够使得第一视图纹理样本与第二视图纹理样本之间的纹理特征尽可能的一致,使得第二视图纹理样本与第一视图纹理样本间的契合度更高,输出的第二视图纹理样本更为逼真。

其中,对抗监督信息可以是用于约束第二视图纹理样本真实性的信息,通过在该对抗监督信息的监督下调整纹理生成网络的网络参数,能够使得第二视图纹理样本生成的更为自然和真实。在具体实现中,可以基于第一视图纹理样本和第二视图纹理样本进行生成对抗学习,通过生成对抗网络来得到该对抗监督信息,例如可以将第一视图纹理样本和第二视图纹理样本输入判别器,并根据该判别器的输出值和判别标签得到判别损失作为对抗监督信息。

在步骤304中,基于所述网络监督信息,调整纹理生成网络的网络参数。

例如,可以通过反向传播算法进行调参。若网络监督信息包括纹理监督信息和对抗监督信息,可以综合这两种监督信息调整网络参数。

本实施例的纹理生成网络的训练过程,通过结合纹理监督信息和对抗监督信息的至少一种调整网络参数,使得第二视图纹理样本与第一视图纹理样本的契合度更高,第二视图纹理样本更真实自然。

图4示例了在一实施例中的纹理生成网络的训练原理示意图,如图4所示,纹理生成网络42的输入可以是样本对象(如,人体)的第一视图纹理样本41,输出的是预测得到的样本对象的第二视图纹理样本43。

其中,第一视图纹理样本41和第二视图纹理样本43对应于不同的视图采集角度,比如,第一视图纹理样本41是人体的正面图像,第二视图纹理样本43是纹理生成网络42预测得到的人体背面纹理。

其中,纹理生成网络42例如可以是深度残差卷积神经网络,其中可以包括编码端和解码端,编码端可以包括多个卷积层,解码端可以包括多个反卷积层。

图5是对应图4的该纹理生成网络的训练流程,可以包括:

在步骤500中,基于样本对象的第一视图纹理样本,通过待训练的纹理生成网络输出预测得到的所述样本对象的第二视图纹理样本。

请结合参见图4,人体的第一视图纹理样本41输入待训练的纹理生成网络42,经过该网络的处理后输出生成的人体的第二视图纹理样本43。

在步骤502中,基于所述第二视图纹理样本、以及第二视图标签,得到第一回归损失;并将所述第一视图纹理样本和第二视图纹理样本作为第一判别器的输入,根据所述第一判别器的输出值和第一判别标签得到第一判别损失。

本步骤中,第二视图标签可以是人体的真实的背面图像,而步骤500中生成的第二视图纹理样本是由纹理生成网络42生成的人体背面图像,根据所述第二视图纹理样本和第二视图标签可以计算得到一个Loss,称为第一回归损失,例如该第一回归损失可以是L1Loss。该第一回归损失可以称为回归监督信息。

需要说明的是,该回归监督信息可以与上述的纹理监督信息、对抗监督信息中的至少一种结合来调参。例如,可以通过纹理监督信息和回归监督信息综合调参,也可以是结合对抗监督信息和回归监督信息来调参,或者还可以是结合纹理监督信息、对抗监督信息和回归监督信息这三种信息调参。可以理解的是,具体实施中也可以结合其他类型的监督信息。在本实施例中,是以回归监督信息和对抗监督信息结合进行网络训练的监督为例。

此外,除了计算上述的第一回归损失外,还可以计算第一判别损失。如图4所示,可以将第一视图纹理样本41和第二视图纹理样本43作为第一判别器的输入,由第一判别器进行两者的比较,第一判别器的输出值可以是一个真假值,该输出值与第一判别标签(即真实的真假值)比较得到第一判别损失。该第一判别损失可以称为对抗监督信息。

在步骤504中,根据所述第一回归损失和第一判别损失,调整纹理生成网络的网络参数。本步骤可以综合上述得到的两种Loss调整纹理生成网络的网络参数,经过多次迭代,最终得到训练完成的纹理生成网络。

本公开实施例的纹理生成网络的训练方法中,通过第二视图标签的监督,能够使得纹理生成网络生成的第二视图纹理样本尽可能的接近真实的第二视图纹理,并且基于第一视图纹理样本和第二视图纹理样本进行生成对抗学习,能够使得第二视图纹理样本与第一视图纹理样本的纹理风格尽量保持一致性,从而第二视图纹理样本与输入的第一视图纹理样本的契合度更高更逼真,上述两个方面的监督训练使得纹理生成网络得到的第二视图纹理样本具有更为真实的效果。

图6示例了另一个例子的纹理生成网络的训练原理图,在图4的基础上,在训练过程中还可以进行另一项监督。

如图6所示,可以对第一视图纹理样本41进行特征提取,得到第一纹理特征61,并对第二视图纹理样本43进行特征提取,得到第二纹理特征62。再通过比较所述第一纹理特征61和第二纹理特征62之间的差异,以及第二纹理特征62与第二视图标签的纹理特征之间的差异,得到第一特征损失63。该第一特征损失63用于监督第一纹理特征、第二纹理特征之间尽量一致,以及第二纹理特征与由第二视图标签提取到的纹理特征之间尽量一致。上述的第一特征损失可以称为纹理监督信息。

在调整纹理生成网络的参数时,可以是综合根据上述的第一回归损失、第一判别损失和第一特征损失,来调整该纹理生成网络的网络参数。

通过在第一回归损失和第一判别损失的基础上,增加第一特征损失对纹理生成网络的训练进行监督,即综合了回归监督信息、对抗监督信息和纹理监督信息进行网络训练监督,能够使得纹理生成网络得到的第二视图纹理样本与输入的第一视图纹理样本的纹理特征更为接近,从而第二视图纹理样本更加真实自然。

在又一个实施例中,图4所示的第一视图纹理样本是一种比较理想情况下的图像,实际实施中,对样本对象-人体采集的图像大多数时候是具有背景的,那就需要对图像进行分割处理,得到第一视图纹理样本和掩码。

请参见图7所示,获取一个初始图像71,该初始图像71可以是采集的人体全身正面图像,其中,该初始图像71中可以包括背景,还包括样本对象即人体。

结合图8所示的流程,包括如下处理:

在步骤800中,对初始图像进行处理,得到第一视图纹理样本、第一视图对象掩码和第二视图对象掩码。

例如,可以对初始图像71进行分割,得到第一视图纹理样本72、第一视图对象掩码73和第二视图对象掩码74。其中,该第二视图对象掩码74给定了第二视图纹理样本的人体区域,有助于帮助第二视图纹理样本生成的更准确。在一个例子中,当假定初始图像71的拍摄是平行投影时,第二视图对象掩码74可以是由第一视图对象掩码73进行水平翻转得到。在其他例子中,上述的两个对象掩码也可以是由网络预测得到。并且,通过分割去除了初始图像71中的背景的干扰。

在步骤802中,将第一视图纹理样本、第一视图对象掩码和第二视图对象掩码在通道维度进行叠加后,输入纹理生成网络,得到纹理生成网络输出的第二视图纹理样本。例如,结合图7,第一视图纹理样本72、第一视图对象掩码73和第二视图对象掩码74在通道维度进行叠加后,输入纹理生成网络75,得到纹理生成网络75输出的第二视图纹理样本76。

在步骤804中,根据第二视图纹理样本,调整纹理生成网络的网络参数。

本步骤中,例如,可以基于第一回归损失、第一判别损失和第一特征损失,调整纹理生成网络的网络参数。详细可以参见前述实施例,不再详述。

进一步的,图7是以生成了两个对象掩码为例,实际实施中不局限于此,比如,也可以生成第一视图对象掩码和第二视图对象掩码这两个对象掩码中的至少一个。并且将该两个对象掩码中的至少一个对象掩码、以及第一视图纹理样本叠加后作为纹理生成网络的网络输入。

本实施例的纹理生成网络的训练方法,通过分割处理,排除了背景的干扰;并且通过分割掩码的约束,能够使得第二视图纹理生成的更加准确。

在又一个例子中,可以通过图9所示的训练方式来训练纹理生成网络。具体的,如图9所示,这个训练系统中可以包括辅助纹理生成网络91和纹理生成网络92。其中,可以使用人体(该人体可以称为样本对象)的第一初始图像93来训练辅助纹理生成网络91,通过人体的第二初始图像94来训练纹理生成网络92。

其中,上述的辅助纹理生成网络91可以包括第一编码端和第一解码端,纹理生成网络92可以包括第二编码端和第二解码端。其中,第二编码端比第一编码端增加至少一个卷积层,第二解码端比第一解码端增加至少一个反卷积层。在一个示例中,上述的辅助纹理生成网络91可以是深度残差卷积神经网络。也可以将辅助纹理生成网络91称为低分辨率网络,将纹理生成网络92称为高分辨率网络。

具体训练中,可以先进行辅助纹理生成网络91的训练,再结合训练完成的辅助纹理生成网络91训练纹理生成网络92。比如,可以先基于人体的第三视图纹理样本(该第三视图纹理样本的分辨率比第一视图纹理样本的分辨率低),通过辅助纹理生成网络91输出人体的第四视图纹理样本,结合该第四视图纹理样本调整辅助纹理生成网络91的网络参数。在辅助纹理生成网络91训练完成后,可以将该辅助纹理生成网络91的至少部分网络参数作为纹理生成网络92的网络参数,继续通过人体的第一视图纹理样本训练纹理生成网络92,比如,可以结合第一视图纹理样本以及第二视图纹理样本生成的网络监督信息训练纹理生成网络92。这种先训练辅助纹理生成网络再训练纹理生成网络的方式,网络训练可以更稳定,更容易收敛。

结合图9的示例,例如,将第一初始图像93输入人体分割网络,第一初始图像93本身带有背景,需要先分割出其中的人体以去除背景的干扰。该人体分割网络可以是一个预先训练好的轻量级的神经网络,经过人体分割网络的处理,可以得到第三视图纹理样本、第三视图对象掩码、第四视图对象掩码。其中,上述的第三视图纹理样本、第三视图对象掩码和第四视图对象掩码可以参见图7所示,是将一个带有背景的包含人体的图像分割出没有背景的人体图像、以及正面和反面的掩码区域。然后将第三视图纹理样本、第三视图对象掩码和第四视图对象掩码叠加后输入辅助纹理生成网络91,得到该辅助纹理生成网络91预测输出的第四视图纹理样本。

然后,基于该第四视图纹理样本可以得到三种损失,可以结合参见图6所示,与图6类似的,可以根据第四视图纹理样本(例如,可以是预测的人体背面图像)和对应的第四视图标签(可以是真实的人体背面图像)得到第二回归损失,还可以将第三视图纹理样本和第四视图纹理样本作为第二判别器的输入,根据第二判别器的输出值和第二判别标签得到第二判别损失,也可以根据第三纹理特征样本、第四纹理特征样本以及第四视图标签的纹理特征得到第二特征损失,其中,所述第三纹理特征是对第三视图纹理样本提取特征得到,所述第四纹理特征是对第四视图纹理样本提取特征得到,第四视图标签的纹理特征是对第四视图标签提取特征得到。最后根据第二回归损失、第二判别损失和第二特征损失调整辅助纹理生成网络的网络参数。

当然,上述是以第二回归损失、第二判别损失和第二特征损失这三种损失为例,可以结合其中的部分损失来调整辅助纹理生成网络的网络参数。人体分割网络也可以是得到第三视图对象掩码和第四视图对象掩码中的至少一种掩码。

在训练完成辅助纹理生成网络91之后,可以将辅助纹理生成网络91的至少部分网络参数作为纹理生成网络92的至少部分网络参数,再继续训练纹理生成网络92。例如,纹理生成网络92包括的第二编码端在辅助纹理生成网络91的第一编码端的基础上增加了多个卷积层,其包括的第二解码端在辅助纹理生成网络91的第一解码端的基础上增加了多个反卷积层。那么就可以将训练完成的辅助纹理生成网络91的网络参数作为纹理生成网络92的初始化参数,再继续去训练纹理生成网络92。

请继续参见图9所示,纹理生成网络92可以通过第二初始图像94来训练。其中,第一初始图像93可以是由第二初始图像94降低分辨率得到,比如,第一初始图像93和第二初始图像94都是一个相同的包含人体的图像,区别只在于第二初始图像94的分辨率比第一初始图像93要高一些。相应的,第一视图纹理的分辨率也高于第三视图纹理的分辨率,第四视图标签可以是由第二视图标签降低分辨率得到。

同理,基于第一视图纹理样本可以得到图6所示的三种损失,并据此调整纹理生成网络的网络参数。经过多次迭代,可以得到训练好的纹理生成网络。

上述的通过辅助纹理生成网络和纹理生成网络结合的训练方式,相比于传统的单独网络训练的方式来说,网络训练可以更稳定,更容易收敛。

上述训练得到的辅助纹理生成网络和纹理生成网络,在网络的应用阶段,可以选择使用其中的一个网络。例如,可以使用纹理生成网络进行纹理生成,也可以使用辅助纹理生成网络进行纹理生成。

图10示出了本公开至少一个实施例提供的纹理生成装置的结构示意图,如图10所示,该装置可以包括:纹理获取模块1001和预测处理模块1002。

纹理获取模块1001,用于获取目标对象的第一视图纹理。

预测处理模块1002,用于将所述第一视图纹理输入预先训练得到的纹理生成网络,得到所述纹理生成网络预测输出的所述目标对象的第二视图纹理,所述第一视图纹理和第二视图纹理对应于不同的视图采集角度。

在一个例子中,所述目标对象是人体,所述目标对象的第一视图纹理是所述人体的正向视图纹理,所述第二视图纹理是所述人体的背向视图纹理。

在一个例子中,如图11所示,该装置还包括:用于训练所述纹理生成网络的网络训练模块1003。其中,该网络训练模块1003可以包括:

纹理输出子模块1101,用于基于样本对象的第一视图纹理样本,通过待训练的纹理生成网络输出所述样本对象的第二视图纹理样本。

监督生成子模块1102,用于根据所述第一视图纹理样本和所述第二视图纹理样本,生成网络监督信息;所述网络监督信息包括如下至少一种:纹理监督信息、以及通过生成对抗网络得到的对抗监督信息。

参数调整子模块1103,用于基于所述网络监督信息,调整所述纹理生成网络的网络参数。

在一个例子中,监督生成子模块1102,在用于生成所述纹理监督信息时,包括:对所述第一视图纹理样本进行特征提取,得到第一纹理特征;对所述第二视图纹理样本进行特征提取,得到第二纹理特征;根据所述第一纹理特征、第二纹理特征以及第二视图标签的纹理特征,得到用于表示纹理特征之间差异的第一特征损失作为所述纹理监督信息。

在一个例子中,监督生成子模块1102,在用于生成所述对抗监督信息时,包括:将第一视图纹理样本和第二视图纹理样本输入第一判别器;根据所述第一判别器的输出值和第一判别标签,得到第一判别损失作为所述对抗监督信息。

在一个例子中,纹理输出子模块1101,具体用于:接收初始图像,所述初始图像中包括所述样本对象;对所述初始图像进行处理,得到所述第一视图纹理样本、以及如下两个对象掩码中的至少一个:第一视图对象掩码和第二视图对象掩码;将所述第一视图对象掩码和第二视图对象掩码中的至少一个对象掩码、以及所述第一视图纹理样本作为所述纹理生成网络的输入,得到所述纹理生成网络输出的所述第二视图纹理样本。

在一些实施例中,上述装置可以用于执行上文所述的对应任意方法,为了简洁,这里不再赘述。

本公开实施例还提供了一种电子设备,所述设备包括存储器、处理器,所述存储器用于存储计算机可读指令,所述处理器用于调用所述计算机指令,实现本说明书任一实施例的方法。

本公开实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,所述程序被处理器执行时实现本说明书任一实施例的方法。

本领域技术人员应明白,本公开一个或多个实施例可提供为方法、系统或计算机程序产品。该计算机程序产品包括计算机程序,该程序被处理器执行时实现本公开任一实施例的方法。因此,本公开一个或多个实施例可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本公开一个或多个实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。

其中,本公开实施例所述的“和/或”表示至少具有两者中的其中一个,例如,“多和/或B”包括三种方案:多、B、以及“多和B”。

本公开中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于数据处理设备实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。

上述对本公开特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的行为或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。

本公开中描述的主题及功能操作的实施例可以在以下中实现:数字电子电路、有形体现的计算机软件或固件、包括本公开中公开的结构及其结构性等同物的计算机硬件、或者它们中的一个或多个的组合。本公开中描述的主题的实施例可以实现为一个或多个计算机程序,即编码在有形非暂时性程序载体上以被数据处理装置执行或控制数据处理装置的操作的计算机程序指令中的一个或多个模块。可替代地或附加地,程序指令可以被编码在人工生成的传播信号上,例如机器生成的电、光或电磁信号,该信号被生成以将信息编码并传输到合适的接收机装置以由数据处理装置执行。计算机存储介质可以是机器可读存储设备、机器可读存储基板、随机或串行存取存储器设备、或它们中的一个或多个的组合。

本公开中描述的处理及逻辑流程可以由执行一个或多个计算机程序的一个或多个可编程计算机执行,以通过根据输入数据进行操作并生成输出来执行相应的功能。所述处理及逻辑流程还可以由专用逻辑电路—例如FPG多(现场可编程门阵列)或多SIC(专用集成电路)来执行,并且装置也可以实现为专用逻辑电路。

适合用于执行计算机程序的计算机包括,例如通用和/或专用微处理器,或任何其他类型的中央处理单元。通常,中央处理单元将从只读存储器和/或随机存取存储器接收指令和数据。计算机的基本组件包括用于实施或执行指令的中央处理单元以及用于存储指令和数据的一个或多个存储器设备。通常,计算机还将包括用于存储数据的一个或多个大容量存储设备,例如磁盘、磁光盘或光盘等,或者计算机将可操作地与此大容量存储设备耦接以从其接收数据或向其传送数据,抑或两种情况兼而有之。然而,计算机不是必须具有这样的设备。此外,计算机可以嵌入在另一设备中,例如移动电话、个人数字助理(PD多)、移动音频或视频播放器、游戏操纵台、全球定位系统(GPS)接收机、或例如通用串行总线(USB)闪存驱动器的便携式存储设备,仅举几例。

适合于存储计算机程序指令和数据的计算机可读介质包括所有形式的非易失性存储器、媒介和存储器设备,例如包括半导体存储器设备(例如EPROM、EEPROM和闪存设备)、磁盘(例如内部硬盘或可移动盘)、磁光盘以及CD ROM和DVD-ROM盘。处理器和存储器可由专用逻辑电路补充或并入专用逻辑电路中。

虽然本公开包含许多具体实施细节,但是这些不应被解释为限制任何公开的范围或所要求保护的范围,而是主要用于描述特定公开的具体实施例的特征。本公开内在多个实施例中描述的某些特征也可以在单个实施例中被组合实施。另一方面,在单个实施例中描述的各种特征也可以在多个实施例中分开实施或以任何合适的子组合来实施。此外,虽然特征可以如上所述在某些组合中起作用并且甚至最初如此要求保护,但是来自所要求保护的组合中的一个或多个特征在一些情况下可以从该组合中去除,并且所要求保护的组合可以指向子组合或子组合的变型。

类似地,虽然在附图中以特定顺序描绘了操作,但是这不应被理解为要求这些操作以所示的特定顺序执行或顺次执行、或者要求所有例示的操作被执行,以实现期望的结果。在某些情况下,多任务和并行处理可能是有利的。此外,上述实施例中的各种系统模块和组件的分离不应被理解为在所有实施例中均需要这样的分离,并且应当理解,所描述的程序组件和系统通常可以一起集成在单个软件产品中,或者封装成多个软件产品。

由此,主题的特定实施例已被描述。其他实施例在所附权利要求书的范围以内。在某些情况下,权利要求书中记载的动作可以以不同的顺序执行并且仍实现期望的结果。此外,附图中描绘的处理并非必需所示的特定顺序或顺次顺序,以实现期望的结果。在某些实现中,多任务和并行处理可能是有利的。

以上所述仅为本公开一个或多个实施例的较佳实施例而已,并不用以限制本公开一个或多个实施例,凡在本公开一个或多个实施例的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本公开一个或多个实施例保护的范围之内。

相关技术
  • 纹理贴图的生成方法、渲染方法、装置、设备及存储介质
  • 纹理数据生成方法、装置、存储介质及设备
技术分类

06120112898875