Papers
Topics
Authors
Recent
2000 character limit reached

Progressive-X: Efficient, Anytime, Multi-Model Fitting Algorithm (1906.02290v1)

Published 5 Jun 2019 in cs.CV

Abstract: The Progressive-X algorithm, Prog-X in short, is proposed for geometric multi-model fitting. The method interleaves sampling and consolidation of the current data interpretation via repetitive hypothesis proposal, fast rejection, and integration of the new hypothesis into the kept instance set by labeling energy minimization. Due to exploring the data progressively, the method has several beneficial properties compared with the state-of-the-art. First, a clear criterion, adopted from RANSAC, controls the termination and stops the algorithm when the probability of finding a new model with a reasonable number of inliers falls below a threshold. Second, Prog-X is an any-time algorithm. Thus, whenever is interrupted, e.g. due to a time limit, the returned instances cover real and, likely, the most dominant ones. The method is superior to the state-of-the-art in terms of accuracy in both synthetic experiments and on publicly available real-world datasets for homography, two-view motion, and motion segmentation.

Citations (57)

Summary

  • The paper introduces Prog-X, an anytime algorithm that incrementally integrates novel model hypotheses to accurately fit multiple geometric structures from noisy data.
  • It interleaves data interpretation with efficient validation using a modified MSAC quality measure and Min-Hash similarity checks to avoid redundant proposals.
  • Prog-X achieves superior accuracy and speed compared to traditional methods, excelling in tasks like line fitting, motion segmentation, and homography estimation.

The paper "Progressive-X: Efficient, Anytime, Multi-Model Fitting Algorithm" (1906.02290) introduces Prog-X, a novel algorithm for the challenging problem of multi-instance, multi-class model fitting in the presence of outliers. This problem involves identifying multiple geometric structures (like lines, planes, homographies, or fundamental matrices) from a set of noisy data points, where points might belong to different models or be outliers. Traditional approaches often either fit models sequentially (which can be greedy) or generate a large pool of hypotheses upfront before selection, leading to issues with efficiency, robustness to unknown model counts, and reliable termination. Prog-X addresses these limitations through a progressive approach that interleaves hypothesis generation and data interpretation refinement.

The core idea of Prog-X is to build the interpretation of the data incrementally. Instead of generating a large number of potential models all at once, it repeatedly proposes and validates one new hypothesis at a time, integrating it into the current set of active models if it's deemed novel and useful. This leads to an "anytime" property, meaning the algorithm can be stopped at any point, and the set of models discovered so far likely represents the most dominant structures present in the data.

The Prog-X pipeline consists of three main steps repeated iteratively:

  1. Hypothesis Proposal: A new putative model instance is generated from the data. Crucially, this step is designed to prioritize finding models that are not already well-represented by the currently active set of instances (the "compound model"). The paper adapts a RANSAC-like approach (specifically using Graph-Cut RANSAC (Yuan, 2018) with NAPSAC [nasuto2002napsac] sampling) but employs a modified quality function, Q^M\widehat{Q}_\text{M}. This function gives higher scores to hypotheses whose inliers are not inliers of the compound model, effectively searching for "unseen" structures. The modified MSAC-like quality function is defined as:

    $\widehat{Q}_\text{M}(\Instances, \Points, \epsilon) = |\Points| - \ \sum_{\Point \in \Points} \min\left(1, \max\left( \frac{\DistanceFunction(\Instances, \Point)^2}{\gamma(\epsilon)^2}, 1 - \frac{\DistanceFunction(\CompoundModel, \Point)^2}{\gamma(\epsilon)^2}\right)\right)$

    Here, $\DistanceFunction(\Instances, \Point)$ is the distance of point $\Point$ from the proposed instance $\Instances$, $\DistanceFunction(\CompoundModel, \Point)$ is the minimum distance of $\Point$ from any of the active instances (the compound model), ϵ\epsilon is the inlier-outlier threshold, and γ(ϵ)=32ϵ\gamma(\epsilon) = \frac{3}{2}\epsilon. This ensures that points close to both the proposal and the compound model contribute zero to the score, penalizing proposals that are redundant.

  2. Proposal Validation: Before integrating a new proposal into the active set, it is quickly checked for redundancy. The paper defines similarity between instances based on the Jaccard similarity of their inlier preference sets (sets of points that are inliers to each instance). To make this check fast and independent of the number of points, the algorithm utilizes the Min-Hash technique [broder1997resemblance]. If the Jaccard similarity between the proposed instance's inliers and the compound model's inliers is above a threshold ϵS\epsilon_S, the proposal is considered redundant and rejected, saving computational effort in the subsequent optimization step.
  3. Multi-instance Optimization: If a proposal is validated as novel, it's considered for integration into the set of active instances. This step uses an energy minimization framework, specifically the PEARL algorithm [isack2012energy, delong2012fast], which is based on graph labeling. The optimization procedure takes the current set of active instances and the new validated proposal as input, and outputs an updated set of active instances and a point-to-instance assignment (labeling). The energy function typically incorporates terms related to point-to-model residuals, label costs, and potentially spatial coherence [pham2014interacting]. Because Prog-X adds instances one by one, the label space (the set of active instances + outlier class) remains relatively small compared to methods that initialize with many hypotheses, making the energy minimization computationally tractable.

