Skip to content

Direct Linear Transformation

Estimate a projective mapping by turning homogeneous point correspondences into a linear null-space problem, solved up to overall scale.

Version
v3 · 2026-09-19 · History
Domain-specific #
1680
Domain group
Natural Sciences
Origin domain
Geology & Earth Sciences
Subdomains
Photogrammetry, Camera Calibration → Geology & Earth Sciences
Aliases
DLT, DLT algorithm

Core Idea

The Direct Linear Transformation (DLT) is an estimation algorithm that recovers the coefficients of a projective mapping from corresponding points. It expresses each homogeneous correspondence as equations linear in the unknown matrix entries, stacks those equations into a homogeneous system \(A\mathbf h=0\), and selects a nonzero null-space vector, usually the right singular vector of \(A\) associated with its smallest singular value. The coefficients are defined only up to an overall nonzero scale because projective points themselves are homogeneous.

How would you explain it like I'm…

Matching Dots Rule-Finder

Take two photos of the same flat poster from different angles. If you match up at least four dots that are the same spot in both photos, you can work out the rule that turns one photo's view into the other's. The Direct Linear Transformation is a clever way to find that rule.

Finding the View-Change Rule

When you look at a flat surface from a different angle, its picture gets stretched and tilted in a special way. The Direct Linear Transformation, or DLT, figures out the exact rule for that change using matching points — spots you know are the same in both views. Each matching pair gives two clues, so four good pairs are enough to pin down the rule for a flat surface. The same trick can find how a camera turns 3D points into a 2D photo. It doesn't need a starting guess, and when measurements are a bit messy, people first rescale the points to get a more accurate answer.

Linear Projective Estimation

The Direct Linear Transformation (DLT) is an algorithm for estimating a projective mapping, like a homography between two images of a plane or a camera's projection matrix, from matching points. The key trick is to rewrite each correspondence as equations that are linear in the unknown matrix entries, even though the mapping itself involves division (perspective) and isn't linear in ordinary coordinates. For a homography, a cross-product constraint removes the unknown scale of each point, giving two independent equations per point pair. Stacking them gives a system A h = 0, and the answer is a nonzero solution, usually found with singular value decomposition as the singular vector with the smallest singular value. Because projective points only matter up to scale, the matrix is determined only up to an overall scale factor. A 3×3 homography has eight degrees of freedom, so four point pairs in general position determine it. With noisy data, coordinates are normalized first to make the calculation more stable.

 

The Direct Linear Transformation (DLT) estimates the coefficients of a projective mapping from point correspondences. Each homogeneous correspondence is rewritten as equations linear in the unknown matrix entries; stacking them yields a homogeneous system A h = 0, and a nonzero null-space vector, typically the right singular vector of A for its smallest singular value, gives the estimate. The coefficients are determined only up to a nonzero overall scale, reflecting the homogeneity of projective points. For a planar homography x'_i ~ H x_i, the constraint x'_i × H x_i = 0 removes the unknown per-correspondence scale; only two of its three scalar equations are independent, so each pair contributes two rows, and four correspondences in nondegenerate configuration determine the eight degrees of freedom of the 3x3 homography. The same approach estimates a 3x4 camera projection matrix from 3D-to-2D correspondences given enough independent data and a noncritical configuration. 'Direct' means no initial guess is required and 'linear' means linear in the unknowns; the mapping itself is rational in inhomogeneous coordinates because of perspective division. For noisy data, normalized DLT is standard: condition the coordinates with a normalizing transform, solve, then denormalize.

Scope of Application

DLT originated in close-range photogrammetry as a way to relate comparator image coordinates to object-space coordinates without requiring initial approximations for camera orientation parameters. In modern multiple-view geometry, variants estimate planar homographies, camera projection matrices, fundamental matrices through the eight-point construction, and triangulated points. The exact design matrix and post-solution constraints depend on the model.

The method applies when correspondences are known and a projective or multilinear relation can be rearranged into coefficients linear in the unknown vector. Calibration restrictions, known intrinsics, radial distortion, and nonlinear lens models require additional parameterization or refinement.

Clarity

There are two different scales. Each homogeneous image equation has an observation-specific proportionality, eliminated by the cross product. The recovered matrix also has one global projective scale: \(H\) and \(\lambda H\) represent the same mapping for any \(\lambda\ne0\). A normalization such as \(\lVert\mathbf h\rVert=1\) chooses a representative but does not create metric scale.

Manages Complexity

DLT replaces coupled projective equations and nuisance scales with one design matrix. Vectorization makes standard linear algebra—rank, singular values, null spaces, and condition numbers—available. It delivers a closed algebraic initialization where direct nonlinear geometric optimization would need a starting point.

Normalization manages floating-point scale imbalance. Without it, coordinates with large offsets or unequal units can make some columns of \(A\) dominate and produce a poor singular vector.

Abstract Reasoning

Let \(\mathbf x=(x,y,1)^{\mathsf T}\), \(\mathbf x'=(u,v,1)^{\mathsf T}\), and let the rows of \(H\) be \(\mathbf h_1^{\mathsf T},\mathbf h_2^{\mathsf T},\mathbf h_3^{\mathsf T}\). From \(\mathbf x'\sim H\mathbf x\), dehomogenization gives

\[ u=\frac{\mathbf h_1^{\mathsf T}\mathbf x}{\mathbf h_3^{\mathsf T}\mathbf x}, \qquad v=\frac{\mathbf h_2^{\mathsf T}\mathbf x}{\mathbf h_3^{\mathsf T}\mathbf x}. \]

Knowledge Transfer

The algorithm transfers literally among projective-estimation tasks: identify a homogeneous incidence relation, vectorize unknown coefficients, construct a design matrix, solve a null space, restore model-specific constraints, and evaluate geometric error. Homography, camera, fundamental-matrix, and triangulation formulations differ in their row construction and degeneracies but share the role package.

The broader reasoning pattern transfers to tensor estimation and algebraic initialization: remove nuisance scale, solve the relaxed linear problem, then project onto the valid model set.

Relationships to Other Abstractions

Local relationship map for Direct Linear TransformationParents appear above the current abstraction, mutual partners to the right, and children below. Node labels state whether each abstraction is prime or domain-specific; colors identify relation types.Direct LinearTransformationDOMAINPrime abstraction: Algorithm — is a kind ofAlgorithmPRIME

Current abstraction Direct Linear Transformation Domain-specific

Parents (1) — outgoing typed relations

  • Direct Linear Transformation is a kind of Algorithm Prime

    prime:algorithm is the broader abstraction this entry instantiates.

Hierarchy path (1) — routes to 1 parentless root

Neighborhood in Abstraction Space

Direct Linear Transformation sits in a sparse region of the domain-specific corpus (94th percentile for distinctiveness): few abstractions share its structure, so a faithful description tends to retrieve it precisely.

Family — Metric Space Structures & Distance Maps (11 abstractions)

Nearest neighbors

Computed from structural-signature embeddings · 2026-10-25