Generative Face Completion

转自:https://blog.csdn.net/c2a2o2/article/details/76220226,感谢原创作者!

Generative Face Completion 
CVPR 2017 
https://arxiv.org/abs/1704.05838

Code: https://github.com/Yijunmaverick/GenerativeFaceCompletion

首先来直观的认识一下人脸修复是什么? 输入一个有缺失的人脸图像,得到完整的人脸图像 
这里写图片描述

本文算法训练流程图如下: 
这里写图片描述

主要由三个模块构成:Generator,Discriminator,Parsing network 
3.1. Generator 
这里的 Generator 被设计为一个 autoencoder,输入不完整的图像,输出修复后的图像。这里我们使用了 VGG19的前半部分网络结构,外加2个卷积层,一个池化层,一个全链接层。decoder 和 encoder 是对称的,使用了 unpooling 层 用于放大特征图尺寸

3.2. Discriminator 
这里使用了两个 Discriminator,一个 local Discriminator, 一个 global Discriminator 
local Discriminator 是针对 缺失图像区域的 
global Discriminator 是针对整个图像区域的

3.3. Semantic Regularization 
这里的 Parsing network 主要用于进一步完善缺失区域的生成图像的真实性。 
这里写图片描述

不同损失函数下修复的结果: 
这里写图片描述

有无 Parsing network 的对比: 
这里写图片描述

修复结果: 
这里写图片描述

这里写图片描述

Model limitations 
这里写图片描述

在这项工作中我们提出了一个深度生成网络来进行人脸补全。该网络是基于GAN的,使用一个自编码器作为生成器,两个对抗损失函数(局部和全局)和一个语义正则项作为鉴别器。该模型可以针对丢失的关键部分从随机噪声中成功合成语义上有效且视觉上和谐的内容。实验结果充分展示了补全结果的高质量感官体验,以及模型能灵活处理各种各样掩模特征(比如,不同位置,大小,形状)的能力。

GitHub代码实现:

关于人脸补全的CVPR17论文的Matcaffe实现

每组图片从左向右依次是:原始人脸,带掩模的输入,补完后的结果

软件环境配置:

我们使用caffev2.5.48版本。更多安装细节请参见Caffe官网。

最基本的是,你需要在Makefile.config文件中修改MATLAB_DIR,然后运行如下命令才能成功编译:

训练阶段:

就像在DCGAN中那样对数据进行预处理。唯一的区别在于我们剪切下来的人脸图像大小为128*128。请在crop_celebA.lua文件中的第10处进行修改。对于CelebA数据集我们使用了标准的训练集&测试集分割方式。

在./matlab/FaceCompletion_training/GFC_caffeinit.m文件中修改训练数据路径。

下载我们的人脸解析模型Model_parsing并将其放置在./matlab/FaceCompletion_training/model/目录下。

我们提供了一个仅用重构损失训练得到的初始模型,对于接下来GAN的训练这可以作为一个很好的参数起点。请将其下载到./matlab/FaceCompletion_training/model/目录下。

通过运行./matlab/FaceCompletion_training/demo_GFC_training.m就可以训练了。

测试阶段:

下载我们的人脸补完模型Model_G到./matlab/FaceCompletion_testing/model/目录下。

运行./matlab/FaceCompletion_testing/demo_face128.m开始对人脸进行补全。测试图像来自于CelebA的测试集。

GitHub项目:https://github.com/Yijunmaverick/GenerativeFaceCompletion论文地址:https://arxiv.org/pdf/1704.05838.pdf

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值