Project 1: Images of the Russian Empire

Part 1: Loading

First we load the plate image by cutting it into three sections and stacking them into corresponding r, g, b channels

Part 2: Feature Pyramid Construction

In order to achieve good performance on aligning the color channels, regardless of scale, we use a pyramid of progressibley more blurred images. Features are then computed from each of the layers of the pyramid, which in this case is the sum of absoute x, y derivatives. This is computed using horizontal and vertical sobel filters, which are a convolution of a 1-d [-1, 0, 1] filter and a 2d gaussian.

Visualizations:

For each layer of the pyramid, working from bottom to top, we display the misaligned image, misaligned feature maps, and individual feature maps for each channel.

Part 3:

Now to align the channels we start by computing a convolution between padded versions of the feature maps and a target channel. The offset of the maximum of produced "matching-maps" to the centers determines the optimal offset for the channel.

Next we apply the offset to improve the alignment and take a step down the pyramid (we started with the lowest res image and are working down) Repeat this process till the bottom of the pyramid is reached.

Visualizations:

The first three images are the alignment heatmaps produced by convolving the features together. Seen below that are the input, output pairs of images and feature maps - before and after alignment at the current iteration.

The visualizations are shown for each layer of the pyramid, from top to bottom.

Part 4: Unedited image color histograms

The first set of histograms, corresponding to each channel are poorly aligned, and lead to odd coloring of the image, plus there are small bits of noise sprinkled im the image.

To fix this we blur the image with a small kernel, since it is very high res and has unneeded high-frequency data, and then normalize the colors to match the green channel.

The final image histograms are much smoother and have much more comparable ranges to eachother. This results in a more natural looking image

Part 5: Full catalog

We show the results of the whole pipeline applied to every given image, misaligned inputs are on the left and processed outputs are on the right.

Offsets and image file are printed above each image

Some notable faliure cases include church.tif, harvesters.tif, and self_portrait.tif where large color splotches are present due to movement in the scene during photography.