Skip to content

[SIGGRAPH Asia 2025] The Aging Multiverse: Generating Condition-Aware Facial Aging Tree via Training-Free Diffusion

License

Notifications You must be signed in to change notification settings

gongbang02/agingmultiverse

Repository files navigation

The Aging Multiverse: Generating Condition-Aware Facial Aging Tree via Training-Free Diffusion

1UNC Chapel Hill 2University of Maryland 3Lenovo

* Equal Contribution

Aging is not a single path but a multiverse of possibilities shaped by our choices and environments. Aging Multiverse brings this idea to life by generating branching visualizations—"aging trees"—that show how you might age under different lifestyle conditions.

For more visual results, go checkout our project page


⭐ Update

  • [2025.10] Code release.
  • [2025.08] Paper accepted to SIGGRAPH Asia 2025.

🎃 Overview

overall_structure

⚙️ Setup

Environment

  1. Clone Repo

    git clone git@github.com:gongbang02/agingmultiverse.git
    cd agingmultiverse
  2. Create Conda Environment

    conda env create -f environment.yml

Preprocessing

We preprocess input images for stable performance:

  1. Image Enhancement
    We follow GFPGAN to enhance face quality.

  2. Face alignment
    We use dlib to align faces, you can use script here for multi-processing.

🔄 Aging Direction Extraction

To pre-compute the attention feature aging direction for our proposed Simulated Aging Regularization, put the young and old image clusters of target identity under a directory structured as follows:

{path_to_image_clusters}
├── {age}_{idx}.ext

To extract the per-image attention features for aging direction calculation, run:

python src/attention_inversion.py \
--source_img_dir {path_to_image_clusters} \
--gender {gender_of_target_identity} \
--ethnicity {ethnicity_of_target_identity} \
--age_filter_young {young_lower_bound} {young_upper_bound} \
--age_filter_old {old_lower_bound} {old_upper_bound} \
--save_feature \
--feature_path {path_to_store_attention_features}

Next, calculate the young average features and old average features and obtain the attention feature aging direction:

python src/attention_direction.py \
--base_path {feature_path_from_last_step} \
--output_dir_averages {path_to_store_group_average_features} \
--output_dir_direction {path_to_store_aging_direction}

We provide a general aging direction calculated from various identities at https://agingmultiverse.cs.unc.edu/download/ for quickly trying out our method. However, for better stability, we still recommend computing per-identity aging direction.

⚡ Image Editing

After obtaining the aging direction, run image editing with:

python src/edit.py \
--source_prompt "A photo of {ethnicity} {gender} at {input_age} years old." \
--target_prompt {llm_refined_target_prompt} \
--target_age {target_age} \
--input_age {input_age} \
--guidance 2 \
--source_img_dir {path_to_input_images} \
--num_steps 15 \
--inject 3 \
--name 'flux-dev' \
--offload \
--output_dir {path_to_edited_images} \
--direction_path {path_to_aging_direction}

Prompt enhancement is not built-in in our code, we recommend users take our meta prompt in meta_prompt.txt for prompt enhancement with any LLM of their choice.

❤️ Acknowledgements

We thank FLUX and RF-Solver-Edit for their clean codebase.

📑 Citation

If you find our repo useful for your research, please consider citing our paper:

@misc{gong2025agingmultiversegeneratingconditionaware,
      title={The Aging Multiverse: Generating Condition-Aware Facial Aging Tree via Training-Free Diffusion}, 
      author={Bang Gong and Luchao Qi and Jiaye Wu and Zhicheng Fu and Chunbo Song and David W. Jacobs and John Nicholson and Roni Sengupta},
      year={2025},
      eprint={2506.21008},
      archivePrefix={arXiv},
      primaryClass={cs.CV},
      url={https://arxiv.org/abs/2506.21008}, 
    }

Shield: CC BY-NC-SA 4.0

This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License.

CC BY-NC-SA 4.0

About

[SIGGRAPH Asia 2025] The Aging Multiverse: Generating Condition-Aware Facial Aging Tree via Training-Free Diffusion

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages