Ignoring the flags of solvePnP and silently executing EPNP (Bug #4472)


Added by Philipp Hasper over 9 years ago. Updated over 9 years ago.


Status:New Start date:2015-07-08
Priority:Normal Due date:
Assignee:- % Done:

0%

Category:calibration, 3d
Target version:3.1
Affected version:branch 'master' (3.0-dev) Operating System:Any
Difficulty: HW Platform:Any
Pull request:

Description

The way how uPnP and DLS have been disabled in [1] is highly counter-intuitive:

Just executing EPNP regardless of the given flag [2] is confusing. If somebody wants to evaluate the OpenCV version of uPnP, let him do that (and not silently executing epnp in the background). Imagine somebody wants to evaluate the available PnP solvers in OpenCV and finds out that it does not matter which one he chooses because the results are all the same.

So we have to
a) remove the upnp and dls flags completely or
b) leave them in and document the unstable behavior with a warning in the online documentation.

The latter option might lead to somebody improving the algorithms

[1]: https://github.com/Itseez/opencv/pull/3828
[2]: https://github.com/vpisarev/opencv/blob/ca19ae8b5ae53afe3ca0084c55178b8d0796b28b/modules/calib3d/src/solvepnp.cpp#L66


History

Updated by Maksim Shabunin over 9 years ago

Issue has been transferred to GitHub: https://github.com/Itseez/opencv/issues/5065

Also available in: Atom PDF