python换衣服_GAN入门:5分钟学会行人换衣生成

前几天英伟达开源了DG-Net的源码。让我们来回顾一下这篇CVPR19 Oral的论文。

论文是英伟达(NVIDIA), 悉尼科技大学(UTS), 澳大利亚国立大学(ANU)的研究人员 在CVPR19上口头报告的文章《 Joint Discriminative and Generative Learning for Person Re-identification》。 深度学习模型训练时往往需要大量的标注数据,但收集和标注大量的数据往往比较困难。作者在行人重识别这个任务上探索了 利用生成数据来辅助训练的方法。通过生成高质量的行人图像,将其与行人重识别模型融合,同时提升行人生成的质量和行人重识别的精度。

v2-e2783b6fb29d5daaccdc36e6fda2c744.jpgPerson Re-ID & Generationhttps://www.zhihu.com/video/1151483635302526976

代码运行效果:(训练100000次迭代)

(代码部分)开发环境:Python 3.6

GPU Memory >= 15G 如果使用fp32精度

GPU Memory >= 10G 如果使用fp16精度,可以节省一部分显存

NumPy

PyTorch 1.0+

[Optional] APEX (使用fp16要安装)

我在我的1080Ti上测试了fp16是可以运行的~

(代码部分)数据集下载地址:

(代码部分)训练好的模型下载:

(代码部分)测试效果如下:行人重识别的精度:

​生成的行人图像:

(代码部分)训练的命令很简单:

选项已经内置到yaml文件中,若按照全精度fp32来运行,约占用15G显存。

python train.py --config configs/latest.yaml

若使用半精度训练,则只使用约10G显存。

python train.py --config configs/latest-fp16.yaml

训练的log可使用tensorboard 来查看

tensorboard --logdir logs/latest

(理论部分)整体框架:

我发现看大图有点难理解。所以推荐先看小图 b,c,d。 b是同ID生成,c是不同id换衣,d则是利用生成图像来训练,refine encoder。

然后将b,c,d 混合在一起就是a啦~~

(理论部分)具体模型的结构:

Ea 是ResNet50 所以作者没有提供图。

Es 是一个浅层CNN,如下图:

G 是一个Decoder,如下图:

鉴别器D如下:

感谢看完。一部分内容参考作者的csdn和论文:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值