Skip to main content

Omega-Prime: Data Model, Data Format and Python Library for Handling Ground Truth Traffic Data

Project description



Omega-Prime: Data Model, Data Format and Python Library for Handling Ground Truth Traffic Data

Data Model, Format and Python Library for ground truth data containing information on dynamic objects, map and environmental factors optimized for representing urban traffic. The repository contains:

Data Model and Sepcification

see ./docs/omega_prime_specification.md

  • 🌍 Data Model: What signals exists and how these are defined.
  • 🧾 Data Format Specification: How to exchange and store those signals.

Python Library

  • 🔨 Create omega-prime files from many sources (see ./tutorial.ipynb):
  • 🗺️ Map Association: Associate Object Location with Lanes from OpenDRIVE or OSI Maps (see tutorial_locator.ipynb)
  • 📺 Plotting of data: interative top view plots using altair
  • Validation of data: check if your data conforms to the omega-prime specification (e.g., correct yaw) using pandera
  • 📐 Interpolation of data: bring your data into a fixed frequency
  • 📈 Metrics: compute interaction metrics like PET, TTC, THW (see tutorial_metrics.ipynb)
  • 🚀 Fast Processing directly on DataFrames using polars, polars-st

The data model and format utilze ASAM OpenDRIVE and ASAM Open-Simulation-Interface GroundTruth messages. omega-prime sets requirements on presence and quality of ASAM OSI GroundTruth messages and ASAM OpenDRIVE files and defines a file format for the exchange and storage of these.

Omega-Prime is the successor of the OMEGAFormat. It has the benefit that its definition is directly based on the established standards ASAM OSI and ASAM OpenDRIVE and carries over the data quality requirements and the data tooling from OMEGAFormat. Therefore, it should be easier to incorporate omega-prime into existing workflows and tooling.

To learn more about the example data read example_files/README.md. Example data was taken and created from esmini.

Installation

pip install omega-prime

Usage

A detailed introduction to the features and usage can be found in tutorial.ipynb

Create an omega-prime file from an OSI GroundTruth message trace and an OpenDRIVE map:

import omega_prime

r = omega_prime.Recording.from_file('example_files/pedestrian.osi', xodr_path='example_files/fabriksgatan.xodr')
r.to_mcap('example.mcap')

If you want to create an OSI trace on your own in python, check out the python library betterosi.

Read and plot an omega-prime file:

r = omega_prime.Recording.from_file('example.mcap')
ax = r.plot()

Convert Existing Datasets to omega-prime

LevelXData

You can convert data from LevelXData to omega-prime. Under the hood lxd-io is used to perform the conversion.

from omega_prime.converters import LxdConverter
converter = LxdConverter('./exiD-dataset-v2.0', './exiD-as-omega-prime', n_workers=4)
# convert the dataset and store the omega-prime files in the new directory
converter.convert()
# access Recordings directly without storing them
iterator_of_recordings = converter.yield_recordings()

or with omega-prime from-lxd ./exiD-dataset-v2.0 ./exiD-as-omega-prime --n-workers=4.

Tested with exiD-v2.0 and inD-v1.1

File Format

Based on MCAP, ASAM OSI and ASAM OpenDRIVE the ASAM OSI GroundTruth messages and ASAM OpenDRIVE map are packaged as shown in the following figure.

Acknowledgements

This package is developed as part of the SYNERGIES project.

Funded by the European Union. Views and opinions expressed are however those of the author(s) only and do not necessarily reflect those of the European Union or European Climate, Infrastructure and Environment Executive Agency (CINEA). Neither the European Union nor the granting authority can be held responsible for them.

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

omega_prime-0.1.14.tar.gz (7.8 MB view details)

Uploaded Source

Built Distribution

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

omega_prime-0.1.14-py3-none-any.whl (35.0 kB view details)

Uploaded Python 3

File details

Details for the file omega_prime-0.1.14.tar.gz.

File metadata

  • Download URL: omega_prime-0.1.14.tar.gz
  • Upload date:
  • Size: 7.8 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for omega_prime-0.1.14.tar.gz
Algorithm Hash digest
SHA256 d449f52fc9c07bd9c8c678cb17267e30770730a609310a39ef112143f4f0f167
MD5 ac0f65840ae7bbbbf8badc5cc4412511
BLAKE2b-256 2f856c0b0ee8163a010adca0cc34c2336ed553482ff214e4a7a1b9dbb09cc905

See more details on using hashes here.

Provenance

The following attestation bundles were made for omega_prime-0.1.14.tar.gz:

Publisher: release.yml on ika-rwth-aachen/omega-prime

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

File details

Details for the file omega_prime-0.1.14-py3-none-any.whl.

File metadata

  • Download URL: omega_prime-0.1.14-py3-none-any.whl
  • Upload date:
  • Size: 35.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for omega_prime-0.1.14-py3-none-any.whl
Algorithm Hash digest
SHA256 b8915e1abeb07260dd404bedb616d5ef0453b73b2d637371c82542340dd9b5fc
MD5 abf2f104389ada9345c0a66a8b3be680
BLAKE2b-256 3bf3a05ec291b0a9a65c342c7b9c0185f60c569758c5c6be3ee8468533f7021e

See more details on using hashes here.

Provenance

The following attestation bundles were made for omega_prime-0.1.14-py3-none-any.whl:

Publisher: release.yml on ika-rwth-aachen/omega-prime

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