CS 294-26 Project 1

Overview

This project aims to digitize Prokudin-Gorskii glass plate images. In doing this, we automatically produce a color image. The original glass plate images comprise three exposures of every scene onto a plate using a red, green, and blue filter. The purpose of this project is to overlay the glass plates so they produce a full, clear colored image.

Approach

Originally, my logic for aligining the 3 glass plates were to find the best displacement over a window of [-20, 20] window using an error metric (sum of square distance (SSD), or normal cross correlation (NCC)). I originally tried both SSD and NCC and found very similar results. I chose SSD for the sake of simplicity. We aligned the red plate to the blue plate and subsequently aligned the green plate with the blue plate.

Image Pyramid

For tif images, the exhaustive search method would take too long. Instead, we used image pyramids to rescale the image. I had 4 levels and if the image was rescaled after 4 levels or if it were rescaled such that the pixel columns were less than 450 pixels, we would then perform exhaustive search with SSD.

Issues

I had very blurry images at first because of the black and white borders on the outside. These borders would align, and thus mess up the algorithm. I had tried to automatically crop the borders by detecting large differences in pixel columns and rows, but this unfortunately would not yield great results. Instead for jpgs, I found that removing 5% of the outer edge of the image yielded good results. For tifs, I had to manually change the amount of outer edge that was cropped and test whether that yielded a good colorized image.

Image Aligned

Castle


Green displacement: 4px, 0px
Red displacement: 12px, 0px

Cathedral


Green displacement: 5px, 2px
Red displacement: 12px, 3px

Emir


Green displacement: 0px, 0px
Red displacement: 4px, 1px

Harvesters


Green displacement: 7px, 2px
Red displacement: 15px, 2px

Icon


Green displacement: 2px, 1px
Red displacement: 6px, 1px

Lady


Green displacement: 7px, 0px
Red displacement: 15px, -1px

Melons


Green displacement: 5px, 0px
Red displacement: 11px, 0px

Monestary


Green displacement: -3px, 2px
Red displacement: 3px, 2px

Onion Church


Green displacement: 6px, 3px
Red displacement: 13px, 5px

Self Portrait


Green displacement: 6px, 0px
Red displacement: 11px, 0px

Three Generations


Green displacement: 7px, 1px
Red displacement: 14px, 1px

Tobolsk


Green displacement: 3px, 3px
Red displacement: 6px, 3px

Train


Green displacement: 6px, 0px
Red displacement: 11px, 3px

Workshop


Green displacement: 7px, 0px
Red displacement: 13px, -2px

Chosen Images Aligned

Chosen 1


Green displacement: 5px, 0px
Red displacement:11px, -1px

Chosen 2


Green displacement: 8px, -4px
Red displacement:11px, -7px

Chosen 3


Green displacement: 0px, 0px
Red displacement: 4px, 1px