CS 766 Project 2

Panoramic Mosaic Stitching

Prachi Bhadekar

 

·         AIM: To implement a feature-based method to generate panoramic images.

 

·         BASIC STEPS:

            1. Taking images-Took 20 images of a 3-D scene for creating a 360 degrees panorama(at 18 degrees interval) using a canon Power shot SX100 IS digital camera and a Quick Pan rotator. All the images are 640*480.

 

2. Warping each image into cylindrical coordinates after removing distortion -

Firstly, the image distortion is removed using barrel distortion equations given in the mosaic lecture slides. Then, inverse cylindrical projection is taken. The programming is done in MATLAB for all the steps. Focal length estimate used for this purpose is 678.05421.

(k1=-0.22982, k2 =0.22952)

 

3. Computing the alignment of the images in pairs -

I used the MATLAB files given in the SIFT demo to detect features in my images (sift.m and match.m). I modified the match.m file to calculate the translation between any two images using RANSAC algorithm. The program outputs two adjacent images appended to each other, and lines drawn between the matching key points. (Note: Image alignment is done using feature matching and RANSAC algorithm which finds the translational motion between the adjacent images)

 

4. Stitching and cropping the resulting aligned images -

I found out the translation (in x as well as y direction) for all the adjacent image pairs(after converting to gray scale, removing distortion, taking inverse cylindrical map, and matching features between the 2 images).Then, the size of the warped panorama image is calculated, using these translation vectors.

Before sampling these processed images into the panorama, each image is blended using a feathering 1-D function. I have taken it as a triangular function which is zero at the two ends and increases linearly toward the middle column, and is highest (=1) there. All the pixels in each image are multiplied by this weighting function before sampling into the panorama to blend all of them properly.

 

5. Covert the result image to JPEG and display it in the panorama viewer.

I did not reach till this step in my project.

 

·         RESULTS:

Submitted Matlab Files:

1. inverse_map.m

2. sift.m

3. match.m

4. blending.m

5. program.m : The Main Program-Run this.

6. appendimages.m

7. showkeys.m

Image Files:

1. my_images folder

Application:

siftWin32- key point detector

Panorama image using Autostitch

http://picasaweb.google.com/prachi.bhadekar/DropBox?authkey=y94gAWn-G5Q#5257628127607653826

Or find the pano.jpg image attached

 

·         REFERENCES:

            [1] R. Szeliski and H.-Y. Shum.Creating full view panoramic image mosaics and texture- mapped models, SIGGRAPH 1997, pp251-258.

[2] M. Brown, D. G. Lowe, Recognizing Panoramas, ICCV 2003.

[3] Autostitch software