ZODFrames

class tri3d.datasets.ZODFrames(root, metadata='trainval-frames-mini.json', split='train', anon_method='dnat')

Zenseact Open dataset.

Note

Notable differences with the original ZOD dataset:

  • Lidars are rotated by 90° around Z so that x point forward of the ego car.

  • Boxes are interpolated to all frames, use the timestamps to decide if they are relevant.

cam_sensors: List[str] = ['front']

Camera names.

img_sensors: List[str] = ['img_front']

Camera names (image plane coordinate).

pcl_sensors: List[str] = ['velodyne']

Point cloud sensor names.

det_labels: List[str] = ['Animal', 'DynamicBarrier', 'Pedestrian', 'PoleObject', 'TrafficBeacon', 'TrafficGuide', 'TrafficSign', 'TrafficSignal', 'Vehicle', 'VulnerableVehicle']

Detection labels.

sem_labels: List[str] = None

Segmentation labels.

sequences()

Return the list of sequences/recordings indices (0..num_sequences).

Return type:

List[int]

timestamps(seq, sensor)

Return the frame timestamps for a given sensor .

Parameters:
  • seq – Sequence index.

  • sensor – Sensor name.

Returns:

An array of timestamps.

Note

frames are guarenteed to be sorted.

image(seq, frame=0, sensor='img_front')

Return image from given camera at given frame.

A default sensor (for instance a front facing camera) should be provided for convenience.

Parameters:
  • seq (int)

  • frame (int)

  • sensor (str)

Return type:

<module ‘PIL.Image’ from ‘/home/ngranger/Projects/tri3D/.venv/lib/python3.12/site-packages/PIL/Image.py’>

alignment(seq, frame, coords)

Return the transformation from one coordinate system and timestamp to another.

Parameters:
  • seq (int) – The sequence index

  • frame (int | tuple[int, int]) – Either a single frame or a (src, dst) tuple. The frame is respective to the sensor timeline as specified by coords.

  • coords (str | tuple[str, str]) – Either a single sensor/coordinate system or a (src, dst) tuple. The transformation also accounts for mismatches in sensor timelines and movement of the ego-car.

Returns:

A transformation that projects points from one coordinate system at one frame to another.

boxes(seq, frame, coords=None)

Return the 3D box annotations.

This function will interpolate and transform annotations if necessary in order to match the requested coordinate system and timeline.

Parameters:
  • seq (int) – Sequence index.

  • frame (int) – Frame index.

  • coords (str | None) – The coordinate system and timeline to use.

Returns:

A list of box annotations.

frames(seq=None, sensor=None)

Return the frames in the dataset or a particular sequence.

Parameters:
  • seq (int | None) – Sequence index.

  • seq – Sequence index.

  • sensor (str | None)

Returns:

A list of (sequence, frame) index tuples sorted by sequence and frame.

instances(seq, frame)

Return pointwise instance annotations.

Parameters:
  • seq (int) – sequence

  • frame (int) – frame

Returns:

array of pointwise instance label

points(seq, frame, sensor=None, coords=None)

Return an array of 3D point coordinates from lidars.

The first three columns contains xyz coordinates, additional columns are dataset-specific.

Parameters:
  • seq (int)

  • frame (int)

  • sensor (str | None)

  • coords (str | None)

poses(seq, sensor, timeline=None)

Return all sensor to world transforms for a sensor.

World references an arbitrary coordinate system for a sequence, not all datasets provide an actual global coordinate system.

Parameters:
  • seq (int) – sequence

  • sensor (str) – sensor name

  • timeline (str | None) – When specified, the sensor poses will be interpolated to the timestamps of that timeline if necessary.

Returns:

Sensor poses as a batched transform.

rectangles(seq, frame)

Return a list of 2D rectangle annotations.

Note

The default coordinate system should be documented.

Parameters:
  • seq (int) – sequence

  • frame (int) – frame or None to request annotations for the whole sequence

Returns:

A list of 2D annotations.

semantic(seq, frame)

Return pointwise class annotations.

Parameters:
  • seq (int) – sequence

  • frame (int) – frame

Returns:

array of pointwise class label