Skip to content

cserteGT3/RANSAC.jl

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

390 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

RANSAC.jl

Lifecycle Build Status Build status codecov.io

This package implements the efficient RANSAC algorithm for point clouds. Paper can be found here.

R. Schnabel, R. Wahl, R. Klein "Efficient RANSAC for Point-Cloud Shape Detection", in Computer Graphics Forum, Vol. 26, No. 2, pages 214-226, Blackwell Publishing, June 2007

WARNING: this implementation seems to be incorrect. It is slow and may not produce correct results. I'm sad, but almost certainly I won't revisit this project soon.

Efficient RANSAC

The efficient RANSAC algorithm is used to segment and fit primitive shapes (sphere, plane, cylinder, torus, cone) to point clouds. Up to my knowledge, this is the first implementation in Julia.

Main features

  • easy-to-use primitive recognition
  • extensible: it's easy to add new primitive shapes
  • fast (work in progress)

Differences from the reference implementation

  • no bitmap
  • separate parameters for each shape
  • no tori

Getting started

Install the package by:

] add https://github.com/cserteGT3/RANSAC.jl

The input of the algorithm is a point cloud with associated surface normals. The output is a set of primitive shapes with corresponding sets of points, and the rest of the points that do not belong to any primitives.

Follow the detailed example in the documentation.

Here's an example with a point cloud and the detected primitives colored according to their type. RANSAC example

Related projects

  • The RANSACVisualizer.jl package implements Makie.jl recipes to visualize results from this package.
  • There are other RANSAC implementations in Julia, for example:

About

Efficient RANSAC in Julia

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages