Gorskii Image Alignment

An exploration of image alignment techniques

Overview

This project focuses on image alignment techniques. For each image, we are given 3 color channels (R, G, and B) and we are required to align the image to the other two channels. The axes are not completely aligned hence the need for external methods to ensure alignemnt. Here we use a Normalized Cross Correlation to compute the optimal shift necessary to align the images. This was implemented with both the naive approach as well as FFT approach. Each color was overlayed on top of their b;ue counter part adn teh optimal shift for image alignment was calculated based on the amplituted of the color in each pixel. With the best alignemnt found, I used the numpy roll function to align the images. I also apllied the same method but in image pyramid format. Larger images were scaled down by a factor of 1/2 3 times to reduce computation time

Results

Below are the images from the data.zip. The shift values have been reported in the caption based on the follow convention. [(Green Y, Green X, Red Y, Red X)]

Bells and Whistles

Interesting add-ons to this project include the use of FFT and IFFT to compute cross correlations. This greatly enhances speed allowing for the naive fft approach to be comparable in speed to the standard pyramid approach. Automatic cropping was also experimented with. The technique uses saturation to detect which parts of the image to remove.Saturation of only clor is remove based ona fixed threshold. Unfortunately this cut out a lot of the image often and worked best only for the Emir.

Cropped Emir