berkeley logo

Programming Project #6 (proj6B) (second part)
CS194-26: Image Manipulation and Computational Photography



(second part of a larger project)


The goal of this project is to create a system for automatically stitching images into a mosaic. A secondary goal is to learn how to read and implement a research paper. The project will consist of the following steps:

  1. Detecting corner features in an image (10 pts)
  2. Extracting a Feature Descriptor for each feature point (10 pts)
  3. Matching these feature descriptors between two images (20 pts)
  4. Use a robust method (RANSAC) to compute a homography (30 pts)
  5. Proceed as in Project 3 to produce a mosaic (30 pts; you may use the same images from part A, but show both manually and automatically stitched results side by side) [produce at least three mosaics]
  6. Submit your results


Steps 1-3

For steps 1-3, we will follow the paper “Multi-Image Matching using Multi-Scale Oriented Patches” by Brown et al. but with several simplifications. Read the paper first and make sure you understand it. Then implement the algorithm:


Step 4

For step 4, use 4-point RANSAC as described in class to compute a robust homography estimate.


What have you learned?

Tell us whats the coolest thing you have learned from this project.


Submit Your Results

You will need to submit all your code. Please include a README with your code describing where each of the steps was implemented. If you skipped a step, say so, to save your GSI some time!



Bells & Whistles