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 最近在两个领域上的图像翻译研究取得了显著的成果.但是在处理多于两个领域的问题上,现存的方法在尺度和鲁棒性上还是有所欠缺,因为需要为每个图像域对单独训练不同的模型.为了解决该问题,我们 ...
随机推荐
- html5不熟悉的标签全称
<dl></dl> 定义列表(英文全称:DefinitionList) <dt> 放在每个定义术语词前(定义术语.英文全称:DefinitionTerm) 名称 & ...
- AS之AlertDialog使用
关于AlertDialog的使用,主要是去做一个弹窗. import android.content.DialogInterface; import android.os.Bundle; import ...
- Python爬虫报错:"HTTP Error 403: Forbidden"
错误原因:主要是由于该网站禁止爬虫导致的,可以在请求加上头信息,伪装成浏览器访问User-Agent. 新增user-agent信息: headers = {'User-Agent':'Mozilla ...
- vant弹窗提示
函数调用 Dialog 是一个函数而不是组件,因此可以直接调用,展示对应的提示弹窗 import { Dialog } from 'vant'; Dialog({ message: '提示' }); ...
- css让文字显示特定行数,多余的显示省略号
/*css*/ .p{ width: 200px; word-break: break-all; text-overflow: ellipsis; display: -webkit-box; /** ...
- Unable to configure HTTPS endpoint. No server certificate was specified, and the default developer certificate could not be found 解决办法
问题 每次vs重启都提示安装证书,即使执行dotnet dev-certs https --clean,dotnet dev-certs https -t然后重启vs也不行. 环境 win10, vs ...
- DTO数据传输对象详解
文章目录 一.DTO是什么? 二.DTO解决的问题 三.代码演示 一.DTO是什么? DTO (数据传输对象) 数据传输对象(DTO),是一种设计模式之间传输数据的软件应用系统.数据传输目标往往是数据 ...
- 『现学现忘』Git基础 — 1、版本控制系统介绍
在具体了解Git之前,首先需要我们了解一下VCS,即版本控制系统(version control system) 1.什么是版本控制系统 版本控制是一种记录一个或若干个文件内容变化,以便将来查阅特定版 ...
- Go 框架学习之旅 ① 深入解析 net/http 启动服务的层级逻辑
Web Server. net/http 标准库怎么学. 库函数. 结构定义. 结构函数. 思维导图解析HTTP服务端. 层级逻辑. 创建框架的Server结构. OSI参考模型. TCP/IP五层模 ...
- vue3项目后台管理系统模板
Vue3.0 发布第一个版本至今有一段时间了,到现在一直在更新优化,在性能方面,对比 Vue2.x ,性能的提升比较明显,打包后体积更小 来看下 Vue3.x 新增了哪些功能和特性. Performa ...