Inspiration

A single photograph captures only one moment in time and one viewpoint.

This project explores what happens when:

  • Time is modified (aging transformation)
  • Spatial dimensionality is restored (3D reconstruction)

In a dense urban environment like Chicago’s Loop, life moves quickly. People relocate, commute long distances, grow older, or sometimes disappear from our daily routines altogether.

This system rethinks how we preserve and experience presence in a city defined by motion and change. It can be imagined as a tool for:

  • Visualizing missing persons in age-progressed form
  • Preserving spatial memory of loved ones who have passed away
  • Reconnecting with people who are geographically distant
  • Archiving personal histories within an evolving urban landscape

Rather than producing a filtered image, the system generates a spatial object, something that can be rotated, rendered, and experienced from multiple viewpoints. And it's bridging time and space in a city where both are constantly in flux.

What it does

Upload a photo of a missing person, set a target age, and Your Tomorrow generates a realistic portrait of what they might look like today — then rebuilds their face as an interactive 3D model you can rotate and share.

How we built it

Stage 1: Face Aging

Model Used:
Face Aging via Diffusion-based Editing (FADING) / FADING_stable

This stage performs identity-preserving age transformation using diffusion-based editing.

Key characteristics:

  • Built on Stable Diffusion
  • DDIM scheduler
  • Null-text inversion
  • Prompt-to-Prompt attention control
  • Maintains identity consistency while modifying age-related features

Stage 2: 2D to 3D Reconstruction

Model Used:
FaceLift: Learning Generalizable Single Image 3D Face Reconstruction from Synthetic Heads

This stage reconstructs a 3D face model from the aged 2D image.

Key characteristics:

  • Single-image 3D face reconstruction
  • Multi-view diffusion generation
  • Gaussian Splatting-based representation
  • .ply export support
  • Turntable rendering capability

The final output is a Gaussian Splat representation that can be visualized interactively.

Accomplishments that we're proud of

The full pipeline actually works end to end. Photo in, aged 3D model out. The missing persons gallery with hover-to-play turntable videos is something we're genuinely proud of — it gives the project the emotional weight it deserves.

What we learned

Async Python breaks in subtle ways when you mix it with long-running ML inference. We also learned that ensemble prompting in CLIP is surprisingly effective for demographic classification — much better than single prompts.

Tech Stack

  • Python 3.10
  • PyTorch
  • Diffusers
  • Stable Diffusion
  • xFormers
  • FaceLift
  • Gaussian Splatting
  • FastAPI
  • Uvicorn
  • CUDA-enabled GPU (recommended)

Tested on:

  • RTX 4070
  • A100 (Colab)
  • H100 (Colab)

What's next for Your Tomorrow

A real database so cases persist. A mobile camera upload flow. And replacing Colab with a dedicated GPU server so the whole pipeline runs in under 30 seconds.

Built With

Share this project:

Updates