Termination Criterion: Prog-X adopts a probabilistic termination criterion similar to RANSAC. It estimates the maximum number of new inliers a yet-to-be-found model could have with a certain confidence μ\mu, given the points not currently assigned as inliers to the compound model. The algorithm terminates when this estimated upper bound falls below the minimal number of points (mm) required to estimate a model. This provides a practical guarantee that the probability of finding a new significant model is low.

Practical Implementation and Applications:

Implementing Prog-X requires components for:

  • Model Estimation: A minimal solver (e.g., 4-point for homography, 7-point or 8-point for fundamental matrix, minimal solver for lines/planes/cylinders) is needed for the proposal step's sampling. A non-minimal solver (e.g., least squares) for polishing is also standard in RANSAC variants.
  • Distance Function: A problem-specific function $\DistanceFunction(\Instances, \Point)$ calculating the distance of a point to a given model instance.
  • Compound Model Distance: A function calculating $\min_{i} \DistanceFunction(\Instances_{a,i}, \Point)$ for active instances.
  • Inlier Check: Based on the distance and threshold ϵ\epsilon.
  • Modified Quality Function: Implementation of Q^M\widehat{Q}_\text{M} (Equation 1).
  • Min-Hash: An implementation to quickly estimate Jaccard similarity between sets of inlier indices.
  • Energy Minimization (PEARL/Graph Cut): An implementation of a graph cut-based energy minimization algorithm supporting label costs and spatial coherence terms (e.g., the GCO library [boykov2004experimental]). The energy function terms depend on the model class and desired properties (e.g., point-to-model residuals, spatial grouping).

The paper demonstrates the algorithm's effectiveness across various geometric problems in computer vision:

  • 2D Line Fitting: Tested on synthetic data, showing superior accuracy and stability compared to other multi-model fitting methods, especially with increasing outlier ratios.
  • Two-view Motion (Fundamental Matrix Estimation): Evaluated on the AdelaideRMF dataset, outperforming competing methods in average misclassification error, standard deviation, and processing time (Table 2).
  • Multi-Homography Estimation: Tested on the AdelaideRMF homography dataset, showing similar advantages in accuracy and stability (Table 2).
  • Motion Segmentation: Applied to the Hopkins dataset (affine motion models), achieving the lowest average errors (Table 2).
  • Simultaneous Plane and Cylinder Fitting: Demonstrated on LiDAR point clouds, where Prog-X was not only the most accurate but also significantly faster (three orders of magnitude) than competitors due to its linear dependence on the number of points, which is a major advantage for large datasets.

Computational Considerations:

  • The processing time of Prog-X is primarily driven by the number of RANSAC-like proposal iterations and the subsequent energy minimization.
  • The Min-Hash validation step runs in near-constant time, making the validation fast even with many points or active instances.
  • The energy minimization step's complexity depends on the number of points and the number of active labels. Since Prog-X adds labels progressively and the number of active instances tends to be much smaller than the initially generated hypotheses in other methods, this step is generally faster than in initialization-heavy approaches, especially when many initial hypotheses are required.
  • The linear dependence on the number of points (inherited from RANSAC's point access patterns in the proposal step) is a key advantage over methods whose complexity is quadratic in the number of points, making Prog-X particularly suitable for large datasets like point clouds.

Trade-offs:

  • Compared to greedy sequential RANSAC, Prog-X avoids the issue where points are assigned to the first found model rather than the best, by using global optimization.
  • Compared to methods that generate many hypotheses upfront, Prog-X avoids the need for a large, potentially redundant, initial hypothesis pool and manages the complexity of the optimization step better.
  • The performance depends on the effectiveness of the proposal engine in finding novel, significant instances and the tuning of the validation threshold ϵS\epsilon_S and optimization parameters (ws,wlw_s, w_l, etc.).

In summary, Prog-X provides a robust and efficient framework for multi-model fitting by progressively building the data interpretation. Its anytime nature, efficient validation using Min-Hash, and manageable optimization complexity make it a practical choice for real-world applications, particularly those involving large datasets or where processing time limits are strict.

Whiteboard

Open Problems

We haven't generated a list of open problems mentioned in this paper yet.

Continue Learning

We haven't generated follow-up questions for this paper yet.

Collections

Sign up for free to add this paper to one or more collections.