Once¶
- class tri3d.datasets.Once(root, subset='train')[source]¶
Once dataset.
Note
The lidar is rotated 90° clockwise so that x points toward the front of the ego car.
- cam_sensors: list[str] = ['cam01', 'cam03', 'cam05', 'cam06', 'cam07', 'cam08', 'cam09']¶
Camera names.
- img_sensors: list[str] = ['img01', 'img03', 'img05', 'img06', 'img07', 'img08', 'img09']¶
Camera names (image plane coordinate).
- pcl_sensors: list[str] = ['lidar_roof']¶
Point cloud sensor names.
- det_labels: list[str] = ['Car', 'Truck', 'Bus', 'Pedestrian', 'Cyclist']¶
Detection labels.
- sem_labels: list[str] = []¶
Segmentation labels.
- timestamps(seq, sensor)[source]¶
Return the frame timestamps for a given sensor .
- Parameters:
seq – Sequence index.
sensor – Sensor name.
- Returns:
An array of timestamps.
Note
frames are guaranteed to be sorted.
- image(seq, frame, sensor)[source]¶
Return image from given camera at given frame.
A default sensor (for instance a front facing camera) should be provided for convenience.
- Parameters:
seq – Sequence index.
frame – Frame index.
sensor – The image sensor to use.
- alignment(seq, frame, coords)[source]¶
Return the transformation from one coordinate system and timestamp to another.
- Parameters:
seq (int) – 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.
- Return type:
- boxes(seq, frame, coords)[source]¶
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) – The coordinate system and timeline to use.
- Returns:
A list of box annotations.
- Return type:
Sequence[type[Box]]
- frames(seq, sensor)[source]¶
Return the frames indices of particular sequence for a sensor.
The indices are normally contiguous (ie:
np.arange()
).- Parameters:
seq (int) – Sequence index.
seq – Sequence index.
sensor (str)
- Returns:
A list of (sequence, frame) index tuples sorted by sequence and frame.
- Return type:
- instances(seq, frame, sensor)[source]¶
Return pointwise instance ids.
- Parameters:
seq (int) – Sequence index.
frame (int) – Frame index.
sensor (str)
- Returns:
array of pointwise instance label
- instances2d(seq, frame, sensor)[source]¶
Return pixelwise instance annotations.
Background label pixels will contain -1. Other instance ids will follow dataset-specific rules.
- Parameters:
seq (int) – Sequence index.
frame (int) – Frame index.
sensor (str)
- Returns:
array of pointwise instance label
- points(seq, frame, sensor, coords=None)[source]¶
Return an array of 3D point coordinates from lidars.
The first three columns contains xyz coordinates, additional columns are dataset-specific.
For convenience, the point cloud can be returned in the coordinate system of another sensor. In that case, frame is understood as the frame for that sensor and the point cloud which has the nearest timestamp is retrieved and aligned.
- Parameters:
seq (int) – Sequence index.
frame (int) – Frame index.
sensor (str) – The 3D sensor (generally a LiDAR) to use.
coords (str | None) – The coordinate system and timeline to use. Defaults to the sensor.
- Returns:
A NxD array where the first 3 columns are X, Y, Z point coordinates and the remaining ones are dataset-specific.
- Return type:
- poses(seq, sensor, timeline=None)[source]¶
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 index.
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.
- Return type:
- rectangles(seq, frame, sensor)[source]¶
Return a list of 2D rectangle annotations.
Note
The default coordinate system should be documented.
- Parameters:
seq (int) – Sequence index.
frame (int) – Frame index or None to request annotations for the whole sequence
sensor (str)
- Returns:
A list of 2D annotations.