CS180 Project 1 - Colorizing The Prokudin-Gorskii Photo Collection
Introduction
This project for CS180 is a result of applying image pyramid and alignment algorithms to a collection of images that are separated into their three color channels. I found that computing SSD (Sum of Squared Differences) over a 15x15 pixel window worked well over the smaller jpg images but not the larger tif images. I then implemented an image pyramid algorithm to downsample the image by a factor of 2 and recursively update displacement for the images that were too large to search. My algorithm was initially having a lot of trouble aligning the Emir, however I made a few changes that improved performance on the emir while not harming the other alignments. First, I implemented cropping to a fixed amount (15%), this potentially helped ignore random noise from the irrelevant parts of the image. I also applied Sobel filtering to detect edges, and this helped quite a bit as well. The intuition behind this was that the original aligment failed on the Emir due to the picture having different brightness values and much more emphasis on blue in his blue jacket. The results for all images can be seen below.
Cathedral

Cathedral. Displacement vectors (green, red): (5, 2) (12, 3)
Church

Church. Displacement vectors (green, red): (24, 4) (58, -4)
Emir

Emir. Displacement vectors (green, red): (49, 24) (107, 40)
Harvesters

Harvesters. Displacement vectors (green, red): (65, 17) (124, 14)
Monastery

Monastery. Displacement vectors (green, red): (-3, 2) (3, 2)
Icon

Icon. Displacement vectors (green, red): (40, 16) (89, 23)
Lady

Lady. Displacement vectors (green, red): (56, 9) (119, 13)
Melons

Melons. Displacement vectors (green, red): (80, 10) (176, 13)
Sculpture

Sculpture. Displacement vectors (green, red): (33, -11) (139, -26)
Self Portrait

Self Portrait. Displacement vectors (green, red): (78, 29) (175, 37)
Three Generations

Three Generations. Displacement vectors (green, red): (53, 12) (110, 9)
Tobolsk

Tobolsk. Displacement vectors (green, red): (3, 3) (6, 3)
Train

Train. Displacement vectors (green, red): (42, 9) (89, 33)