以下链接是个人关于Liquid Warping GAN(Impersonator)-姿态迁移,所有见解,如有错误欢迎大家指出,我会第一时间纠正。有兴趣的朋友可以加微信:a944284742相互讨论技术。若是帮助到了你什么,一定要记得点赞!因为这是对我最大的鼓励。
风格迁移1-00:Liquid Warping GAN(Impersonator)-目录-史上最新无死角讲解
3.4. Training Details and Loss Functions
在这个部分,主要是介绍 loss 的定义,以及整个训练系统。对于人体mesh重构,我们使用的是HMR的loss,并且使用了他的预训练模型。
对于Liquid Warping GAN,在训练阶段,我们从任意视频从随机抽取一对图片,一帧当做 source ,一帧当做 reference , 注意我们提出方法,是集中于动作模仿,外貌转化,以及新视角合成为一个框架。因此他们三个模型的任意一个模型训练完成,都可适用于另外两个任务。如,在我们的实验中,我们训练的是动作模仿的模型,但是同样适用于另外两个任务。
整体的由四部分组成,分别是perceptual loss, face identity loss,attention regularization loss,adversarial loss。
Perceptual Loss. 是对重构的source image 以及 进行调整,让他们接近对应的ground truth 于(在VGG提取出来的特征空间),可以使用如下表达式表示:
这里的f表示的是VGG-19。
Face Identity Loss. 其主要是保证合成的图像与ground truth 身份ID的相似,这样能够保留面部的细节,定义如下:
这里的g表示使用预训练模型的SphereFaceNet
Adversarial Loss. 的作用主要是让生成数据的分布接近真实数据的分布,我们是的LSGAN ,对于生成目标类似于PatchGAN,这个鉴别器去对进行调整,让他看起来逼真,我们使用的是条件鉴别器,输入是生成的图像以及对应的(6通道),如下:
Attention Regularization Loss. 的作用是让attention map A变得平滑,不容易饱和。如果attention map A是没有对应的ground truth,这让他直接从训练的过程中学习到,但是这种情况,其训练的结果是很容易饱和为1的,为为了缓解这种情况,我们调整了mask,使其更接近3D身体网格渲染的轮廓,因为轮廓是一个粗略的地图,它包含了没有衣服和头发的身体的map,并且我们还对他执行了正则化。为了补偿这个轮廓的不足之处,当预测的背景和color map 组合时,进一步强化平滑了颜色空间,定义如下:
对于生成器,完整的损失函数定义如下
对于鉴别器的定义如下:
3.5. Inference
训练一个动作模仿的模型,该模型可以应用其他的任务,他们的不同点在于变换矩阵T的操作不同,其余的操作,如Body Mesh Recovery and Liquid Warping GAN 模型都是一样的,下面我们详细介绍每个任务在测试阶段的操作。
Motion Imitation. 我们首先复制 reference 姿态参数的值到 source,得到 SMPL 的综合参数,以及 3D mesh 。下一步,在的视角下,渲染source mesh 以及 合成的 mesh , 渲染之后分别得到 以及 。然后利用project结合弱视角摄像机参数将2D image 投影到二维图像空间中,,下一步我们计算每个mesh 表面的重心坐标,得到,最后根据source对应的 map,以及其网格面坐标之间的对应关系,与合成对应的 map进行匹配,计算出变换矩阵,其为 Fig. 5 (a),Fig. 5如下所示:
图示翻译:在测试阶段,根据任务的不同,其计算转换流的方式也不同,这个最左边的部分,是Body Recovery 模型,右边是不同任务转换流的实现。
Novel View Synthesis. 给出一个新的摄像头视角,即旋转参数 与平移参数 , 我们首先计算新视角下的3D mesh, , 接下来的操作类似于动作模仿,在K_s的参数下对 进行渲染,得到,并且计算他们之间的转换矩阵,整个过程如上图的 b 所示。
Appearance Transfer. 这个操作,是要保持source 的头部不变,从reference image 拷贝衣服过来。我们把转换矩阵 分割成了两个子矩阵source , 与 reference , 注意,头部的Mesh 以及身体Mesh ,同时。对于 ,我们首先构建头部 source 的mesh 进入图像空间,获得其轮廓,然后创建 mesh 格子 ,然后通过 对 进行 mask 操作,即 ,这里的 * 表示的是像素级别的相乘,对于类似于动作模仿,渲染source body 以及对应的map,得到,。最后计算他们之间的转换流,如上图的 © 所示。
4. Experiments
Dataset. 为了对我们提出的方法进行评估,我们创建了一个叫iPER的数据集,其中一共包含了30个身高胖瘦不同的人,并且每个人执行一个固定的动作,以及几个随机动作,其中有的人,录制多个视频,并且每个视频穿的衣服都不一样。总计103种服装,206个视频,共241564帧图像,我们按照8:1的比例,把他们分成了训练集和测试集。
Implementation Details. 对于该网络的训练,我们把所有图像正则化到[-1,1]之间,并且改变大小为256x256。每次送入网络的,是从同一视频随机抽取两帧。在实验中mini-batch为 4,分别为10.0, 5.0,1.0。对于 生成器以及鉴别器,我们使用的优化方式都是Adam。
4.1. Evaluation of Human Motion Imitation.
Evaluation Metrics. 我们提出了一种iPER数据集测试集的评估协议,该协议能够从不同方面反映不同模型的性能,详细的细节如下:
1.对于每个视频,我们选择3张图像(正面,侧面,遮挡)带有不同程度的遮挡,正面图像包含了最多的信息,侧面图像丢失了一些信息,遮挡图像将引入模糊的信息。
2.对于每个source image,让他执行了自我模仿,使用SSIM 与 Learned Perceptual Similarity (LPIPS) 的方式进行评估。
3. 我们还进行了交叉模仿,我们使用一个预训练好的Score(IS) 与 Frechet Distance的模型(名字叫FReID),去评估生成图像的质量。
Comparison with Other Methods. 在实验中,和一些先进的模型进行了对比,其中包括了PG2 , SHUP,DSC ,所有的模型都是在 iPER 上进行训练,使用上面提到的评估方法,结果展示如下:
可以看到,我们的模型超过了其他的模型,另外我们还生成了一些图片进行对比,如下:
我们可以发现:
1.如果一个高的人,去模仿一个矮的人,其他的方法效果都不是很好,但是我们的模型表现很突出。
2.从上图的第一行可以看出,对于遮挡的一些情况,我们提出的模型鲁棒性也比较好,生成的遮挡或者不可见部分更加的逼真。
3.从第二行,可以看出我们的方法,能够保留更多的细节信息,如衣服上的标记。
4.从下图,Figure 7可以看出,我们的模型能生成质量较高的图像。
Ablation Study. 为了证明我们提出的Liquid Warping Block (LWB) 对整个网络起到了作用,使用前面提到的方法设计了三个基线来传原图像的信息,包含了最早出现的concatenation, texture warping 以及 feature warping,出了原图信息的传递不同之外,其他的结构完全相同,concatenation, texture warping, feature warping 以及我们的 LWB 分别表示为,同样都是在iPER 数据集上进行训练,然后分别评估动作模仿的性能,从前面给出的表格,可以看出我们的方法超过了其他的方法。
4.2. Results of Human Appearance Transfer.
这里再次强调一下,单一个模型被训练出来之后,是可以适用于另外两个任务的。我们随机生成了一些样本显示如下:
对于任务的面部ID,以及衣服等细节,我们的网络都保护得很好。并且我们的网络,使用网上找来的图片(不在iPER数据集),效果也很好,如上面的第六列之后。
4.3. Results of Human Novel View Synthesis.
我们随机从 iPER 的测试集挑取了一些样本,改变他的视角从30到60度,展示如下:
从上面可以看到,我们的网络,有能力去捕获一些看不见的信息,甚至在一些自遮挡的情况下,如上图的中间两行。
5. Conclusion
叽里呱啦一堆吹逼的,就不翻译了。
结语
到这里,终于翻译完成,如果大家看得懂,就给赞呗,下面为大家讲解整个网络模型。
来源:CSDN
作者:江南才尽,年少无知!
链接:https://blog.csdn.net/weixin_43013761/article/details/103989126