Project 1 Writeup
Alex Collins (aecollin)
January 29, 2010
Algorithm
The overall algorithm creates an image pyramid by recursively scaling the image until its size is less than 256x256 pixels. At this point, the image is small enough that we can exhaustively search through many different shift values to determine the shift that minimizes Sum of Squared Difference (SSD) of the intensities of each color plate.
Parameters:
- Minimum image resolution in Gaussian Pyramid (USED: 256x256)
- Range of possible shifts to check at each level of recursion (USED: +- 2 pixels)
- Range of possible shifts to check at the base level of recursion (USED: +- 16 pixels)
Discussion of Results
Nearly all of the images lined up extremely well using the brute-force search, which was to be expected. When using
the Image Pyramid method, the majority of the images still lined up very well, however many have slight color blurring due to imperfect alignment. A couple images, such as 00153v.jpg, never managed to have all 3 plates line up
correctly. This may be because these scenes are lower contrast, and so there may be much less differentiation
in the intensities of the color plates.
One interesting discovery was the the .jpg images aligned best when I reversed the xy red-shift values. However
this was not a bug in the program since the .tif images aligned best using the calculated red-shift xy values.
Extra Credit
- I automatically cropped the images by removing 10% from each side. This eliminates the bands of
pure color that are present at the borders of the original color plates.
Result Images
JPG Images aligned using Brute Force (Left) and Image Pyramids (Right)
TIF images aligned using Image Pyramid Methods
Red-Shift (y,x) and Green-Shift (y,x) data for all images
Image Name Green Shift (brute force) | Red Shift (brute force) |
Green Shift (pyramids) | Red Shift (pyramids) |
00125v.jpg | (5,2) | (10,1) | (4,2) | (4,8) |
00149v.jpg | (4,2) | (9,2) | (4,2) | (11,4) |
00153v.jpg | (7,3) | (-41,36) | (4,4) | (-26,30) |
00154v.jpg | (5,0) | (11,-2) | (2,2) | (8,0) |
00163v.jpg | (-3,1) | (-4,1) | (0,0) | (-2,0) |
00270v.jpg | (3,1) | (12,1) | (2,2) | (10,0) |
00398v.jpg | (5,3) | (11,4) | (4,4) | (14,6) |
00458u.tif | N/A | N/A | (38,10) | (86,42) |
00564v.jpg | N/A | N/A | (2,4) | (10,2) |
00911u.tif | N/A | N/A | (6,10) | (118, -6) |
001043u.tif | N/A | N/A | (-6,6) | (14,14) |
001057u.tif | N/A | N/A | (22,22) | (54,42) |
01167v.jpg | N/A | N/A | (2,4) | (10,0) |
01657u.tif | N/A | N/A | (38,26)) | (102,26) |
01861a.tif | N/A | N/A | (54,42) | (134, 74) |
31421v.jpg | N/A | N/A | (2,6) | (2,15) |