zhangjunh / DR-GAN-by-pytorch

An implement of Disentangled Representation Learning GAN for Pose-Invariant Face Recognition
126 stars 37 forks source link

有2个问题,想请教一下,谢谢! #8

Closed Archerzlt closed 5 years ago

Archerzlt commented 5 years ago

第一是我看代码里使用了L1 Loss,但是这个L1 Loss是对生成器生成的图片和输入生成器的图片来做的,我的理解是 难道不是应该用生成器生成的图片和原本数据库中的真实的对应图片来做吗?例如给定一张15度转角的人脸图像,我们想合成90度的人脸图像,应该是把生成器的生成的图像和原始数据库中对应90度的图像做L1 Loss,而不是把生成器生成的图像跟15度的输入图像做L1 LOSS。不知道我理解的对不对。求教! 第二是 项目摘要中提到的 “Added a pretrained ResNet18 to offer a feature loss in order to improve Generator's performance.“ 我在代码中似乎没有看到 希望您给予解答,谢谢!!!

zhangjunh commented 5 years ago

@Archerzlt 第一个问题你理解的不太对,这个loss是针对生成器的,它是指导生成器生成我指定的pose,所以是用输入生成器的pose(合成这张照片时的参数)作为这张合成照片的pose_label,再把这张照片输入判别器得到D所认为的pose,将这个pose和pose_label作比较生成loss。整个过程是为了优化生成器的,和你说的数据库样本没太大关系,针对判别器还有一个loss是用数据库的照片和pose_label进行训练的。 第二个问题是因为我主要是用的multi_DR-GAN,没有在single网络上面进行改进,我会标注到说明文档里。你如果想用可以把multi网络里面feature_loss函数相关的内容复制到single网络里,再仿照multi的初始化和loss设置方法写一下就行。上面说的这些在/model/DRGAN.py里。

Archerzlt commented 5 years ago

好的,谢谢您的解答,我自己在揣摩下