Skip to main content

Ego-Exo4D Data Format and Loader

Ego-Exo4D includes Project Aria's SLAM (Trajectory and Semi-Dense Point Cloud), and Eye Gaze MPS outputs. For information about these, go to MPS data formats. This dataset also contains 3D calibration for the multiple static external cameras (GoPros).

Go to the Aria Ego-Exo4D Examples Notebook for code snippets to load and use this data.

3D Static camera calibration

Data Format

ColumnTypeDescription
cam_uidstringUnique identifier of camera
graph_uidstringUnique identifier of the world coordinate frame
{tx,ty,tz,qx,qy,qz,qw}_world_camfloatPose of the camera coordinate frame in world frame T_world_cam, translation (tx, ty, tz) in meters and rotation quaternion (qx, qy, qz, qw)
image_widthintImage size in pixels
image_heightintImage size in pixels
intrinsics_typestringCamera intrinsics calibration type. Currently support types: KANNALABRANDTK3: KB3 model
intrinsics_{0-7}floatCamera intrinsics parameters
start_frame_idxintUsed to determine if start frame number of the video is stationary, and if stationary camera pose and intrinsic calibration results can be applied. start_frame_idx and end_frame_idx will both be -1 if the stationary pose and intrinsic calibration can be applied to the whole video
end_frame_idxintUsed to determine if the end frame number of the video is stationary and if stationary camera pose and intrinsic calibration results can be applied. start_frame_idx and end_frame_idx will both be -1 if the stationary pose and intrinsic calibration can be applied to the whole video

Load 3D Static Calibration data

Data loaders for MPS outputs are provided as part of Project Aria Tools (projectaria_tools/main/core/mps). As part of this, the loaders put the outputs into data structures that are easier for other tools to consume.

Ego-Exo4d data is unique in that it has recordings from static cameras as well as moving Project Aria glasses. The following commands enable you to load poses and intrinsic calibration of set stationary cameras (GoPros) alongside Project Aria data.

import projectaria_tools.core.mps as mps

static_cameras_path = "/path/to/mps/output/trajectory/static_cam_calibs.csv"
static_cameras = mps.read_static_camera_calibrations(static_cameras_path)