Sofie Yang

CS 194-26 - Project 1 Colorizing the Prokudin-Gorskii photo collection

Project Overview

Prokudin-Gorskii was a Russian man who gained the Tsar's permission to travel around the Russian Empire starting in 1907 to take photos - color photos. He captured not only pictures of monuments, but also of daily civilian life. The vivid color photos were constructed using three exposures: RGB and then aligned. This project re-creates his process by taking the digitized exposures and programatically colorizing them.

My approach was to use the functions introduced in the Python starter code. I needed to keep it modularized because I wanted to reuse functions when trying out different difference metrics, search ranges, and size of images. I found that the Normalized Cross-Correlation metric was better than Sum of Squared Differences for most of the images. However, the regular alignment algorithm was too slow on the larger TIF images, so I implemented an image pyramid. To find the ideal depth of the image pyramid, I graphed the difference metric over the shifts and looked to see whether there was a clear minimum. Usually, the minimum was no longer clear after 4-5 layers meaning that a deeper pyramid than that will not increase accuracy any more. For Emir, I had trouble getting the image to align and decided to try to use the channel's gradient instead of absolute channel value for the difference metric calculations since the background is flat and only the person has high gradient values. This was highly effective not only for Emir, but also for the other images containing people

JPG Images

Cathedral

Cathedral : cathedral.jpg | green align (x, y) : (5, 2) | red align (x, y) : (12, 3)

Monastery

Monastery : monastery.jpg | green align (x, y) : (-3, 2) | red align (x, y) : (3, 2)

Tobolsk

Tobolsk : tobolsk.jpg | green align (x, y) : (3, 2) | red align (x, y) : (6, 3)

TIF Images

Emir

Emir : emir.tif | green align (x, y) : (49, 24) | red align (x, y) : (105, 42)

Harvesters

Harvesters : harvesters.tif | green align (x, y) : (60, 16) | red align (x, y) : (123, 13)

Icon

Icon : icon.tif | green align (x, y) : (40, 16) | red align (x, y) : (89, 23)

Lady

Lady : lady.tif | green align (x, y) : (59, 9) | red align (x, y) : (120, 12)

Melons

Melons : melons.tif | green align (x, y) : (80, 10) | red align (x, y) : (178, 17)

Onion Church

Onion Church : onion_church.tif | green align (x, y) : (52, 23) | red align (x, y) : (108, 36)

Self Portrait

Self Portrait : self_portrait.tif | green align (x, y) : (81, 32) | red align (x, y) : (176, 38)

Three Generations

Three Generations : three_generations.tif | green align (x, y) : (55, 12) | red align (x, y) : (113, 11)

Train

Train : train.tif | green align (x, y) : (41, -1) | red align (x, y) : (85, 29)

Village

Village : village.tif | green align (x, y) : (65, 11) | red align (x, y) : (137, 22)

Workshop

Workshop : workshop.tif | green align (x, y) : (53, -2) | red align (x, y) : (106, -13)

Extra TIF Images

Grandma Extra

Grandma Extra : grandma-extra.tif | green align (x, y) : (90, -27) | red align (x, y) : (192, -52)

Tapestry

Tapestry : tapestry-extra.tif | green align (x, y) : (16, 13) | red align (x, y) : (41, 14)

Yurt

Yurt : yurt-extra.jpg | green align (x, y) : (37, 27) | red align (x, y) : (85, 42)