当前位置:网站首页>[论文阅读] Multimodal Unsupervised Image-to-Image Translation
[论文阅读] Multimodal Unsupervised Image-to-Image Translation
2022-08-10 00:52:00 【xiongxyowo】
Abstract
无监督的图像对图像的翻译是计算机视觉中的一个重要且具有挑战性的问题。给定源域中的图像,目标是学习目标域中相应图像的条件分布,而无需看到任何一对相应的图像。虽然这种条件分布本质上是多模态的,但现有的方法做了一个过于简化的假设,将其建模为一个确定性的一对一映射。因此,它们不能从一个给定的源域图像中产生不同的输出。为了解决这一局限性,我们提出了一个多模态无监督的图像-图像翻译(MUNIT)框架。我们假设图像表示可以被分解为内容代码和风格代码,前者是领域不变的,后者是捕捉领域特定的属性。为了将一幅图像翻译成另一个领域,我们将其内容代码与从目标领域的风格空间中抽取的随机风格代码重新组合。我们分析了所提出的框架并建立了几个理论结果。广泛的实验与最先进的方法进行了比较,进一步证明了所提框架的优势。此外,我们的框架允许用户通过提供一个示例风格图像来控制翻译输出的风格。
Method
之前的图像到图像翻译方法,如CycleGAN,是单模态的,即给定一个输入,只能得到1种可能的输出。而现实中的应用可能需要一些"创造性",输入一张图像应该能得到多种合理的输出,这种情况被称为多模态。一种简单的思想为在将图像输入网络的同时加入一定的噪声,以改变输出结果;然而,事实上很多时候网络都对噪声具有一定的鲁棒性,因此难以起作用。
本文的基本思想为将图像的潜在空间解耦为内容空间(content space)与风格空间(style space)。源域和目标域的内容空间应该是一致的,因此,如果要进行风格转换,只需要交换源域和目标域的风格空间即可。

如上图所示,给定domain A的图像 x 1 x_1 x1以及domain B的图像 x 2 x_2 x2,其内容编码 c 1 c_1 c1与 c 2 c_2 c2应位于同一内容空间 C \mathcal{C} C中,而风格编码 s 1 s_1 s1与 s 2 s_2 s2应该位于各自的风格空间中。若要完成风格转换,只需要将domain A的内容编码 c 1 c_1 c1与domain B的风格编码 s s s相组合即可。
本文的流程如下所示:
每个域各自都有一个"VAE"来将图像解耦为内容编码和风格编码,VAE的结构如下:
损失函数包含以下几个部分:
图像重建损失(Image Reconstruction Loss) 既然是VAE,那么肯定要能自己生成自己,也就是输入的图像 x 1 x_1 x1与重建图像 x ^ 1 \hat{x}_1 x^1应该一致: L recon x 1 = E x 1 ∼ p ( x 1 ) [ ∣ ∣ G 1 ( E 1 c ( x 1 ) , E 1 s ( x 1 ) ) − x 1 ∣ ∣ 1 ] \mathcal{L}^{x_{1}}_{\text{recon}} =\mathbb{E}_{x_{1}\sim p(x_{1})}[||G_{1}(E_{1}^{c}(x_{1}), E_{1}^{s}(x_{1}))-x_{1}||_{1}] Lreconx1=Ex1∼p(x1)[∣∣G1(E1c(x1),E1s(x1))−x1∣∣1]对抗损失(Adversarial Loss) GAN的基本损失了,生成的目标域图像应该看起来像真的: L GAN x 2 = E c 1 ∼ p ( c 1 ) , s 2 ∼ q ( s 2 ) [ log ( 1 − D 2 ( G 2 ( c 1 , s 2 ) ) ) ] + E x 2 ∼ p ( x 2 ) [ log D 2 ( x 2 ) ] \mathcal{L}^{x_{2}}_{\text{GAN}}=\mathbb{E}_{c_{1}\sim p(c_{1}), s_{2}\sim q(s_{2})}[\log(1-D_{2}(G_{2}(c_{1},s_{2})))] + \mathbb{E}_{x_{2}\sim p(x_{2})}[\log D_{2}(x_{2})] LGANx2=Ec1∼p(c1),s2∼q(s2)[log(1−D2(G2(c1,s2)))]+Ex2∼p(x2)[logD2(x2)]双向重建损失(Bidirectional Reconstruction Loss)
也就是约束如何去解耦的,算是本文的核心。例如,对于domain A的图像 x 1 x_1 x1,将其用domain A的VAE进行编码,得到内容编码 c 1 c_1 c1,将其与domain B的风格编码 s 2 s_2 s2结合,可以得到一张domain B的图像。将这张domain B的图像使用domain B的VAE进行编码,得到内容编码 c ∗ c* c∗。由于内容编码应该是和domain无关的,因此 c 1 c_1 c1与 c ∗ c* c∗应该保持一致: L recon c 1 = E c 1 ∼ p ( c 1 ) , s 2 ∼ q ( s 2 ) [ ∣ ∣ E 2 c ( G 2 ( c 1 , s 2 ) ) − c 1 ∣ ∣ 1 ] \mathcal{L}^{c_{1}}_{\text{recon}} = \mathbb{E}_{c_{1}\sim p(c_{1}), s_{2}\sim q(s_{2})}[||E^{c}_{2}(G_{2}(c_{1},s_{2}))-c_{1}||_{1}] Lreconc1=Ec1∼p(c1),s2∼q(s2)[∣∣E2c(G2(c1,s2))−c1∣∣1] 同时,用 s 2 s_2 s2重建得到的图像的风格,再进行编码,风格码应该仍为 s 2 s_2 s2,因此有: L recon s 2 = E c 1 ∼ p ( c 1 ) , s 2 ∼ q ( s 2 ) [ ∣ ∣ E 2 s ( G 2 ( c 1 , s 2 ) ) − s 2 ∣ ∣ 1 ] \mathcal{L}^{s_{2}}_{\text{recon}} = \mathbb{E}_{c_{1}\sim p(c_{1}), s_{2}\sim q(s_{2})}[||E^{s}_{2}(G_{2}(c_{1},s_{2}))-s_{2}||_{1}] Lrecons2=Ec1∼p(c1),s2∼q(s2)[∣∣E2s(G2(c1,s2))−s2∣∣1] 据此就将风格与内容分离开来。
边栏推荐
- CMake 编译运行dpdk项目程序
- 跨部门沟通的技巧
- hint: Updates were rejected because the tip of your current branch is behind hint: its remote counte
- 即时通讯开发如何撸一个WebSocket服务器
- unity编辑器扩展界面使用 List
- RedHat红帽RHEL7安装与使用,VMware Workstation16 Pro虚拟机的安装与使用
- R语言使用coxph函数构建生存分析回归模型,使用forestmodel包的forest_model函数可视化生存回归模型对应的森林图
- Xi'an biotin-tetrapolyethylene glycol-amide-4phenol light yellow semi-solid
- 以太网PHY芯片LAN8720A芯片研究
- DP 优化方法合集
猜你喜欢

