Often when I need to perform model fitting I find myself looking for a decent C++ library to do this. There is the RANSAC implementation in MRPT, but I was wondering if there are alternatives available.

To give an example for the type of problems I would like to solve: For a set $A$ of (approx 500) 3D point pairs $(a, b)$ I would like to find the Isometry transform $T$, which maps the points onto each other so that $|(a - Tb)| < \epsilon$. I would like to get the largest subset of $A$ for a given $\epsilon$. Alternatively I guess I could have the subset size fixed and ask for the lowest $\epsilon$.


PCL has a nice C++ templated RANSAC library which can solve your problem.

If you feel, PCL is too big of a dependency, then using umeyama function in Eigen's geometry module is probably the easiest way towards a working solution for your problem.

| improve this answer | |
  • $\begingroup$ Thanks, I hadn't looked at PCL. The umeyama function would do what I want in the absence of outliers, but usually doesn't work very well if there are any. $\endgroup$ – Jakob Jan 15 '13 at 12:36

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.