Reprojection error
= Reprojection error
{title2=$E_{\mathrm{RMS}}$}
A <reprojection error> compares an observed image point with the position predicted by projecting a reconstructed scene point through a <camera> model. If $q_i$ is an observed position and $\pi_i(P)$ its prediction, the residual is $e_i=q_i-\pi_i(P)$. One possible aggregate is the per-point <root mean square> <Euclidean norm>:
$$
E_{\mathrm{RMS}}=\sqrt{\frac1N\sum_{i=1}^N\lVert q_i-\pi_i(P)\rVert^2}.
$$
Coordinates in <pixels> give an error in <pixels>. <Least squares> instead minimizes the associated <sum of squares>; normalization conventions should be stated when reporting a summary.<Camera Calibration in the OpenCV-Python tutorials>[Re-projection Error, projecting known points and comparing image positions]{ref}
For an observation $(100,50)$ and prediction $(103,54)$, the <Euclidean norm> of the residual is 5 <pixels>. <Camera calibration> can adjust model parameters to reduce many such residuals, while <stereoscopic triangulation> can adjust a reconstructed point with the <camera> parameters fixed. Low <reprojection error> tests agreement with observations under that model; incorrect <stereo correspondence> or an incorrect <camera baseline> can still produce wrong scene geometry.