Search⌘ K

Camera Parameters (Intrinsic and Extrinsic)

Learn the crucial roles of intrinsic and extrinsic camera parameters in 3D projection and rendering. Understand translation, rotation, focal length, image center, and skew, and how they combine into camera matrices. Use PyTorch3D to observe how these parameters influence the rendered images and gain foundational knowledge for working with virtual and real-world cameras in 3D machine learning.

Overview

The projection matrix defines how we relate objects in the 3D world coordinate space to the 2D camera space. This matrix is composed of the extrinsic and intrinsic parameters of a given camera.

The extrinsic parameters

The extrinsic parameters describe the external properties of the camera, namely the camera translation and rotation. To briefly recap, translation is the three parameters describing the (x,y,z)(x, y, z) position of the camera. Likewise, rotation is the three parameters describing the rotations about the xx, yy, and zz axes. While rotation in 3D can come in many forms, this particular form of rotation is called the Euler angles of the rotation. Although intuitive, Euler angles are not the ideal form for actually applying rotations. For now, the PyTorch3D API makes it easy to specify rotations in Euler angles while handling the hairy details.

We most often use camera parameters in matrix form. The rotation is expressed as a 3×33\times3 matrix RR and the translation as a 3×13\times1 vector tt. Oftentimes the rotation RR and ...