PTI:通过枢轴完成人脸投影

2023-11-11

在这里插入图片描述
paper

PTI: Pivotal Tuning for Latent-based Editing of Real Images

  • 2022 ACM TOG
  • StyleGan 人脸编辑相关
  • 人脸投影

paper code


在StyleGAN中,编辑图像前,必须首先将图像投影到latent space,然后事实证明,StyleGAN的latent space在失真和可编辑性之间存在固有平衡,即图像在近似保持原始外观的情况下存在一定令人信服的可编辑性。实际上,生成器域外的图像在保留面部ID信息的情况下完成图像编辑仍然十分困难,在本文中,我们提出了一种弥补这个差距的方法。我们的方法稍微训练了生成器,以便域外图像更真实地投影到latent space。同时,将初始投影latent code充当枢轴,围绕它微调生成器,利用一个正则化项保证其身份。这种训练过程最终会使投影更加真实准确、而不影响可编辑能力。最后我们验证了方法地准确性和先进性,同时针对多种图像完成编辑展现了我们的技术。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-AHm6qMRk-1653984307399)(C:\Users\Ericam\Desktop\PTI.assets\image-20220531111116295.png)]


Introduction

由于StyleGAN训练成本非常高,而且pretrained model实现了前所未有的视觉质量,所以流行的方法是冻结生成器。相比之下,我们微调生成器使其适应所需的输入图像,方法包括两个主要步骤:

(1)首先利用现有的反演方法将图像投影为可编辑的latent code

(2)利用Priotal Tuning – 微调pretrained stylegan,使用上一步找到的枢轴 (latent code)来生成图像。

关键的想法:即使生成器微调,但latent code仍然可以保持其编辑质量。我们的实验表明,微调后的生成器保留了枢轴代码的编辑能力,同时实现了前所未有的重构质量。

Method

由于StyleGan具有解耦性质,轻微和局部的调整可以使其生成效果完成更改、而不会破坏其强大的编辑能力。因此,针对给定的图像(可能在外观方面的分布是不满足要求的),我们建议在生成器域内找到其最近的可编辑点,然后将这个关键点拉向目标,对其附近影响很小。如此在满足人物的相似度的同时确保了可编辑能力。

在这里插入图片描述

1. Inversion

投影(反演)的目的是为Pivotal Tuning寻找到一个起点。由于StyleGan的原生latent space w具有最佳的可编辑性,同时在Pivotal Tuning期间的失真较少,我们选择了将图像inversion到w空间,而不是目前主流使用的w+空间。我们使用了现成的反演方法,本质上,通过LPIPS 感知损失函数,直接优化latent code w 和噪声向量 n来重建输入图像 x,使用噪声优化正则化项显着改善了反演质量【因为噪声正则化避免了噪声向量中包含重要信息】。 这意味着一旦 $ w_{p} $ 已经确定后,n 值在最终的视觉外观中起次要作用。优化定义如下:
w p , n = a r g   m i n L L P I P S ( x , G ( w , n ; θ ) ) + λ n L n ( n ) θ : 权 重    L n : 噪 声 正 则 化 项 w_{p},n = arg\ min \mathcal{L}_{LPIPS}(x,G(w,n;\theta))+\lambda_{n}\mathcal{L}_{n}(n) \\ \theta : 权重 \ \ \mathcal{L}_{n}:噪声正则化项 wp,n=arg minLLPIPS(x,G(w,n;θ))+λnLn(n)θ:  Ln:

2.Pivotal Tuning

应用在反演中获得的潜码 w,生成与原始图像 x 相似的图像,但可能表现出明显的失真。 因此,在第二步中,我们解冻生成器并微调使其重建输入图像 x。使用枢轴代码至关重要,因为使用随机或平均潜码会导致收敛失败。训练损失函数如下:
L p t = L L P I P S ( x , x p ) + λ L 2 L L 2 ( x , x p ) x p : 微 调 后 生 成 图 像 \mathcal{L}_{pt} = \mathcal{L}_{LPIPS}(x, x^p) + λ_{L2}\mathcal{L}_{L2}(x, x^p) \\ x^p : 微调后生成图像 Lpt=LLPIPS(x,xp)+λL2LL2(x,xp)xp:
当生成器fintune完成后,我们可以使用任何latent space编辑工具来编辑输入图像。

3. Locality Regularization(局部正则化)

