Skip to main content

UrbanIng Dataset DevKit

Project description

UrbanIng-V2X: A Large-Scale Multi-Vehicle, Multi-Infrastructure Dataset Across Multiple Intersections for Cooperative Perception

This package provides tools for dataset download, extraction, conversion, handling and visualization for the UrbanIng-V2X dataset.

Install via PyPI

pip install urbaning

Downloading the dataset

from urbaning.data import download_dataset, download_one_sequence
download_dataset(download_dir="datasets/UrbanIng-V2X") # to download the entire dataset
download_one_sequence(download_dir="datasets/UrbanIng-V2X") # to download only one sequence for quick start purposes - optionally pass a sequence_name

Unzip the dataset

Note: 7zip has to be installed.

from urbaning.data import unzip_dataset
unzip_dataset(dataset_folder="datasets/UrbanIng-V2X")
# If 7zip is not visible in the environment, pass also the sevenz_executable parameter

Dataset structure

. [DATA_ROOT] # Dataset root folder
โ”œโ”€โ”€ ๐Ÿ“‚dataset # data files
โ”‚   โ”œโ”€โ”€ ๐Ÿ“‚20241126_0001_crossing2_00 # sequence 1's data
โ”‚   โ”‚   โ”œโ”€โ”€ ๐Ÿ“‚crossing2_11_lidar # this and upcoming folders -> infrastructure lidars
โ”‚   โ”‚   โ”‚   โ”œโ”€โ”€ ๐ŸŒซ๏ธ1732632673950.npz # point cloud captured by crossing2_11_lidar at this time stamp
โ”‚   โ”‚   โ”‚   โ””   ...
โ”‚   โ”‚   โ”œโ”€โ”€ ๐Ÿ“‚crossing2_12_lidar
โ”‚   โ”‚   โ”œโ”€โ”€ ๐Ÿ“‚crossing2_31_lidar
โ”‚   โ”‚   โ”œโ”€โ”€ ๐Ÿ“‚crossing2_32_lidar
โ”‚   โ”‚   โ”œโ”€โ”€ ๐Ÿ“‚crossing2_13_thermal_camera # this and upcoming folders -> infrastructure cameras
โ”‚   โ”‚   โ”‚   โ”œโ”€โ”€ ๐Ÿ–ผ๏ธ1732632673956.jpg # image captured by crossing2_13_thermal_camera at this time stamp
โ”‚   โ”‚   โ”‚   โ””   ...
โ”‚   โ”‚   โ”œโ”€โ”€ ๐Ÿ“‚crossing2_14_thermal_camera 
โ”‚   โ”‚   โ”œโ”€โ”€ ๐Ÿ“‚crossing2_15_thermal_camera
โ”‚   โ”‚   โ”œโ”€โ”€ ๐Ÿ“‚crossing2_33_thermal_camera
โ”‚   โ”‚   โ”œโ”€โ”€ ๐Ÿ“‚crossing2_34_thermal_camera
โ”‚   โ”‚   โ”œโ”€โ”€ ๐Ÿ“‚vehicle1_back_left_camera # this and upcoming folders -> vehicle1 cameras
โ”‚   โ”‚   โ”‚   โ”œโ”€โ”€ ๐Ÿ–ผ๏ธ1732632674019.jpg # image captured by vehicle1_back_left_camera at this time stamp
โ”‚   โ”‚   โ”‚   โ””   ...
โ”‚   โ”‚   โ”œโ”€โ”€ ๐Ÿ“‚vehicle1_back_right_camera
โ”‚   โ”‚   โ”œโ”€โ”€ ๐Ÿ“‚vehicle1_front_left_camera
โ”‚   โ”‚   โ”œโ”€โ”€ ๐Ÿ“‚vehicle1_front_right_camera
โ”‚   โ”‚   โ”œโ”€โ”€ ๐Ÿ“‚vehicle1_left_camera
โ”‚   โ”‚   โ”œโ”€โ”€ ๐Ÿ“‚vehicle1_right_camera
โ”‚   โ”‚   โ”œโ”€โ”€ ๐Ÿ“‚vehicle1_middle_lidar # vehicle1 lidar
โ”‚   โ”‚   โ”‚   โ”œโ”€โ”€ ๐ŸŒซ๏ธ1732632673950.npz # point cloud captured by vehicle1_middle_lidar at this time stamp
โ”‚   โ”‚   โ”‚   โ””   ...
โ”‚   โ”‚   โ”œโ”€โ”€ ๐Ÿ“‚vehicle1_state
โ”‚   โ”‚   โ”‚   โ”œโ”€โ”€ ๐Ÿš˜1732632670000.json # state information of vehicle1 at this time stamp
โ”‚   โ”‚   โ”‚   โ””   ...
โ”‚   โ”‚   โ”œโ”€โ”€ ๐Ÿ“‚vehicle2_back_left_camera # this and upcoming folders -> vehicle2 cameras
โ”‚   โ”‚   โ”‚   โ”œโ”€โ”€ ๐Ÿ–ผ๏ธ1732632674019.jpg # image captured by vehicle2_back_left_camera at this time stamp
โ”‚   โ”‚   โ”‚   โ””   ...
โ”‚   โ”‚   โ”œโ”€โ”€ ๐Ÿ“‚vehicle2_back_right_camera
โ”‚   โ”‚   โ”œโ”€โ”€ ๐Ÿ“‚vehicle2_front_left_camera
โ”‚   โ”‚   โ”œโ”€โ”€ ๐Ÿ“‚vehicle2_front_right_camera
โ”‚   โ”‚   โ”œโ”€โ”€ ๐Ÿ“‚vehicle2_left_camera
โ”‚   โ”‚   โ”œโ”€โ”€ ๐Ÿ“‚vehicle2_right_camera
โ”‚   โ”‚   โ”œโ”€โ”€ ๐Ÿ“‚vehicle2_middle_lidar # vehicle2 lidar
โ”‚   โ”‚   โ”‚   โ”œโ”€โ”€ ๐ŸŒซ๏ธ1732632673950.npz # point cloud captured by vehicle2_middle_lidar at this time stamp
โ”‚   โ”‚   โ”‚   โ””   ...
โ”‚   โ”‚   โ”œโ”€โ”€ ๐Ÿ“‚vehicle2_state
โ”‚   โ”‚   โ”‚   โ”œโ”€โ”€ ๐Ÿš˜1732632670000.json # state information of vehicle2 at this time stamp
โ”‚   โ”‚   โ”‚   โ””   ...
โ”‚   โ”‚   โ”œโ”€โ”€ ๐Ÿงญcalibration.json # all intrinsic and extrinsic calibration parameters for both vehicles and infrastructures
โ”‚   โ”‚   โ”œโ”€โ”€ ๐Ÿ“Štimesync_info.csv # time synchronization information linking several sensor data together 
โ”‚   โ”‚   โ””โ”€โ”€ ๐Ÿ“„weather_data.json # weather_data during the data collection
โ”‚   โ”œโ”€โ”€ ๐Ÿ“‚20241126_0004_crossing2_00
โ”‚   โ”œโ”€โ”€ ๐Ÿ“‚20241126_0008_crossing1_00
โ”‚   โ””   ...
โ”œโ”€โ”€ ๐Ÿ“‚labels # label files
โ”‚   โ”œโ”€โ”€ ๐Ÿ“„20241126_0001_crossing2_00.json # sequence 1's labels
โ”‚   โ”œโ”€โ”€ ๐Ÿ“„20241126_0004_crossing2_00.json
โ”‚   โ”œโ”€โ”€ ๐Ÿ“„20241126_0008_crossing1_00.json
โ”‚   โ””   ...
โ”œโ”€โ”€ ๐Ÿ“‚digital_twin # carla digital twin folder
โ”œโ”€โ”€ ๐Ÿ“„av_vehicle_data.json # static details like track width, axle length for connected vehicles
โ”œโ”€โ”€ ๐Ÿ“„crossings_lanelet2map.osm # HD Lanelet map of the crossings
โ””โ”€โ”€ ๐Ÿ“„labels_av_track_ids.json # track IDs of connected vehicles in the labels

