Geometric Camera Models

Definitions

TermDefinitionNotes
Backward Camera ModelA Geometric Camera Model that transforms 2D image points into 3D rays.Opposite direction of the Forward Camera Model. This is sometimes called an "Inverse camera model". We choose not to use this terminology, as you can invert a forward or backward camera model.
Camera-Relative World PointA World Point in the reference frame of the camera. 
Center of Radial DistortionAn Image Point about which the distortion is radially symmetric. 
Central Camera ModelA Geometric Camera Model for which all rays go through a single point.Complement to Non-Central Camera Model.
DistortionA deviation from the Pinhole Camera Model. 
ExtrinsicsA portion of a Geometric Camera Model that describes the position and orientation of an object within a world coordinate system.See also: Pose.
Forward Camera ModelA Geometric Camera Model that transforms 3D world points into 2D image points.Opposite direction of the Backward Camera Model.
Geometric Camera ModelA model that describes the geometric properties of a camera.This is sometimes referred to as a "geometric calibration model". A Geometric Camera Model is composed of Extrinsics, Intrinsics, and Distortion.
Global World PointA World Point in the global reference frame. 
Image Coordinate SystemThe basis for describing image points.See Image Coordinate System documentation.
Image PointAn ordered pair (x, y) describing a 2D location on the focal plane.An Image Point is defined in an Image Coordinate System.
IntrinsicsA portion of a Geometric Camera Model that describes the internal geometric properties of the camera. 
Non-Central Camera ModelA Geometric Camera Model for which the rays do not go through a single point.Complement to Central Camera Model. Cameras with a non-stationary entrance pupil position exhibit non-central behaviors.
Pinhole Camera ModelA Geometric Camera Model that models a pinhole camera. 
PoseThe position and orientation of an object relative to some World Coordinate System.See also: Extrinsics.
Principal PointThe Image Point on the focal plane that intersects the optical axis. 
World PointAn ordered triple (X, Y, Z) describing a 3D location in a World Coordinate System. 
World Coordinate SystemThe basis (coordinatae ordering, origin, positive positional directions, positive rotation directions) for describing World Points. 

Notation

All vectors are column vectors. Uppercase , , and refer to 3D world points. Lowercase Uppercase and refer to 2D image points.

Homogeneous Coordinates

Homogeneous coordinates are a set of coordinates with useful properties for perspective geometry [1][2]:

A "standard" coordinate is referred to as inhomogeneous. 

Properties

Transforms

Inhomogeneous to Homogeneous

The simplest way to convert from an inhomogeneous coordinate to a homogeneous one is to append a 1 to the end of the coordinate. 

The general conversion is to append 1 and multiply all elements by any non-zero real number ( or ).

Homogeneous to Inhomogeneous

To convert from a homogeneous coordinate to an inhomogeneous one, divide all of the components by the last one, which is discarded.

Intrinsics

The intrinsic matrix, , is an upper-triangular matrix that transforms a world coordinate relative to the camera into a homogeneous image coordinate. There are two general and equivalent forms of the intrinsic matrix:

where

VariableDescription
The x-focal length
The y-focal length
The focal length ratios 
The skew
The principal point (intersection of the optical axis with the focal plane)

The intrinsic matrix of the th camera is applied to the th camera-relative 3D point to produce a homogeneous image point.

Notes:

Camera Models

Summary

ModelForward Order of OperationsMaximum Field of ViewDistortion OptionsCentrality ReferencesIntroduced
Simple PinholeExtrinsics → Intrinsics<180°NoneCentral[1][2]Imatest 25.2
OpenCVExtrinsics → Distortion → Intrinsics<180°Radial, Tangential, Thin Prism, TiltCentral[3]Imatest 25.2
OpenCV FisheyeExtrinsics → Distortion → Intrinsics<180°PolynomialCentral[4]Imatest 26.1
Pinhole + DistortionExtrinsics → Intrinsics → Distortion<180°See DistortionCentral[1][2][5]Imatest 26.1

Simple Pinhole

The forward direction of the simple pinhole model is: Extrinsics → Intrinsics.

The forward direction of the OpenCV model is given by:

  1. Transform a camera-relative world point through the intrinsics camera matrix:
  2. Convert to an inhomogeneous image point

OpenCV

