Code Monkey home page Code Monkey logo

point-cloud-ransac's Introduction

Point Cloud Random Sample Consensus (RANSAC)

Generally speaking, a RANSAC algorithm randomly chooses a set amount of points in a data set. Using such points, they create a line, a plane, or a hyperplane representing the randomly chosen data set points. Afterwards, they calculate the distance of every other point in the data set and compares it against a distance threshold from the created line/plane/hyperplane to determine inliers or outliers.

Inliers are data set points not initially chosen by the RANSAC algorithm that fall in between the distance threshold bordering the created line/plane/hyperplane. Outliers are data set points that do not fall in between the distance threshold and the created line/plane/hyperplane.

Method

The minimum number of required point cloud points to make a plane is 3 points. As a result, my RANSAC algorithm randomly chooses 3 points and determines the equation of a plane. This minimum number can be increased to include more points, but the absolute minimum number is 3. Users can also change the distance threshold mentioned above to affect how many inliers and outliers a RANSAC iteration will output.

The confidence or voting threshold is the number of inliers over the total number of point cloud points. If the confidence threshold has been reached, the RANSAC algorithm immediately breaks out and renders the output. If the confidence threshold has not been reached, the other limiting variable for the RANSAC algorithm is the maximum number of total iterations. If this number has been reached, the RANSAC algorithm will output the render with the largest confidence threshold.

Output

The following render was recevied after running the algorithm for 3 minutes and 20 seconds with a total vote rating of 75% when the confidence threshold was set at 90% and the maximum iteration at 500.

The red-colored points indicate inlier point cloud points.

point-cloud-ransac's People

Contributors

casychow avatar

Stargazers

Xiaobing Han avatar

Watchers

 avatar

Forkers

whuhxb

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.