CIAGAN: Conditional Identity Anonymization Generative Adversarial Networks阅读笔记

·Shape 是人脸姿态的指导信息,文章用了外轮廓、鼻梁和嘴巴指导生成器,而眼睛等其他人脸信息的生成则是自由灵活的。
·Background 告诉模型关注人脸区域而非背景区域,多mask一些前额头皮肤可以帮助模型学习与额头肤色相匹配的肤色,过度更加自然。
·Identity guidance 文章指出如果模型的可变性仅由输入的landmark(shape、background)提供,则模型会快速过拟合于训练集并倾向于重建图像,导致合成图像与训练集图像相似。为解决这个问题,文章为生成器加入的identity信息,生成器的输入包含了图像A的landmrak以及图像B的identity,合成图像将是图像A姿态特征和图像B身份特征的组合。
·Identity Discr. 为连体神经网络,同时输入合成图像与身份参考图像B,使用同一网络结构、同一网络参数映射到嵌入向量空间并计算距离损失。身份判别器使用Proxy-NCA loss用训练集进行预训练,在GAN的训练过程中用contrastive loss微调身份判别器。预训练后的身份判别器将人脸中身份信息映射至嵌入向量空间,嵌入向量空间中将同类身份距离拉近、不同身份距离拉远。在GAN的对抗训练过程中真假图像输入带着不相同的身份标签输入至身份判别器,生成器力图混淆身份判别器,随着训练进行生成器合成的假图像成为针对身份判别器的困难样本,判别器用contrastive loss微调优化自身。
注:深度度量学习中的损失函数 | 小毛驴 (yangxudong.github.io)。深度度量学习(deep metric learning)是度量学习的一种方法,它的目标是学习一个从原始特征到低维稠密的向量空间(称之为嵌入空间,embedding space)的映射,使得同类对象在嵌入空间上使用常用的距离函数(欧氏距离、cosine距离等)计算的距离比较近,而不同类的对象之间的距离则比较远。
·MLP 为反卷积网络,输入是一个one-hot向量,输出为高维向量,规格与生成器bottleneck层相同并进行拼接。(不是很理解为什么将one-hot表示输入MLP,MLP要训练吗?)
Result

