RANSAC-like implementation for arbitrary 2D sets

前端 未结 3 1060
野的像风
野的像风 2020-12-16 01:42

TL;DR : Is there a C++ implementation of RANSAC or other robust correspondence algorithms that is freely usable with arbitrary 2D point sets?

I know that many implem

3条回答
  •  甜味超标
    2020-12-16 02:19

    A good-looking RANSAC, LMedS, MSAC, MLESAC C++ implementation for Windows and Linux is here: https://github.com/sunglok/rtl.

    RTL: RANSAC Template Library RANSAC Template Library (RTL) is an open-source robust regression tool especially with RANSAC family. RTL aims to provide fast, accurate, and easy ways to estimate any model parameters with data contaminated with outliers (incorrect data). RTL includes recent RANSAC variants with their performance evaluation with several models with synthetic and real data. RTL is written in generic programming style (template in C++) for its further applications with user-defined models. RTL is distributed under Simplified BSD License.

    The basic class is RANSAC:

    template 
    class RANSAC;
    

    Other classes are inherited from it:

    template 
    class MLESAC : virtual public RANSAC
    ...
    

    The usage is simple (an example from README):

    // Find the best model using RANSAC
    LineEstimator estimator;
    RTL::RANSAC > ransac(&estimator);
    Line model;
    double loss = ransac.FindBest(model, data, data.size(), 2);
    
    // Determine inliers using the best model if necessary
    std::vector inliers = ransac.FindInliers(model, data, data.size());
    

    The paper: https://sites.google.com/site/sunglok/files/Choi09_bmvc.pdf?attredirects=0

提交回复
热议问题