Designing an Encoder for StyleGAN Image Manipulation论文解读
官方源码和论文地址
又是基于StyleGAN用于图像编辑的又一力作!
基于StyleGAN做图像编辑,首先要找到隐向量(GAN inversion),这个过程的主流方式有两种:
- 优化隐向量,找寻能重构出指定图像的隐向量。代表有image2style,in-domian GAN。
- 设计一个Encoder,用于将图像映射到StyleGAN的隐空间上。代表有style-encoder。
- 其实还有一种比较小众,利用分类器的思想,步骤也繁琐。代表有interpretGAN。
IDEA
目前基于styleGAN的图像编辑,评判的标准有两个,重构出来的效果以及可编辑性的强弱,作者分别用distortion(扭曲程度)和editability(编辑能力)代表。很可惜的是,一般扭曲程度低的方法,编辑能力弱。这是因为找到的隐向量已经离stylegan的W空间很远了,不是一个分布。比如image2style就提出,在W+空间优化隐向量,可以重构出任意一行图像,不管是不是人脸图像,但可编辑能力大大降低。
作者认为,找到的隐向量为好的标准就是解决W空间。接近有两层含义:1. 每个style code之间的方差小;2.每个style code都在W空间中。
围绕以上两个原则,作者提出e4e(encoder for editing),一个编码器,用于将指定图像映射到隐空间上。同时还提出了一个用于评判隐向量重构性能和可编辑性能的综合性指标。
同时作者在正式介绍encoder之前,首先分析了扭曲程度和感知效果之间的关系。image2style已经指出,stylegan可以重构出任意的图像,不管是不是训练集中的图像样式。但找到的隐向量的编辑能力却很差,这是因为隐向量已经不在W空间了。此时该空间记作W空间。
如上图所示,在W空间有更好的重构效果,但在此隐向量上进行编辑,得到的图像的感知效果就很低,说明可编辑性很小。这说明,扭曲程度和可编辑性是两个矛盾的东西,想要可编辑性高,就要损失一定的重构效果。
WWW: stylegan的style map 的输出空间
WkW^kWk:还是在W空间,只不过有k个不同的向量,每个向量是对应的style modulation的输入,将被映射到W+空间。
W∗W_*W∗:不在W空间,仅为了满足最大重构效果。不考虑可编辑性,如使用一些优化方式得到。
W∗kW_*^kW∗k:不在W空间,有是k个不同的向量,每个向量是对应的style modulation的输入,将被映射到W+空间。
Method
(作者关于GAN inversion的related work写的挺全面的,有兴趣的可以去读一下)
作者之所以选择encoder-based的inversion方法,原因有两点:
- 快速,因为基于优化的方式,要迭代很多次以上。stylegan2的project是1000次,大概7分钟。
- 让encoder的输出控制在W空间中更适合编辑,基于优化的方式不容易控制隐向量的分布。
一个好的encoder,需要输出空间接近W空间。想要做到这一点:
- 可以优化每个风格向量的方差,让其尽量小,极限的情况是完全一样;
- 并足够接近stylegan的W空间
优化方差
为了到达第一个目的,作者提出渐进训练方法。
首先encoder记作E,输入是指定图像x。输出是N个style code。
E(x)=(w,Δ1,...ΔN−1)E(x) = (w, \Delta_1,...\Delta_{N-1})E(x)=(w,Δ1,...ΔN−1)
后面N-1项是偏置,加在w上得到N个style code,具有不同的值,N就是stylegan中的style modulation层的数目。该空间记作W∗kW^k_*W∗k空间。在训练初期,让所有的偏置都为0,这样N个向量都是相同的,都是www。即先鼓励encoder往W∗W_*W∗空间上靠。然后逐渐的让偏置不一样,这样每个style modulation层都有不同的style code,灵活性更高,保证了重构质量,实现了从W∗W_*W∗空间上W∗kW^k_*W∗k的变化。其实如果偏置都为0,encoder也倾向于向WWW空间靠。但因为学习偏置的关系,离W空间也不远,也保证了可编辑的能力。距离由网络自己学习,自行权重可编辑性和重构性的tradeoff。
为了让偏置临近W∗W_*W∗空间,作者设置了一个浅显易懂的正则损失:
优化和W空间的距离
因为styleGAN的W空间并不能显式建模,所有作者使用了对抗思想,设置一个latent code discriminator(DWD_WDW)区分encoder的分布和W空间的分布。用同一个判别器,使用所有N个style code和真实的原始W空间向量。将N个loss求平均优化。
实现细节
loss function
- 用来优化扭曲程度的loss,有基于自监督的loss,感知loss,L2loss
- 用来优化可编辑能力的loss,有偏置正则loss,和隐空间判别器和encoder之间的对抗loss。
LEC指标(Latent Editing Consistency)
不介绍了,比较容易理解。
实验
作者设置了4个对照组
离W空间的距离
作者评估了encoder的输出空间的方差,D组是最小的。其实评估了离W空间的距离,使用的方式是从W空间采样得到隐向量,经过G,再用E映射到隐空间,对比两个隐向量的期望。
Designing an Encoder for StyleGAN Image Manipulation论文解读相关推荐
- [论文阅读]Designing an Encoder for StyleGAN Image Manipulation
主要工作: 提出什么样的encoder(image->latent code)具有更好的编辑性和更小的失真 答案:图片逆映射接近W空间的encoder是好的 验证encoder的好坏用到了sty ...
- e4e反演框架:Designing an Encoder for StyleGAN Image Manipulation
这里记录下本文学到的概念(自己理解的):如有错误,请勘误! 目录 一.W空间 区分 特性+说明 二.两种Latent Space Embedding 1. learn an encoder that ...
- StyleGAN及StyleGANv2论文解读
文章目录 StyleGAN 贡献 解决问题 算法原理 实验结果 StyleGAN v2 解决问题 算法原理 结论 StyleGAN论文: <A Style-Based Generator Arc ...
- 【论文解读】CVPR 2021 妆容迁移 论文解读Spatially-invariant Style-codes Controlled Makeup Transfer
[论文解读]CVPR 2021 妆容迁移 论文解读 Spatially-invariant Style-codes Controlled Makeup Transfer 摘要 方法特点 实现方法 公式 ...
- 自监督学习(Self-Supervised Learning)多篇论文解读(下)
自监督学习(Self-Supervised Learning)多篇论文解读(下) 之前的研究思路主要是设计各种各样的pretext任务,比如patch相对位置预测.旋转预测.灰度图片上色.视频帧排序等 ...
- CVPR2020论文解读:CNN合成的图片鉴别
CVPR2020论文解读:CNN合成的图片鉴别 <CNN-generated images are surprisingly easy to spot- for now> 论文链接:htt ...
- Paper:2020年3月30日何恺明团队最新算法RegNet—来自Facebook AI研究院《Designing Network Design Spaces》的翻译与解读
Paper:2020年3月30日何恺明团队最新算法RegNet-来自Facebook AI研究院<Designing Network Design Spaces>的翻译与解读 导读: 卧槽 ...
- 【论文解读】百度提出新冠高风险小区预警算法,AAAI21收录!
编:夕小瑶 几个月前,小屋推送了一期上帝视角看新型冠状病毒(COVID-19)对公众出行影响的顶会论文解读--<这篇顶会paper,讲述了疫情期间憋疯的你和我>,这篇有趣的paper来自百 ...
- CVPR 2018 论文解读集锦(9月26日更新)
本文为极市平台原创收集,转载请附原文链接: https://blog.csdn.net/Extremevision/article/details/82757920 CVPR 2018已经顺利闭幕,目 ...
最新文章
- android什么时候会产生ANR
- 【MM模块】 Info Record 采购信息记录
- Codeforces 987C. Three displays(o(n^2))
- [html] 你最喜欢H5的哪些功能?为什么?
- H3C认证无线互联网络专家
- Rectangle 属性
- java 缓存ech_springboot配置缓存:echcache
- ES6中箭头函数解释
- scala中的伴生对象,
- insert转update工具_mysql binlog 分析工具
- java final 变量 大小写_java – 为什么“final static int”可以用作开关的大小写常量但不是“final static”...
- 禅道及与JIRA区别
- 微信小程序服装商城+后台管理系统
- PTA-寻找孪生素数
- 计算机跨考英语口译,英语专业跨考
- android:使用TextView展示H5文本(含关键字点击和图片)
- 2021Android面经,历时一个半月,斩获3个大厂offer
- 哈尔滨工业大学雨课堂(学堂在线)自动观看mooc
- 洛谷 U28036 Nagisa loves Tomoya(推式子) 题解
- C#上位机通过TCP/IP完全控制YAMAHA四轴机器人开发
热门文章
- C语言生成n个随机坐标,c语言如何生成随机数 怎样用c语言生成n个随机数?
- Vue3必会技巧-自定义Hooks
- HTTP服务器中keep-alive 与 url常见问题
- Windows官网直接下载正版操作系统方法
- IPFS和梅克尔森林
- 紫荆花开之say love to the girl you love
- 阿里云免费SSL证书申请与安装使用-附Nginx,Apache,IIS 6,IIS 8配置SSL教程
- 熬夜整理Java面试笔试题,你还看不懂吗?
- springboot+vue新生宿舍管理系统(源码+说明文档),一款优秀的毕业设计
- BTC的历史背景及历程