Skip to main content

A unified framework for autonomous driving dataset management for end-to-end model development

Project description

StandardE2E Logo

A framework for unified end-to-end autonomous driving datasets processing

Python versions PyTorch License Tests codecov Code Style mypy StandardE2E

Docs Discord

StandardE2E provides a consistent interface for preprocessing, loading, and training with multimodal data from various end-to-end autonomous driving datasets. It standardizes the complex process of working with different dataset formats, allowing researchers to focus on model development rather than data engineering.

โš ๏ธ Early Beta

This project is in early beta. Read the Docs and the PyPI package are not yet available, but will be available soon.

StandardE2E Architecture


๐Ÿ“– Documentation

๐Ÿ“ฆ Installation

Option 1: From PyPI (Recommended for Users)

pip install standard-e2e

Option 2: Manual Development Setup

# Create a new conda environment
conda create -n standard_e2e python=3.12
conda activate standard_e2e

# Install the package in development mode
pip install -e .

Plan for E2E Autonomous Driving Datasets Support

Dataset Cameras Lidar HD Map Detections Driving Command Preference Trajectories
Waymo End-to-end โœ… โŒ โŒ โœ… โœ…
Waymo Perception โœ… โœ… โœ… โŒ โŒ
Navsim โœ… โœ… โœ… โœ… โŒ
WayveScenes101 โœ… โŒ โŒ โŒ โŒ
Argoverse 2 Sensor โœ… โœ… โœ… โŒ โŒ
Argoverse 2 Lidar โŒ โœ… โœ… โŒ โŒ โŒ
Argoverse 2 Map Change โœ… โœ… โœ… โŒ โŒ โŒ
KITTI โœ… โ“ โ“ โ“ โ“
KITTI-360 + 2 x โœ… โ“ โ“ โ“ โ“
Waymo Motion Prediction โŒ โœ… โœ… โœ… โŒ โŒ
Argoverse 2 Motion Forecasting [?] โŒ โŒ โœ… โœ… โŒ โŒ

๐Ÿš€ Key Features

  • Unified Dataset Interface: Work with multiple datasets through a single API
  • Multimodal Support: Cameras, LiDAR , HD maps , trajectories, detections and more
  • Flexible Preprocessing: Configurable pipelines with standardization and augmentation
  • Trajectory Management: Advanced handling of time-series vehicle data
  • PyTorch Integration: Ready-to-use datasets and dataloaders

๐Ÿ“ Quick Start & Examples

Notebooks

Code Examples

  1. Preprocess Waymo End-to-end dataset - Convert raw dataset to standardized format (dataset_preprocessing.py)

    python examples/dataset_preprocessing.py \
      --e2e_dataset_path E2E_DATASET_PATH \
      --split {training,val,test} \
      --processed_data_path PROCESSED_DATA_PATH
    
  2. Train your model - End-to-end training with multimodal data (very_simple_training.py). This example illustrates iteration over the preprocessed dataset. Also, in this example for validation we use 2 DataLoaders - full validation split and filtered validation split that only contains samples with preferred trajectories.

    python examples/very_simple_training.py --processed_data_path PROCESSED_DATA_PATH
    
  3. Create a unified DataLoader: This example shows how to process 2 different datasets within same DataLoader. First, please do preprocessing for Waymo E2E and Waymo Perception datasets in order to utilize them in the DataLoader with the script (prepare_datasets_waymo_e2e_perception.sh).

    The script creating_unified_dataloader.py created a unified dataloader that iterates over both Waymo E2E and Waymo Perception in one epoch providing consistent data structure.

    python examples/creating_unified_dataloader.py --processed_data_path PROCESSED_DATA_PATH
    
  4. Add a new dataset adapter - Guide for adding support for new datasets (adding_new_dataset.md)

๐Ÿ“„ License

This project is licensed under the MIT License - see the LICENSE file for details.

๐Ÿ“š Citation

If you find this project useful, you can support it by giving it a โญ, or by contributing with your PRs / issues / feature requests. Also, if you use this project, you can greatly support it by citing

@software{standarde2e,
  title={StandardE2E: A Unified Framework for Autonomous Driving Dataset Management},
  author={stepankonev},
  year={2025},
  url={https://github.com/stepankonev/StandardE2E}
}

and using the badge StandardE2E

Markdown

[![StandardE2E](https://raw.githubusercontent.com/stepankonev/StandardE2E/refs/heads/main/assets/StandardE2E_gh_badge_dark.svg)](https://github.com/stepankonev/StandardE2E)

HTML

<a href="https://github.com/stepankonev/StandardE2E">
  <img src="https://raw.githubusercontent.com/stepankonev/StandardE2E/refs/heads/main/assets/StandardE2E_gh_badge_dark.svg" alt="StandardE2E"/>
</a>

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

standard_e2e-0.0.2.tar.gz (83.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

standard_e2e-0.0.2-py3-none-any.whl (102.7 kB view details)

Uploaded Python 3

File details

Details for the file standard_e2e-0.0.2.tar.gz.

File metadata

  • Download URL: standard_e2e-0.0.2.tar.gz
  • Upload date:
  • Size: 83.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.11

File hashes

Hashes for standard_e2e-0.0.2.tar.gz
Algorithm Hash digest
SHA256 4536f5009e40a42f3a572a7eb36de189d617245e9911ef143e2a09275ff45ea7
MD5 93590b905ac959d6e2bf6cdbfaaf71ba
BLAKE2b-256 bf343e2628ea9476cdc00b1db5ab3f7239e15aae0a1ca43c113a85e2a82d0bb7

See more details on using hashes here.

File details

Details for the file standard_e2e-0.0.2-py3-none-any.whl.

File metadata

  • Download URL: standard_e2e-0.0.2-py3-none-any.whl
  • Upload date:
  • Size: 102.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.11

File hashes

Hashes for standard_e2e-0.0.2-py3-none-any.whl
Algorithm Hash digest
SHA256 d46177657c434b3ad4a673d6de3baf3350895e4d959f8a5eb6367e8b6138a593
MD5 26f97f54431293ae3b3405b5c51ed77a
BLAKE2b-256 bc24c93a12fe24fdb874697c6aa511c888941aea93974130954a118045bec725

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page