CS194-26: Image Manipulation and Computational Photography, Fall 2018

Project 1: Images of the Russian Empire

The Vo - 3033302872 - cs194-26-adw



Background

Sergei Mikhailovich Prokudin-Gorskii (1863-1944) [Сергей Михайлович Прокудин-Горский, to his Russian friends] was a man well ahead of his time. 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! His idea was simple: record three exposures of every scene onto a glass plate using a red, a green, and a blue filter. Never mind that there was no way to print color photographs until much later -- he envisioned special projectors to be installed in "multimedia" classrooms all across Russia where the children would be able to learn about their vast country. Alas, his plans never materialized: he left Russia in 1918, right after the revolution, never to return again. Luckily, his RGB glass plate negatives, capturing the last years of the Russian Empire, survived and were purchased in 1948 by the Library of Congress. The LoC has recently digitized the negatives and made them available on-line.

Overview

The goal of this assignment is to take the digitized Prokudin-Gorskii glass plate images and, using image processing techniques, automatically produce a color image with as few visual artifacts as possible. In order to do this, you will need to extract the three color channel images, place them on top of each other, and align them so that they form a single RGB color image.

Part 1: Single-Scale

Befor aligning the parts, I crop the white border as well as 10% of the actual image because these borders of the images will hurt my results. To calculate the possible displacements between the channels, I use normailized cross-correlation(NCC). The displacements,in the range of [-15, 15], that have the highest NCC will be chosen to shift the Red and Green frames so that these frames can match to the Blue frame.The only problem I have is finding a way to crop the border effectively

Here is some images using this naive method

Sample Images


Nativity G: [3, 1], R: [7, 0]
Settlers G: [7, 0], R: [14, -1]
Cathedral G: [5, 2], R: [12, 3]
Monastery G: [-6, 2], R: [3, 2]
Emir G: [-10, 9], R: [-10, 2]
Self portrait G: [1, 9], R: [9, 9]

Part 2: Multi-Scale

For large images, the above naive algorithm does not work as it not only takes tremendously long time but also gives poor quality images. Therefore, to enhance the image quality, I run the naive function recursively in image pyramid, from the coarsest scale to its normal scale and update the estimate displacement after each scale. To reduce the runing time, I decrease the searching range for displacement vector as it goes down the pyramid.

Sample Images


Lady G: [-4, 8], R: [-2, 11]
Icon G: [40, 16], R: [88, 24]
Three Generations G: [53, 14], R: [120, 11]
Train G: [42, 5], R: [90, 32]

Harvesters G: [59, 16], R: [132, 14]
Nativity G: [4, 29], R: [26, 37]
Icon G: [41, 17], R: [92, 23]
Turkmen G: [6, 21], R: [16, 28]
Icon G: [17, 12], R: [41, 22]

Extra Image