当前位置: 首页 > news >正文

基于风格的对抗生成网络

基于风格的对抗生成网络

    • 0. 前言
    • 1. MUNIT 原理
    • 2. MUNIT 架构
    • 3. 自编码器设计
    • 4. 图像转换结果

0. 前言

风格迁移的创新影响了生成对抗网络 (Generative Adversarial Network, GAN) 的发展。尽管 GAN 可以生成逼真的图像,但是它们多是通过使用随机潜变量生成的,我们对它们表示的内容知之甚少。即使多模式 GAN 可能会在生成的图像中产生变化,但我们仍不知道如何控制潜变量来实现所需的结果。
我们希望可以独立控制我们想要生成的特征,这称为解耦表示 (disentangled representation),解耦表示的想法是将图像分离为独立的表示。例如,一张脸有两只眼睛,鼻子和嘴巴。正如我们从风格迁移中学到的,图像可以分解为内容和风格。因此研究人员将该想法引入了 GAN 中。
接下来,我们将介绍基于风格的 GAN,多模式无监督图像到图像转换 (Multimodal Unsupervised Image-to-Image Translation , MUNIT),详细探讨整个体系结构以了解在这些模型中如何使用风格。

1. MUNIT 原理

MUNIT 是类似于 BicycleGAN 的图像到图像转换模型。两者都可以生成具有连续分布的多模式图像,但是 BicycleGAN 需要具有成对的数据,而 MUNIT 则不需要。BicycleGAN 通过使用两个将目标图像与潜变量相关联的模型来生成多模式图像。但我们并不清楚这些模型如何工作,也不清楚如何控制潜变量以修改输出。MUNIT 的方法在概念上有很多不同,但也很容易理解,其假定源图像和目标图像共享相同的内容空间,但是具有不同的风格。
下图显示了 MUNIT 背后的原理:

MUNIT

假设我们有两个图像,X1X_1X1X2X_2X2。它们中的每一个都可以分别表示为内容编码和风格编码对 (C1,S1)(C_1, S_1)(C1,S1)(C2,S2)(C_2, S_2)(C2,S2)。假定 C1C_1C1C2C_2C2 都位于共享的内容空间 CCC 中。换句话说,内容可能不完全相同,但相似。风格位于它们各自的特定于域的风格空间中。因此,可以将来自 X1X_1X1X2X_2X2 的图像转换为使用来自 X1X_1X1 的内容编码和来自 X2X_2X2 的风格编码,或者换句话说,根据编码 (C1,S2)(C_1, S_2)(C1,S2) 生成图像。
在风格迁移中,我们将风格视为具有不同笔触,颜色和纹理的艺术风格。现在,我们将风格的含义扩展到了艺术绘画之外。例如,老虎和狮子都是猫科,它们具有不同风格的胡须,皮肤,毛皮和形状。接下来,让我们看一下 MUNIT 模型架构。

2. MUNIT 架构

下图显示了 MUNIT 体系结构:

MUNIT

有两个自编码器,每个域中一个。自编码器将图像编码为其风格和内容代码,然后解码器将其解码回原始图像。这是使用对抗损失训练的,换句话说,模型由自编码器组成,但像 GAN 一样训练。
在上图中,图像重建过程显示在左侧,右边是跨域翻译。如前所述,要从 X1X_1X1 转换为 X2X_2X2,我们首先将图像编码为它们各自的内容和风格代码,然后执行以下操作:

  1. 我们使用 (C1,S2)(C_1, S_2)(C1,S2) 在风格域 2 中生成伪造图像。这也是使用 GAN 进行训练的
  2. 我们将生成图像编码为内容和风格编码。如果翻译效果很好,则应类似于 (C1,S2)(C_1, S_2)(C1,S2)

这类似于 CycleGAN 的循环一致性约束,但是这里的循环一致性不应用于图像,而是应用于内容和风格编码。

3. 自编码器设计

