This repo is the official implementation of our paper entitled "Implicit and Explicit Feature Purification for Age-invariant Facial Representation Learning"
- Pytorch >= 1.1
- Python >= 3.7
- CUDA enabled computing device
Please download the following four processed face datasets for evaluation purposes. They include: morph2, FGNET, CACDVS and CALFW. All of them should be unziped and then put in the folder named "face_dataset". In addition, regarding the downed CACDVS and CALFW, they need to be combined with correponding txt file to form a new subfolder which is named accordingly. Please refer to the meta.py for more details.
- You can use MS1MV3 (i.e. MS1M-RetinaFace on the webpage) or other desired face datasets as the training set. Before the normal network learning, some preprocessing need to be done to those traning samples.
- The image name needs to be changed. For example, the original name of an image is 05179510.jpg, then the renewed name shoud be 05179510_age_39.jpg.
- You should emply well-performed age prediction model to infer the choronological age for the training image samlple if the dataset itself provides no age information.
- Pretained age estimation branch. Put it in the folder "pretrained_age_estimation_models".
- IEFP model trained on MS1MV3 dataset. Put it in the folder "pretrained_IEFP_models".
- You can refer to train.py and test.py
- You can check the performance of IEFP model on four benchmaks by running test.sh
If you find this code useful to your research, please consider citing our paper as follows:
@article{Jeffersonxie2022iefp,
author = {Xie, Jiu-Cheng and Pun, Chi-Man and Lam, Kin-Man},
title = {Implicit and Explicit Feature Purification for Age-invariant Facial Representation Learning},
booktitle = {IEEE Transactions on Information Forensics and Security},
volume = {17},
year = {2022},
pages = {399-412}
}