# An Efficient Algebraic Solution to the Perspective-Three-Point Problem

arXiv: https://arxiv.org/abs/1701.08237 · HTML: https://mlsanity.com/paper/1701.08237/

## Key facts

- Cited by 29 papers in the map (data through 14 Oct 2026).
- First posted on arXiv 28 Jan 2017.

## Built on by (most cited first, 29 of 29)

- [SAM-6D: Segment Anything Model Meets Zero-Shot 6D Object Pose Estimation](https://mlsanity.com/paper/2311.15707/) (2023)
- [SurfEmb: Dense and Continuous Correspondence Distributions for Object Pose Estimation with Learnt Surface Embeddings](https://mlsanity.com/paper/2111.13489/) (2021)
- [Camera-Space Hand Mesh Recovery via Semantic Aggregation and Adaptive 2D-1D Registration](https://mlsanity.com/paper/2103.02845/) (2021)
- [Is Geometry Enough for Matching in Visual Localization?](https://mlsanity.com/paper/2203.12979/) (2022)
- [Visual Localization via Few-Shot Scene Region Classification](https://mlsanity.com/paper/2208.06933/) (2022)
- [The NeRFect Match: Exploring NeRF Features for Visual Localization](https://mlsanity.com/paper/2403.09577/) (2024)
- [VGG-T3: Offline Feed-Forward 3D Reconstruction at Scale](https://mlsanity.com/paper/2602.23361/) (2026)
- [VOLDOR: Visual Odometry from Log-logistic Dense Optical flow Residuals](https://mlsanity.com/paper/2104.06789/) (2021)
- [VOLDOR-SLAM: For the Times When Feature-Based or Direct Methods Are Not Good Enough](https://mlsanity.com/paper/2104.06800/) (2021)
- [Knowledge Distillation for 6D Pose Estimation by Aligning Distributions of Local Predictions](https://mlsanity.com/paper/2205.14971/) (2022)
- [Uncertainty Quantification with Deep Ensembles for 6D Object Pose Estimation](https://mlsanity.com/paper/2403.07741/) (2024)
- [SurgRIPE challenge: Benchmark of Surgical Robot Instrument Pose Estimation](https://mlsanity.com/paper/2501.02990/) (2025)
- [Learning Generalized Visual Odometry Using Position-Aware Optical Flow and Geometric Bundle Adjustment](https://mlsanity.com/paper/2111.11141/) (2021)
- [GSVisLoc: Generalizable Visual Localization for Gaussian Splatting Scene Representations](https://mlsanity.com/paper/2508.18242/) (2025)
- [Improved Scene Landmark Detection for Camera Localization](https://mlsanity.com/paper/2401.18083/) (2024)
- [A Conic Transformation Approach for Solving the Perspective-Three-Point Problem](https://mlsanity.com/paper/2504.01620/) (2025)
- [Differential 6-DOF Pose Estimation with Provable First-Order Immunity to Camera Calibration Errors](https://mlsanity.com/paper/2608.04673/) (2026)
- [ViFi-Loc: Multi-modal Pedestrian Localization using GAN with Camera-Phone Correspondences](https://mlsanity.com/paper/2211.12021/) (2022)
- [PoseGravity: Pose Estimation from Points and Lines with Axis Prior](https://mlsanity.com/paper/2405.12646/) (2024)
- [P3P Made Easy](https://mlsanity.com/paper/2508.01312/) (2025)
- [Depth-Guided Privacy-Preserving Visual Localization Using 3D Sphere Clouds](https://mlsanity.com/paper/2605.00562/) (2026)
- [AEPnP: A Less-constrained EPnP Solver for Pose Estimation with Anisotropic Scaling](https://mlsanity.com/paper/2310.09982/) (2023)
- [An Elliptic Curve Based Solution to the Perspective-Three-Point Problem](https://mlsanity.com/paper/2502.07564/) (2025)
- [Hi^2-GSLoc: Dual-Hierarchical Gaussian-Specific Visual Relocalization for Remote Sensing](https://mlsanity.com/paper/2507.15683/) (2025)
- [Efficient closed-form approaches for pose estimation using Sylvester forms](https://mlsanity.com/paper/2604.14747/) (2026)
- [Observability Conditions and Filter Design for Visual Pose Estimation via Dual Quaternions](https://mlsanity.com/paper/2605.02054/) (2026)
- [A Height-Constrained 2-Point Minimal Solver for Pose Estimation from Active LED Markers with Event Cameras](https://mlsanity.com/paper/2608.09520/) (2026)
- [Gravity-aware partially calibrated absolute pose estimation from affine- or rotation-covariant features](https://mlsanity.com/paper/2608.20056/) (2026)
- [Efficient and Robust Absolute Pose Estimation via Gravity-Prior-Driven Transformation Decoupling and Pose Refinement](https://mlsanity.com/paper/2609.00713/) (2026)

## Abstract (arXiv)

In this work, we present an algebraic solution to the classical perspective-3-point (P3P) problem for determining the position and attitude of a camera from observations of three known reference points. In contrast to previous approaches, we first directly determine the camera's attitude by employing the corresponding geometric constraints to formulate a system of trigonometric equations. This is then efficiently solved, following an algebraic approach, to determine the unknown rotation matrix and subsequently the camera's position. As compared to recent alternatives, our method avoids computing unnecessary (and potentially numerically unstable) intermediate results, and thus achieves higher numerical accuracy and robustness at a lower computational cost. These benefits are validated through extensive Monte-Carlo simulations for both nominal and close-to-singular geometric configurations.
