colorizing b&w film

Computational Photography II 2022

Comparing the Prokudin-Gorskii Method and Neural Networks

Full written report

black and white film
PG method
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.

red filter
green filter
blue filter
red channel
green channel
blue channel
Final result of Prokudin-Gorskii 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

Andy

digital
black and white film
Prokudin-Gorskii method
CNN colorized

Eugene

digital
black and white film
Prokudin-Gorskii method
CNN colorized