照片美妆---人脸老化

简介: 原文:照片美妆---人脸老化 本文转载自http://www.sohu.com/a/131656765_642762论文名称《Age Progression/Regression by Conditional Adve...
原文: 照片美妆---人脸老化

本文转载自http://www.sohu.com/a/131656765_642762

论文名称《Age Progression/Regression by Conditional Adversarial Autoencoder》2017 CVPR

论文地址:点击打开链接

该代码是对论文《用条件对抗式自动编码器进行人脸老化、退龄》中算法的Tensorflow实现


环境要求

·Python 2.7x

·Scipy

·TensorFlow

数据库

·FGNET

·MORPH

地址:https://ebill.uncw.edu/C20231_ustores/web/product_detail.jsp?PRODUCTID=8

·CACD

地址:http://bcsiriuschen.github.io/CARC/

·UTKFace (可以从Github 或维基百科获得)

准备训练数据你可以使用任何带年龄标签和性别标签的数据库。在该demo中,我们使用了UTF人脸数据库,因为用这种标定并裁剪过的人脸照片更好一些。请保存并解压UTKFace.tar.gz到文件夹data下。

训练

$ python main.py

训练过程在NVIDIA TITAN X (12GB)上进行了测试。在UTK人脸数据库(23,708张图像,大小为128x128x3)上进行50次epoch的训练时间是两个半小时。

在训练过程中,会建立一个新文件夹save,包括四个子文件夹:summary, samples, test,和checkpoint

·samples :保存每个epoch之后重建的人脸。

·test :保存每个epoch之后的测试结果(基于输入人脸生成的不同年龄的人脸)。

·checkpoint :保存模型。

·summary :保存批损失和中间输出。

用以下命令来可视化summary:

$ cd save/summary

$ tensorboard --logdir .

训练之后,可以检查文件夹samples和test来分别可视化重建和测试性能。下图展示了重建(左)和测试(右)的结果。重建结果(左)的第一行是测试样例,他们分别对应的测试结果(右)由上到下,按年龄增长顺序排列。

不同训练epoch和重建损失的对比如下图所示,为了可视化的目的我们对它进行了低通滤波。原始的记录保存在summary文件夹中。

测试$ python main.py --is_train False --testdir your_image_dir

输入命令之后,应该显示出下面的信息:

Building graph ...

TestingMode

Loadingpre-trained model ...

SUCCESS^_^

Done! Results are saved as save/test/test_as_xxx.png

具体来说,测试人脸会进行两次处理,这两次分别将其视作男性和女性。因此,保存的文件会分别命名为test_as_male.png(作为男性测试) 和 test_as_female.png(作为女性测试)。如果想实现更好的结果,需要在更大并更多样化的数据集上进行训练。

训练过程演示第一行显示了不同年龄的输入人脸,其他行显示了每次epoch之后输出人脸的提高。输出人脸由上到下按年龄递增顺序排列。

文件

·FaceAging.py :类文件,建立并初始化模型,并且实现训练和测试的相关事项。

地址:https://github.com/ZZUTK/Face-Aging-CAAE/blob/master/FaceAging.py

·ops.py :由FaceAging.py的函数组成,实现卷积,反卷积,全卷积,leaky ReLU激活函数,下载并保存图像等操作。

地址:https://github.com/ZZUTK/Face-Aging-CAAE/blob/master/ops.py

·main.py :演示 FaceAging.py。

https://github.com/ZZUTK/Face-Aging-CAAE/blob/master/main.py



目录
相关文章
|
存储 IDE 开发工具
研发提效工具3 - IDEA极速打开项目方案
# 背景 作为Idea、Android Studio、PyCharm等`jetbrains`系列IDE的开发者,每次打开一个工程项目时,一般都使用鼠标点击IDE左上角的Open菜单来才做。本文介绍一种基于Alfred的快捷方式进行打开操作。 # 效果图 ![](https://ata2-img.oss-cn-zhangjiakou.aliyuncs.com/neweditor/affab
779 0
研发提效工具3 - IDEA极速打开项目方案
|
Kubernetes 负载均衡 Cloud Native
从零开始入门 K8s | 理解 CNI 和 CNI 插件
网络架构是 K8s 中较为复杂的方面之一。K8s 网络模型本身对某些特定的网络功能有着一定的要求,因此,业界已经有了不少的网络方案来满足特定的环境和要求。CNI 意为容器网络的 API 接口,为了让用户在容器创建或销毁时都能够更容易地配置容器网络。在本文中,作者将带领大家理解典型网络插件地工作原理、掌握 CNI 插件的使用。
从零开始入门 K8s | 理解 CNI 和 CNI 插件
|
图形学
unity动画之帧动画使用
使用unity实现lol寒冰帧动画
unity动画之帧动画使用
ES聚合算法原理深入解读:深度优先算法(DFS)和广度优先算法(BFS)(三)
ES聚合算法原理深入解读:深度优先算法(DFS)和广度优先算法(BFS)(三)
ES聚合算法原理深入解读:深度优先算法(DFS)和广度优先算法(BFS)(三)
|
SQL druid Java
Java工具篇之Druid SQL语法解析树
本篇主要学习Druid 对Sql的语法解析。学习完之后,我们可以对任意sql进行解析,同时也可以基于AST语法树来生成sql语句。
11749 3
|
机器学习/深度学习 人工智能 自动驾驶
3D车道线检测能否成为自动驾驶的核心?盘一盘近三年的SOTA论文!(上)
车道线检测是自动驾驶与计算机视觉领域中的重要研究方向,3D车道线任务更是近几年的研究热点,下面为大家盘点下近三年的一些工作!
3D车道线检测能否成为自动驾驶的核心?盘一盘近三年的SOTA论文!(上)
|
数据可视化 安全 Unix
【Git|GitHub|SSH|Sourcetree 下篇】GitHub|Sourcetree|SSH部署及Git-flow工作流
GitHub|Sourcetree|SSH快速部署、git-flow工作流、Remote Repository的克隆和推送
549 0
【Git|GitHub|SSH|Sourcetree 下篇】GitHub|Sourcetree|SSH部署及Git-flow工作流
|
存储 Kubernetes 安全
Kubernetes升级:自己动手的权威指南
Kubernetes升级:自己动手的权威指南
Kubernetes升级:自己动手的权威指南