UrbanIng-V2X: A Large-Scale Multi-Vehicle, Multi-Infrastructure Dataset Across Multiple Intersections for Cooperative Perception
April 7, 2026 Β· View on GitHub
This repository provides tools for dataset visualization, conversion, and training using OpenCOOD.
For simplicity, two separate environments are used: one for scripts and one for OpenCOOD.
π’ Announcements
Stay up to date with the latest news, updates, and important notices regarding UrbanIng-V2X:
-
2025-09-18 β Paper accepted at NeurIPS 2025 π
-
2025-10-23 β Dataset made publicly available on Harvard Dataverse π¦
-
2025-10-23 β Devkit released for dataset access and replicating cooperative perception benchmarks π§°
-
2025-10-30 β PyPI package released for easier dataset access πΏ

1οΈβ£ Accessing the dataset
Most easiest way to download, extract and access the dataset is via API
πΏ 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 can also be downloaded from here.
ποΈ Dataset structure
After the dataset is downloaded and unziped, it should look like this.
. [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 data
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.
2οΈβ£ Cooperative perception models - benchmark evaluation
To replicate the results provided in the paper.
𧬠Clone the repository
git clone https://github.com/thi-ad/UrbanIng-V2X.git
cd UrbanIng-V2X
π OpenCOOD format conversion
We use the OpenCOOD framework to evaluate our UrbanIng-V2X dataset on cooperative perception models. Please download the dataset and unzip by following the above description. To convert the dataset to OpenCOOD format:
from urbaning.converters import urbaning_to_opencood_format
urbaning_to_opencood_format(source_folder="datasets/UrbanIng-V2X", target_folder="datasets/UrbanIng-V2X-OpenCOOD-format")
π§Ύ OpenCOOD environment
Used for training and inference using the OpenCOOD framework (Python 3.9) Navigate to UrbanIng-V2X/opencood.
# Create environment
conda env create -f opencood/environment.yml
conda activate UrbanIng_v2x
# Install PyTorch
conda install pytorch==1.12.0 torchvision==0.13.0 cudatoolkit=11.3 -c pytorch -c conda-forge
# Install other dependencies
pip install -r opencood/requirements.txt
python opencood/setup.py develop
# Install spconv 2.x
pip install spconv-cu113
# Build CUDA NMS extension
python opencood/utils/setup.py build_ext --inplace
βοΈ Create dataset splits
Use these splits to match the experiment settings explained in the paper
python scripts/create_opencood_splits.py
ποΈ Training OpenCOOD
Navigate to UrbanIng-V2X/opencood.
python opencood/tools/train.py --hypes_yaml opencood/hypes_yaml/your-config.yaml --half
- Replace xxxx.yaml with your configuration file.
--half: Enables mixed precision training (optional).
π Inference OpenCOOD
Navigate to UrbanIng-V2X/opencood.
python opencood/tools/inference.py \
--model_dir ${CHECKPOINT_FOLDER} \
--fusion_method ${FUSION_STRATEGY} \
[--show_vis] [--show_sequence]
--show_vis: Enable visualization--show_sequence: Show sequential frame results
π‘ Tips
-
Keep dataset paths absolute to avoid errors.
-
Ensure CUDA is properly installed for training and NMS compilation.
-
Use separate environment for OpenCOOD to prevent dependency conflicts.
π License
-
Code: Licensed under the MIT License. See LICENSE file for details.
-
Dataset: Licensed under the Creative Commons Attribution 4.0 International CC BY-NC-ND 4.0. You must give appropriate credit; Cannot be used for commercial purposes; You may not distribute modified versions of the dataset.
π Acknowledgments
- The recording, preparation of the data, and processing represent a joint effort between CARISSMA Institute of Automated Driving and AImotion Bavaria.
- The dataset was collected within the High-Definition Testfield (constructed within the KIVI-Project funded by the Federal Ministry for Digital and Transport Germany (Bundesministerium fΓΌr Digitales und Verkehr)).
- This work was supported by the Hightech Agenda Bavaria, the SiRaMiS project, and the Bavarian Academic Forum - BayWISS, all funded by the Bavarian State Ministry of Science and the Arts (Bayrisches Staatsministerium fΓΌr Wissenschaft und Kunst).
π Citation
If you use UrbanIng-V2X in your research, please cite:
@misc{urbaningv2x2025,
title={UrbanIng-V2X: A Large-Scale Multi-Vehicle, Multi-Infrastructure Dataset Across Multiple Intersections for Cooperative Perception},
author={Karthikeyan Chandra Sekaran and Markus Geisler and Dominik RΓΆΓle and Adithya Mohan and Daniel Cremers and Wolfgang Utschick and Michael Botsch and Werner Huber and Torsten SchΓΆn},
year={2025},
eprint={2510.23478},
archivePrefix={arXiv},
primaryClass={cs.CV},
url={https://arxiv.org/abs/2510.23478},
}