1
$\begingroup$

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?

$\endgroup$
6
  • $\begingroup$ I did not read the book, but homogeneous coordinates notoriously represent a point by a line. Which is logical, because we add a dimension (3D $\rightarrow$ 4D). So finding a dim 1 solution space is not a surprise. $\endgroup$ Commented Aug 24, 2023 at 15:17
  • $\begingroup$ Well but then A should possess a 1-dimensional null-space and X can only be determined up to a non-zero scale factor (infinitely many solutions). So no unique solution. $\endgroup$
    – NMO
    Commented Aug 25, 2023 at 9:36
  • $\begingroup$ Yes, precisely. 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. Cf. this Wikipedia page : en.wikipedia.org/wiki/Homogeneous_coordinates : "If homogeneous coordinates of a point are multiplied by a non-zero scalar then the resulting coordinates represent the same point". $\endgroup$ Commented Aug 25, 2023 at 11:46
  • $\begingroup$ I understand. So the 4th component of X is a scaling factor right? $\endgroup$
    – NMO
    Commented Aug 30, 2023 at 8:52
  • $\begingroup$ Yes, that's it. Note that this representation has the additional benefit that you can represent points at infinity: these are points where this 4th component is zero. In this geometry, all conics (ellipse, parabola, hyperbola) are the same closed curve. $\endgroup$ Commented Aug 30, 2023 at 9:43

1 Answer 1

1
$\begingroup$

(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.

$\endgroup$

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .