AgeSynth – Latent Age Direction for Aging / De-Aging on StyleGAN 2
A 512-D latent direction (normal vector) in StyleGAN2’s W space that enables smooth, age manipulation of human faces. The vector was obtained via Support-Vector Regression (SVR) trained to predict chronological age from latent codes projected from UTKFace images. Traversing the vector produces synthetic age progression/regression. This latent direction was computed on the official StyleGAN2 1024x1024 model.
Overview
- Training: AgeSynth – Latent Age Direction was trained on UTKFace (age-annotated face dataset)
- Backbone: AgeSynth – Latent Age Direction is adapted from StyleGAN2-FFHQ (official NVIDIA release)
- Source model: https://github.com/NVlabs/stylegan2
- License: Nvidia Source Code License-NC
- Parameters: 512 (direction vector) + SVR support vectors (float32)
- Task: Latent-space facial age editing (progression & regression)
- Framework: NumPy
License
Copyright (c) 2025 Idiap Research Institute
CC BY-NC 4.0 (Creative Commons Attribution-NonCommercial 4.0 International) This work is licensed under a Creative Commons Attribution-NonCommercial 4.0 International License. To view a copy of this license, visit http://creativecommons.org/licenses/by-nc/4.0/ or send a letter to Creative Commons, PO Box 1866, Mountain View, CA 94042, USA.
Model output structure:
- File:
latent_directions_regression.pkl - Format:
-
dictwith keys:normal– (512,) numpy array, the normalised latent vector.svm– trained Support-Vector Regressor predicting chronological age from latent scalars. The vector was obtained through Support-Vector Regression performed on StyleGAN projections of UTKFace images.
Minimal code to instantiate the model and perform inference:
from agesynth.synthetics_subset.latent_edit import LatentEdit
editor = LatentEdit(network_type="stylegan2")
editor.load_covariates_analysis("latent_directions_regression.pkl")
# w_latent: (18,512) StyleGAN2 latent of input image
w_edit = editor.single_sample_age_autmentation(w_latent, age_delta_scalar=15) # age +15 years
Methodology
- Data acquisition: A curated subset of the UTKFace dataset was aligned & projected into StyleGAN2 using a gradient-descent projector.
- Scalar extraction: For each latent, the optimal linear coefficient along every dimension was estimated via SVR to predict the annotated chronological age.
- Direction selection: The weight vector of the trained SVR yields a single latent direction that, when traversed, monotonically changes the predicted age while minimally affecting identity.
Intended Use
Use with the agesynth Python package:
from agesynth.synthetics_subset.latent_edit import LatentEdit
editor = LatentEdit(network_type="stylegan2")
editor.load_covariates_analysis("latent_directions_regression.pkl")
w_edit = editor.single_sample_age_autmentation(w_latent, age_delta_scalar)
Limitations & Biases
- Inherits demographic biases of UTKFace (age/ethnicity distribution).
- Vector is StyleGAN2-specific; not directly transferable to other GAN backbones.
- Extreme traversals (>50 years) may cause identity drift.
Citation
If you use these models, please cite:
@InProceedings{luevano2024agesynth,
title={Identity-Preserving Aging and De-Aging of Faces in the StyleGAN Latent Space},
author={Luevano, Luis S. and Korshunov, Pavel and Marcel, S{\'e}bastien},
booktitle = {International Joint Conference on Biometrics (IJCB 2025)},
year = {2025},
note = {Accepted for Publication in IJCB2025},
}
@InProceedings{geissbuhler2024syntheticfacedatasetsgeneration,
title={Synthetic Face Datasets Generation via Latent Space Exploration from Brownian Identity Diffusion},
author={David Geissb\"uhler and Hatef Otroshi Shahreza and Sébastien Marcel},
booktitle = {The Forty-second International Conference on Machine Learning (ICML)},
year = {2025},
publisher = {PMLR},
}
@InProceedings{Colbois_IJCB_2021,
author = {Colbois, Laurent and de Freitas Pereira, Tiago and Marcel, S{\'{e}}bastien},
projects = {Idiap, Biometrics Center},
title = {On the use of automatically generated synthetic image datasets for benchmarking face recognition},
booktitle = {International Joint Conference on Biometrics (IJCB 2021)},
year = {2021},
note = {Accepted for Publication in IJCB2021},
pdf = {http://publications.idiap.ch/downloads/papers/2021/Colbois_IJCB_2021.pdf}
}
Third-Party Data
This model was derived from the UTKFace dataset. UTKFace images are licensed for non-commercial research purposes only. Any use of this latent direction must therefore remain non-commercial. See https://susanqq.github.io/UTKFace/ for full license terms.