The Perspective-Three-Point Problem (P3P) is solved by first focusing on determining the directions of the lines through pairs of control points, relative to the camera, rather than the distances from the camera to the control points. The analysis of this produces an efficient, accurate and reasonably simple P3P solver, which is compared with a state-of-the-art P3P solver, "Lambda Twist." Both methods depend on the accurate computation of a single root of a cubic polynomial. They have been implemented and tested for a wide range of control-point triangles, and under certain reasonable restrictions, the new method is noticably more accurate than Lambda Twist, though it is slower. However, the principal value of the present work is not in introducing yet another P3P solver, but lies rather in the discovery of an intimate connection between the P3P problem and a special family of elliptic curves that includes curves utilized in cryptography. This holds the potential for further advances in a number of directions. To make this connection, an interesting spherical analogue of an ancient "sliding" problem is stated and solved.
翻译:透视三点问题(P3P)的求解首先聚焦于确定通过控制点对的直线相对于相机的方向,而非相机到控制点的距离。通过分析该问题,我们提出了一种高效、精确且较为简洁的P3P求解器,并将其与当前先进的P3P求解器"Lambda Twist"进行了比较。两种方法均依赖于对三次多项式单根的精确计算。我们已针对多种控制点三角形配置对两种方法进行了实现与测试,在特定合理约束条件下,新方法虽速度较慢,但其精度显著优于Lambda Twist。然而,本工作的主要价值并非在于提出又一种P3P求解器,而在于揭示了P3P问题与一类特殊椭圆曲线族之间的深刻联系——该曲线族包含密码学中使用的椭圆曲线。这一发现为多个方向的后续研究提供了可能。为建立该联系,我们提出并解决了一个有趣的球面类比问题,该问题源于古老的"滑动"问题。