NuScenes¶
- class tri3d.datasets.NuScenes(root, subset='v1.0-mini', det_label_map=None, sem_label_map=None)¶
NuScene dataset
Note
Notable differences with original NuScenes data:
Size encoded as length, width, height instead of width, length, height.
Lidar pcl is rotated by 90° so x axis points forward.
- cam_sensors: List[str]¶
Camera names.
- img_sensors: List[str]¶
Camera names (image plane coordinate).
- pcl_sensors: List[str]¶
Point cloud sensor names.
- det_labels: List[str]¶
Detection labels.
- sequences()¶
Return the list of sequences/recordings indices (0..num_sequences).
- 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, sensor='CAM_FRONT', keyframe=True)¶
Return image from given camera at given frame.
A default sensor (for instance a front facing camera) should be provided for convenience.
- 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, keyframe=True)¶
Return pointwise class annotations.
- Parameters:
seq – sequence
frame – frame
- Returns:
array of pointwise class label
- instances(seq, frame, keyframe=True)¶
Return pointwise instance annotations.
- Parameters:
seq – sequence
frame – frame
- Returns:
array of pointwise instance label
- 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.
- 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.
- sem_labels: List[str]¶
Segmentation labels.