Project 1: Images of the Russian Empire:Colorizing the Prokudin-Gorskii photo collection
train

Overview


In this proejct, we are working with the digitized Prokudin-Gorskii glass plate images, which were initially taken in the early 1900. Our goal is to produce a color image by aligning the three RGB images.
WARNING: I've never done front end before in my life, so please excuse ugliness :')

train
train

Step 1: Naive Approach


Let's not go wild from the beginning, but follow directions : set one image as the base and do the exhaustive search on other images and score to get the best alignment using SSD. When we try it on a small image, we get the results below.
Note that to make the image looks nicer, I cropped the edges before and fafter the aligning process. I cropped 10% of images on each side to get rid of image boarders, and 15 pixels on each side after to get rid of color bleeding from the alignments.


how-to
monastery
monsatery.jpg
R: [2 3]
G: [2 -3]
cathedral
cathedral.jpg
R: [3 12]
G: [2 5]
tobolsk
tobolsk.jpg
R: [3 6]
G: [3 3]

Not bad! But did we just get lucky? Let's try a big picture!

icon_fail
icon.tif
R: [15 0]
G: [15 15]

Oof. Seems like we did get lucky. We observe 2 problems here: 1. The algorithm takes forever to run 2. The resulting image is not good! This must be the sign that we should take the hint from the direction and work with image pyramid.


Step 2: Image Pyramid


Using image pyramid, we can start with the smallest scale and update our offset values as we go.
Note that I did the similar process I did with small images; I cut 10% of edges before the alignment, and cut extra 120 pixels on each side after the alignments. The result was quite effective!


how-to
icon
icon.tif
R: [23 89]
G: [17 -41]
lady
lady.tif
R: [11 112]
G: [9 51]
melons
melons.tif
R: [13 178]
G: [10 81]
village
village.tif
R: [22 137]
G: [12 64]
onion_church
onion_church.tif
R: [36 108]
G: [26 51]
self_portrait
self_portrait.tif
R: [37 176]
G: [28 78]
three_generations
three_generations.tif
R: [11 112]
G: [14 53]
workshop
workshop.tif
R: [-12 105]
G: [0 53]
train
train.tif
R: [35 87]
G: [5 42]
harvesters
harvesters.tif
R: [13 124]
G: [16 59]
emir
emir.tif
R: [55 103]
G: [24 49]

Step 2.5: Fixing Errors


So I wasn't so satisfied with how emir.tif turned out. So I wondered if chaning the base color to Green would make any difference. In fact, it seems like it did


emir_green
emir.tif
R: [17 57]
B: [-24 -49]

This image looks a lot cleaner! I have 2 guesses around why this is happening:
1. Even with the image pyramid, we are searching over a certain range. Therefore, it is possible that the idea displacement is not within the range of search
2. Small scale image alignment moves the actually image quite a bit; for example, when I move the shift the image by 1 in 1/16 scale, I am moving the actual image by 16. Becasue of this nature of image pyramid, it is possible that we accidentally moved too far for some images.

Step 3: Extra Pictures


Let's try aligning some more pictures from the collection!


weapons
weapons.tif
R: [13 135]
G: [18 67]
georgian_woman
georgian_woman.tif
R: [-11 162]
G: [0 82]
city
city.tif
R: [29 60]
G: [21 22]
turkmen
turkmen.tif
R: [28 116]
G: [21 56]
wooden_church
wooden_church.tif
R: [38 35]
G: [19 9]