Optimal DLT-based Solutions for the Perspective-n-Point
Sébastien Henry, John A. Christian
TL;DR
The paper introduces an optimal normalized DLT (oDLT) for the Perspective-n-Point problem by analytically weighting the DLT residuals to form a maximum-likelihood estimator. A two-shot approach uses an initial guess to compute weights, enabling a linear solution that preserves SE(3) optimality via a weighted Procrustes step and optionally refines translation with LOST. Across synthetic and real datasets, oDLT achieves near-Gauss-Newton performance with substantially lower computational cost, often matching or surpassing non-iterative and some iterative methods. The approach remains versatile for calibrated and uncalibrated camera scenarios and is released in open source for broad use.
Abstract
We propose a modified normalized direct linear transform (DLT) algorithm for solving the perspective-n-point (PnP) problem with much better behavior than the conventional DLT. The modification consists of analytically weighting the different measurements in the linear system with a negligible increase in computational load. Our approach exhibits clear improvements -- in both performance and runtime -- when compared to popular methods such as EPnP, CPnP, RPnP, and OPnP. Our new non-iterative solution approaches that of the true optimal found via Gauss-Newton optimization, but at a fraction of the computational cost. Our optimal DLT (oDLT) implementation, as well as the experiments, are released in open source.
