PARP Research Group Universidad de Murcia

QVPROSAC< Element, Model > Class Template Reference

Implementation of PROSAC, an extension to RANSAC (see QVRANSAC). More...

#include <qvmath/qvsampleconsensus.h>

Inherits QVRANSAC< Element, Model >.

List of all members.

Public Member Functions

 QVPROSAC (const int sampleSetSize, const int minInliers)
 Constructor for QVPROSAC class.
void addElement (const Element &element, const double preference=0)
 Starts a PROSAC search.

Detailed Description

template<typename Element, typename Model>
class QVPROSAC< Element, Model >

Implementation of PROSAC, an extension to RANSAC (see QVRANSAC).

This class implements PROSAC, a robust statistical model fitting algorithm.

PROSAC is a more sophisticated and efficient version of RANSAC. The latter is described in the documentation of the class QVRANSAC, which is an implementation of that algorithm for the QVision.

PROSAC can handle heuristic information about the probability that a sample data could fit in a valid model. When picking random samples from the observations set, sample data with high heuristic value is more likely to be chosen, increasing the probability of finding a good sample set that would fit into a valid model.

This makes PROSAC to obtain a fitting model generally faster, trying less random subsets than RANSAC. In practice, with an adequate heuristic function for the sample data, PROSAC can be up to 100 times faster than RANSAC.

Usage of the class QVPROSAC is similar to QVRANSAC. The only difference is at the function addElement, which now takes two input parameters: the sample data, and a numeric heuristic value, which will penalize or benefit the sample data at the random selection of the PROSAC algorithm.

The algorithm is programmed to choose with more probability sample data's with a low heuristic value.


Chum, Ondřej, Matas, Jiří. Matching with PROSAC - Progressive Sample Consensus. Proc. of Conference on Computer Vision and Pattern Recognition (CVPR). Volume 1, Pages 220-226, June, 2005

See also:

Definition at line 290 of file qvsampleconsensus.h.

Constructor & Destructor Documentation

template<typename Element , typename Model >
QVPROSAC< Element, Model >::QVPROSAC ( const int  sampleSetSize,
const int  minInliers 
) [inline]

Constructor for QVPROSAC class.

Because QVPROSAC is a pure virtual class, this constructor should only be called from the constructor of its subclasses.

sampleSetSize size of the subsets s to be used for model fitting.
minInliers minimum number of sample data for a model to fit, to be considered a valid model.

Definition at line 324 of file qvsampleconsensus.h.

Member Function Documentation

template<typename Element , typename Model >
void QVPROSAC< Element, Model >::addElement ( const Element &  element,
const double  preference = 0 
) [inline]

Starts a PROSAC search.

This method will perform a random search over the elements of the observations set, to find a model that fits a given number of elements from that set, specified in the constructor of the RANSAC object.

true if a suitable model, that fits in a minimum number of observations specified in the construction of the RANSAC object, was found, else false.

Definition at line 333 of file qvsampleconsensus.h.

The documentation for this class was generated from the following file:

QVision framework. PARP research group. Copyright © 2007, 2008, 2009, 2010, 2011.