Why does direct linear transform (DLT) yield a unique solution?

71 Views Asked by At

I try to triangulate point correspondences from 2 images in order to reconstruct the 3D positions of those points. I found the DLT method as an easy way to achieve that. The system which needs to be solved is shown here on page 23

enter image description here

whereas $\mathit{x}, \mathit{y}, \mathit{x'}, \mathit{y'}$ are the projected image points,$\pmb{p_i^T}$ are the rows of the 3x4 camera matrix P. Having 2 point correspondences from two views leads to the matrix $A$. So the matrix $A$ is a 4x4 matrix. What we want to find is the 3D point $X$ which is in homogeneous coordinates. According to the literature a unique solution for this can be found using SVD. But I don't understand why a unique solution for $X$ can be found at all. Since this is a homogeneous linear system, it should either have the trivial solution $X=\overrightarrow{0}$ or infinitely many. What am I missing here?

1

There are 1 best solutions below

0
On BEST ANSWER

(Transforming my comments into an answer)
When representing a point in $n$ dimensions by homogeneous coordinates in $n+1$ dimensions, those homogeneous coordinates are up to a non-zero scale factor. A point is represented by a line. Quoting Wikipedia page on homogeneous coordinates: "If homogeneous coordinates of a point are multiplied by a non-zero scalar then the resulting coordinates represent the same point".

In this representation, one of the coordinates, e.g. the 4th, can be taken as a scaling factor.

Representation by homogeneous coordinates has various benefits, in addition to simplifying computation of camera projections; notably one can represent points at infinity (projective geometry): these are points where the 4th coordinate is zero. In this geometry, all conics (ellipse, parabola, hyperbola) are the same closed curve.