Hyper-V2X: Hypernetworks for Estimating Epistemic and Aleatoric Uncertainty in Cooperative Bird's-Eye-View Semantic Segmentation
June 9, 2026 · View on GitHub
Hyper-V2X: Hypernetworks for Estimating Epistemic and Aleatoric Uncertainty in Cooperative Bird's-Eye-View Semantic Segmentation
IEEE IV 2026 Oral
Abhishek Dinkar Jagtap · Sanath Tiptur Sadashivaiah · Andreas Festag ·
Hyper-V2X conditions a Bayesian hypernetwork on fused multi-agent BEV features to generate stochastic decoder weights, enabling calibrated epistemic and aleatoric uncertainty estimation in cooperative Bird's-Eye-View semantic segmentation.
News 🚀
- Accepted to IEEE IV 2026 as Oral Presentation
- Release weights and evaluation code
- Release main training code
- Release visualization scripts to merge uncertainty maps
Pipeline Overview

Installation
Clone this repository
git clone https://github.com/abhishekjagtap1/Hyper-V2X
Set up the conda environment
cd Hyper-V2X/opv2v
# Setup conda environment
conda create -y --name hyperv2x python= 3.8
conda activate hyperv2x
pip install torch==2.4.0 torchvision==0.19.0 torchaudio==2.4.0 --index-url https://download.pytorch.org/whl/cu118
# Install dependencies
python opencood/utils/setup.py build_ext --inplace
python setup.py develop
pip install -r requirements.txt
Acquiring Datasets
Our Hyper-V2X uses the same training datasets as CoBeVT. Below we quote OpenCOOD's detailed instructions on getting datasets.
- Download OPV2V origin data and structure it as required. See OpenCOOD data tutorial for more detailed insructions.
- After organize the data folders, download the
additional.zipfrom this url. This file contains BEV semantic segmentation labels that origin OPV2V data does not include.- The
additionalfolder has the same structure of original OPV2V dataset. So unzipadditional.zipand merge them with original opv2v data.- Remove scenario
opv2v/train/2021_09_09_13_20_58, as this scenario has some bug for camera data.
Visualization
To quickly visualize a single sample of the data:
cd CoBEVT/opv2v
python opencood/visualization/visialize_camera.py [--scene ${SCENE_NUMBER} --sample ${SAMPLE_NUMBER}]
scene: The ith scene in the data. Default: 4sample: The jth sample in the ith scene. Default: 10
Inference
To run the pre-trained model with different compression rates, first download the hyperv2x pretrained weights from Hugging Face. Then place the downloaded files under opv2v/logs/.
Please run the following command for stochaistic BEV map segmentation and uncertainty estimation
python opencood/tools/inference_all_uncertainity_nll.py --model_dir opencood/logs/hyperv2x/compression_64 --save_vis
Arguments Explanation:
save_vis: Bool to save Predictions, Epistemic and Aleatoric uncertainty maps.model_dir: the path of the checkpoints. we provide checkpoints for multiplecompression_ratesthis url with their correspondingconfig.yamlfile.
To merge the results from Epistemic and Aleatoric uncertainty maps, dynamic segmentation and GT staic maps please run the following command (please run the below two commands)
TODO:
Note: When you want to run on test set, make sure change validation_dir in the yaml file to the testing folder.
OpenCOOD General Training Commands
OpenCOOD uses yaml file to configure all the parameters for training. To train your own model from scratch or a continued checkpoint on a single gpu, run the following commonds:
python opencood/tools/train_camera.py --hypes_yaml ${CONFIG_FILE} [--model_dir ${CHECKPOINT_FOLDER}]
Arguments Explanation:
hypes_yaml: the path of the training configuration file, e.g.opencood/hypes_yaml/opcamera/cobevt.yaml.model_dir(optional) : the path of the checkpoints. This is used to fine-tune the trained models. When themodel_diris given, the trainer will discard thehypes_yamland load theconfig.yamlin the checkpoint folder.
To train on multiple gpus, run the following command:
CUDA_VISIBLE_DEVICES=0,1,2,3 python -m torch.distributed.launch --nproc_per_node=4 --use_env opencood/tools/train_camera.py --hypes_yaml ${CONFIG_FILE} [--model_dir ${CHECKPOINT_FOLDER}
Hyper-V2X Training Pipeline
Stage 1: Train Single-Vehicle Baseline (SinBeVT)
Train the single-vehicle model for 90 epochs:
python opencood/tools/train_camera.py --hypes_yaml opencood/hypes_yaml/opcamera/fax.yaml
This produces the SinBeVT pretrained backbone, which is used as initialization for Hyper-V2X.
Stage 2: Prepare Hyper-V2X Initialization
After training SinBeVT:
mkdir -p logs/HyperV2X
Copy the SinBeVT checkpoint into the folder:
cp ${SINBEVT_CHECKPOINT} logs/HyperV2X/net_epoch_1.pth
cp ${CONFIG_FILE} logs/HyperV2X/corbevt.yaml
Stage 3: Train Hyper-V2X
Start Hyper-V2X training from pretrained initialization:
python opencood/tools/train_camera.py \
--hypes_yaml ${CONFIG_FILE} \
--model_dir logs/HyperV2X
Stage 4: Fine-Tuning with Compression Rates
Fine-tune Hyper-V2X under different communication compression rates: we provide a set of hypes_yaml files for various compression rates at opv2v/opencood/hypes_yaml/compression_rates
python opencood/tools/train_camera.py \
--hypes_yaml opv2v/opencood/hypes_yaml/compression_rates/compression_64.yaml \
--model_dir logs/HyperV2X
Uncertainty Estimation under Communication Constraints

As the compression rate (CPR) increases from 0 to 64, we observe progressive degradation in segmentation performance. Specific objects that are accurately detected at compression rate 0 gradually deteriorate as communication bandwidth is reduced, until they are no longer detected at compression rate 64. Critically, our uncertainty maps effectively capture this degradation and exhibit progressively higher epistemic and aleatoric uncertainty as compression increases.
Acknowledgement
Some source code of ours is borrowed from CoBevt and Torch Uncertainty and HyperDM. We sincerely appreciate the excellent works of these authors.
BibTeX
If you find this repository useful, please consider giving a star ⭐ and citation 🦖:
@inproceedings{jagtap2025hyperv2x,
author = {Jagtap, Abhishek Dinkar and Tiptur Sadashivaiah, Sanath and Festag, Andreas},
title = {Hyper-V2X: Hypernetworks for Estimating Epistemic and Aleatoric Uncertainty
in Cooperative Bird's-Eye-View Semantic Segmentation},
booktitle = {IEEE Intelligent Vehicles Symposium (IV)},
year = {2026},
note = {Oral presentation},
url = {https://arxiv.org/abs/2605.21309v1}
}
TODO: