Project 1 : Images of the Russian Empire

by Minjoo Sur

1. Overview

This project is to combine 3 different black and white pictures into one colored picture. The pictures were taken using RGB glass plates colors by a Russian photographer, Sergey Prokudin-Gorsky.

2. Approach

Single-Scale

To match the pictures in 3 different colors, I used SSD (Sum of Squared Differences). Since edges can add some noise to SSD values when there is an offset, I cropped 5% from each edge before calculating SSD value. When I find the offset which gives the minimum value of SSD, I checked from (-15,-15) to (14,14). These are total 30 * 30 = 900 different offsets. To improve the time efficienty, I vectorized the 2D array into 1D array, calculated SSD, and then I changed the 1D array with the minimum SSD value back to 2D array.

Multi-Scale

I used Image Pyramid for Multi-Scale image such as .tif files. For Image pyramid, I scale the image into half size until it has less than 500 by 500 pixel size. Once it has lower than 500 by 500 size, I find offsets which give minimum value of SSD and start building cumulative best offset using the previous offset I found from the half size picture. Since checking (-15,15) to (14, 14) will take too long time to calcaulte each level, I use (-15, -15) to (14, 14) only once when the size is less than 500 * 500. For bigger size pictures, I use (-2,-2) to (1, 1) from the previous best offset. The mistake I made was I forgot to multiply offset by 2 when I double the size of the photo. Another mistake I made was I made 30*30 matrix which represents from -15 to 14 on each axis, but I forgot to shift the index of the matrix. For example, if (-15,-15) was the best offset I found, instead of returning (-15,-15), I returned (0,0) because (0,0) was the index of the (-15,-15).

3. The Result of Example Images

These are the results of images with offsets

Emir

Offset R(16, 57), B(-24,-49), G(0, 0)

Cathedral

Offset R(1, 7), B(-2,-5), G(0, 0)

Settlers

Offset R(-1, 8), B(0,-7), G(0, 0)

Harvesters

Offset R(-3, 65), B(-16,60), G(0, 0)

Icon

Offset R(5, 48), B(-17,-40), G(0, 0)

Lady

Offset R(3, 61), B(-8,-56), G(0, 0)

Monastery

Offset R(1, 6), B(-2,3), G(0, 0)

Nativity

Offset R(-1, 4), B(-1,-3), G(0, 0)

Self Portrait

Offset R(8, 98), B(-28,-79), G(0, 0)

Three Generations

Offset R(-3, 58), B(-14,-54), G(0, 0)

Train

Offset R(27, 43), B(-6,-43), G(0, 0)

Turkmen

Offset R(8, 61), B(-20,-56), G(0, 0)

Village

Offset R(10, 72), B(-12,-65), G(0, 0)

4. My Own Selections from Prokudin-Gorskii Collection

Offset R(1, 3), B(-2,-2), G(0, 0)

Offset R(0, 9), B(0,-4), G(0, 0)

Offset R(20, 26), B(-20,-10), G(0, 0)