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.
Metadata
Release files for urbaning 1.0.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| urbaning-1.0.1.tar.gz | 41.0 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| urbaning-1.0.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 104.7 kB
Release files / urbaning-1.0.1.tar.gz
| Download URL | urbaning-1.0.1.tar.gz |
|---|---|
| Size | 41.0 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
66ce19f23b17a43724972c1799ef77f9bc8db31fe43e829364a74bcd3d879fb1
|
|
BLAKE2b-256 checksum How to use checksums |
26e4ac8c6fd288b5f53d379fb8da8d09c8ffbf669dd3bf2f31c8cf741d411e28
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.10.0
|
Release files / urbaning-1.0.1-py3-none-any.whl
| Download URL | urbaning-1.0.1-py3-none-any.whl |
|---|---|
| Size | 63.6 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
59d9462608289f5a178bc1a27bedba056e7a1a348d0f3a52139850084d645c87
|
|
BLAKE2b-256 checksum How to use checksums |
a1b5232a1ca275183988d6bdf1f33f30f92551eb632deede04020e13ef8356a4
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.10.0
|