通过pivotal tuning可以提高生成器重构输入图像的精度,甚至可以围绕它进行成功的编辑。但它也会产生连锁反应:由non-local latent code生成的图像视觉质量收到破坏(当针对多个身份信息finetune时特别容易出现)

为了缓解这个问题,我们引入了一个正则化项,即将PTI的更改限制在latent space中的local空间。在每次迭代中,我们随机采样一个正态分布的随机向量z,通过mapping network产生相应的潜在latent code wz,然后通过插值参数a完成wz和wp之间的插值。
w r = w p + α w z − w p ∥ w z − w p ∥ 2 w_{r}=w_{p}+\alpha \frac{w_{z}-w_{p}}{\left\|w_{z}-w_{p}\right\|_{2}} wr=wp+αwzwp2wzwp
将新生成的wr送入生成器,通过2中所描述的loss function优化生成器,完成局部正则化。

在这里插入图片描述
在这里插入图片描述

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

PTI:通过枢轴完成人脸投影 的相关文章

  • d3.js 强制布局是否允许动态 linkDistance?

    我使用力布局来表示有向未加权网络 我的灵感来自以下例子 http bl ocks org mbostock 1153292 http bl ocks org mbostock 1153292 我的问题是 在我的情况下 节点之间有更多的链接
  • 在 Chrome 扩展中使用页面的 Angular JS

    我有一个 HTML 页面 其中有一些使用 Angular 配置的 DOM 现在我正在构建一个 chrome 扩展来修改文本框中的值 element value newValue不起作用 因为文本框是用 Angular 设计的 在阅读了一些资
  • 在对话中获取“用户正在输入”信息的 telegram API 方法是什么?

    我正在尝试实现一个非常基本的 Telegram 客户端 我想知道如何获取告诉我其他用户正在打字的信息 我知道如何发送此信息 通过使用设置输入 https core telegram org method messages setTyping
  • MyBatis 枚举的使用

    我知道以前有人问过这个问题 但我无法根据迄今为止找到的信息实施解决方案 所以也许有人可以向我解释一下 我有一个表 状态 它有两列 id 和 name id是PK 我不想使用 POJO Status 而是使用枚举 我创建了这样一个枚举 如下所
  • 如何创建实体集或模型而不在数据库中创建相应的表 - 实体框架

    我的 sqlserver 数据库中有一个存储过程 它返回多个结果集 我正在使用 msdn 中的以下链接从实体框架中的 SP 读取多个结果集 https msdn microsoft com en us library jj691402 v
  • Prolog中计算数字是否为素数

    我正在尝试计算输入是否是素数 但出了问题 这是我的代码 primeNumber X prime prime A 1 prime prime A B R is A mod B R 1 R A prime prime X B B lt A Ne
  • 使用 mocha/chai 确保 REST API 提供文件?

    我想验证对 REST API 端点之一的调用是否正在提供文件 但我不确定如何进行操作 并且我没有看到任何相关示例 我确实看过文档 http chaijs com api bdd 但这对我没有多大帮助 服务器端代码本质上是 在 Express
  • eXist - 加载 XSLT 集合() - URIResolver 抛出异常

    环境 eXist db 4 2 1 XQuery 3 1 XSLT 2 0 在 eXist db 中 我正在加载一个 XSLT 文件 其中包含对 eXist 中集合的引用 以便使用密钥对在那里找到的文档执行搜索 此引用似乎引发了撒克逊人的错
  • 查找并删除超过 x 天的文件或文件夹

    我想删除超过 7 天的文件和文件夹 所以我尝试了 17 07 14 email protected cdn cgi l email protection find tmp mindepth 1 maxdepth 1 ctime 7 exec
  • 我如何才能获得 Jenkins 的工作范围凭证?

    首先抱歉 如果这个问题及其解决方案存在于某处 但我找不到它 我希望能够在工作中创建凭证 并且只能在该工作中使用 这是一种工作范围凭证 目前 凭证插件仅建议全局和系统范围 因此凭证可用于所有作业 凭据绑定插件似乎也没有解决我的问题 但公平地说
  • 有没有办法在 C# 中仅通过文件名查找文件?

    我们现在使用绝对路径或相对路径在 C 应用程序中查找文件 如果文件位于当前工作目录下或 路径 之一下 有没有办法仅通过名称查找文件 使用绝对路径不好 使用相对路径也不够好 因为我们可能通过重命名或移动项目文件夹来更改项目结构 如果我们的代码
  • 使用 ASP.Net 和 Ajax 的登录页面

    我正在尝试使用 html ajax 和 ASP NET 制作登录页面 数据确实传递给 ajax 函数 但是当我调试 asp 页面时 用户名和密码以 NULL 发送 该代码应该获取用户名和密码 然后返回用户 ID html页面 div Use
  • gis计算点和多边形/边界之间的距离

    我想使用 python 计算一个点到一个国家边界之间的距离shapely 它应该工作得很好 point distance poly 例如在这里展示查找多边形形状上最近点的坐标 https stackoverflow com question
  • 将变量从调用它的父页面传递给 Vue 组件

    我有一个简单的表格 显示了我的所有数据 主文件 php table class table table bordered table hover thead tr th Job Name th th Job Description th t
  • 线程安全的有限大小队列,不使用锁

    我正在尝试编写一个主题队列 但遇到死锁和其他多线程问题 我想用Interlocked CompareExchange避免lock用法 但这段代码并没有按预期工作 它只是擦除整个队列 我在这里做错了什么 public class FixedS
  • JbdcTemplate - 带有动态 SQL 查询的PreparedStatements

    I know jdbcTemplate可以用来创建PreparedStatements如果你这样设置 i e private JdbcTemplate jdbcTemplate String sqlQuery Select from tab
  • html 表:thead 与 th

    它看起来像 根据示例这一页 http www w3 org TR html4 struct tables html无论如何 如果您使用THEAD 则不需要使用TH 真的吗 如果是这样 THEAD 与 TH 相比有何优点 缺点 The the
  • 从 Web 打印“原始文本”(ZPL)

    我们有很多旧的 ZPL 标签 我们希望能够从网络客户端打印它们 打印机连接到客户端而不是服务器 我们有一些想法 从 Silverlight 打印 不可行 似乎无法在不调用 COM 对象的情况下从 NET 打印 原始 到 Zebra 而这在普
  • 获取给定日期的周数

    例子 DD MM YYYY 1 1 2009 should give 1 31 1 2009 should give 5 1 2 2009 should also give 5 Format 1 2 2009 ww 回报6 那么 怎样才能得
  • AWS CloudWatchLog 限制

    我正在尝试找到集中式解决方案来将我的应用程序日志记录从数据库 RDS 中移出 我本想使用 CloudWatchLog 但注意到 PutLogEvents 请求有限制 PutLogEvents 请求的最大速率为每秒 5 个请求 每个日志流 即

