Mid-point method
Each of the two image points and has a corresponding projection line (blue in the right image above), here denoted as and , which can be determined given the camera matrices . Let be a distance function between a (3D line) L and a x (3D point) such that
is the Euclidean distance between and .
The midpoint method finds the point xest which minimizes
It turns out that xest lies exactly at the middle of the shortest line segment which joins the two projection lines.
Via the essential matrix
The problem to be solved there is how to compute given corresponding normalized image coordinates and . If the essential matrix is known and the corresponding rotation and translation transformations have been determined, this algorithm (described in Longuet-Higgins' paper) provides a solution.
Let denote row k of the rotation matrix :
Combining the above relations between 3D coordinates in the two coordinate systems and the mapping between 3D and 2D points described earlier gives
or
Once is determined, the other two coordinates can be computed as
The above derivation is not unique. It is also possible to start with an expression for and derive an expression for according to
In the ideal case, when the camera maps the 3D points according to a perfect pinhole camera and the resulting 2D points can be detected without any noise, the two expressions for are equal. In practice, however, they are not and it may be advantageous to combine the two estimates of , for example, in terms of some sort of average.
There are also other types of extensions of the above computations which are possible. They started with an expression of the primed image coordinates and derived 3D coordinates in the unprimed system. It is also possible to start with unprimed image coordinates and obtain primed 3D coordinates, which finally can be transformed into unprimed 3D coordinates. Again, in the ideal case the result should be equal to the above expressions, but in practice they may deviate.
A final remark relates to the fact that if the essential matrix is determined from corresponding image coordinate, which often is the case when 3D points are determined in this way, the translation vector is known only up to an unknown positive scaling. As a consequence, the reconstructed 3D points, too, are undetermined with respect to a positive scaling.