基于生成对抗网络的姿势引导人体图像生成及面部优化方法

未命名 09-15 阅读:94 评论:0

1.本技术涉及计算机视觉和人工智能领域,具体而言,是一种基于生成对抗网络的姿势引导人体图像生成及面部优化方法。


背景技术:

2.随着网络媒体的迅速发展和虚拟现实技术的崛起,逼真的、可控的人体图像生成在越来越多的应用场景中得到广泛的应用。这些应用包括创建虚拟角色、虚拟试衣、运动传输和视角合成等。此外,在人脸编辑、电影制作以及基于合成图像的图像检索等领域,生成逼真的图像也具有重要的应用价值。因此,生成虚拟目标姿态的人体图像技术不仅可以为广泛的应用场景提供素材和灵感,还可以在这些领域推动技术的发展。


技术实现要素:

3.为了解决上述技术问题,本发明的目的是建立基于生成对抗网络的姿势引导人体图像生成及面部优化方法,实现生成目标姿势的人体图像以及对脸部质量优化或者脸部替换。包括以下步骤:
4.模型预处理:本方法采用了基于stylegan2-ada网络的图像生成部分,该网络在
5.deepfashion数据集的一个图像子集上训练得到,分辨率为1024
×
768px,用于生成全身人预训练模型。在人脸区域内,我们使用了在ffhq数据集上预训练的人脸生成器。我们使用facenet-pytorch来定位人脸区域,并采用vgg16计算感知损失来进行图像的合成与优化。
6.图像生成:利用导入的stylegan2-ada人体生成模型作为本方法的人体图像生成器ga,stylegan2-ada在ffhq数据集上预训练的面部生成模型作为本方法的生成器gb。wa和wb分别为生成器ga、gb的输入潜码。ia=ga(wa)和ib=gb(wb)分别是对生成器输入对应潜码后生成的全身人体图像和人脸图像。
7.姿势引导生成:对于已生成的人体图像,通过构建姿势引导生成网络,使得生成的图像效果达到目标姿势。该网络的输入为生成的人体图像ia和目标姿势。
8.本方法使用人体姿势估计算法获取和处理目标姿势。通过姿势估计器对目标姿势图像ib生成关键点的坐标,生成人体姿势编码pb,并将其作为姿势引导生成网络的输入。为将每个关键点映射到人体上的位置,pb被编码为18个热图,其中每个热图在对应的关键点周围填充1个半径为4像素的高斯分布,在其他地方填充0。将人体图像ia和pb连接起来作为姿势引导生成模型的输入。
9.姿势引导生成网络构建两个生成器,第一阶段的生成器g1采用u-net的架构,使用几个堆叠的卷积层将ia和pb从小邻域集成到大邻域,以便将外观信息集成并传输到相邻的身体部位,然后使用全连接层,以便远处身体部位之间的信息也可以交换信息。解码器由一组堆叠的卷积层组成,这些卷积层与编码器对称以生成图像。第一阶段的结果表示为
10.将与目标图像ib进行比较,采用l1距离作为第一阶段的生成损失。由于我们只
有一个原始图像和一个目标姿势作为输入,如果目标图像的背景与条件图像不同,模型很难生成背景的样子。因此,为了减轻背景变化的影响,在l1损失中添加一个姿势掩码mb,使人体比背景权重更大。姿势掩码损失的公式为:
11.l
g1
=||mb(g1(ia,pb)-ib)||1#(1)
12.对于每个真实图像,使用人体姿势估计算法得到人体的关键点,进而生成姿势掩码mb。其中,人体关键点可以用一个二值矩阵来表示,即在人体部位位置的值为1,在背景位置的值为0。在计算l1损失时,将姿势掩码mb应用到每个像素上,使得人体部位的像素比背景部位的像素更加重要。
13.g1的输出比较模糊,但是它能够捕获目标姿势所指定的全局结构信息和其他低频信息,例如衣服的颜色。身体外观的细节,也就是高频信息,将在第二阶段进行对抗训练,以便进一步细化。
14.在第二阶段,我们旨在通过纠正初始结果中的错误或缺失信息,从而生成更加精细的图像细节。我们使用条件dcgan的变体作为基础模型,并根据第一阶段生成的结果进行调整。由于初始结果和目标姿势在结构上相似,第二阶段的生成器g2的目标是生成一个外观差异图,以使初始结果更接近目标图像。我们采用类似于第一阶段的u-net网络计算图像差异,输入为初始结果和条件图像ia,其中图像ia替代传统噪声作为g2的输入。并且本网络结构删除了全连接层,有助于从输入中保留更多细节,因为全连接层压缩了输入中包含的许多信息。
15.为了避免判别器d直接输出ia而不优化第一阶段生成的粗略结果我们将g2的输出与ia进行拼接来提供更多信息给判别器,使得判别器d可以区分与(ib,ia)两个图像对。这样可以鼓励判别器d学习区分和ib之间的差异,而不仅仅是合成图像与自然图像之间的差异。因此,我们为判别器d和生成器g2分别定义以下损失函数:
[0016][0017][0018]
将对抗损失与最小距离的损失混合可以规范图像生成过程。使用第一阶段的姿势掩码损失,它将更关注人体图像的外观,而不是背景,公式为:
[0019]
其中l
bce
表示二进制交叉熵损失,通过将对抗损失和最小lp距离的损失混合,可以规范图像生成的过程,同时惩罚生成图像与真实图像之间的差异,以获得更逼真的图像。此外,使用第一阶段的姿势掩码l1损失可以更加关注人体图像的外观而不是背景,公式如下:
[0020]
l
g2
=lg+λ||mb(g1(ia,pb)-ib)||1#(4)
[0021]
在该模型中,λ是l
g1
损失的权重,它控制着生成器在低频率下接近目标图像的程度。当λ很小时,对抗损失将主导训练,可能会导致生成的图像存在一些缺陷;当λ很大时,带有基本l
g1
损失的生成器将主导训练,导致整个模型产生模糊的结果。因此,需要通过实验来确定最佳的λ值,以平衡对抗损失和l
g1
损失之间的关系,以获得高质量的目标姿势的人体图像。
[0022]
面部定位:针对面部替换与优化,需要确定局部区域和全局替换区域的边界框,以保证局部区域(面部)和全局(全身人体图像)的生成网络相协调。在本发明中,我们使用
facenet-pytorch算法中的多任务卷积神经网络(multi-task convolutional neural network,mtcnn)对全身人体图像和人脸进行边界框计算,以实现人脸的替换与质量提升。
[0023]
将ia输入检测边界框中,将裁剪出的区域表示为c(ia),由于ia和ib是由潜码wa和wb生成而来的,因此在ia中插入ib本质上可以将其解释为找到一个优化函数使得潜码对(wa,wb),使得ia和ib可以在c(ia)和ib的边界区域没有明显接缝的情况下组合在一起,在达到满意效果之后,直接将ia的区域c(ia)替换为ib,此优化函数可以表示为:
[0024][0025]
其中b=c(ga(wa)),为需要优化的区域,的功能为获取边界接缝质量的损失以及在区域内ia和ib各自脸部相似度。
[0026]
优化模块:本方法优化模型主要用于优化面部和全局协调性,包含两个功能:面部替换、面部-人体协调、面部质量提升。根据需要达到的效果,我们设置了三个优化目标:1、面部gan和身体gan生成的面部区域在整体上应该一直协调性,使得面部gan生成的面部ib替换c(ia)之后,其大致属性匹配,例如,以及边界框未能选择上的部分头发等部分的颜色;2、要使面部替换后周围的边界像素匹配,以便替换面部操作之后不会导致明显的接缝;3、人脸和身体以及身体姿势需要匹配。
[0027]
为了匹配面部外观,对面部区域进行了下采样,并联合计算了f1损失和ssim结构相似性:
[0028][0029]
其中其中表示下采样到64
×
64分辨率。对于边界框,同样采用联合计算f1损失和ssim结构相似性:
[0030]
l
boundary
=λ3f1(ε8(c(ia)),ε8(ib))+λ4(1-ssim(ε8(c(ia)),ε8(ib)))#(7)
[0031]
其中ε
x
(i)代表滤波操作,其作用是在像素宽度为x的边界区域上进行处理,以减少噪声和细节对结果的影响,提高模型的稳定性。为了确保在优化过程中保持真实感,我们还引入了两个正则项;
[0032][0033]
第一项是为了防止优化潜码偏离平均潜码太远,通过随机生成的向量z中抽样的大量潜码计算出w
avg
,再映射到w空间,并计算平均值。第二项是在w
+
潜在空间中对潜在代码进行正则化。这两项正则化用于约束模型参数的大小,以避免过度拟合和提高模型的泛化性能。
[0034]
为了确保面部和身体之间具有良好的协调性,除了考虑它们的相似性外,还需要考虑它们的姿势是否相匹配。因此,我们可以设计一个损失函数来对面部和身体之间的姿势差异进行规范化。
[0035]
使用前面步骤中优化后的人体图像ia和一个面部图像ib以及一张正常姿势的真实图像ic输入姿势估计模型来获取姿势表示,记为pa,pb,pc。然后我们可以计算pa,pb之间的平移和旋转差异,表示为t
ab
和r
ab
。计算pa和pc之间的平移和旋转差异,表示为t
ac
和r
ac
。为了计算面部和身体之间的姿势差异,我们可以将t
ab
,r
ab
,t
ac
,r
ac
结合起来,形成一个四元组表示姿势差异,记为d
abc
=[t
ab
,r
ab
,t
ac
,r
ac
]。然后,我们可以计算d
abc
的l2距离,并将其作为面部
和身体之间的姿势协调性损失,表示为:
[0036][0037]
对于随机生成人体图像ga(wa),我们要在保持wa的基础上优化wb使得gb(wb)能在粗尺度上与ga(wa)相似,并且在边界处精细尺度上匹配。为了达到更好的效果,需要对wb和wa联合优化。
[0038]
最终结合各项损失,本优化模块的目标函数为:
[0039][0040]
在该申请中,基于前述方案,所述的确定单元配置为一种基于生成对抗网络的姿势引导人体图像生成及面部优化方法,包括以下模块:
[0041]
图像生成模块,用于导入stylegan2-ada网络训练的人体和面部生成器,以及面部定位网络facenet-pytorch和vgg16作为图像分类器计算感知损失。利用随机种子生成潜码wa和wb并利用人体和面部生成模型生层高清全身人体图像和面部图像。
[0042]
面部定位模块:将需要修改的面部区域利用facenet-pytorch网络进行定位,以便后续进行替换与优化面部。
[0043]
姿势引导生成模块,将前述模块中输出的全身人体图像以及解码出的目标姿势作为输入,通过两阶段生成器生成目标姿势的人体图像。
[0044]
优化模块,构建优化函数,对wa和wb进行联合优化,达到三个优化目标,生成高清高质量全身人体图像。
[0045]
本发明提供了这样一种姿势引导人体图像生成及面部优化方法:通过设置随机种子生成随机潜码wa和wb导入生成器ga和gb生成出全身人体图像ia和高清人脸图像ib,导入姿势引导生成网络,将人体图像转换为目标姿势。通过面部定位网络定位出需要替换和优化的面部区域,利用构造的优化函数对面部及接缝细节以及全局协调性进行优化,生成目标高清全身人体图像。
附图说明
[0046]
图1是本发明的姿势引导人体图像生成及面部优化方法结构示意图;
[0047]
图2是本发明的姿势引导人体图像生成及面部优化方法流程示意图;
具体实施方式
[0048]
下面结合附图和具体实施例对本发明做进一步的详细说明。下面所描述的实施例仅为本发明的一部分,不应理解为局限在上述方式的全部范例。
[0049]
模型预处理:导入stylegan2-ada网络在deepfashion数据集和ffhq数据集上预训练的全身人体图像生成器面部生成器和以及vgg16模型和facenet-pytorch,为后续图像生成、面部定位和计算感知损失做准备。
[0050]
图像生成:将随机生成的潜码wa和wb分别导入人体和图像生成器,生成高清全身人体图像和高清人脸图像ia和ib。
[0051]
姿势引导生成网络:将前述模块生成的全身人体图像ia和目标姿势解码出的姿势点位信息作为输入,经过两层生成器,将人体图像转换为目标姿势并输出。
[0052]
面部定位:将姿势变化后的的ia和预插入的面部图像ib利用facenet-pytorch定位网络将对面部图像和人体图像的面部区域定位,以便后续的面部替换和优化。
[0053]
优化模块:建立优化函数,对随机生成的潜码wa和wb进行联合优化,实现面部替换、面部质量提升、全局协调等功能。其中ia和pb下采样后输入l
coarse
计算损失,与输入l
border
计算损失,l
reg
和l
pose
分别为正则项和姿势损失。联合优化四项损失,输出结果。
[0054]
图1是本发明的姿势引导人体图像生成及面部优化方法模块结构示意图,展示了本发明中各模块的详细结构以及模块之间的数据传输。如图所示包括图像生成模块、姿势引导生成模块、面部定位模块、优化模块。
[0055]
图2是本发明的姿势引导人体图像生成及面部优化方法流程示意图,展示了本发明实例的步骤流程。
[0056]
以上是对本发明的较佳实施进行了具体说明,但本发明创造并不限于所述实施例,熟悉本领域的技术人员在不违背本发明精神的前提下还可做作出种种的等同变形或替换,这些等同的变形或替换均包含在本技术权利要求所限定的范围内。

