Images of the Russian Empire:

Colorizing the Prokudin-Gorskii photo collection

Xuanbai Chen

I.Background:

Sergei Mikhailovich Prokudin-Gorskii.Convinced, as early as 1907, that color photography was the wave of the future, he won Tzar's special permission to travel across the vast Russian Empire and take color photographs of everything he saw including the only color portrait of Leo Tolstoy. And he really photographed everything: people, buildings, landscapes, railroads, bridges... thousands of color pictures! He did so by taking three pictures of the same scene with red, green and blue filters. Later on, these images were purchased by the library of congress and made available online.

II.Method:

For every single image,the gray one should be cutted into three pieces B(blue),G(green),R(red) in dividing their height with three. And then aligned them by using r,g,b into a colored image. In order to align them, we have to use a displacement window to form each of the picture. There are two ways to score ensure the displacement. One is L2 norm ,the other is cross-correlation (NCC).I choose NCC as the method and every two images should be calculated as below:

III.Image Alignment in small images:

let us try it in small images(automated crop 0.02 before and 0.05 after):


Offset(h,w) & Time Result
G:[-5, 2] R:[-9, 3] & 10.9s
G:[-7, 2] R:[-13, 3] & 8.4s
G:[-6, 0] R:[-15, 0] & 7.5s

VI.Image Alignment with Image Pyramid:

Images with end of 'tif' are very large. Using the method will be really time-consuming. Image pyramid will help us to solve this problem. By using a recursive function and building a threshold,you can deal with the coarsest image and then rescale by a factor of 2. Recording the offset before and use it in the next loop,it will accelerate a lot.However,after using that,I find it is still time consuming.So I just use a simple pyramid which rescale by a factor of 0.1 and the result is still very well.


Offset(h,w) & Time Result
G:[-42, 0] R:[-94, -11] & 10.7s
G:[-42, 20] R:[-75, 31] & 8.9s
G:[-30, 0] R:[-72, 14] & 14.6s
G:[-61, 23] R:[-110, 21] & 13.9s
G:[-23, 1] R:[-52, 0] & 12.0s
G:[-53, 0] R:[-92, 11] & 13.7s
G:[-52, 0] R:[-91, 20] & 13.4s
G:[-32, 12] R:[-60, 20] & 54.7s
G:[-50, -10] R:[-102, -22] & 13.9s
G:[-21, 0] R:[-29, 0] & 18.4s
G:[-51, 20] R:[-102, 13] & 11.6s

V.Image Alignment With Edge Feature:(Bells and Whistles)

We noice that there are still some images' result is not very well(emir and village).That's because the photo are taken in different brightness. So I use Canny Edge Dector to align the image and the result is better. I will make comparison below:


No.1:emir.tif

Before & After


No.2:village.tif

Before & After


V.Auto Cropping:(Bells and Whistles)

We should detect the edge automaticly,and auto cropping. In that way, it will show a more accurate result. Comparison of before and after cropping for a few sample images are below:


Before & After

No.1:emir.tif


No.2:harvesters.tif


No.3:icon.tif


No.4:lady.tif


No.5:melons.tif


No.6:onion_church.tif


No.7:self_portrait.tif


No.8:three_generations.tif


No.9:train.tif


No.10:workshop.tif