A Look Into the Past: A Colorful Window Overlooking the Russian Empire

By: Daniela Fajardo

Abstract

Sergei Mikhailovich was the man that pioneered color photography. Even though he lived at a time where there was no way to print color photographs, he envisioned a solution and recorded the exposures of different scenes onto a glass plate using three filters; red, green and blue. He traveled across the Russian Empire producing colored pictures and capturing the last years of the Russian Empire, leaving us a way into visualizing the past. Through computer graphics we can aim to achieve the thing that Sergei did with no technology; align the three filters in order to create a colored photograph.

My approach and challenges encountered:

For all the images the first thing I did was to crop the black boarders out and a percentage of pixels from each of the sides. For the jpg images I cropped 10% and for the tif images I cropped 15%. To score the displacement of the images I implemented Euclidean distance, NCC, and SSIM. SSIM took considerably longer to run and between Euclidean distance and NCC I saw better results with NCC which is why I decided to use this one.

For the smaller jpg images I exhaustively searched over a window of possible displacements and took the displacement with the best score over a range of [-15, 15] pixels. This part of the project was specially easy going.

When looking at the bigger tif images, the project got more complicated. I implemented the pyramid methodology recursively. At the beginning I decreased the size of the window by a factor of 0.7 as I moved from a smaller frame to a bigger frame. Nonetheless, to optimize my solution I decided to only leave a window of [-15, 15] for the base case (smallest frame) and take a [-2, 2] window for the rest of the frames. This approach worked well and sped up my code significantly. One of the trickiest parts was to figure out what depth was needed for each one of the images. For this I tested different depths per image and visually saw what depth was better for each. Additionally, while doing the project I realized that some images align better depending on the color we use for the base. This is why for the images that where mostly green or yellow, I used the green filter as the base. From there, the alignment became much better.

Images: from Most to Least Favorite

Emir

TIF, Green Base, Depth: 5

Displacement vector B: (-22, -50)

Displacement vector R: (16, 58)

Sculpture

TIF, Green Base, Depth: 5

Displacement vector B: (10, -34)

Displacement vector R: (-14, 62)

Icon

TIF, Green Base, Depth: 6

Displacement vector B: (-16, -42)

Displacement vector R: (5, 50)

Harvesters

TIF, Green Base, Depth: 4

Displacement vector B: (-16, -59)

Displacement vector R: (-3, 62)

Melons

TIF, Blue Base, Depth: 6

Displacement vector G: (4, 62)

Displacement vector R: (12, 62)

Church

TIF, Blue Base, Depth: 5

Displacement vector G: (4, 26)

Displacement vector R: (-4, 58)

Three Generations

TIF, Blue Base, Depth: 6

Displacement vector G: (12, 54)

Displacement vector R: (12, 62)

Lady

TIF, Blue Base, Depth: 5

Displacement vector G: (9, 54)

Displacement vector R: (0, 62)

Onion Church

TIF, Blue Base, Depth: 6

Displacement vector G: (26, 54)

Displacement vector R: (34, 62)

Train

TIF, Green Base, Depth: 5

Displacement vector B: (-6, -46)

Displacement vector R: (26, 46)

Tobolsk

JPG, Blue Base

Displacement vector G: (3, 3)

Displacement vector R: (3, 6)

Cathedral

JPG, Blue Base

Displacement vector G: (2, 5)

Displacement vector R: (3, 12)

Monastery

JPG, Blue Base

Displacement vector G: (2, -3)

Displacement vector R: (2, 3)

Self Portrait

TIF, Green Base, Depth: 6

Displacement vector B: (-22, -62)

Displacement vector R: (6, 62)