This project focuses on the task of face aging using two generative models: Glow
and CycleGAN
. The main objective was to explore the capabilities of these models in generating realistic and age-progressed images. Furthermore, I used the DEX
model for estimating the age of the outputs of each model for better qualitative analysis.
The project is implemented using a microservice
architecture, due to the vast number of conflicting dependencies between these AI models. Each generative model is deployed as a separate microservice, allowing for independent scaling and easy integration with other services.
The full project report (in Persian) can be found here.
You can easily run the whole project without worrying about the dependencies and conflicts just by running the Docker-compose located in the root directory. Everything is handled in the related Dockerfiles.
docker-compose up
You should download the pre-trained models and put them in the correct directories.
- For
Glow
: run this script and place all the files in the./glow_demo
directory. - For
CycleGAN
: download the pre-trained models from here and put them in the./cyclegan_demo/FaceAging-by-cycleGAN/trained_model
directory - For
DEX
: download the pre-trained model from this link and put it in the./age_estimation/age-gender-estimation-master/age-gender-estimation-master/pretrained_model
directory
After setting up the project and running it you are faced with the following page. Here you choose the image you want to make older/younger and choose the amount of Alpha
which controls the amount of aging for the Glow
model.
Then you can see the results in the second page and the estimated ages for each model.