Attention-GAN for Object Transfiguration in Wild Images

引言

笔者前两天看到了这篇文章,因为最近也一直在看这方面就写篇博客记录一下。
这篇文章主要是结合了Attention机制来做的Object Transfiguration

Object Transfiguration

用传统的GAN网络做Object Transfiguration 时一般有两个步骤:

  • 检测感兴趣的目标
  • 将检测到的目标转换到另一个域

于是作者将这中传统的生成网络,分成了两个网络:

  • Attention network
  • Object Transfiguration network

其中Attention network 用于提供稀疏的Attention maps,Object Transfiguration network做域转换,之后在将两个网络的输出进行合成得到最终的output。

Model


此模型包含三个部分A(for Attention),T(for Transfiguration ),D(for Discriminator)。
其中的Transfiguration指域转换。
The architecture of the proposed model

Pipeline

Branch One

  • 输入一个X域的图像x
  • 通过A得到一个和x同纬度的score map(0-1),得分高的作为Attention,低的作为背景

Branch Two

  • T将x转换到Y域

之后使用一个分成操作(layered operation)得到最后的图像。

公式

这里写图片描述
这里G主要是从X域到Y域的一个转换,F为从Y域到X的转换,这使用到了LSGAN的方法。
这里作者还提到,生成图像的背景和原图的背景差异很大导致cycle consistency loss 很难到0,但在作者的方法中,因为A(x)提供了一个mask,将图片分为interest(可以理解为前景)和background两个部分,而背景部分不会被转换,所以作者方法的cycle consistency loss可以收敛到0。

Attention Losses

和cycle consistency 相似,X域中x的Attention map和由x转换到Y域中y的Attention map应该是一致的。即:
这里写图片描述
这里写图片描述
所以,作者提出的attention cycle-consistent loss如下:
这里写图片描述
为了使Attention network更专注于和感兴趣的目标有关的小区域(为了使attention 更精确),加入了以下 sparse loss
这里写图片描述

整体的loss为:
这里写图片描述
其中前三项的定义为LSGAN中的定义:
这里写图片描述
这里写图片描述
训练就还是使用GAN的minmax训练。

Extra Supervision

作者提到在某些数据集,我们可以很容易的获取到segmentation annotations 时,就可以在Attention network训练时加入segmentation label作为监督。
此时attention loss就变为:
这里写图片描述
其中m为segmentation label。
整个Loss就变为
这里写图片描述
不再需要之前的公式7和8

实验结果

这里写图片描述

结语

更多的细节可以看论文,论文地址
感觉看完细节方面还是有点不清楚,一直想看看源码,但是目前作者还没有放出来。
总的感觉该文章和Self Attention GAN有点像,都是使用了一个Attention mask。
笔者目前对Attention的东西还不是很熟,之后还会多看看这方面的东西。

猜你喜欢

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