深度学习(2)Unspervised Attention-guided Image-to-Image Translation

这篇文章基于CycleGAN的工作。虽然也是做图像域的转换,并且在转换时,只关注图像中的前景,达到前景转换而背景不变的效果

摘要

当前的无监督图像域转换,努力把转换重点放在图像中的一个物体或者多个物体,同时保证背景不变。启发于人自己的注意力机制,这篇文章提出了无监督的关注机制,结合生成器和辨别器的对抗机制。


网络架构

14085710-1cef6700a47f754d.png
Data-flow diagram

作者定义了两个Attention network As: S->SaAt:T->Ta,一个求源图像域的attention area,一个求目标图像域的attention area.

这张网络架构图完全能读懂他们的整个思路:
1、S域的图像通过As得到Attention map->Sa,Sa 位乘S,得到S的前景部分Sf。
2、Sf通过Fs->t,转换attention area到目标域。
3、s和(1-Sa)按位乘得到s的背景(非 attention部分)Sb
4、Sb和转换到T域图像的前景Sf相加得到最终的结果s’


Attention-guided 判别器

这个工作详细地介绍了他们的判别器。
生成图像时,生成器只转换了attention area的图像转换。但如果判别器依然考虑整个图像会怎么样?
在训练中,随着attention network越来越精确,生成器只关注attention area,判别器依然看全图。那么前景来自于一个数据分布,背景来自于另外一个数据分布,就会存在问题。
举个例子:判别器能从前景是辈出斑马,但是结合背景后,发现这不是斑马所处的环境,所以可能会识别成fake

这会导致两个问题:
1、生成器直接将背景预测为attention area
2、attent map包含越来越多的背景,最终收敛成全1

作者先用整张图像训练判别器30个epoch,当attention network得到提升后用attened区域做训练。

另外一个问题,因为attention map的值为连续的,在训练初期,attention map的值可能会接近0,判别器可能会认为灰度图是真实的。


实验结果

我在我的GTX060的机子上跑了一下,这也是我第一次跑GAN。开始用CPU跑,幸亏没有脑残继续下去(GPU大概快了十倍)。即使这样,训练的时间也是是超级长,二十一小时后,我现在已经跑到epoch=77。


14085710-6083ea8863979655.png
tensorboard

下面给出几个直观的例子


14085710-a44bdbfd23e68e31.png
斑马->马(inputA_76_9 | fakeA_76_9)
14085710-38e1ab9a9d0ee83b.png
马->斑马(inputB_76_10|fakeB_76_10)

Github地址
Paper地址

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值