CS 766 Computer Vision Assignment 2: Panorama & Mosaics

Saikat R. Gomes (saikat@cs.wisc.edu) & Stephen Lazzaro (slazzaro@cs.wisc.edu)

Contents

  1. Home
  2. Introduction
  3. Image Acquisition
  4. Cylindrical Coordinates
  5. SIFT Feature detection
  6. Ransac Translation
  7. Stitching: Translastion
  8. Image Blending
  9. Results
    1. Monona Terrace
    2. University
    3. CS Lobby (iPhone)
  10. Datasets
  11. Code
  12. Git Logs
  13. References

Running the Code

The software implementation was done in Matlab.
The code package can be downloaded from here.

Panorama creation with standard homography methods:

This functionality is implemented in the code folder.

Syntax:
PanoramaMainRansac( inDir , f , ransactype );

where:
inDir: Name of the directory containing the images which should be ordered from left to right
f: the focal length of the camera used
ransactype: the type of RANSAC variation to use which should be an integer from 1 to 5. The different RANSAC types for each integer are described below
  1. The standard RANSAC method with a n = 4, epsilon = 5, p = 0.2, and P = 0.99.
  2. RANSAC method where minimizing sum of squared residuals used. For this case, n = 4, p = 0.2, and P = 0.99
  3. RANSAC method with randomizing epsilon on each iteration used. For this case, n = 4, p = 0.2, and P = 0.99
  4. RANSAC method with randomizing n on each iteration used. For this case, epsilon = 5, p = 0.2, and P = 0.99
  5. RANSAC method with randomizing epsilon and n on each iteration used. For this case, p = 0.2, and P = 0.99
A unique output folder in the form of 'PANO_{$timestamp}_ransactype#' is created in the directory that is passed in:

Output Files:
Images for each stitching of the panorama and the final panorama warped and cropped.

Average Vector Translation Panorama

To run the simple average vector transtion panorama:

PanoramaMain(inDir, f, SIFT_thresh, blend, printVerbose, doSIFT_Test)

ex: PanoramaMain('../images/monona/final/simple2/',660.87,2.5,0,1,0);