20220809-PotPlayer如何设置默认字体色-设置默认字体色的方法

PEG derivative Biotin-PEG1-OH (cas: 95611-10-2, 2-biotinaminoethanol) advantage description

基于SSM实现手机销售商城系统

Characteristics of the (CAS:1527486-16-3TAMRA-azide-PEG3-Biotin) reaction in biotin azide!

商业模式及其 SubDAO 深入研究

D-Biotinol Involved by Biotin, CAS No: 53906-36-8 Specific Properties Description

即时通讯开发如何撸一个WebSocket服务器

Unity顶点动画

高校就业管理系统设计与实现

使用 GoogleTest 框架对 C 代码进行单元测试
随机推荐
Aptos 深度解读:机遇、挑战与风险
Initial attempt at UI traversal
【kali-密码攻击】(5.1.2)密码在线破解:Medusa
DALL·E-2是如何工作的以及部署自己的DALL·E模型
Sikuli 基于图形识别的自动化测试技术
基于Web的疫情隔离区订餐系统
Moonbeam网络维护模式(Maintenance Mode)解读
破产企业的职工退休怎么办?
不是吧,连公司里的卷王写代码都复制粘贴,这合理?
C# 四舍五入 MidpointRounding.AwayFromZero
初步认识对象
CMake 编译运行dpdk项目程序
2022金九银十工作潮,怎么样才能成功跳槽面试拿到高薪呢?
惊掉你下巴,程序员编码竟然可以被 996 指数化
365 days challenge LeetCode1000 questions - Day 052 Step by step summation to get the minimum value of positive numbers Greedy
RedHat红帽RHEL7安装与使用,VMware Workstation16 Pro虚拟机的安装与使用
Data storage - the C language
开发IM即时通讯容易吗?需要什么技术
R语言使用cox函数构建生存分析回归模型、使用subgroupAnalysis进行亚组分析并可视化森林图
以太网PHY芯片LAN8720A芯片研究