algorithmmathcomputer-visionransac

RANSAC algorithm parameter setting


RANSAC algorithm has been widely used in the engineering field such as computer vision. However, if I understand well, there are two parameters to set when using this algorithm: one is related to the number of iteration and the other is connected with the threshold for the estimation model. Take the linear line estimation problem as an example:

enter image description here

The blue points in the picture represent inliers while the red points stand for outliers.

The number of iteration shows how many times we should try before we can find the right line model. The more we try the more possible we can obtain the right model. However, the consumption time will increase as well. Moreover, the number of iteration is also related the percentage of outliers in the data set. The less outliers exist the less iteration we can expect.

The threshold for the model depends on the problem at hand. If it is set too strict the data that could fit the model will become useless, hence leading to an inaccurate estimation. Moreover, strict model threshold can also lead to wrong model. If it is set too loose, outliers can come and play a role.

For the time being, my solution to the setting of these two parameters is as follows: 1) Number of iteration: at the beginning the percentage of outliers are roughly estimated, and if the percentage is high, more iterations are needed; otherwise, the number of iteration is set relatively low. 2) Model threshold: a relatively large threshold hold is set at the beginning, and after that the inliers are given a weighting based on their proximity to the model. If outliers happen to become inliers, they will not affect the model estimation dramatically. I was wondering whether other solutions exist for RANSAC parameter setting. Thanks!


Solution

  • Read http://www.robots.ox.ac.uk/~vgg/publications/2000/Torr00/torr00.pdf