$o \in [1,N]$ suggests the index of the control point, $N$ is the number of 3D-2D correspondences. R1PP$n$P represents the shape of the point cloud by the relative positions between the control point $o$ and other $N-1$ points. Denoting ${\bf{S}}_i = {\bf{X}}_i^w - {\bf{X}}_o^w$, where $S$ means “shape”, then, according to and ,

$$\lambda_i^* {\bf{x}}_i - \lambda_o^* {\bf{x}}_o = {\bf{R}}{\bf{S}}_i.
\label{eq_5}$$

We divide both sides of by the depth of the control point $\lambda_o^*$, and rewrite as

$$\lambda_i {\bf{x}}_i - {\bf{x}}_o = \mu{\bf{R}}{\bf{S}}_i,
\label{eq_6}$$

where $\lambda_i = \mu \lambda_i^*$ and $\mu=1/\lambda_o^*$ is the scale factor. We have

$${\bf{t}} =  1/\mu {\bf{x}}_o - {\bf{RX}}_o^w.
\label{eq_7}$$

According to and , the P$n$P problem can be solved by minimizing the objective function

$$f({\bf{R}},\mu,{\lambda _i}) = \sum\limits_{i = 1,i\neq o}^N {{{\left\| {{\lambda _i}{{\bf{x}}_i} - {{\bf{x}}_o} - \mu {\bf{R}}{{\bf{S}}_i}} \right\|^2}}},
\label{eq_objfun1}$$

where $\left\|  \cdot  \right\|$ is the L2-norm.

The objective function is based on Euclidean distances in the 3D space. Compared with the reprojection error cost, Eq. gives more weights to points with larger depths. For example, the same level of reprojection error has relatively larger effects when related to an object point with greater depth. To solve this problem, we normalize the cost function 