美文网首页
Unsupervised Attention-guided Im

Unsupervised Attention-guided Im

作者: EwanRenton | 来源:发表于2018-08-25 16:01 被阅读0次

    本文和上一篇show,Attend一样,都是基于attention机制的图像转换。两篇文章的工作大体是相似的,但是这篇文章的代码开源了。


    这篇文章和上篇文章一样都是做图像域转换,并且在转换时都想要只关注图像中的前景,达到前景转换而背景不变的效果。
    在上一篇blog中已经介绍过了图像域转换,所以这里就直接开始讲作者提出的模型了。


    Model

    Fs->t表示从S域到T域的转换。
    作者定义了两个Attention network As:S->Sa At:T->Ta Sa和Ta为attention map。Sa和Ta和图像的纬度相同,取值范围是[0-1]。
    pipeline如下:

    • S域的图像s通过As得到attention map Sa,Sa和s按位乘,得到s的前景(attention 部分)Sf。
    • Sf 通过Fs->t 转换到T域,再和Sa 按位乘,得到转换到T域图像的前景。
    • s和(1-Sa)按位乘得到s的背景(非 attention部分)Sb
    • Sb和转换到T域图像的前景相加得到最终的结果s'

    Attention-guided generator

    上面已经介绍了整个pipeline,这里就再来看他们的生成器。



    最终的s'由两部分组成,转换到T域的前景和原图s的背景。

    Attention network在公式1中起到了非常重要的作用,如果Attention map Sa为全1,相当于Attention 了整个图像,那么整个工作就和CycleGAN一样了,如果Sa为全0那么所有生成的图像都会一样,那判别器就永远不会被欺骗,如果Sa Attention的部分没有一个可以转换的Object(没有Attention到前景)那么s’就会保持原有的域,起不到转换的效果。
    所以为了能在Fs->t,As,Dt中找到一个平衡,As只能去Attention判别器认为最能区分该图像所属域的部分。


    Loss Function

    loss和其他工作还是差不多的
    首先是对抗loss


    就是常规GAN的对抗loss
    接下来是cycle loss



    其中s''是 s'从T域再转换回S域的结果。

    所以整个loss如下



    Attention-guided discrimination

    之前的attention的工作很少会说到判别器,这个工作非常详细的讲了他们的判别器,这也是笔者觉得本文比较重要的部分。

    在生成图像时,生成器只关注了图像中attended的部分,那如果判别器依然考虑整个图像会怎么样?
    在训练中,随着attention network越来越精确,生成器只转换图像中attened的部分,判别器如果任然看全图,那么改图的前景来自一个数据分布,背景来自另一个数据分布,就会有问题。
    举个例子,在马->斑马的转换中,判别器从前景上来看,识别出来是斑马,但是结合背景过后,发现这不是斑马所处的环境(即不存在这样的数据分布),所以可能会识别成fake。
    这样会导致两个问题

    1. 生成器直接将背景预测成attended regions
    2. attent map包含越来越多的背景,最终收敛成全1

    为了解决这个问题,判别器也需要只关注attended的区域,但如果简单的将Sa和s按位乘也会有问题。
    当real的图像送到判别器,此时的Sa是初始状态(没有经过训练),如果GAN中的network是同时训练的模型将会坍塌。
    所以训练时,作者先使用整张图像训练判别器30个epoch,当attention network得到提升后在用attened 区域来训练。
    另外还有一个问题,因为attention map的值是连续的,在训练初期,attention map的值可能会接近0,判别器可能会认为灰度图是real的,因为当real图像被送到判别器时,Sa为接近0的值,mask过后就得到了一张灰度图。所以,作者为判别器的attention map设置了一个阈值,并且设置成0.1。



    所以对抗loss就更新为



    Learning rates

    训练30个epoch过后,判别器中加入了attention map,如果此时训练不是很完美模型依然可能会坍塌。
    例如,attention map总是全0,生成器就会生成总是'real'的图像,t-new就会变成all black。为了避免这个问题,作者将As,At的学习率调得比判别器的低。


    Results

    更多细节请看论文地址
    代码已开源代码地址


    最后

    之前觉得这篇文章看得还挺懂了,今天将之前的笔记整理了一下写出来过后,发现在判别器部分还是有一点迷糊,还需要进一步消化。

    相关文章

      网友评论

          本文标题:Unsupervised Attention-guided Im

          本文链接:https://www.haomeiwen.com/subject/tmjgiftx.html