Skip to main content

Data Dashboard

Created on August 19|Last edited on August 24

Goal

This dashboard aims to describe the L5Kit dataset. We document the dataset, data format and data usage. We also present an high level analysis of the dataset using key descriptive statistics and provide some visualization of the use-cases in the prediction task.

Learn About the Data We Use

The following reports cover the steps to download, load and process the data. We aldo document the code used in the analysis in the report.


Analysis of Data

The dataset has three components
  • Scenes: 1,000 hours of traffic scenes collected by 20 self-driving vehicles driving over 26,000 km. There are over 170,000 scenes in the dataset with each scene lasting 25 seconds.
  • High-definition Semantic Maps: with 15,242 labelled elements, including 8,500 lane segments
  • High-resolution Satellite maps: at a resolution of 6cm per pixel covering over 74 sq. km
The following table from the dataset's whitepaper highlights some global statistics about the dataset.


Descriptive Statistics

To keep things simple we randomly sample a few scenes from the dataset and collect statistics related to the agents and labels in the sample.

Num Scenes
Num Frames
Num Agents
Num TR lights
Total Time (hr)
Avg Frames per Scene
Avg Agents per Frame
Avg Scene Time (sec)
Avg Frame frequency
1
Key insights:
  • Our sample of 100 scenes spans approximately 40 Minutes (.69 hours) of driving.
  • There are nearly 25 thousand frames(images) with each scene having roughly 250 frames.
  • There are over 18 thousand agents in the scenes with roughly 76 agents per frame.

Movement of Centroid of AV

A key information about the ego vehicle is its position w.r.t the world. This is encoded as the centroid of the ego vehicle in the (x,y) coordinates of the frame.

Key insights
  • The plot of the x, and y coordinates of the centroid of the AV gives us an overview of the ego vehicle in the sample.
  • The sharp turns in the plot above represent the lateral movement of the ego vehicle when taking sharp turns at intersections.

Class Distribution for Agent Objects

As in most object detection tasks, it is worthwhile to look at the label distribution to get an idea of the imbalance in the dataset. This knowledge is required to develop algorithms that address the challenges related in class imbalance in machine learning.

Key Insights
  • The sample scenes are sparsely labeled. Most of the labels(~1.3M) belong to the PERCEPTION_LABEL_UNKNOWN class.
  • Other commonly occurring labels include:
    • Cars, PERCEPTION_LABEL_CAR , ~500K instances
    • Pedestrians, PERCEPTION_LABEL_PEDESTRIAN, ~40K instances
    • Cycles, PERCEPTION_LABEL_CYCLIST, ~6k instances

The L5Kit provides us with the tools to visualize the Ego vehicle in Birds Eye View(BEV). We use rasterization to convert the visual sensor data into interpretable RGB images. By combining the semantic and aerial image frames we can visualize the agent’s motion in the frames across a scene.

Examples of Frames from AV Perspective

We can visualize individual frames in a scene using the frame index

frame_idx
semantic_view
satellite_view
1
2
3
4
Key Insights
  • Megenta(#ffooff) indicates the ego vehicle’s future trajectory in the scene.
  • Green(#00ff00) indicates the ego vehicle in the first frame of the scene.
  • Blue(#0000ff) indicates the position of other agents in the scene.

Examples of Agents in a Frame

We can look that the individual agents in a frame. This is often important and necessary for many visual prediction tasks.

agent_idx
semantic_view
satellite_view
1
2
3
4

Examples of Fully Tracked Scenes

Finally, we can also combine the agents and frames from a scene to compose the fully tracked scene.

scene_idx
semantic_view
satellite_view
bokeh_view
7
8
9
10

Key Insights
  • The sampled scenes covers a variety of scenarios these include:
    • Stopping of obstacles
    • Slowing down at intersections
    • Turning at intersections
    • Passing through intersections
    • Navigating through traffic etc.
File<(table)>
File<(table)>
File<(table)>
File<(table)>
File<(table)>
File<(table)>