Project 1: Colorizing the Prokudin-Gorskii photo collection

Anaga Rajan

Overview

In the project, I first tried to successfully position smaller size images. For these pictures I just shift both vertically and horizontally through my specified window size and score based on deviation from the base image. This worked pretty well on its own, but became even more powerful when I analyzed only pixels within the 2/3 central portion of the picture. This was a heuristic that ignored some irrelevent noise around the corners, thus making shifts more accurate.

Then, in order to improve performance I made another function that continually rescaled the image by half until it reached a certain size that I could reasonably shift (like how I did the smaller images). As I moved back up the stack, I updated the images with the coarser shifts then added more refined shifts on top. The refined shifts had smaller windows which therefore cut down execution time and made the process run much quicker.

For the Bells and Whitles portion I implemented first an automatic contrasting feature that made sure that rescaled all the pixels so that, through all three channels, the pictures spanned [0, 1], to get the full rane or light and dark colors. Additionally, I implemented white balancing. In this method, I find the average value among all three channels, I choose the highest value, and then scale the other two channels so that their average moves closer to the selected one.

Bells and Whistles

Auto Contrasting

Before

After

White Balancing

Before

After

Image Results

Extra Image Results

Shortcoming in Alignment

For some pictures, primarily "harvesters", there is still some alignment issues. I think this is due to the triangle alignment which is very coarse in the first few layers which causes some incorrect shifts here and there.