Unsupervised Attention-guided Image-to-Image Translation
这是NeurIPS 2018一篇图像翻译的文章。目前的无监督图像到图像的翻译技术很难在不改变背景或场景中多个对象交互方式的情况下将注意力集中在改变的对象上去。这篇文章的解决思路是使用注意力导向来进行图像翻译。下面是这篇文章的结果图:

可以看到文章结果很好, 只有前景(对象)改变了, 而背景变化很小, 而其他的方法背景变化很大, 效果偏差.
现在介绍作者的方法,作者在cyclegan的基础上加入另外一个注意力网络,如下图所示:

上图的左边就是斑马转普通马的具体流程,首先\(s\)(斑马)会通过\(F_{S \rightarrow T}\)(\(S\)代表Source,\(T\)代表Target)得到普通马的预测,通知\(s\)还会通过一个注意力网络\(A_S\)得到掩模\(s_a\),这个注意力层是想将前景突显出来(很大的值),背景则忽略掉(很小的值),这样与\(F_{S \rightarrow T}\)的输出进行按点相乘,就会只凸显出马,而背景就是很低的值,这个掩模还有用处,通过\(1-s_a\)可以得到只凸显背景而忽略前景的掩模,将这个掩模去与\(s\)相乘,得到source的背景,而其前景则被置于很低的值,然后两者进行相加,得到最终预测\(s^{\prime}\)。\(s^{\prime}\)的计算公式可由下面公式表示:
\[
s^{\prime}=\underbrace{s_{a} \odot F_{S \rightarrow T}(s)}_{\text { Foreground }}+\underbrace{\left(1-s_{a}\right) \odot s}_{\text { Background }}
\]
由于基于cyclegan,所以还需要将\(s^{\prime}\)转换成\(s^{\prime\prime}\), 约束\(s^{\prime\prime}\)和\(s\)尽可能相似,所以还有一个普通马转斑马的过程,与斑马转普通马的过程一样,也用到了注意力网络\(A_T\).
注意力网络所生成的掩模为什么会与前景相关呢?如果不跟前景相关,根据上述公式知道,Foreground将不会凸显前景,因为掩模不跟前景相关,相乘会得到低值前景,而Background将凸显斑马的特征,相加后还是斑马,与普通马差异大,无法骗过鉴别器,所以注意力网络的掩模会学习与前景相关。
注意力网络的输出是\([0, 1]\)之间的连续值,而不是二进制分割掩码,这有三点原因:
- 连续可微,可以进行训练
- 可以让注意力网络在训练过程中保持注意力的不确定性,允许收敛
- 允许网络学习如何组合边缘,否则可能会使前景对象看起来“粘在”边缘上。
现在来看看损失函数(这里只介绍\(S \rightarrow T\)以及\(S \rightarrow T \rightarrow S\)的loss,\(T \rightarrow S\)和\(T \rightarrow S \rightarrow T\)是一样的),首先是GAN固有的对抗损失:
\[
\mathcal{L}_{a d v}^{s}\left(F_{S \rightarrow T}, A_{S}, D_{T}\right)=\mathbb{E}_{t \sim P_{T}(t)}\left[\log \left(D_{T}(t)\right)\right]+\mathbb{E}_{s \sim \mathrm{P}_{S}(s)}\left[\log \left(1-D_{T}\left(s^{\prime}\right)\right)\right]
\]
然后是cyclegan中的一致性损失\(S \rightarrow T \rightarrow S\), 公式如下:
\[
\mathcal{L}_{c y c}^{s}\left(s, s^{\prime \prime}\right)=\left\|s-s^{\prime \prime}\right\|_{1}
\]
总的loss为:
\[
\mathcal{L}\left(F_{S \rightarrow T}, F_{T \rightarrow S}, A_{S}, A_{T}, D_{S}, D_{T}\right)=\mathcal{L}_{a d v}^{s}+\mathcal{L}_{a d v}^{t}+\lambda_{c y c}\left(\mathcal{L}_{c y c}^{s}+\mathcal{L}_{c y c}^{t}\right)
\]
似乎到这里就结束了,其实还没有,作者发现翻译后的马现在看起来像斑马,但整体场景是假的,因为背景仍然显示了马生活在草地上的地方,而不是斑马生活在热带稀树草原上的地方,要向骗过鉴别器,注意力网络也会将背景凸显出来,这是我们不想看到的,具体事例如下图所示:

