mainly consists of ${\bf{q}}_i$ and ${\bf{p}}_i$ estimation stages. As described in Section 3, in the ${\bf{q}}_i$ stage, calculations related to each point are independent from the others. Hence, outliers do not affect inliers in the ${\bf{q}}_i$ stage. However, in the ${\bf{p}}_i$ stage, outliers perturbs the camera pose estimation results. To reduce the impact of outliers, the basic idea of our soft re-weighting method is to assign each 3D-2D correspondence a weight factor, and to make weight factors related to outliers small when estimating the camera pose in the ${\bf{p}}_i$ stage.

One possible method to assign weights is based on least median of squares [@simpson1997introduction], however this method cannot handle more than $50\%$ of outliers. We designed a soft weight assignment method embedded in the iteration process. To distinguish inliers and outliers, the weights of 3D-2D correspondences are determined by

$$\label{eq_reweighting}
%{w_i} = \min ({H}/{e_i},1.0),
{w_i} = \left\{ {\begin{array}{*{20}{c}}
{1.0}\\
{H/{e_i}}
\end{array}{\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} \begin{array}{*{20}{c}}
{if{\kern 1pt} {\kern 1pt} {e_i} \le H}\\
{if{\kern 1pt} {\kern 1pt} {e_i} > H}
\end{array}} \right.,$$

where $e_i$ suggests the reprojection error of point $i$ with the current $\bf{R}$ and $\mu$ during iteration, 