Show, Attend and Translate: Unsupervised Image Translation with Self-Regularization and Attention 解读

本文提出了一种结合Attention机制和self-Regularization的无监督图像域转换模型。

问题

为了解决两个域间的图像转换问题,需要学习从一个域到另一个域的映射,将X域中的图像转换到Y域。
本文的目的是使生成的图像看起来和源图像(X域)是相似的,同时具备Y域图像的特征。

如上图所示,图像从Horse域转换到了Zebra域,但是背景部分并没有变化。


方法

由于现在的图像转换方法经常会对图像作一些多余的修改,于是作者提出加入一个attention模型来预测一个attention map来指导图像转换。

模型结构如上图所示。
生成器G包含了两个部分,常见的生成器G-0和attention部分G-attn。
G-0负责将输入图像x转换到Y域,G-attn负责预测一个 attention mask。其中G-attn(x)和x同纬度,并且每个像素点都是一个0-1的概率值。
最后在根据G-attn(x)将x,G-0(x)相加得到G(x),之后会具体介绍是怎么加的。


Loss


生成器loss


其中

G-attn(x)即attention mask表示每个像素需要attend的概率,G-attn(x)*G-0(x)就从转换过后的图像中取出attend的部分(前景),(1-G-attn(x))*x就从原图像中得到了不被attend的部分(背景),将两者加起来就得到了最后的输出。
再回到本文的生成器loss,loss由两部分构成对抗loss L-adv和自正则化loss L-reg。


判别器loss

判别器loss就是常见的GAN中的判别器loss

同样生成器loss L-adv就是


自正则化loss Self-regularization loss

加入自正则化可以使生成的图像和原图保持视觉上的相似,即保留原图的低纬特征。例如 颜色,性质,轮廓等。
自正则化被定义为最小化生成图像和原图的距离,这个距离可以是L1,L2或者SSIM等。
所以生成器L-reg定义为

F是在IMageNet上预训练的VGG网络,用来提取特征。
其中H和W表示不同层,即在多层上做自正则化。
作者提出取前三层能取到最好的效果,并且w1,w2,w3分别取1.0/32,1.0/16,1.0/8。


训练方式

首先单独训练G-0
保持G-0不动,训练G-attn
jointly fine-tune G-0和G-attn


Adaptive weight induction

生成器loss中L-reg前面有一个 λ,一般这个都是作为超参数手工设置的,本文作者采用了一种自适应的方法。
首先设置 λ为0
之后逐步增大 λ
当对抗loss 降低到某个值过后停止增大 λ
继续训练直到收敛
作者说这种方式能够找到较好的 λ,但是原因没有说的很清楚。


具体实现

G-0

由三部分组成,下采样,残差块,上采样层
前部分下采样层 包括两个卷积 stride为2
中间部分是 9个残差块 保持height/width不变
末尾部分 两个反卷积 stride为2
每个卷积后面都跟了 batch normalization和Relu


G-attn

G-attn由初始VGG(取到conv3_3)构成,然后跟了两个分卷积,最后是一个卷积和sigmoid。


Discriminator

5层卷积
前三层stride为2后两层为1
输出是一个判断real/fake的向量


更多细节请看论文地址
目前代码还没有开源出来。

Results


猜你喜欢

转载自blog.csdn.net/sinat_29963957/article/details/82019944