PROSAC

PROSAC (Progressive Sample Consensus), by Chum & Matas (2005), is a RANSAC variant that exploits a fact plain RANSAC throws away: correspondences are not equally likely to be inliers, and we usually have a per-match quality score that predicts it — the descriptor distance, or better, Lowe’s ratio d1/d2d_1 / d_2 between the nearest and second-nearest neighbor distances.

Idea

Sort the nn tentative correspondences by quality, best first. Instead of sampling minimal sets uniformly from all nn matches, PROSAC draws samples from a progressively growing subset of the top-ranked matches:

Formally, a growth function determines after how many samples the pool size increases from mm to m+1m+1; each sample consists of the newly added match plus s1s - 1 matches drawn from the top mm. The design goal is that PROSAC draws (approximately) the same set of samples as RANSAC would, only in a different, quality-driven order — most promising first.

Algorithm sketch

  1. Sort correspondences by quality score, best first.
  2. Maintain the current pool size mm (initially m=sm = s) and its growth schedule.
  3. At each iteration, form a minimal sample from the top-mm matches as described above, fit the model, and verify against all nn correspondences.
  4. Track the best model by inlier count; stop when the RANSAC-style confidence criterion is met (non-random inlier count plus enough samples for the current inlier-ratio estimate).
  5. Refit on all inliers by least squares, as in standard RANSAC.

Properties

P(success)=1(1ws)N1ηP(\text{success}) = 1 - (1 - w^s)^N \geq 1 - \eta

Practical notes

Why it matters for SLAM