热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Stylegan3editing:未对齐的图像也能反演编辑?

titleThirdTime’stheCharm?ImageandVideoEditingwithStyleGAN3authorYuvalAlalufLink论文地址C

在这里插入图片描述
title

Third Time’s the Charm? Image and Video Editing with StyleGAN3

author

Yuval Alaluf

Link

论文地址

Code

在这里插入图片描述




StyleGAN is arguably one of the most intriguing and well-studied generative models, demonstrating impressive performance in image generation, inversion, and manipulation. In this work, we explore the recent StyleGAN3 architecture, compare it to its predecessor, and investigate its unique advantages, as well as drawbacks. In particular, we demonstrate that while StyleGAN3 can be trained on unaligned data, one can still use aligned data for training, without hindering the ability to generate unaligned imagery. Next, our analysis of the disentanglement of the different latent spaces of StyleGAN3 indicates that the commonly used W/W+ spaces are more entangled than their StyleGAN2 counterparts, underscoring the benefits of using the StyleSpace for fine-grained editing. Considering image inversion, we observe that existing encoder-based techniques struggle when trained on unaligned data. We
therefore propose an encoding scheme trained solely on aligned data, yet can still invert unaligned images. Finally, we introduce a novel video inversion and editing workflow that leverages the capabilities of a fine-tuned StyleGAN3 generator to reduce texture sticking and expand the field of view of the edited video.


作者研究分析了Stylegan3的结构,并与之前的结构进行比较,调查了其独特的优点和缺点。通过实验证明了:虽然Stylegan3可以用未对齐的数据训练,但仍然可以使用对齐的数据训练,而且不会妨碍模型生成未对齐图像的能力。

作者通过在Stylegan3 不同潜空间的解耦分析,发现Stylegan3下的 W/W+ 空间比 Stylegan2 对应的空间更纠缠,由此提出了使用 StyleSpace 进行细粒度编辑的好处。(本文提出的一种潜空间)

作者发现通过未对齐的数据训练编码器时,技术会遇到困难。作者实验发现:即使单独训练对齐数据,仍然可以反转未对齐的图像。最后,作者引入了一种新颖的视频反转和编辑工作流程,它利用finetuned的Stylegan3 生成器的功能来减少纹理粘连并扩展已编辑视频的视野。




Stylegan3结构分析

在这里插入图片描述

在mapping network部分,并无变化,通过全连接网络将初始latent code z ~N(0,1) [512] 转换成w,并加入可学习的latent space W。

与Stylegan2相比,Stylegan3的synthesis network由固定数量的卷积层构成,与输出图像分辨率无关。Stylegan2中的constant 4*4被傅里叶特征(Fourier feat)取代,其中四个参数(sin a , cos a , x , y)通过学习仿射层从w0获取。在剩下的层中,每个wi被送入一个独立的学习仿射层,产生的modulation factors用来调整卷积核权重。

在Stylegan2中,这些仿射层输出所跨越的空间被称为StyleSpace(S空间),本文中我们类似地定义了Stylegan3的S空间。

由于生成图像的平移、旋转是由w0中特定参数控制得到,所以很容易通过一些其他的变换来生成结果。作者提出了一种transformation:
y=G(w;(r,tx,ty))y = G(w;(r,t_{x},t_y)) y=G(w;(r,tx,ty))
它甚至可以应到到仅由aligned data训练的生成器中,使其可以生成平移或旋转的图像。

而相对的,在unaligned data训练的生成器,可以将w0设置成平均latent code w,来强制生成大致对齐的图像。作者认为这可能由于以下原因:(1)训练的数据分布中平均姿态大致对齐和居中(2)Stylegan3中的平移和旋转变换主要由第一层控制,而Stylegan3设计的核心是等方差性:早期层的平移或旋转会被保留,然后在结果中才出现。(所以才会大致对齐)


Analysis


Rotation Control

作者进行了一系列实验,发现只改变w1时,会影响最终生成的图像的旋转情况,而当固定w0和w1时,最终生成的图像都具有相同的头部姿势。因此作者认为平移和旋转主要有w0和w1控制,后续层不会进一步影响。


Disentanglement Analysis

作者同样进行了一些实验,发现了在Stylegan3中S空间更加解纠缠。

在这里插入图片描述


Image Editing


作者实验了在不同潜空间编辑的效果(w / w+ / s)