Accessing the dataset

from urbaning import Dataset
# root folder where the dataset is downloaded and unzipped
root_folder = "datasets/UrbanIng-V2X"
# load the complete dataset
dataset = Dataset(root_folder)
# number of total sequences
print(len(dataset))

Accessing a sequence

# use indexing from the dataset
index = 10
# a Sequence instance
print(type(dataset[index]))
# or simple iterate over the dataset
for sequence in dataset:
    print(sequence.sequence_name)
    break

# you can also load one sequence manually
from urbaning.data import Sequence
# sequence to load
sequence_name = "20241126_0017_crossing1_00"
# load the sequence
sequence = Sequence(root_folder, sequence_name)

Accessing a frame

# use indexing from the sequence
index = 115
# a Frame instance
print(type(sequence[index]))
# or simple iterate over the sequence
for frame in sequence:
    # this frame timestamp
    print(frame.timestamp)
    break

For more information on how to access the dataset, check out the tutorial.ipynb file.

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

urbaning-1.0.0.tar.gz (41.0 kB view details)

Uploaded Source

Built Distribution

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

urbaning-1.0.0-py3-none-any.whl (63.6 kB view details)

Uploaded Python 3

File details

Details for the file urbaning-1.0.0.tar.gz.

File metadata

  • Download URL: urbaning-1.0.0.tar.gz
  • Upload date:
  • Size: 41.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.10.0

File hashes

Hashes for urbaning-1.0.0.tar.gz
Algorithm Hash digest
SHA256 dfa3cf55273858c337a5cb9fe2db3755e1e4ffa09aa71a9be8594ca456ee595a
MD5 73803e96c05c2185919aacbd0f0eda66
BLAKE2b-256 9c5959f1a893f797cd16d7625a88b281e54c53040c1d40b04c4ca5b5ae328dbb

See more details on using hashes here.

File details

Details for the file urbaning-1.0.0-py3-none-any.whl.

File metadata

  • Download URL: urbaning-1.0.0-py3-none-any.whl
  • Upload date:
  • Size: 63.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.10.0

File hashes

Hashes for urbaning-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 c6d850500c277878573af769734938e29bc4365f7c1e8fa4b3cbe317818de407
MD5 ea1050cf0f874c51bc2f3d00b402e037
BLAKE2b-256 956328e02a0c860d1d4231f5142e88d5479f21885c94aac21527fd9fff77d906

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