姿势估计是否需要非共面点?

时间:2013-05-31 08:31:44

标签: opengl opencv computer-vision

我是计算机视觉的新手。 我一直在阅读一些研究论文,也遇到了这个问题 姿势估计的实施,http://opencv.willowgarage.com/wiki/Posit

现在似乎要估计姿势,至少要有4个对应点 对象到图像空间是必需的。并且要求这些点是 共平面

现在,我已经看到了一些实现(ALVAR / ArUCo),如果是平面的话 我们找到了姿势。

他们使用OpenCv API,SolvePnP()。

链接, http://www.uco.es/investiga/grupos/ava/node/26http://virtual.vtt.fi/virtual/proj2/multimedia/alvar/index.html

我现在想知道SolvePnP的基础算法是什么。请澄清。

1 个答案:

答案 0 :(得分:1)

cv::SolvePnP()允许使用三种不同的算法。来自documentation

  

解决PnP问题的方法:

CV_ITERATIVE Iterative method is based on Levenberg-Marquardt optimization. In this case the function finds such a pose that minimizes reprojection error, that is the sum of squared distances between the observed projections imagePoints and the projected (using projectPoints() ) objectPoints .
CV_P3P Method is based on the paper of X.S. Gao, X.-R. Hou, J. Tang, H.-F. Chang “Complete Solution Classification for the Perspective-Three-Point Problem”. In this case the function requires exactly four object and image points.
CV_EPNP Method has been introduced by F.Moreno-Noguer, V.Lepetit and P.Fua in the paper “EPnP: Efficient Perspective-n-Point Camera Pose Estimation”.