← all repositories
flynnmd/deconvfaces

Neural face generation, circa 2016, still works

A straightforward Keras implementation that turns deconvolution layers into controllable face synthesis—identities, emotions, and the occasional "drunk" wander through latent space.

890 stars Python Image · Video · Audio
deconvfaces
Velocity · 7d
+0.2
★ / day
Trend
steady
star history

What it does

Trains a deconvolution network on the Radboud Faces Database to generate photorealistic faces. You get a command-line tool for training (python3 faces.py train) and generation, with four modes from sober single images to a “drunk” random walk through latent space.

The interesting bit

The control is the hook. A YAML parameter file lets you interpolate between identities, emotions, and orientations—though the README candidly notes orientation interpolation is something “the model is unable to learn.” The “drunk” mode produces contiguous sequences rather than independent samples, which is a nice touch for animation.

Key highlights

  • 6 deconvolution layers can push output to 512×640 on a 12 GB Titan X
  • Four generation modes: single, random, drunk, interpolate
  • Adapted from a 2014 paper on chair generation—faces are the new furniture
  • Requires only Keras, NumPy, SciPy, tqdm, and Python 3
  • Example parameter files in params/ directory to get started

Caveats

  • GPU memory is the hard constraint; bumping batch size or kernel count to fit may “result in worse results or longer training”
  • Orientation interpolation explicitly fails; the README shows this limitation rather than hiding it
  • Training time is “a little over a day” for the full 512×640 model

Verdict

Worth a look if you want a minimal, hackable face generation setup without the PyTorch/TensorFlow 2.x complexity. Skip it if you need state-of-the-art fidelity or modern diffusion-model controls; this is research-code archaeology, not a production pipeline.

heatdrop uses Google Analytics to see which pages get read — nothing else. Your call. How we handle data.