技术特征:
1.一种基于生成对抗网络的姿势引导人体图像生成及面部优化方法,其特征在于,包括以下步骤:s1:模型预处理:导入stylegan2-ada网络在deepfashion数据集和ffhq数据集上预训练的全身人体图像生成器、面部生成器和以及vgg16模型和facenet-pytorch,为后续图像生成、面部定位和计算感知损失做准备。s2:图像生成:将随机生成的潜码分别导入人体和面部生成器,生成高清全身人体图像和高清人脸图像。s3:姿势引导生成网络:将前述步骤生成的全身人体图像和目标姿势解码出的姿势点位信息作为输入,将人体图像转换为目标姿势。s4:面部定位:利用facenet-pytorch定位网络对面部图像和人体图像的面部区域定位,以便后续的面部替换和优化。s5:优化模块:建立优化函数,对随机生成的潜码w
a
和w
b
进行联合优化,将给定的人脸图像插入到生成的人体图像中,实现面部质量提升功能并且使其与姿势相匹配,实现图像全局协调。2.根据权利要求1所述的方法s3步骤,其特征在于:构建两阶段的生成器以及一个判别器,第一阶段生成器以s2步骤生成的人体图像和目标姿势作为输入,生成具有目标姿势的人体图像。第二阶段以原始人体图像作为条件优化第一阶段生成的图像质量,通过判别器对抗训练最终得到目标姿势的高质量人体图像。3.根据权利要求1所述的基于生成对抗网络的姿势引导人体图像生成及面部优化方法s5步骤,其特征在于:基于设置的三个优化目标,构建了优化函数,联合优化潜码w
a
和w
b
。首先是联合计算了f1损失和感知损失l
lpips
以匹配面部外观,同时为了保证w
a
不变的情况下优化w
b
,设计姿势损失函数l
pose
以及正则项l
reg
,最终实现面部和人体优化效果。4.一种基于生成对抗网络的姿势引导人体图像生成及面部优化方法,包括:图像生成模块,导入stylegan2-ada网络训练的人体和面部生成器以及面部定位网络facenet-pytorch和vgg16作为图像分类器计算感知损失。利用随机种子生成潜码w
a
和w
b
并利用人体和面部生成模型生层高清全身人体图像和面部图像。姿势引导生成模块,将前述模块中输出的全身人体图像以及解码出的目标姿势作为输入,通过两阶段生成器生成目标姿势的人体图像。面部定位模块,将需要修改的面部区域利用facenet-pytorch网络进行定位,以便后续进行替换与优化面部。优化模块,构建优化函数,通过联合优化w
a
和w
b
达到三个优化目标,从而生成高清、高质量的全身人体图像。

技术总结
本发明提出一种基于生成对抗网络的姿势引导人体图像生成及面部优化方法,其中图像生成模块通过导入预训练模型,生成前期的人体图像和人脸图像;姿势引导生成模块将人体图像转换为需要的目标姿势;面部定位模块定位出需要优化的人脸部分,优化模块对定位区域进行三个目标的联合优化最终输出目标图像。通过使用本发明所述的方法,可以生成拥有高清面部的目标姿势人体图像。姿势人体图像。


技术研发人员:熊邵华 蔡强 李海生 韩龙飞
受保护的技术使用者:北京工商大学
技术研发日:2023.06.20
技术公布日:2023/9/14
版权声明

本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

航空之家 https://www.aerohome.com.cn/

飞机超市 https://mall.aerohome.com.cn/

航空资讯 https://news.aerohome.com.cn/

分享:

扫一扫在手机阅读、分享本文

相关推荐