文章特地写了一段“Are we just doing face swapping?”。定性角度:给出一组合成图片表明与单纯换脸的区别;定量角度:使用人脸识别网络无法识别出合成图像的参考身份。
Personal Opinions
文章做的人脸匿名个人认为是一种图像风格融合,能够控制模型的目标融合身份提升了对人脸匿名模型的控制力,但在融合结果的解释力上是不足的。正如文章中与“换脸”的辨析,合成人脸既不像原始图像A,也不像身份参考图像B。文中提到合成图像使用了身份参考图像B的高层次特征(race、sex),视觉效果上有合理性但缺乏定量的分析。总之文章的匿名方法说不清楚是如何融合图像A、B的,这造成了应用场景上的局限,可用性仍然停留在合成图像具有自然的人脸这一点上,但是CIAGAN避免了合成图像过拟合于训练集。
CIAGAN: Conditional Identity Anonymization Generative Adversarial Networks阅读笔记的更多相关文章
- StackGAN: Text to Photo-realistic Image Synthesis with Stacked Generative Adversarial Networks 论文笔记
StackGAN: Text to Photo-realistic Image Synthesis with Stacked Generative Adversarial Networks 本文将利 ...
- Unpaired Image-to-Image Translation using Cycle-Consistent Adversarial Networks 阅读笔记
Unpaired Image-to-Image Translation using Cycle-Consistent Adversarial Networks (使用循环一致的对抗网络的非配对图像-图 ...
- 文献阅读报告 - Social GAN: Socially Acceptable Trajectories with Generative Adversarial Networks
paper:Gupta A , Johnson J , Fei-Fei L , et al. Social GAN: Socially Acceptable Trajectories with Gen ...
- 语音合成论文翻译:2019_MelGAN: Generative Adversarial Networks for Conditional Waveform Synthesis
论文地址:MelGAN:条件波形合成的生成对抗网络 代码地址:https://github.com/descriptinc/melgan-neurips 音频实例:https://melgan-neu ...
- 【文献阅读】Perceptual Generative Adversarial Networks for Small Object Detection –CVPR-2017
Perceptual Generative Adversarial Networks for Small Object Detection 2017CVPR 新鲜出炉的paper,这是针对small ...
- 生成对抗网络(Generative Adversarial Networks,GAN)初探
1. 从纳什均衡(Nash equilibrium)说起 我们先来看看纳什均衡的经济学定义: 所谓纳什均衡,指的是参与人的这样一种策略组合,在该策略组合上,任何参与人单独改变策略都不会得到好处.换句话 ...
- Paper Reading: Perceptual Generative Adversarial Networks for Small Object Detection
Perceptual Generative Adversarial Networks for Small Object Detection 2017-07-11 19:47:46 CVPR 20 ...
- Generative Adversarial Networks overview(1)
Libo1575899134@outlook.com Libo (原创文章,转发请注明作者) 本文章会先从Gan的简单应用示例讲起,从三个方面问题以及解决思路覆盖25篇GAN论文,第二个大部分会进一步 ...
- StarGAN: Unified Generative Adversarial Networks for Multi-Domain Image-to-Image Translation - 1 - 多个域间的图像翻译论文学习
Abstract 最近在两个领域上的图像翻译研究取得了显著的成果.但是在处理多于两个领域的问题上,现存的方法在尺度和鲁棒性上还是有所欠缺,因为需要为每个图像域对单独训练不同的模型.为了解决该问题,我们 ...
随机推荐
- css写作建议和性能优化小结
1.前言 还有几天就到国庆中秋了,快要放假了,先祝大家节日快乐!之前写过js的写作建议和技巧,那么今天就来聊聊css吧!说到css,每一个网页都离不开css,但是对于css,很多开发者的想法就是,cs ...
- ES6-11学习笔记--let
新声明方式:let 1.不属于顶层对象 window 2.不允许重复声明 3.不存在变量提升 4.暂时性死区 5.块级作用域 原来var声明: var a = 5; console.log(a); ...
- 多态,动态方法调度(dynamic method dispatch)?
8.多态Polymorphism,向上转型Upcasting,动态方法调度(dynamic method dispatch) 什么叫多态?简言之,马 克 - t o - w i n:就是父类引用指向子 ...
- JSTL详解(常用标签以及c:forEach遍历集合)
JSTL标签 一. JSTL的简介 1. 什么是JSTL 2. JSTL常用标签库 3. JSTL使用步骤 二. 核心标签库常用标签 1. c: set 标签 2. c: out 标签 3. c: i ...
- mysql数据乱码
更改数据库安装时的字符编码.打开mysql安装目录,找到my.ini文件,通过使用记事本的方式打开,将这里面的default-character-set=latin1修改成gbk,注意这里面有两处需要 ...
- Reflect.has检测对象是否拥有某个属性
Reflect.has({x: 0}, 'x'); // true Reflect.has({x: 0}, 'y'); // false // returns true for properties ...
- 微信分享报错config:invalid url domain
错误类型:invalid url domain 调试返回参数: { "errMsg": "config:invalid url domain" } 截图: 环境 ...
- Ncrystal Skill设计
在使用allegro时一般都会听说过skill,使用合适的Skill会使事情事半功倍.但是现阶段所能看到的个人白嫖的Skill都有一些通病.所以我才开发符合自己操作习惯的Skill. 当前我们所能找的 ...
- Leetcode541/151之String与char数组与StringBuffer
String与char数组与StringBuffer 通常情况下遇到删除字符或者反转字符串时需要将String转为char数组或者StringBuffer String与char数组 char [] ...
- int bool str
一. python的基本数据类型 1. int 整数 2. bool 布尔. 判断. if while 3. str 字符串 ,一般存放小量的数据 4. list 列表. 可以存放大量的数据 ...