在w空间,作者使用Interfacegan来寻找linear directions,对于aligned数据,编辑过程和Stylegan2很类似,而对于unaligned数据,作者提出了两种方法:

(1)使用在aligned数据上预训练的属性分类器来寻找unaligned数据属性的directions,但这样会存在一些问题,比如分类器在unaligned数据上得分可能不准确,导致生成的directions没效果,同时如果使用unaligned生成器,可能会需要很多独立的directions集合。

(2)使用aligned生成器来生成数据,然后使用一些用户定义的transformations来完成平移和旋转。

实验发现:(1)通过在aligned数据训练的分类器,在unaligned数据中分类分数不够准确,导致伪对齐的图像始终处于域外(2)编辑线性空间方向很难解纠缠

在w+空间,之前的一些工作证明了在w+空间非线性编辑会产生更加真实、令人信服的解纠缠的图像,作者使用了StyleClip进行实验,发现在Stylegan3中表现不好,仍然无法很好的解纠缠。

在这里插入图片描述

在这里插入图片描述

基于以上原因,作者开始探索S空间,并发现S空间相较于W、W+空间解纠缠。

在这里插入图片描述


Stylegan3 Inversion


Designing the Encoder Network

为了能够encoding aligned and unaligned数据,反演策略必须支持这两种输入类型。

如何encoding unaligned images?

作者选择利用在aligned data上训练的生成器来设计一个仅在aligned data上训练的encoder。如上文所示,这种方案可用于编辑和生成aligned and unaligned图像。而且,利用这种方案,编码器不需要正确捕获unaligned image的高度和姿势,简化了训练目标,使其可以专注于捕获输入身份和其他图像特征。

给定一个通过aligned images训练的encoder,如何扩展它使其能够encoding和editing unaligned images?假设给定一张xunalignedx_{unaligned}xunaligned,计算它和 xalignedx_{aligned}xaligned的平移旋转差异,生成(r,tx,ty)(r,t_{x},t_{y})(r,tx,ty),最终反演方案:
waligned=E(xaligned)yunaligned=G(Waligned;r(r,tx,ty))w_{aligned} = E(x_{aligned})\\ y_{unaligned} = G(W_{aligned};r(r,t_{x},t_{y})) waligned=E(xaligned)yunaligned=G(Waligned;r(r,tx,ty))


Inverting Images into StyleGAN3

作者使用了如上的反演方案来测试对比,encoder选用了RestylepspRestyle_{psp}RestylepspRestylee4eRestyle_{e4e}Restylee4e

在这里插入图片描述

定性评价 Stylegan3 encoder和Stylegan2 encoder视觉上对应,而且Stylegan3可以忠实的再现输入位置。

定量评价 除了推理时间,加入了ID、L2距离等来做评价。Stylegan3 encoder的性能稍差。

通过潜在空间操作的可编辑性

Restyle_e4e encoder实现了真实而有意义的编辑,同时保留了输入身份,相较于Restyle_psp,重建质量更高。两者在Stylegan3之间的差距比Stylegan2要大。(观察第二行最后,psp会产生很大的伪影)

在这里插入图片描述


Inverting and Editing Videos

这一块不作描述,感兴趣的话可以阅读论文。

在这里插入图片描述