随机推荐

  • 【C语言】可变参数列表

    文章目录 前言 一 可变参数列表是什么 二 怎么用可变参数列表 三 对于宏的深度剖析 隐式类型转换 对两个函数的重新认知 总结 前言 可变参数列表 使用起来像是数组 学习过函数栈帧的话可以发现实际上他也就是在栈区定义的一块空间当中连续访问
  • 无服务器编程语言,腾讯云之无服务器云函数运行golang程序-Go语言中文社区

    使用腾讯的 无服务器云函数启动了一个服务 用golang代码生成以太坊的私钥跟地址 genEthAddr png 无服务器云函数是什么 腾讯云的无服务器云函数 跟 aws lambda类似 把一段代码放到云函数服务器上 设定好访问路径 就可
  • 高等代数 多项式环(第7章)5* 结式与域

    一 结式 1 概念 2 结式与公共复根 1 多项式存在公共复根的判定 定理1 设 f x a
  • 数据结构——>单向环形链表

    单向环形链表 一 单向环形链表应用场景 二 单向环形链表介绍 三 单向环形链表代码实现 1 代码实现思路 2 代码实现 一 单向环形链表应用场景 提起单向环形链表 就不得不说约瑟夫问题 约瑟夫环 什么事约瑟夫问题呢 1 约瑟夫问题 有时也称
  • 机器学习:EM算法

    一 初识EM算法 EM算法也称期望最大化 Expectation Maximum 简称EM 算法 它是一个基础算法 是很多机器学习领域算法的基础 比如隐式马尔科夫算法 HMM 等等 EM算法是一种迭代优化策略 由于它的计算方法中每一次迭代都
  • FreeRTOS基础五:软件定时器

    软件定时器简介 软件定时器的作用 在指定的时间到来时执行指定的函数 或者以某个频率周期性地执行某个函数 被执行的函数叫做软件定时器回调函数 软件定时器由FreeRTOS内核实现 不需要硬件支持 软件定时器只有在软件定时器回调函数被调用时才需
  • 用EditPlus来编辑网页代码 写网页代码 网页软件安装包大小1.91MB JQ代码编辑软件

    如何使用EditPlus这款软件来编辑网页代码 第一步 我们先来安装这款软件 我就先分享一下这款软件 链接 https pan baidu com s 1YtMJboQ0abPTybIZMZu8Bg 提取码 jes4 第二步 等安装好这款软
  • Python GUI 设计(三)---Widget组件详解

    1 1 Canvas画布组件 Tkinter模块中的Canvas组件主要用于绘制图形 文字 设计动画等甚至也可以将其他小部件放在画布上 比如视频 它的语法格式如下 Canvas 父窗口 options 第一个参数是父窗口 表示这个画布建立在
  • STM32的RTC时钟及其相关寄存器

    1 什么是RTC时钟 RTC时钟本质上上一个定时器系统 但是其定时器的计数值最终是以2020 1 30 16 27 类似这样的形式呈现的 说白了就是它就是实时时钟 并且这个时钟不怕断电 断电后它在后备区继续计时 而后备区是有电池供电的 2
  • vscode使用remote-ssh连接远程服务器 报错:“过程试图写入的管道不存在”

    问题如题 网络上有很多解决 过程试图写入的管道不存在 的方法 笔者基本试过了一遍 也没能解决问题 这里不是指他们的方法没有用 只是能解决的问题可能不是我遇到的这种 我的解决方法是 修改配置文件的格式 就这么简单 这种格式才是正确的 从第二行
  • sqli-labs/Less-31

    欢迎界面和上一关差不多 所以我们还是使用双参数注入 首先判断第二个参数是否为数字型 输入如下 id 1 id 1 and 1 2 回显如下 所以属于字符型 然后判断是单引还是双引 输入如下 id 1 id 1 回显如下 正确回显了 所以不属
  • ^A在linux的处理

    这是hive的默认分隔符 用脚本awk或python可以把分隔符设置为 x01 在vim中选中时 用ctrl a来表示这个分隔符
  • 工业互联网+5G 发展策略研究

    本文首发于 邮电设计技术 边缘计算社区经过授权转发 摘要 工业互联网发展水平与一个国家的国际竞争力强相关 截至2020 年我国工业互联网发展初见成效 但商业模式还需要持续探索 首先探索工业互联网定义及发展情况 其次理清工业互联网与5G 关系
  • C++ DLUT 上机作业(四)

    文章目录 C DLUT上机作业 四 1 intArray 2 Goods 3 Cpoint 4 Account C DLUT上机作业 四 啥都不说 直接来 1 intArray 设计整型数组类intArray 实现若干数据的相关操作 包括构
  • React-实现循环轮播

    问题 写字体轮播的时候 不使用swiper库 使用top定位 让字体过渡上下移动 发现写成的效果就是每次播到最后一个元素后 只能突然展示第一个元素 失去了那种上下移的动过渡效果 ss 解决 import useRef useEffect u
  • K近邻思想解决字体反爬

    猫眼电影字体反爬 1 解决思路 1 1 获取对照组字体文件 按照不同字形字体的unicode得到文字与其坐标的对应关系形成可遍历的数据结构 然后处理成可计算的数组或者直接遍历出所有的坐标数据 1 2 再提取当前访问页面的自定义字体文件 取出
  • (CNN)卷积神经网络原理详解,大白话讲解卷积

    卷积到底在卷啥 卷积是什么 零基础入门神经网络的小白都会有这样的疑问 其实卷积很简单 卷积神经网络CNN 是一类包含卷积计算且具有深度结构的前馈神经网络 Feedforward Neural Networks 是深度学习 deep lear
  • 香农公式说明了什么_香农公式理解

    1948 年 香农 Shannon 用信息论的理论推导出了带宽受限且有高斯白噪 声干扰的信道的极限信息传输速率 当用此速率进行传输时 可以做到不出差错 用公式表示 则信道的极限信息传输速率 C 可表达为 C B log2 1 S N b s
  • 中小微企业如何选择网络品牌推广公司?

    有人认为品牌推广是大型企业的事情 中小微企业没有必要做品牌推广 口碑侠营销顾问则不以为然 口碑侠认为小微企业之所以还是小微企业就是因为没有做有效的品牌推广 不是他们不需要品牌推广 而是资金和团队还做不了成规模的品牌推广 如果有足够的条件开展
  • PTI:通过枢轴完成人脸投影

    paper PTI Pivotal Tuning for Latent based Editing of Real Images 2022 ACM TOG StyleGan 人脸编辑相关 人脸投影 paper code 在StyleGAN中