Rishi Iyer: CS194-26 Project One

Overview

The purpose of this project was to color images from the Prokudin-Gorskii collection, reconstructing images by stacking the pictures taken with Red, Green, and Blue filters.

Approach

To properly colorize the image, we need to properly align each of the filtered images so that there are no discrepancies when stacked. As a metric for similarity, I tried to minimize the L2 Norm.

For smaller .jpg images, it was sufficiently fast to do an exhaustive search, iterating over a range of [-15,15] in the X and Y directions to find the best displacement relative to the Blue filter.

For the larger .tif images, an exhaustive search would take too long. For these, I implemented a pyramid search. Starting at a scale of 32 times smaller, I would find an alignment estimate in the range of [-5,5], then recursively update this estimate as I went up the scaling in factors of 2. This allowed for accurate alignments that also took much less time than the exhaustive search.

For all these images, I also cropped them by 10% on each side to eliminate the unnecessary border and align the images more accurately.

Cathedral: [2, 5], [3, 12]
Tobolsk: [16, 40], [22, 90]
Monastery: [2, -3], [2, 3]
Church: [14, 54], [10, 112]
Emir: [24, 48], [-248, 96]
Harvesters: [16, 60], [14, 124]
Icon: [16, 40], [22, 90]
Lady: [8, 50], [12, 112]
Melons: [10, 82], [12, 178]
Onion Church: [26, 52], [36, 108]
Self Portrait: [28, 78], [36, 176]
Three Generations: [14, 54], [10, 112]
Train Generations: [4, 42], [32, 88]
Workshop: [0, 52], [-12, 104]

Personal Choices

Landscape: [24, 56], [32, 124]
Person: [10, 30], [16, 132]
Person: [2, 16], [0, 104]