BlindMap / README.md
Davinsteinsudas's picture
Add LiDAR results to model card
c669cff verified
|
Raw
History Blame Contribute Delete
9.63 kB
---
license: other
library_name: pytorch
tags:
- blindmap
- collaborative-perception
- cooperative-perception
- autonomous-driving
- v2x
- opv2v
- dair-v2x
- v2xset
- lidar
- camera
- 3d-object-detection
- pytorch
- opencood
model-index:
- name: BlindMap Checkpoints
results:
- task:
type: object-detection
name: Cooperative 3D Object Detection
dataset:
type: OPV2V
name: OPV2V
metrics:
- type: AP@0.3
name: OPV2V Camera AP@0.3
value: 70.03
- type: AP@0.7
name: OPV2V LiDAR AP@0.7
value: 92.03
- type: AP@0.7
name: OPV2V Heterogeneous AP@0.7
value: 79.43
- task:
type: object-detection
name: Cooperative 3D Object Detection
dataset:
type: DAIR-V2X-C
name: DAIR-V2X-C
metrics:
- type: AP@0.3
name: DAIR Camera AP@0.3
value: 33.21
- type: AP@0.7
name: DAIR LiDAR AP@0.7
value: 63.97
- type: AP@0.7
name: DAIR Heterogeneous AP@0.7
value: 40.49
- task:
type: object-detection
name: Cooperative 3D Object Detection
dataset:
type: V2XSet
name: V2XSet
metrics:
- type: AP@0.3
name: V2XSet Camera AP@0.3
value: 49.65
- type: AP@0.7
name: V2XSet LiDAR AP@0.7
value: 78.71
- type: AP@0.7
name: V2XSet Heterogeneous AP@0.7
value: 68.55
---
# BlindMap Checkpoints
This repository contains checkpoints for **BlindMap**, a
communication-efficient collaborative perception method for deadline-constrained
V2X perception.
Paper:
> **Deadline-Aware Collaborative Perception via Receiver-Conditioned Utility
> Modeling**
> Zhenhan Zhu, Yanchao Zhao, Yihang Jiang, Hao Han, and Jie Wu.
Code release:
- Repository: [AlexZhu2000/BlindMap](https://github.com/AlexZhu2000/BlindMap)
- Repository: [NUAA-SmartSensing/BlindMap](https://github.com/NUAA-SmartSensing/BlindMap.git)
- Branch: `TMC`
- Commit used for this release: `075b2c7120277a619f41bc49a58e3905ffad7aa7`
## Model Layout
```text
.
├── README.md
├── LICENSE
├── CHECKPOINT_MANIFEST.yaml
├── SHA256SUMS
└── models
├── dair
│ ├── camera
│ │ ├── config.yaml
│ │ └── net_epoch_bestval_at17.pth
│ ├── lidar
│ │ ├── blindmap_quality_result.txt
│ │ ├── config.yaml
│ │ └── net_epoch_bestval_at21.pth
│ └── heterogeneous
│ ├── config.yaml
│ └── net_epoch_bestval_at35.pth
├── opv2v
│ ├── camera
│ │ ├── config.yaml
│ │ └── net_epoch_bestval_at17.pth
│ └── lidar_heterogeneous
│ ├── blindmap_quality_result.txt
│ ├── config.yaml
│ └── net_epoch_bestval_at37.pth
└── v2xset
├── camera
│ ├── config.yaml
│ └── net_epoch_bestval_at19.pth
├── lidar
│ ├── blindmap_quality_result.txt
│ ├── config.yaml
│ └── net_epoch_bestval_at19.pth
└── heterogeneous
├── config.yaml
└── net_epoch_bestval_at23.pth
```
The DAIR-V2X-C and V2XSet releases use separate checkpoints for camera-only,
LiDAR-only, and heterogeneous settings.
OPV2V is organized differently: the LiDAR-only profile is evaluated from the
LiDAR branch inside the heterogeneous m1m2 checkpoint, following the HEAL-style
heterogeneous setup. Therefore OPV2V provides `camera` and
`lidar_heterogeneous` directories rather than a separate `lidar` directory.
## Checkpoints
| Profile | Model directory | Checkpoint | SHA-256 |
|---|---|---|---|
| DAIR camera-only | `models/dair/camera` | `net_epoch_bestval_at17.pth` | `b95722f3b58a13a979315a84133da971415cdc9b6a94bb555b013bd834576d81` |
| DAIR LiDAR-only | `models/dair/lidar` | `net_epoch_bestval_at21.pth` | `99302097362f02dfb73f251a4bdf7d0c4e2d7ea9ebbc51422eb322d3f27e4429` |
| DAIR heterogeneous | `models/dair/heterogeneous` | `net_epoch_bestval_at35.pth` | `10511d4a9419f42051f01be2b9e6313b6718b2843f74795b5d9ceac7b200f7f5` |
| OPV2V camera-only | `models/opv2v/camera` | `net_epoch_bestval_at17.pth` | `33ddf54fe56d82d2719876a362b4838a4f21a14a068e9acd9c16066c41800fb3` |
| OPV2V LiDAR-only profile | `models/opv2v/lidar_heterogeneous` | `net_epoch_bestval_at37.pth` | `9e2570b64335c99241dc47fc3aa6cc9f97180a78b3ff5b54330cbf5a2072b7f3` |
| OPV2V heterogeneous | `models/opv2v/lidar_heterogeneous` | `net_epoch_bestval_at37.pth` | `9e2570b64335c99241dc47fc3aa6cc9f97180a78b3ff5b54330cbf5a2072b7f3` |
| V2XSet camera-only | `models/v2xset/camera` | `net_epoch_bestval_at19.pth` | `0dccab286798a380a78257ce7559e7e7978295a67e42d386e558f9f397e4edca` |
| V2XSet LiDAR-only | `models/v2xset/lidar` | `net_epoch_bestval_at19.pth` | `0a0553ae5e457071f39eb13dedf5f9627ad7d5da6a73898ecf0b9dbb6adcc230` |
| V2XSet heterogeneous | `models/v2xset/heterogeneous` | `net_epoch_bestval_at23.pth` | `60a73178b7178a18ea59e7beb8f0b4e7c1d115df3d7a97b9a4ebc511dc6d7bb9` |
The table lists SHA-256 checksums for checkpoint weights. The DAIR LiDAR and
V2XSet LiDAR values are taken from the corresponding Hugging Face LFS metadata.
## Installation
Install the BlindMap codebase first. The checkpoints are designed for the
BlindMap/OpenCOOD-style `--model_dir` loader, where each checkpoint directory
contains both `config.yaml` and `net_epoch_bestval_at*.pth`.
```bash
git clone --branch TMC https://github.com/AlexZhu2000/BlindMap.git
cd BlindMap
conda create -n blindmap python=3.8
conda activate blindmap
pip install -r requirements.txt
python setup.py develop
python opencood/utils/setup.py build_ext --inplace
```
Use the same CUDA, PyTorch, and `spconv` versions described in the BlindMap
repository. The checkpoints were produced in the original BlindMap/OpenCOOD
environment and may not be compatible with arbitrary `spconv` versions.
## Data
The datasets are not included. Download OPV2V, DAIR-V2X-C, and V2XSet from
their official providers and update the dataset paths in the selected
`config.yaml` before inference.
Typical keys to update:
```yaml
root_dir: /path/to/dataset/train_or_train_json
validate_dir: /path/to/dataset/validate_or_val_json
test_dir: /path/to/dataset/test_or_val_json
data_dir: /path/to/dataset/root
```
Not every config uses all of these keys.
## Inference
### Camera-Only
```bash
CUDA_VISIBLE_DEVICES=0 python opencood/tools/inference.py \
--model_dir /path/to/BlindMap/models/opv2v/camera \
--fusion_method intermediate \
--modal 1 \
--comm_volume_MB 1 \
--range 102.4,102.4
```
Use `models/dair/camera` with `--range 102.4,51.2` for DAIR camera-only, and
use `models/v2xset/camera` with `--range 102.4,102.4` for V2XSet camera-only.
### LiDAR-Only
For OPV2V, use the LiDAR branch of the heterogeneous checkpoint:
```bash
CUDA_VISIBLE_DEVICES=0 python opencood/tools/inference.py \
--model_dir /path/to/BlindMap/models/opv2v/lidar_heterogeneous \
--fusion_method intermediate \
--modal 0 \
--comm_volume_MB 1 \
--range 102.4,102.4
```
For DAIR-V2X-C and V2XSet, use their separate `lidar` checkpoint directories: `models/dair/lidar` with `--range 102.4,51.2`, and `models/v2xset/lidar` with `--range 102.4,102.4`.
### Heterogeneous
```bash
CUDA_VISIBLE_DEVICES=0 python opencood/tools/inference.py \
--model_dir /path/to/BlindMap/models/opv2v/lidar_heterogeneous \
--fusion_method intermediate \
--modal 4 \
--comm_volume_MB 1 \
--range 102.4,102.4
```
Use `models/dair/heterogeneous` with `--range 102.4,51.2` for DAIR
heterogeneous, and use `models/v2xset/heterogeneous` with
`--range 102.4,102.4` for V2XSet heterogeneous.
## Intended Use
These checkpoints are intended for academic research on collaborative
perception, communication-efficient feature sharing, and reproducibility studies
on OPV2V, DAIR-V2X-C, and V2XSet.
They are not intended for deployment in autonomous vehicles or safety-critical
systems.
## Limitations
- Results depend on the exact BlindMap code revision, dataset split, sensing
range, communication-budget accounting, and environment.
- OPV2V LiDAR-only results use the LiDAR branch of the OPV2V m1m2 checkpoint;
DAIR-V2X-C and V2XSet LiDAR-only results use separate LiDAR checkpoints.
- OPV2V and V2XSet are simulated datasets. DAIR-V2X-C is real-world but still
does not cover all deployment conditions.
- The model card provides representative metadata for provenance. Users should rerun
inference and report their own reproduced metrics.
## License
The included `LICENSE` file follows the current BlindMap source license. It is
an academic research license with redistribution restrictions. If you intend to
redistribute, modify, or use these checkpoints outside academic research, obtain
the required permission from the rights holders first.
Dataset licenses apply separately.
## Citation
```bibtex
@article{zhu2026deadline,
title = {Deadline-Aware Collaborative Perception via Receiver-Conditioned Utility Modeling},
author = {Zhu, Zhenhan and Zhao, Yanchao and Jiang, Yihang and Han, Hao and Wu, Jie},
journal = {IEEE Transactions on Mobile Computing},
year = {2026},
note = {Manuscript under review}
}
```