Report of Project 2

Name: Lijie Heng
Date: Oct 10th, 2007

Goal

The goal of this project is to combine a set of images into a larger image by registering, warping, resampling and blending them together.
We are to implement a feature-based method based on Brown and Lowe's ICCV2003 paper, "Recognising Panoramas" to generate panoramic images.


Each Step

Taking Pictures

Canon A640, tag 4726208879 was used to take pictures. Photo size: 480x640 with focal length equal to 660.8799, k1 = -0.18533 and k2 = 0.21517.

The group of images taken for this project are in the folder ./img2

Remove Distortion

Using the focal length f and coefficients k1 and k2 to remove the radial distortion according to the formula in the lecture.

Inverse Wrapping

Each image is wrapped into Cylindrical Coordinate and saved into a .pgm file using gil.

Pairwise Alignment

Extract the SIFT features from each image using SIFT. Given the correspondence pairs, RANSAC is used to find out the translational motion between each pair of images.

Stitching and Cropping

After computing the size of the final stitched image, blend all the images with its neighbors and crop the final image.

Final Image in Interactive Viewer

Create the final .jpg image and show it in the Interactive Viewer.

To Run

The program is in C/C++ in Visual Studio 2005. To run this progrm:
1. remove the distortion in main.cpp
2. do inverse wrapping and save the images into .pgm files in main.cpp
3. run sift to generate correspondence pairs into .txt files
4. read into the .txt files into RANSAC to find out the homographics matrix(using the svd solver from project 1)
5. find the translational between images and blend all the images
6. create final image

Results

Orginal Images

Panoramic Image

exp

Image in interactive viewer


Favorite Artifacts

View of Sheboygan Ave.