首页 / 基于生成对抗网络的人偶模特生成算法

基于生成对抗网络的人偶模特生成算法有效专利 发明

技术领域

[0001] 本发明涉及图像翻译领域,尤其涉及一种基于生成对抗网络的人偶模特生成算法。

相关背景技术

[0002] 人偶模特生成是指在保持模特身上服装和姿势等不变的情况下,将人偶模特图像转换为真实模特图像。随着电子商务的兴起,越来越多的商家选择在线售卖服装。然而,在线售卖服装无法使用户触摸到服装的实体,如何在线展示服装成为商家的一个主要问题。传统的展示服装方法通常需要聘请一些模特,并准备拍摄场地和设备等,然后将需要展示的服装穿在模特身上拍摄服装展示图像。然而,这会导致商家需要付出很高的拍摄成本。针对这个问题,本发明提出了一种人偶模特生成算法。该算法能够直接将人偶模特图像转变为真实模特图像,并且保持图像中的服装等区域不变,这能够大幅降低商家线上展示服装的成本。

具体实施方式

[0026] 下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0027] 需要说明,在本发明中涉及“第一”、“第二”等的描述仅用于描述目的,而不能理解为指示或暗示其相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。另外,各个实施例之间的技术方案可以相互结合,但是必须是以本领域普通技术人员能够实现为基础,当技术方案的结合出现相互矛盾或无法实现时应当认为这种技术方案的结合不存在,也不在本发明要求的保护范围之内。
[0028] 图1示出了本发明提供的基于生成对抗网络的人偶模特生成算法的流程图,图2示出了本发明实施例提供的设计人偶模特生成模型的流程图,图3示出了本发明实施例提供的人偶模特生成数据集图像和对应特征的展示图;图4示出了本发明实施例提供的基于生成对抗网络的人偶模特生成算法的模型框架图,图5示出本发明实施例提供的基于生成对抗网络的头部生成网络的框架图;图6示出本发明实施例提供的基于生成对抗网络的皮肤生成网络的框架图;图7示出本发明实施例提供的人偶模特生成算法被应用在真实场景下拍摄的人偶模特图像的展示图。
[0029] 参照图1所示,本发明实施例提供的基于生成对抗网络的人偶模特生成算法详述如下:步骤S1:构建人偶模特生成数据集,人偶模特生成数据集包括头部数据集和皮肤数据集,头部数据集包括头部解析图像、脸部关键点特征、头部图像的保留区域和头部的掩码,皮肤数据集包括包含手部关键点的openpose特征、包含人体表面的densepose特征、人体图像的保留区域、皮肤的掩码和人体的掩码。
[0030] 本发明使用的真实模特图像数据集以及用于训练的模特图像数据来自于购物网站上的展示图像,数据集中包括了多种高清的女性模特图像。在构建人偶模特生成数据集时,需要对收集的真实模特图像进行特征提取,提取出头部图像、头部解析图像、脸部关键点以及模特的姿态信息。对于头部图像的获取,本发明使用模特的脸部区域作为中心,对模特图像进行截取,截取出尺寸为256×256的头部图像。对于头部解析图像,本发明利用预训练的基于BiSeNet的头部解析模型对头部图像进行解析,将图像分割为15个不同的区域,获取头部解析图像。对于脸部关键点,本发明利用基于MTCNN的人脸关键点检测算法,对头部图像进行关键点检测。对于模特的姿态信息,本发明利用预训练好的模型分别提取了两种姿态特征,分别是包含手部关键点的openpose特征和包含24个人体表面信息的densepose特征。本发明所提取的特征如图3所示。
[0031] 步骤S2:设计人偶模特生成模型。人偶模特生成模型包括基于生成对抗网络的头部生成网络和基于生成对抗网络的皮肤生成网络。具体地,参照图1和图2所示,设计人偶模特生成模型包括步骤:步骤S2‑1设计基于生成对抗网络的头部生成模块和步骤S2‑2设计基于生成对抗网络的皮肤生成模块。
[0032] 步骤S2‑1:设计基于生成对抗网络的头部生成网络(也可称为头部生成模块)。本发明的头部生成网络利用输入的特征生成一张真实的头部图像和一个15维度的头部图像语义分布信息,该阶段的网络结构如附图5所示。头部生成网络包括一个基于Res‑UNet的头部生成器(也可称为基于Res‑UNet的头部生成网络)和一个基于PatchGAN的头部判别器(也可称为基于PatchGAN的头部判别网络)。头部生成器包括五层的Res‑UNet,每层的基本单元由一个三层卷积神经网络所构成的残差块组成。特征输入到Res‑UNet中,会先进行五层的下采样,然后使用跳跃连接,结合每一层Res‑UNet的特征,再进行上采样,使最终输出的特征图尺寸与输入相同。头部判别器包括包含五个卷积层的PatchGAN。PatchGAN将输入图像分为若干个小的图像块,并分别对每个小块进行二分类,最终得到输入图像的全局判别结果。头部生成器利用脸部关键点特征、头部图像的保留区域以及头部的掩码(头部mask)特征作为输入,最终输出真实的头部图像,并同时预测头部图像的语义分布。头部判别器判别头部生成器输出的头部图像的真假,以约束图像生成的真实性。头部生成网络的损失函数包括四部分,分别是第一对抗损失函数 、头部解析损失函数 、第一VGG感知损失函数以及第一重建损失函数。头部生成网络的损失函数公式如下(公式1):
(1)。
[0033]  其中, 表示头部生成网络的整体损失函数, 表示第一对抗损失函数, 表示头部解析损失函数, 表示第一重建损失函数, 表示第一VGG感知损失函数, 、 、 和 分别表示第一VGG感知损失函数、第一重建损失函数、头部解析损失函数和第一对抗损失函数的权重, D表示头部判别器,x表示输入的特征,N表示像素点的个数,B表示像素点的类别数, 表示模型生成的第i个像素点为第j类的概率,SR表示生成的头部图像,R表示真实的头部图像,C、H、W分别表示图像的通道数、高和宽,表示VGG网络中第j层的输出。
[0034] 步骤S2‑2:设计基于生成对抗网络的皮肤生成网络(也可称为皮肤生成模块)。本发明提出了一种能够保持模特图像的服装区域情况下,将模特皮肤区域转换为真实皮肤的皮肤生成网络。该阶段的网络结构如附图6所示。该网络的整体结构与头部生成网络相同,均包括一个基于Res‑UNet的生成器和一个基于PatchGAN的判别器。皮肤生成网络的输入为包含手部关键点的openpose特征、包含24个人体表面的densepose特征、人体图像的保留区域、人体的掩码(人体mask)以及皮肤的掩码(皮肤mask),输出为一张转换后的人体模特图像。同时,利于PatchGAN网络对生成的结果进行真假判别。皮肤生成网络使用的损失函数为第二对抗损失函数、第二VGG感知损失函数以及第二重建损失函数的加权求和,皮肤生成网络的损失函数公式如下(公式2):(2)。
[0035] 其中, 表示皮肤生成网络的整体损失函数, 表示第二对抗损失函数, 表示第二重建损失函数, 表示第二VGG感知损失函数, 、 和 分别表示第二VGG感知损失函数、第二重建损失函数和第二对抗损失函数的权重,D'表示皮肤判别器,SV表示生成的皮肤图像,V表示真实的模特图像, 表示VGG网络中第j层的输出,C'、H'、W'分别表示图像的通道数、高和宽。
[0036]  步骤S3:分别训练头部生成网络和皮肤生成网络。根据虚拟换衣模型设计训练策略,本发明提出的人偶模特生成模型是在Pytorch框架下实现的。在训练和测试阶段, 图像在被送入到网络之前,尺寸被调整为1024×768,并以脸部为中心截取出256×256的头部区域,利用预训练好的模型生成任务所需要的头部解析图像、脸部关键点特征、人体姿态特征(包含手部关键点的openpose特征和包含人体表面的densepose特征)和模特的掩码(头部的掩码、皮肤的掩码和人体的掩码)等特征。头部生成网络中,Res‑UNet网络为五层结构,每层的基本单元由一个三层卷积神经网络所构成的残差块组成,每层的隐藏单元数均设置为512。头部生成网络的头部判别器包含五个卷积层,所有卷积层的卷积核大小都为4×4,前三个卷积层的步长为2,后两个卷积层的步长为1,也就是说,第一层卷积层、第二层卷积层和第三层卷积层的步长为2,第四层卷积层和第五层卷积层的步长为1。对于头部判别器的具体结构,第一层卷积层是由一个卷积与LeakyReLU损失函数组成的,中间三个卷积层都是由卷积、BN层和LeakyReLU层三部分组成的,最后一个卷积层只包含一个卷积操作,将特征图的通道数降为1,也就是说,第二层卷积层、第三层卷积层和第四层卷积层均由卷积、BN层和LeakyReLU层组成,第五层卷积层包含一个卷积操作,将特征图的通道数降为1。皮肤生成网络与头部生成网络整体结构相同,但是皮肤生成网络与头部生成网络输入的维度和输出的维度不同。头部生成网络输入的维度为20维,输出的维度为18维。皮肤生成网络输入的维度为31维,输出的维度为3维。该人偶模特生成算法不同阶段使用了不同的损失函数,在头部生成网络中,使用第一对抗损失函数、头部解析损失函数、第一重建损失函数和第一VGG感知损失函数进行训练,在皮肤生成网络中,使用第二对抗损失函数、第二重建损失函数和第二VGG感知损失函数进行训练。其中,对抗损失函数能够使得模型生成的图像更加真实,头部解析损失函数能够使模型学习到头部图像的语义分布信息,重建损失函数能够约束网络保持图像中不改变的区域,VGG感知损失函数能够保持人眼感知图像的质量。
[0037] 分别对头部生成网络和皮肤生成网络独立进行训练,且都使用Adam优化器进行优化,学习率均为0.00005。
[0038] 具体应用中,将生成的真实的头部图像和真实皮肤的人体模特图像组合在一起,即得到真实的模特图像。组合方法可通过图像处理的方式进行,比如将生成的真实的头部图像还原到图像中的头部区域,然后将还原头部后的模特图像输入到皮肤生成网络中,即可得到真实的模特穿衣展示图像。
[0039] 本发明提供的基于生成对抗网络的人偶模特生成算法具有以下优点:(1)提出了基于生成对抗网络的头部生成网络,加入了脸部关键点等头部图像特征,能够根据输入的多种特征生成真实的头部图像,同时保留颈部等其余区域,并忽略人偶模特五官比例与真实模特不同的问题。在损失函数方面,添加了头部解析损失,以更好地生成真实的头部图像;(2)提出了一个基于生成对抗网络的皮肤生成网络,以人体模特的姿态信息、人体图像的保留区域、人体的掩码和皮肤的掩码特征作为输入,生成最终的包含真实皮肤的人体模特图像,同时,对于输入特征方面,本发明使用包含手部关键点的openpose特征,使得生成的图像手部区域更加真实;(3)提出了一个基于生成对抗网络的人偶模特生成算法。该算法将人偶模特生成任务进行拆解,划分为两个阶段,第一个阶段生成真实的模特头部区域,第二个阶段利用模特的姿态和皮肤掩码等特征生成真实的皮肤区域。该方法能够有效利用输入图像中的各种特征,使得生成的人偶模特图像更加真实。
[0040] 本发明提供的基于生成对抗网络的人偶模特生成算法直接将人偶模特图像转变为真实模特图像,并且保持图像中的服装等区域不变,大幅降低了商家线上展示服装的成本。
[0041] 以上所述仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是在本发明的发明构思下,利用本发明说明书及附图内容所作的等效结构变换,或直接/间接运用在其他相关的技术领域均包括在本发明的专利保护范围内。

当前第1页 第1页 第2页 第3页
相关技术
对抗网络相关技术
模特生成相关技术
张海军发明人的其他相关专利技术