可以看到在30个epochs的时候,前景就差不多完全凸显出来了,所以作者采取了two-stage的策略,第一个stage按照上述loss训练\(F_{S}, F_{T}, A_{S}, A_{T}, D_{T}, D_{S}\), 在第二个stage的时候,中断$ A_{S}, A_{T}$的训练,只训练鉴别器和生成器,当然第二个stage的loss也要变化了。
第二个stage的掩模是固定的,生成器的输出根据掩模进行了阈值处理,处理公式如下:
\[
t_{\text { new }}=\left\{\begin{array}{ll}{t} & {\text { if } A_{T}(t)>\tau} \\ {0} & {\text { otherwise }}\end{array} \quad \text { and } \qquad s_{\text { new }}^{\prime}=\left\{\begin{array}{ll}{F_{S \rightarrow T}(s)} & {\text { if } A_{S}(s)>\tau} \\ {0} & {\text { otherwise }}\end{array}\right.\right.
\]
其中\(\tau\)设定为0.1,对应的对抗loss的公式就变为:
\[
\mathcal{L}_{a d v}^{s}\left(F_{S \rightarrow T}, A_{S}, D_{T}\right)=\mathbb{E}_{t \sim \mathrm{P}_{T}(t)}\left[\log \left(D_{T}\left(t_{\text { new }}\right)\right)\right]+\mathbb{E}_{s \sim \mathrm{P}_{S}(s)}\left[\log \left(1-D_{T}\left(s_{\text { new }}^{\prime}\right)\right)\right)
\]
总的训练过程如下所示:

作者提出的这种方法还是有限制的,对域之间的形状更改没有鲁棒性,如下所示:

可以看到狮子转成斑马域后,狮子的毛发形状特征缺失很多,而斑马转狮子一样,没有形状细节。
总的来说,这篇文章还是挺有意思的,值得写写笔记!
Unsupervised Attention-guided Image-to-Image Translation的更多相关文章
- (转)Attention
本文转自:http://www.cosmosshadow.com/ml/%E7%A5%9E%E7%BB%8F%E7%BD%91%E7%BB%9C/2016/03/08/Attention.ht ...
- CVPR 2017 Paper list
CVPR2017 paper list Machine Learning 1 Spotlight 1-1A Exclusivity-Consistency Regularized Multi-View ...
- 神经机器翻译(NMT)相关资料整理
作者:zhbzz2007 出处:http://www.cnblogs.com/zhbzz2007 欢迎转载,也请保留这段声明.谢谢! 1 简介 自2013年提出了神经机器翻译系统之后,神经机器翻译系统 ...
- Abstractive Summarization
Sequence-to-sequence Framework A Neural Attention Model for Abstractive Sentence Summarization Alexa ...
- MATLAB批量打印输出600PPI的图像且图像不留空白
一 前言 最近收到审稿人的修改意见,其中有三条:一条为<RC: There were only five images evaluated in the experiment, and I re ...
- (原)Show, Attend and Translate: Unsupervised Image Translation with Self-Regularization and Attention
转载请注明出处: https://www.cnblogs.com/darkknightzh/p/9333844.html 论文网址:https://arxiv.org/abs/1806.06195 在 ...
- 课程五(Sequence Models),第三周(Sequence models & Attention mechanism) —— 1.Programming assignments:Neural Machine Translation with Attention
Neural Machine Translation Welcome to your first programming assignment for this week! You will buil ...
- 论文笔记之:DualGAN: Unsupervised Dual Learning for Image-to-Image Translation
DualGAN: Unsupervised Dual Learning for Image-to-Image Translation 2017-06-12 21:29:06 引言部分: 本文提出 ...
- Unsupervised Image-to-Image Translation Networks --- Reading Writing
Unsupervised Image-to-Image Translation Networks --- Reading Writing 2017.03.03 Motivations: most ex ...
- Phrase-Based & Neural Unsupervised Machine Translation基于短语非监督机器翻译
1. 前言 本文介绍一种无监督的机器翻译的模型.无监督机器翻译最早是<UNSUPERVISED NEURAL MACHINE TRANSLATION>提出.这个模型主要的特点,无需使用平行 ...
随机推荐
- MySQL-8.0.x DDL 原子性
[1.mysql-8.0.x 新特性之 DDL 原子性] 在没有 DDL 原子性之前 DBA 对 DDL 语句基本上是无能为力的,比如说 DDL 执行的过程中停电了,这下就只有天知道了.实现上最终的愿 ...
- tomcat9上传文件失败错误
项目上线正常运行一段时间后,有一天突然所有的附件上传都出现了错误,查找项目本身的日志系统也一致没有跟踪到错误.经过几番折腾,在tomcat9-stdout.log日志中发现如下异常: ERROR or ...
- Docker - 卷组管理(三)
一.不指定宿主机目录 首先运行一个nginx容器 docker run -d --name mynginx -p 8080:80 -v /usr/share/nginx/html nginx --na ...
- python基础(8):基本数据类型三(dict)、is和==、编码和解码
1. 字典 1.1 字典的介绍 字典(dict)是python中唯一的一个映射数据类型,它是以{}括起来的键值对组成.在dict中key是唯一的,在保存的时候,根据key来计算出一个内存地址,然后将k ...
- gzip格式分析与识别
" 介绍gzip格式,识别gzip压缩的数据流量." 在协议分析过程中,经常会发现gzip压缩的数据,例如在HTTP协议中,在HTTP头中会标示,内容编码为gzip.DEFLATE ...
- 一文解读ARM架构 (转)
本文主要介绍的是arm架构和x86架构的区别,首先介绍了ARM架构图,其次介绍了x86架构图,最后从性能.扩展能力.操作系统的兼容性.软件开发的方便性及可使用工具的多样性及功耗这五个方面详细的对比了a ...
- DevOps 工程师成长日记系列一:必备知识与技能组合
原文地址:https://medium.com/@devfire/how-to-become-a-devops-engineer-in-six-months-or-less-366097df7737 ...
- 从立创EDA,Gratipay看中文编程开发环境和推广运营的一个趋势
前不久听说立创EDA,对比之前的讨论: 适合中文用户的编程语言和IDE, 侧重于现有语言/IDE不具备的特性 · Issue #11 · program-in-chinese/overview,觉得颇 ...
- Vue.js+cube-ui(Scroll组件)实现类似头条效果的横向滚动导航条
本博主在一次个人移动端项目中,遇到这么一个需求:希望自己的项目中,头部导航条的效果可以像今日头条那样,横向滚动! 对于这样的效果,在各大移动端项目中几乎是随处可见,为什么呢? 我们都知道,对于移动端也 ...
- 五分钟搞懂什么是B-树(全程图解)【转】
前戏 我们大家都知道动态查找树能够提高查找效率,比如:二叉查找树,平衡二叉查找树,红黑树.他们查找效率的时间复杂度O(log2n),跟树的深度有关系,那么怎么样才能提高效率呢?当然最快捷的方式就是减少 ...