black and white film
black and white film
PG method
PG method
CNN colorized
CNN colorized
This project compared modern machine learning colorization with a 1900s Russian technique for colorizing analog photographs. I trained a convolutional neural network colorizer, customizing it for my use-case by experimenting with the relationship between training data composition and colorization results for the nine custom-made and 100 historical images chosen for testing.
Following the Prokudin-Gorskii method, I took three exposures of the same scene with a translucent red, green, then blue filter over the camera lens. The filter absorbs the light of the opposite wavelength, so light with the complimentary color will not reach the film, and thus not cause it to darken. I then used the scans of these three exposures as the red, green, and blue channels of an RGB image, getting the image below.
red filter
red filter
blue filter
blue filter
green filter
green filter
red channel
red channel
blue channel
blue channel
green channel
green channel

Final result of PG method

For the ML approach, I adapted Emil Wallner’s “How to colorize black & white photos with just 100 lines of neural network code” CNN tutorial's full version, which incorporated a pre-trained classifier Inception ResNet v2 with the CNN. For my dataset, I combined Wallner’s Unsplash (misc), Nvidia's StyleGAN (faces), and Stanford DAGS Lab's Stanford Background Dataset (greenery). I trained my full final model on 15,007 images, divided into five sets of 3,000 (with the batch #5 being 3,007). For each set, I trained the model for 50 epochs, which each ran on batches of 30 images for 100 steps. 
Example Images
digital
digital
black and white film
black and white film
Prokudin-Gorskii method
Prokudin-Gorskii method
CNN colorized
CNN colorized
digital
digital
black and white film
black and white film
Prokudin-Gorskii method
Prokudin-Gorskii method
CNN colorized
CNN colorized
Back to Top