Contents
- Home
- Introduction
- Image Acquisition
- Cylindrical Coordinates
- SIFT Feature detection
- Ransac Translation
- Stitching: Translastion
- Image Blending
- Results
- Monona Terrace
- University
- CS Lobby (iPhone)
- Datasets
- Code
- Git Logs
- References
|
RANSAC methods
Different Ransac descriptions
For the RANSAC method, we always used a P = 0.99 and experimented with different small p values from 0.1 - 0.5. When we used small p values greater than 0.5 we began to see large differences in our results. In addition to implementing the standard RANSAC method, we also expanded upon it by trying to randomly select the epsilon and n parameters in order to make our panorama algorithm generalize to many different types of images. A key issue in the standard RANSAC method is choosing the parameter epsilon, which determines how wide of a band should be used in order to accept inliers. If this epsilon is too thin, then true inliers may be missed, but if it's too wide, then non-inliers may be captured (false positives). Choosing a correct epsilon is a crucial part of receiving good results from the RANSAC algorithm and unfortunately good epsilons vary depending on the type of images that are being used. Therefore, we tried to solve this problem in 2 ways.
- Rather than trying to maximize the number of inliers based on a particular epsilon, we experimented with a linear regression type model where we aimed to minimize the sum of squared residuals.
- Rather than choosing 1 particular epsilon to use for the RANSAC method, we randomly chose an epsilon (between 1 and 20) on each iteration of the RANSAC method. Then, rather than trying to maximize the total number of inliers, we tried to maximize the following ratio: # inliers / epsilon. Therefore, even though larger epsilons are more likely to attain more inliers, there was a penalty for using larger epsilons in the denominator term.
We felt that using one of the 2 methods above rather than choosing 1 epsilon value for all sets of images would lead to better results, as different sets of images have different epsilon values that are appropriate.
In addition to using those methods listed above, we also experimented with trying different n for the RANSAC method. In this experiment, rather than choosing a set k iterations for the RANSAC method, we iterated until what we call k* was greater than 1. On each iteration of the RANSAC loop, we added a fraction to k* based on the n that was randomly chosen. For instance, if the n chosen was 5 for a particular iteration of the RANSAC loop, we added
1 / ( (log(1 - P) / log(1 - p^5) )
In other words, we added 1 / k for the randomly chosen n for each iteration of the RANSAC loop. We tried this variation in an attempt to obtain a RANSAC type method that would generalize to all sets of images.
Standard RANSAC

RANSAC with randomizing epsilon

RANSAC with randomizing n

RANSAC with randomizing epsilon and n

|