CoPLOT: Beyond BEV—Optimizing Point-Level Tokens for Collaborative Perception
September 3, 2025 · View on GitHub
Official PyTorch implementation of CoPLOT Paper: Beyond BEV: Optimizing Point-Level Tokens for Collaborative Perception Yang Li, Quan Yuan, Guiyang Luo, Xiaoyuan Fu, Rui Pan, Yujia Yang, Congzhang Shao, Yuewen Liu, Jinglin Li arXiv: https://arxiv.org/abs/2508.19638
CoPLOT moves beyond BEV features by using point-level optimized tokens as the intermediate representation for V2X collaborative perception. A point-native pipeline—semantic-aware token reordering, a frequency-enhanced state-space model (SSM), and neighbor-to-ego alignment—improves long-range modeling and alignment while reducing both computation and communication.

Data Preparation
- OPV2V: follow the instructions in OpenCOOD.
- V2V4Real: download from the project page (OPV2V format).
- DAIR-V2X-C: download from the dataset site.
Create a root folder dataset/ with the following structure (names can be symbolic links):
dataset
├── OPV2V
│ ├── additional
│ ├── test
│ ├── train
│ └── validate
├── V2V4Real
│ ├── test
│ ├── train
│ └── validate
└── ...
Installation
For more details on data/environment setup you may also refer to the excellent HEAL repository. Below is the updated environment setup guide.
# Python & CUDA
conda create -n coplot python=3.11
conda activate coplot
# PyTorch 2.3.1 (CUDA 12.1)
conda install pytorch==2.3.1 torchvision==0.18.1 torchaudio==2.3.1 pytorch-cuda=12.1 -c pytorch -c nvidia
# Python deps
pip install -r requirements.txt
# Build extensions
python setup.py develop
pip install spconv-cu121
python opencood/utils/setup.py build_ext --inplace
pip install git+https://github.com/klintan/pypcd.git
python opencood/pcdet_utils/setup.py build_ext --inplace
# PyG scatter (match your torch/cuda version)
pip install torch-scatter -f https://data.pyg.org/whl/torch-2.3.1+cu121.html
If you see a NumPy version error
# pip uninstall numpy
# pip install numpy==1.26.4
Install causal-conv1d and mamba-ssm (prebuilt wheels)
pip install https://github.com/Dao-AILab/causal-conv1d/releases/download/v1.5.0.post7/causal_conv1d-1.5.0.post7+cu12torch2.3cxx11abiFALSE-cp311-cp311-linux_x86_64.whl
pip install https://github.com/state-spaces/mamba/releases/download/v2.2.3.post2/mamba_ssm-2.2.3.post2+cu12torch2.3cxx11abiFALSE-cp311-cp311-linux_x86_64.whl
Make sure the wheel variants match your OS / CUDA / Torch versions.
Training (examples)
Option 1: Train all modules e.g.
python train_pt.py \
--hypes_yaml opencood/hypes_yaml/opv2v/CoPLOT_fg_all.yaml
Option 2: Stage-wise training of different modules (pretrain → finetune → robust alignment)
1) Pretrain with a large Top-K (retain more tokens) to build strong semantics
python train_pt.py \
--hypes_yaml opencood/hypes_yaml/opv2v/CoPLOT.yaml
2) Finetune with a smaller Top-K (focus on foreground tokens)
python train_pt.py \
--hypes_yaml opencood/hypes_yaml/opv2v/CoPLOT_fg.yaml \
--load_pretrained <path-to-previous-checkpoint>
3) Train neighbor-to-ego alignment under localization noise
python train_w_noise.py \
--hypes_yaml opencood/hypes_yaml/opv2v/CoPLOT_noise.yaml \
--load_pretrained <path-to-previous-checkpoint>
Checkpoints
We are preparing model checkpoints for public release. Stay tuned.
Contact
Please open a GitHub issue for questions or support.
Acknowledgements
This project builds on the excellent collaborative perception frameworks OpenCOOD and STAMP. We thank their authors for their contributions to the community.
Citation
If you find CoPLOT helpful, please cite:
@article{li2025coplot,
title = {Beyond BEV: Optimizing Point-Level Tokens for Collaborative Perception},
author = {Li, Yang and Yuan, Quan and Luo, Guiyang and Fu, Xiaoyuan and Pan, Rui and Yang, Yujia and Shao, Congzhang and Liu, Yuewen and Li, Jinglin},
journal = {arXiv preprint arXiv:2508.19638},
year = {2025}
}