3D Vision & Geometry

triangulation

Triangulation answers the most basic question in multi-view geometry: given that a 3D point was photographed by two or more cameras whose positions and orientations you already know, where exactly is that point in space? The intuition is a surveyor's: each camera, seeing the point at a known pixel, defines a ray — a line shooting out from the camera center through that pixel into the world. The 3D point must lie on every such ray, so it is where the rays meet. Two rays generically intersect at one point; that intersection is your reconstructed coordinate.

The catch is that with real, noisy pixel measurements the rays almost never meet exactly — they pass close to each other but miss, like two arrows fired at a target from different angles. So triangulation becomes an optimization: find the 3D point that is, in some precise sense, closest to all the rays. The simplest closed-form solver is the Direct Linear Transform (DLT), which stacks the projection equations from each view into a linear system and solves it with singular value decomposition. It is fast and a fine initializer, but it minimizes an algebraic error that does not correspond to anything physical.

The statistically correct objective is to minimize reprojection error: place the 3D point so that, when you project it back through each camera, the predicted pixels are as close as possible to the actually observed pixels, summed over all views. For two views Hartley and Sturm's optimal-triangulation method solves this exactly via a polynomial; for many views it is solved by nonlinear least squares (Gauss-Newton or Levenberg-Marquardt), usually warm-started from the DLT estimate. This per-point refinement is the same principle that, scaled up to all points and all cameras at once, becomes bundle adjustment.

Triangulation has a built-in reliability signal: the angle between the rays, called the triangulation angle or parallax. When the cameras are far apart relative to the point's distance, the rays cross at a wide angle and the intersection is well-determined. When the cameras are close together or the point is very far away, the rays are nearly parallel, they intersect at a shallow angle, and the depth becomes wildly uncertain — a tiny pixel error swings the estimated point by meters. Good reconstruction systems discard points whose triangulation angle is too small.

Two cameras 1 m apart both image a lamppost 50 m away — the rays meet at only about a 1° angle, so a half-pixel matching error moves the triangulated point by several meters. The same cameras imaging a mug 0.5 m away cross at a wide angle and pin its position to millimeters.

Also called
triangulation-3d3D point triangulation三角化