Skip to main content

Automated Scenario Characterization Toolkit.

Project description

WIP ScenarioCharacterization

Note: This project is a work in progress.

A generalizable, automated scenario characterization framework for trajectory datasets. This project is primarily a re-implementation of the scenario characterization approach introduced in SafeShift, as part of an internship project at StackAV.

Visualization Examples

Categorical Scores Animated Scenarios Static Scenarios
5c1f8d26c481e36d_2 43 5c1f8d26c481e36d_2 43 6e593bf6b9dbbf73
Results from our categorical profiler. Agents are visualized from dark green (low crit.) to dark red (high crit.) based on their criticality with respect to the ego agent (blue). Result from our animated visualizer, showing agents by type: vehicle (gray), pedestrian (magenta), cyclist (green), and ego (blue), along with the scenario's elapsed time throughout the episode. Result from our static scenario visualizer. The episode's time is shown by increasing trajectory opacity over time.

Repository: github.com/navarrs/ScenarioCharacterization

This repository currently uses:

  • uv as the package manager.
  • Hydra for hierarchical configuration management.
  • Pydantic for input/output data validation.

Installation

Install the package

uv pip install scenario-characterization

Install the package in editable mode

Clone the repository and install the package in editable mode:

git clone git@github.com:navarrs/ScenarioCharacterization.git
cd ScenarioCharacterization
uv run pip install -e .

To install with Waymo dependencies (required for running the example), use:

uv run pip install -e ".[waymo]"

If installing with development dependencies, run:

uv run pip install -e . ".[dev]"
uv run pre-commit install

Documentation

  • Organization: Overview of the Hydra configuration structure.
  • Schemas: Guidelines for creating dataset adapters and processors that comply with the required input/output schemas.
  • Characterization: Details on supported scenario characterization and visualization tools, and how to use them.
  • Analysis: Shows how to run feature and score analyses.
  • Example: Step-by-step usage example using the Waymo Open Motion Dataset.

Citing

@INPROCEEDINGS{stoler2024safeshift,
  author={Stoler, Benjamin and Navarro, Ingrid and Jana, Meghdeep and Hwang, Soonmin and Francis, Jonathan and Oh, Jean},
  booktitle={2024 IEEE Intelligent Vehicles Symposium (IV)},
  title={SafeShift: Safety-Informed Distribution Shifts for Robust Trajectory Prediction in Autonomous Driving},
  year={2024},
  volume={},
  number={},
  pages={1179-1186},
  keywords={Meters;Collaboration;Predictive models;Robustness;Iron;Trajectory;Safety},
  doi={10.1109/IV55156.2024.10588828}}

Development

Run uv sync --frozen --all-groups to set up the environment. Run pre-commit run --all-files to run all hooks on all files.

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

scenario_characterization-0.3.10.tar.gz (83.2 kB view details)

Uploaded Source

Built Distribution

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

scenario_characterization-0.3.10-py3-none-any.whl (114.2 kB view details)

Uploaded Python 3

File details

Details for the file scenario_characterization-0.3.10.tar.gz.

File metadata

File hashes

Hashes for scenario_characterization-0.3.10.tar.gz
Algorithm Hash digest
SHA256 f918dc8c7cb9ce00e347c267a33bdbcb1daa58645a32db00e3db48ee58b836d5
MD5 07170f8f6dc368aab3c35958fea14924
BLAKE2b-256 1591339b4dc2f198953a1cdc840035609ebe2c3fded33c716f96e470e5dbf3b9

See more details on using hashes here.

Provenance

The following attestation bundles were made for scenario_characterization-0.3.10.tar.gz:

Publisher: package.yml on navarrs/ScenarioCharacterization

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file scenario_characterization-0.3.10-py3-none-any.whl.

File metadata

File hashes

Hashes for scenario_characterization-0.3.10-py3-none-any.whl
Algorithm Hash digest
SHA256 31f31b854910680a77d9e157e3a58af03fa1b30865b231544be901333a8066f6
MD5 a67f3c52c9e38a9431a5344139a67d0c
BLAKE2b-256 07fa0a1872c5a2f20ca7963d21b038b1d2007c1a03995023dc8ddff2f968a2bd

See more details on using hashes here.

Provenance

The following attestation bundles were made for scenario_characterization-0.3.10-py3-none-any.whl:

Publisher: package.yml on navarrs/ScenarioCharacterization

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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