opencv_contrib icon indicating copy to clipboard operation
opencv_contrib copied to clipboard

New PnP solver Netwon PnP

Open galgibly opened this issue 2 years ago • 1 comments

*For reference: previous PR https://github.com/opencv/opencv/pull/23536 *all code is under license of opencv *fixed warnings in code and removed exit calls *Documentation for better solution and tests: https://arxiv.org/pdf/2203.02686.pdf https://arxiv.org/abs/2203.02686

Newton-PnP: Real-time Visual Navigation for Autonomous Toy-Drones Ibrahim Jubran, Fares Fares, Yuval Alfassi, Firas Ayoub, Dan Feldman

Link for the article with information and proof of working:

The Perspective-n-Point problem aims to estimate the relative pose between a calibrated monocular camera and a known 3D model, by aligning pairs of 2D captured image points to their corresponding 3D points in the model. We suggest an algorithm that runs on weak IoT devices in real-time but still provides provable theoretical guarantees for both running time and correctness. Existing solvers provide only one of these requirements. Our main motivation was to turn the popular DJI's Tello Drone (<90gr, <$100) into an autonomous drone that navigates in an indoor environment with no external human/laptop/sensor, by simply attaching a Raspberry PI Zero (<9gr, <$25) to it. This tiny micro-processor takes as input a real-time video from a tiny RGB camera, and runs our PnP solver on-board. Extensive experimental results, open source code, and a demonstration video are included.

  • [x] I agree to contribute to the project under Apache 2 License.
  • [x] To the best of my knowledge, the proposed patch is not based on a code under GPL or another license that is incompatible with OpenCV
  • [x] The PR is proposed to the proper branch
  • [x] There is a reference to the original bug report and related work
  • [x] There is accuracy test, performance test and test data in opencv_extra repository, if applicable Patch to opencv_extra has the same branch name.
  • [x] The feature is well documented and sample code can be built with the project CMake

galgibly avatar Jun 04 '23 14:06 galgibly

Is someone available to merge? @vpisarev @asmorkalov

galgibly avatar Jul 27 '23 07:07 galgibly