← all repositories
emilwallner/Coloring-greyscale-images

Teaching neural networks to stop coloring everything brown

A hands-on tutorial repo that builds image colorization from a 100-line baseline up to a GAN, with the author openly admitting most outputs are still pretty bad.

Coloring-greyscale-images
Velocity · 7d
+0.3
★ / day
Trend
steady
star history

What it does

This repo contains four progressively complex Jupyter notebooks that colorize grayscale images using Keras/TensorFlow. It starts with a minimal “Alpha” version that learns on a single image, adds batch training in “Beta,” incorporates a pre-trained classifier in the “Full” version to nudge the network away from its default “safest color, brown,” and finally an experimental GAN version borrowing from pix2pixHD and DeOldify.

The interesting bit

The author is unusually candid: displayed results are cherry-picked, most outputs are “mostly black and white or lightly colored in brown,” and narrow datasets work better than diverse ones. That honesty makes it a genuinely useful teaching tool — you see why colorization is hard, not just that it exists.

Key highlights

  • Four staged notebooks (Alpha → Beta → Full → GAN) with increasing complexity
  • Full version uses classifier features (nature/human/sky/building percentages) to guide color choices
  • GAN version implements multi-scale discriminators, spectral/instance normalization, and multi-GPU support
  • Includes dataset scraping scripts for Yahoo 100M images and Pixabay
  • Pre-trained weights available for the GAN version; trained on contemporary photography, “not a lot of people”
  • Accompanying Medium tutorial claims a 100-line starting point

Caveats

  • GAN version has known memory problems and the author suggests falling back to the original Keras generator
  • Multi-GPU implementation is inefficient: models are copied to each GPU rather than distributed strategically
  • 128×128 training converges “a magnitude faster” than 256×256, so higher-res results require patience
  • FloydHub integration button is present but the platform itself is defunct (noted without editorializing)

Verdict

Good for developers who want to understand colorization mechanics from the ground up, or who need a sandbox to experiment with GAN architectures. Skip it if you need production-ready results today — the author literally points you to Palette API for that.

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