推荐阅读
  • Android 自定义 RecycleView 左滑上下分层示例代码
    为了满足项目需求,需要在多个场景中实现左滑删除功能,并且后续可能在列表项中增加其他功能。虽然网络上有很多左滑删除的示例,但大多数封装不够完善。因此,我们尝试自己封装一个更加灵活和通用的解决方案。 ... [详细]
  • 本文介绍如何在 Android 中自定义加载对话框 CustomProgressDialog,包括自定义 View 类和 XML 布局文件的详细步骤。 ... [详细]
  • 在对WordPress Duplicator插件0.4.4版本的安全评估中,发现其存在跨站脚本(XSS)攻击漏洞。此漏洞可能被利用进行恶意操作,建议用户及时更新至最新版本以确保系统安全。测试方法仅限于安全研究和教学目的,使用时需自行承担风险。漏洞编号:HTB23162。 ... [详细]
  • 如果应用程序经常播放密集、急促而又短暂的音效(如游戏音效)那么使用MediaPlayer显得有些不太适合了。因为MediaPlayer存在如下缺点:1)延时时间较长,且资源占用率高 ... [详细]
  • 深入解析 Lifecycle 的实现原理
    本文将详细介绍 Android Jetpack 中 Lifecycle 组件的实现原理,帮助开发者更好地理解和使用 Lifecycle,避免常见的内存泄漏问题。 ... [详细]
  • 本文详细介绍了MySQL数据库的基础语法与核心操作,涵盖从基础概念到具体应用的多个方面。首先,文章从基础知识入手,逐步深入到创建和修改数据表的操作。接着,详细讲解了如何进行数据的插入、更新与删除。在查询部分,不仅介绍了DISTINCT和LIMIT的使用方法,还探讨了排序、过滤和通配符的应用。此外,文章还涵盖了计算字段以及多种函数的使用,包括文本处理、日期和时间处理及数值处理等。通过这些内容,读者可以全面掌握MySQL数据库的核心操作技巧。 ... [详细]
  • 本文介绍了如何利用 `matplotlib` 库中的 `FuncAnimation` 类将 Python 中的动态图像保存为视频文件。通过详细解释 `FuncAnimation` 类的参数和方法,文章提供了多种实用技巧,帮助用户高效地生成高质量的动态图像视频。此外,还探讨了不同视频编码器的选择及其对输出文件质量的影响,为读者提供了全面的技术指导。 ... [详细]
  • 开发技巧:在Interface Builder中实现UIButton文本居中对齐的方法与步骤
    开发技巧:在Interface Builder中实现UIButton文本居中对齐的方法与步骤 ... [详细]
  • 如何将TS文件转换为M3U8直播流:HLS与M3U8格式详解
    在视频传输领域,MP4虽然常见,但在直播场景中直接使用MP4格式存在诸多问题。例如,MP4文件的头部信息(如ftyp、moov)较大,导致初始加载时间较长,影响用户体验。相比之下,HLS(HTTP Live Streaming)协议及其M3U8格式更具优势。HLS通过将视频切分成多个小片段,并生成一个M3U8播放列表文件,实现低延迟和高稳定性。本文详细介绍了如何将TS文件转换为M3U8直播流,包括技术原理和具体操作步骤,帮助读者更好地理解和应用这一技术。 ... [详细]
  • 基于Net Core 3.0与Web API的前后端分离开发:Vue.js在前端的应用
    本文介绍了如何使用Net Core 3.0和Web API进行前后端分离开发,并重点探讨了Vue.js在前端的应用。后端采用MySQL数据库和EF Core框架进行数据操作,开发环境为Windows 10和Visual Studio 2019,MySQL服务器版本为8.0.16。文章详细描述了API项目的创建过程、启动步骤以及必要的插件安装,为开发者提供了一套完整的开发指南。 ... [详细]
  • Android 构建基础流程详解
    Android 构建基础流程详解 ... [详细]
  • 本文介绍了如何利用Struts1框架构建一个简易的四则运算计算器。通过采用DispatchAction来处理不同类型的计算请求,并使用动态Form来优化开发流程,确保代码的简洁性和可维护性。同时,系统提供了用户友好的错误提示,以增强用户体验。 ... [详细]
  • 为了在Hadoop 2.7.2中实现对Snappy压缩和解压功能的原生支持,本文详细介绍了如何重新编译Hadoop源代码,并优化其Native编译过程。通过这一优化,可以显著提升数据处理的效率和性能。此外,还探讨了编译过程中可能遇到的问题及其解决方案,为用户提供了一套完整的操作指南。 ... [详细]
  • 本文深入解析了WCF Binding模型中的绑定元素,详细介绍了信道、信道管理器、信道监听器和信道工厂的概念与作用。从对象创建的角度来看,信道管理器负责信道的生成。具体而言,客户端的信道通过信道工厂进行实例化,而服务端则通过信道监听器来接收请求。文章还探讨了这些组件之间的交互机制及其在WCF通信中的重要性。 ... [详细]
  • 优化后的标题:深入探讨网关安全:将微服务升级为OAuth2资源服务器的最佳实践
    本文深入探讨了如何将微服务升级为OAuth2资源服务器,以订单服务为例,详细介绍了在POM文件中添加 `spring-cloud-starter-oauth2` 依赖,并配置Spring Security以实现对微服务的保护。通过这一过程,不仅增强了系统的安全性,还提高了资源访问的可控性和灵活性。文章还讨论了最佳实践,包括如何配置OAuth2客户端和资源服务器,以及如何处理常见的安全问题和错误。 ... [详细]
author-avatar
用心对待2502862725
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有