This is a pytorch implementation for reproducing PAGAN results in the paper Learning Face Age Progression: A Pyramid Architecture of GANs.
Please note that this is not the official code and The code may still have errors for the results did not reach the original results in the paper.😩
- Pytorch 1.0
- Python 3.6
- Visdom 0.1.8
- Pillow 6.0
- CACD
- FGnet
Please pay attention to splitting CACD_dataset to train_dataset & val_dataset. and after make_label.py
, move dataset to the path likedata_train/young(or elder1,elder2,elder3,val,test)
.
You can download pretrained vgg-face models from (https://www.robots.ox.ac.uk/~albanie/pytorch-models.html) and refer to this paper (https://arxiv.org/ftp/arxiv/papers/1709/1709.01664.pdf) to train age estimation networks, then move the two models to ./model_vgg
.
It will require about 1.1 GB of disk space.
you can run the shell script train.sh
and test.sh
.
Please note that modifying the path in the CONFIG
when different age cluster.
Here are some visualization results. And age estimation & face verification results by using face++ API.
-
train:
-
val(CACD):
-
val_age: 14
-
val_age: 22
-
val_age: 30
-
age estimation & face verification results:
age cluster1 age cluster2 age cluster3 average estimate age 42.1 50.7 61.7 age accuracy(if estimate age in the age cluster ) 33.1% 33.0% 90.2% average verification confidence(with age cluster0) 91.5 86.6 79.9 verification rate(FAR = 1e-5) 99.8% 97.8% 84.0%
-
-
test(FGnet):
-
test_age: 14
-
test_age: 22
-
test_age: 30
-
age estimation & face verification results:
age cluster1 age cluster2 age cluster3 average estimate age 37.6 48.4 51.1 age accuracy(if estimate age in the age cluster ) 44.3% 42.7% 56.9% average verification confidence(with age cluster0) 92.3 87.7 87.7 verification rate(FAR = 1e-5) 99.7% 98.1% 97.2%
-