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.jpg | green align (x, y) : (5, 2) | red align (x, y) : (12, 3)
Monastery : monastery.jpg | green align (x, y) : (-3, 2) | red align (x, y) : (3, 2)
Tobolsk : tobolsk.jpg | green align (x, y) : (3, 2) | red align (x, y) : (6, 3)
TIF Images
Emir : emir.tif | green align (x, y) : (49, 24) | red align (x, y) : (105, 42)
Harvesters : harvesters.tif | green align (x, y) : (60, 16) | red align (x, y) : (123, 13)
Icon : icon.tif | green align (x, y) : (40, 16) | red align (x, y) : (89, 23)
Lady : lady.tif | green align (x, y) : (59, 9) | red align (x, y) : (120, 12)
Melons : melons.tif | green align (x, y) : (80, 10) | red align (x, y) : (178, 17)
Onion Church : onion_church.tif | green align (x, y) : (52, 23) | red align (x, y) : (108, 36)
Self Portrait : self_portrait.tif | green align (x, y) : (81, 32) | red align (x, y) : (176, 38)
Three Generations : three_generations.tif | green align (x, y) : (55, 12) | red align (x, y) : (113, 11)
Train : train.tif | green align (x, y) : (41, -1) | red align (x, y) : (85, 29)
Village : village.tif | green align (x, y) : (65, 11) | red align (x, y) : (137, 22)
Workshop : workshop.tif | green align (x, y) : (53, -2) | red align (x, y) : (106, -13)
Extra TIF Images
Grandma Extra : grandma-extra.tif | green align (x, y) : (90, -27) | red align (x, y) : (192, -52)
Tapestry : tapestry-extra.tif | green align (x, y) : (16, 13) | red align (x, y) : (41, 14)
Yurt : yurt-extra.jpg | green align (x, y) : (37, 27) | red align (x, y) : (85, 42)