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 最近在两个领域上的图像翻译研究取得了显著的成果.但是在处理多于两个领域的问题上,现存的方法在尺度和鲁棒性上还是有所欠缺,因为需要为每个图像域对单独训练不同的模型.为了解决该问题,我们 ...
随机推荐
- 初识JavaScript EventLoop
Event Loop指的是计算机系统的一种运行机制.JavaScript采用此机制解决单线程引发相关问题 在浏览器中的web应用会涉及到.JavaScript引擎.WebAPI.Event Loop. ...
- AS的不同布局
AndroidStudio里面支持的布局有挺多种的,但是最最重要的是RelativeLayout(相对布局)和LinearLayout(线性布局),熟练掌握这两种布局也非常够用了,当然还有FrameL ...
- 如何在 Java 中实现无向图
基本概念 图的定义 一个图是由点集 \(V=\{v_i\}\) 和 \(V\) 中元素的无序对的一个集合 \(E=\{e_k\}\) 所构成的二元组,记为 \(G=(V,E)\),\(V\) 中的元素 ...
- MySQL学习day3随笔
索引在数据量不大的时候体现不出来,数据很多的时候区别明显 1 select * from app_user where `name`='用户9999';-- 0.053 sec 2 select * ...
- 微信小程序一些标签
wxml标签 一.视图容器(View Container): 二.基础内容(Basic Content) 标签名 说明 标签名 说明 view 视图容器 icon 图标 scroll-view ...
- 2021-ACM-ICPC-济南站 K Search For Mafuyu 【树的遍历与回溯,dfs, 邻接表】
PAT 题目详情 (pintia.cn) 题目 题意描述 n个房间, 有n-1个通道, kanade初始在1,Mafuyu 位置未知,求K到M的最小期望,也就是到每个地方的平均值,注意的是这里的求法, ...
- 数据库基础知识详解四:存储过程、视图、游标、SQL语句优化以及索引
写在文章前:本系列文章用于博主自己归纳复习一些基础知识,同时也分享给可能需要的人,因为水平有限,肯定存在诸多不足以及技术性错误,请大佬们及时指正. 11.存储过程 存储过程是事先经过编译并存储在数 ...
- vue学习day01
什么是 vue 构建用户界面 用 vue 往 html 页面中填充数据,非常的方便 框架 框架是一套现成的解决方案,程序员只能遵守框架的规范,去编写自己的业务功能! 要学习 vue,就是在学习 vue ...
- Vue生产环境调试的方法
vue 生产环境默认是无法启用vue devtools的,如果生产应用出了问题,就很难解决.. 原理 先说下vue如何判断devtools是否可用的. vue devtools扩展组件会在window ...
- python学习-Day30
目录 今日内容详细 作业讲解 设计模式 单例模式 实现思想 编写 pickle模块 今日内容详细 作业讲解 编写元类规定对象的所有数据值转大写 eg: obj.name = 'jason' print ...