15-463 Computational Photography - Assignment 1

Riva YuHsin Chang


Images of the Russian Empire

Usages

Align_SSD.m: single-scale implementation by using SSD method.
Align.m: multiscale pyramid version.
Align_pyramid.m: the recursive function for the image pyramid.
AlignImage.m: the actual function that performs the image comparison.

Description

Pyramid layer: downsample until the image is smaller than 400 height.
Window size: [-5, 5].
Align method: simple SSD method.
An extra step I did is to crop a certain amount of border out right before doing the alignment. The reason of doing this is that using circshift will produce some unwanted border around the image. Together with the original border, it makes the result bad. For the large scale image, it takes around 3 to 4 minutes to generate the result on a normal speed laptop.

Results

00125v.jpg

G offset: [5, 1] R offset: [10, 1]

00398v.jpg

G offset: [5, 3] R offset: [11, 4]

00163v.jpg

G offset: [-2, 1] R offset: [-4, 1]

31421v.jpg

G offset: [8, 0] R offset: [13, 0]

00149v.jpg

G offset: [4, 2] R offset: [9, 2]

00270v.jpg

G offset: [3, 1] R offset: [12, 1]

00564v.jpg

G offset: [5, 0] R offset: [11, 0]


The result of these two images are not so nice. Probably the border isn't fully eliminated before the alignment.
00153v.jpg

G offset: [5, 1] R offset: [10, 1]

00154v.jpg

G offset: [*, *] R offset: [*, *]

Large Scale Image

00458v.jpg

G offset: [42, 5] R offset: [88, 32]

00911v.jpg

G offset: [14, -7] R offset: [133, -13]

01043u.jpg

G offset: [-17, 9] R offset: [11, 16]

01047u.jpg

G offset: [24, 20] R offset: [71, 33]

01657u.jpg

G offset: [56, 8] R offset: [124, 10]

01861a.jpg

G offset: [70, 37] R offset: [147, 62]