Pose estimation refers to estimating an object’s 3D Pose from a set of 2D point projections (via something like a Camera transform. This pose estimation problem is also known as extrinsic calibration, as opposed to the intrinsic calibration of internal camera pa- rameters such as focal length, which we discuss in Section 6.3. The problem of recovering pose from three correspondences, which is the minimal amount of information necessary, is known as the perspective-3-point-problem (P3P), with extensions to larger numbers of points collectively known as PnP (Haralick, Lee, Ottenberg et al. 1994; Quan and Lan 1999; Moreno-Noguer, Lepetit, and Fua 2007).
It is a particular instance of feature-based alignment.
https://www.wikiwand.com/en/Perspective-n-Point
analysis and solutions of the three point perspective pose estimation problem
Implementation using OpenCV: https://github.com/supasorn/CardboardPositionalHack/blob/master/tracker/glcv3.cpp can use for google cardboard 6DOF positional tracking
Nice explanation of some related things like camera callibration, and depth estimation
https://www.wikiwand.com/en/3D_pose_estimation
http://users.ics.forth.gr/~lourakis/posest/
Using RANSAC
PnP is prone to errors if there are outliers in the set of point correspondences. Thus, RANSAC can be used in conjunction with existing solutions to make the final solution for the camera pose more robust to outliers. An open source implementation of PnP methods with RANSAC can be found in OpenCV's Camera Calibration and 3D Reconstruction module in the solvePnPRansac function, and in posest
It is also used here: https://inspirit.github.io/jsfeat/#multiview
See also 3D reconstruction from multiple images, a harder problem corresponding to when the geometry of the imaged object is unknown!
https://www.wikiwand.com/en/Direct_linear_transformation , Homography