GithubHelp home page GithubHelp logo

pnp-solver's Introduction

PnP-Solver

In this project, we implement a PnP solver for a camera with a known intrinsic matrix. The solver includes DLT (Direct Linear Transform), RANSAC (Random Sample Consensus), and GN (Gauss-Newton). The solver is tested on the synthetic data.

To evaluate the performance of the solver, we compare the pose estimation results with those of OpenCV. The results are shown as follows.

PnP Benchmark with 0 outlier ratio
Method: OPENCV, rotation error 0.303949 deg, translation error 0.131297
Method: OPENCV_RANSAC, rotation error 0.144112 deg, translation error 0.0910249
Method: DLT, rotation error 0.142964 deg, translation error 0.0931654
Method: DLT_RANSAC, rotation error 0.188459 deg, translation error 0.219939
Method: GAUSS_NEWTON, rotation error 0.194367 deg, translation error 0.157812

PnP Benchmark with 0.2 outlier ratio
Method: OPENCV, rotation error 119.313 deg, translation error 2.72919e+07
Method: OPENCV_RANSAC, rotation error 0.163613 deg, translation error 0.0977965
Method: DLT, rotation error 148.23 deg, translation error 105.087
Method: DLT_RANSAC, rotation error 0.271609 deg, translation error 0.252496
Method: GAUSS_NEWTON, rotation error 0.208845 deg, translation error 0.155049

Run the code

mkdir build
cd build
cmake ..
make
./pnp_benchmark

pnp-solver's People

Contributors

yunzhengsu avatar suyunzzz avatar

Forkers

yunzhengsu

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.