The OpenCV camera model [3] is defined by the OpenCV library. The version used in Imatest is that of OpenCV 4.12.0.

The forward direction of the OpenCV model is: Extrinsics → Distortion → Intrinsics.

The forward direction of the OpenCV model is given by:

  1. Transform a camera-relative world point into an undistorted image point :
  2. Compute the radius, :
  3. Apply the radial distortion:
  4. Apply the tangential distortion:
  5. Apply the thin-prism distortion:
  6. Apply the tilt-distortion (and convert back to an inhomogeneous image coordinate):
  7. Apply the intrinsics:

OpenCV Fisheye

The OpenCV Fisheye camera model [4] is defined by the OpenCV library. The version used in Imatest is that of OpenCV 4.12.0.

The forward direction of the OpenCV model is: Extrinsics → Distortion → Intrinsics.

The forward direction of the OpenCV model is given by:

  1. Transform a camera-relative world point into a normalized world point :
  2. Compute the radius, :
  3. Compute the angle, :
  4. Apply the fisheye distortion:
  5. Compute the normalized, distorted image point :
  6. Apply the 2D intrinsics to convert the normalized, distorted image point into a distorted image point :
Notes
  1. The method for computing the angle in steps 1-3 limits this model to 180° FOV.
  2. The form of the intrinsics used in Imatest differs from the OpenCV documented application of intrinsics (step 6): The skew directly multiplies the y-component instead of the skew and focal length multiplying the y-component. When skew is 0, this difference has no effect.

Pinhole + Distortion

The Pinhole + Distortion model is the "classic" camera model from photogrammetry.

The forward direction of the Pinhole + Distortion model is: Extrinsics → Intrinsics → Distortion.

The forward direction of the Pinhole + Distortion model is given by:

  1. Project the camera-relative world point through the intrinsics matrix to get a homogenous undistorted image point
  2. Convert the homogeneous undistorted image point into an inhomogeneous undistorted image point
  3. Apply the distortion model to transform the inhomogeneous, undistorted image point into a distorted image point.

Distortion Models

Distortion Model: Generic

A generic distortion model transforms undistorted image points into distorted image points.

The following distortion models are available:

ModelRadialTangentialReferencesIntroduced
Brown-ConradyYesYes[5]Imatest 26.1
NoneNoNo Imatest 26.1
RadialYesNo[5]Imatest 26.1

Distortion Model: Brown-Conrady

The Brown-Conrady distortion model includes both radial and tangential components.

The forward direction model is given by:

Where:

is the center of radial distortion

Notes:

Distortion Model: None

The None distortion model does not apply any distortion.

The forward direction model is given by:

Distortion Model: Radial

Radial Distortion Models are radially symmetric about a center of distortion.

The forward direction model is given by:

Where

is the center of radial distortion

is a radial distortion model

The following radial distortion models are available:

ModelReference(s)Introduced
Division Polynomial[5]Imatest 26.1
None Imatest 26.1
Polynomial[5]Imatest 26.1
Radial Distortion Model: Division Polynomial

The forward direction model is given by:

Radial Distortion Model: None

The forward direction model is given by:

Radial Distortion Model: Polynomial

The forward direction model is given by:

References

  1. R. Hartley and A. Zisserman, Multiple View Geometry in Computer Vision, 2nd ed. Cambridge, U.K.: Cambridge Univ. Press, 2003. ↩a ↩b ↩c
  2. Y. Ma, S. Soatto, J. Košecká, and S. Sastry, An Invitation to 3-D Vision: From Images to Geometric Models. New York, NY, USA: Springer, 2004. ↩a ↩b ↩c
  3. OpenCV. “Camera calibration and 3D reconstruction.” OpenCV Documentation. https://docs.opencv.org/4.12.0/d9/d0c/group__calib3d.html (accessed Aug. 18, 2025). ↩a ↩b
  4. OpenCV. “Fisheye camera model.” OpenCV Documentation. https://docs.opencv.org/4.12.0/db/d58/group__calib3d__fisheye.html (accessed Jan. 2, 2025). ↩a ↩b
  5. “Distortion (optics).” Wikipedia. https://en.wikipedia.org/wiki/Distortion_(optics) (accessed Jan. 2, 2025). ↩a ↩b ↩c ↩d ↩e