Camera resectioning

Camera resectioning is the process of estimating the parameters of a pinhole camera model approximating the camera that produced a given photograph or video. Usually, the pinhole camera parameters are represented in a 3 × 4 matrix called the camera matrix.
This process is often called geometric camera calibration or simply camera calibration, although that term can also refer to photometric camera calibration.
Definitions.
Camera resectioning determines which incoming light is associated with each pixel on the resulting image. In an ideal pinhole camera, a simple projection matrix is enough to do this. With more complex camera systems, errors resulting from misaligned lenses and deformations in their structures can result in more complex distortions in the final image.
The camera projection matrix is derived from the intrinsic and extrinsic parameters of the camera, and is often represented by the series of transformations; e.g., a matrix of camera intrinsic parameters, a 3 × 3 rotation matrix, and a translation vector. The camera projection matrix can be used to associate points in a camera's image space with locations in 3D world space.
Camera resectioning is often used in the application of stereo vision where the camera projection matrices of two cameras are used to calculate the 3D world coordinates of a point viewed by both cameras.
Some people call this camera calibration, but many restrict the term camera calibration for the estimation of internal or intrinsic parameters only.
Homogeneous coordinates.
In this context, we use formula_1 to represent a 2D point position in "pixel" coordinates and formula_2 is used to represent a 3D point position in "world" coordinates. In both cases, they are represented in homogeneous coordinates (i.e. they have an additional last component, which is initially, by convention, a 1), which is the most common notation in robotics and rigid body transforms.
Projection.
Referring to the pinhole camera model, a camera matrix formula_3 is used to denote a projective mapping from "world" coordinates to "pixel" coordinates.
where formula_5.
Intrinsic parameters.
The intrinsic matrix formula_7 contains 5 intrinsic parameters of the specific camera model. These parameters encompass focal length, image sensor format, and principal point. 
The parameters formula_8 and formula_9 represent focal length in terms of pixels, where formula_10 and formula_11 are the inverses of the width and height of a pixel on the projection plane and formula_12 is the focal length in terms of distance.
formula_13 represents the skew coefficient between the x and the y axis, and is often 0.
formula_14 and formula_15 represent the principal point, which would be ideally in the center of the image.
Nonlinear intrinsic parameters such as lens distortion are also important although they cannot be included in the linear camera model described by the intrinsic parameter matrix. Many modern camera calibration algorithms estimate these intrinsic parameters as well in the form of non-linear optimisation techniques. This is done in the form of optimising the camera and distortion parameters in the form of what is generally known as bundle adjustment.
Extrinsic parameters.
formula_16
formula_17 are the extrinsic parameters which denote the coordinate system transformations from 3D world coordinates to 3D camera coordinates. Equivalently, the extrinsic parameters define the position of the camera center and the camera's heading in world coordinates. formula_18 is the position of the origin of the world coordinate system expressed in coordinates of the camera-centered coordinate system. formula_18 is often mistakenly considered the position of the camera. The position, formula_20, of the camera expressed in world coordinates is formula_21 (since formula_22 is a rotation matrix).
Camera calibration is often used as an early stage in computer vision.
When a camera is used, light from the environment is focused on an image plane and captured. This process reduces the dimensions of the data taken in by the camera from three to two (light from a 3D scene is stored on a 2D image). Each pixel on the image plane therefore corresponds to a shaft of light from the original scene.
Algorithms.
There are many different approaches to calculate the intrinsic and extrinsic parameters for a specific camera setup. The most common ones are: 
Zhang's method.
Zhang model is a camera calibration method that uses traditional calibration techniques (known calibration points) and self-calibration techniques (correspondence between the calibration points when they are in different positions). To perform a full calibration by the Zhang method at least three different images of the calibration target/gauge are required, either by moving the gauge or the camera itself. If some of the intrinsic parameters are given as data (orthogonality of the image or optical center coordinates) the number of images required can be reduced to two.
In a first step, an approximation of the estimated projection matrix formula_23 between the calibration target and the image plane is determined using DLT method. Subsequently, applying self-calibration techniques to obtained the image of the absolute conic matrix [Link]. The main contribution of Zhang method is how to extract a constrained instrinsic formula_7 and formula_25 numbers of formula_22 and formula_18 calibration parameters from formula_25 pose of the calibration target.
Derivation.
Assume we have a homography formula_29 that maps points formula_30 on a "probe plane" formula_31 to points formula_32 on the image.
The circular points formula_33 lie on both our probe plane formula_31 and on the absolute conic formula_35. Lying on formula_35 of course means they are also projected onto the "image" of the absolute conic (IAC) formula_37, thus formula_38 and formula_39. The circular points project as
We can actually ignore formula_41 while substituting our new expression for formula_42 as follows:
Tsai's Algorithm.
It is a 2-stage algorithm, calculating the pose (3D Orientation, and x-axis and y-axis translation) in first stage. In second stage it computes the focal length, distortion coefficients and the z-axis translation.
Selby's method (for X-ray cameras).
Selby's camera calibration method addresses the auto-calibration of X-ray camera systems.
X-ray camera systems, consisting of the X-ray generating tube and a solid state detector can be modelled as pinhole camera systems, comprising 9 intrinsic and extrinsic camera parameters.
Intensity based registration based on an arbitrary X-ray image and a reference model (as a tomographic dataset) can then be used to determine the relative camera parameters without the need of a special calibration body or any ground-truth data.