最后,让我们看一下自编码器的详细架构,如下图所示:

自编码器

与其他风格迁移模型不同,MUNIT 不使用 VGG 作为编码器。它使用两个单独的编码器,一个用于内容,另一个用于风格。内容编码器由几个残差块组成,具有实例标准化和下采样功能。这与 VGG 的风格功能非常相似。
风格编码器与内容编码器在两个方面有所不同:

  • 首先,没有归一化,将激活归一化为零意味着删除风格信息
  • 其次,将残差块替换为全连接层。这是因为风格被视为空间不变的,因此我们不需要卷积层即可提供空间信息

也就是说,风格编码仅包含有关眼睛颜色的信息,而无需知道眼睛在哪里,因为这是内容编码的责任。风格编码是低维向量,通常大小为 8,这与 GAN 和变分自编码器 (Variational Autoencoder, VAE)中的高维潜编码不同,并且在风格迁移中具有风格特征。风格编码尺寸较小的原因是,使我们可以使用较少的特征来控制风格,更易于管理。下图显示了内容和风格编码如何输入解码器:

内容和风格编码

解码器中的生成器由一组残差块组成。仅第一组中的残差块将自适应实例归一化 (adaptive instance normalization, AdaIN) 用作归一化层。AdaIN 方程如下,其中 zzz 是来自前一个卷积层的激活:
AdaIN(z,γ,β)=γ(z−μ(z)σ(z))+βAdaIN(z,\gamma,\beta)=\gamma(\frac{z-\mu(z)}{\sigma(z)})+\beta AdaIN(z,γ,β)=γ(σ(z)zμ(z))+β
在前馈神经风格传递中,我们使用来自单个风格层的均值和标准差作为 AdaIN 中的 γγγβββ 。在 MUNIT 中,使用多层感知器从风格编码生成 γγγβββ

4. 图像转换结果

以下屏幕截图显示了 MUNIT 的一对多图像翻译示例。我们可以使用不同的风格编码生成各种输出图像:

图像转换结果

http://www.dtcms.com/a/389662.html

相关文章:

  • 【JavaScript】SSE
  • JAVA算法练习题day15
  • 线性表---双链表概述及应用
  • 作业帮前端面试(准备)
  • 51单片机-使用单总线通信协议驱动DS18B20模块教程
  • 全文单侧引号的替换方式
  • NVIDIA RTX4090 在Ubuntu系统中开启P2P peer access 直连访问
  • 再次深入学习深度学习|花书笔记2
  • 中移物联ML307C模组OPENCPU笔记1
  • 计算机视觉
  • VScode实现uniapp小程序开发(含小程序运行、热重载等)
  • Redis的各种key问题
  • 元宇宙与医疗产业:数字孪生赋能医疗全链路革新
  • 为你的数据选择合适的分布:8个实用的概率分布应用场景和选择指南
  • 掌握Stable Diffusion WebUI:模型选择、扩展管理与部署优化
  • LVGL拼音输入法优化(无bug)
  • 多层感知机:从感知机到深度学习的关键一步
  • PostgreSQL绿色版整合PostGIS插件,以Windows 64位系统为例
  • GEO优化推荐案例:2025年上海源易信息科技的全链路实践
  • 时空预测论文分享:多模态融合 空间索引结构 超图 时演化因果关系
  • 智能手机产量增长4%
  • MySQL高可用MHA实战指南
  • Coze源码分析-资源库-创建工作流-后端源码-核心技术/总结
  • 《棒球团建》国家级运动健将·棒球1号位
  • 基于STM32单片机生理监控心率脉搏TFT彩屏波形曲线加体温测量
  • Selenium 浏览器自动化完全指南:从环境搭建到实战应用
  • C51单片机——开发学习:中断
  • 树与二叉树【数据结构】
  • RPM包版本号系统解析:设计哲学、比较规则与实践指南
  • IDEA启动异常