CoDTS: Enhancing Sparsely Supervised Collaborative Perception with a Dual Teacher-Student Framework (Paper)
-
Dataset Support
-
Collaborative perception methods (Used in paper)
-
Visualization support
- BEV visualization
- 3D visualization
This code is based on CoAlign, so I recommend you visit CoAlign Installation Guide to learn how to install this repo.
Or you can refer to OpenCOOD data introduction and OpenCOOD installation guide to prepare data and install CoAlign. The installation is totally the same as OpenCOOD.
1. Download datasets
-
DAIR-V2X Download
Note: We use the Complemented Annotations for DAIR-V2X-C from Website
-
V2V4Real Download
-
OPV2V Download
-
V2X-Sim 2.0 Download
2. Download sparse labels
The sparse label in this paper is in Google Drive, you can also produce sparse labels with codes in the "data_preparation" folder.
3. Put the folders of sparse labels for different datasets in the following:
CoDTS
├── data_preparation # scripts to generate sparse labels
├── dataset # root of your dataset
│ ├── my_dair_v2x
│ ├── v2x_c
│ ├── cooperative-vehicle-infrastructure
│ ├── cooperative/label_world_sparse
│ ├── infrastructure-side/label/virtuallidar_sparse
│ ├── vehicle-side/label/lidar_sparse
│ ├── v2vreal
│ ├── train
│ ├── train_sparse # sparse label
│ ├── validate
│ ├── OPV2V
│ ├── test
│ ├── train
│ ├── train_sparse # sparse label
│ ├── validate
│ ├── V2X-Sim-2.0 # original v2xsim dataset
│ ├── v2xsim2_info # the label index file for v2xsim
│ ├── v2xsim_infos_test.pkl
│ ├── v2xsim_infos_train_plus.pkl # sparse label
│ ├── v2xsim_infos_train.pkl
│ ├── v2xsim_infos_val.pkl
├── opencood # the core codebase
Run the bash command in the terminal and modify the "DATASET" and "METHOD" parameters in the bash file to switch the dataset and collaborative detector.
Inference detectors
bash 0_test.bash
Train detectors with full/sparse labels only
bash 1_train_from_scratch.bash
Train detectors with sparse and pseudo labels
SSC3OD: Sparsely Supervised Collaborative 3D Object Detection from LiDAR Point Clouds (SMC 2023)
bash 2_ssl_pretrain.bash
bash 3_train_static_teacher.bash
bash 4_train_SSC3OD.bash
bash 5_train_HINTED.bash
bash 6_train_CoDTS.bash
Note: Both HINTED and CoDTS are based on static teachers in SSC3OD.
CoDTS generates pseudo labels based on the static teacher’s predictions, and the student is initialized with pre-trained encoder.
HINTED initially loads the static teacher’s parameters to the dynamic teacher and student before training.
The pre-trained encoder "DATASET_point_pillar_lidar_single_mae_0.7" and static teacher "DATASET_point_pillar_lidar_METHOD_ws_single_mae_0.7" in SSC3OD are in Google Driver.
@article{han2025codts,
title={CoDTS: Enhancing Sparsely Supervised Collaborative Perception with a Dual Teacher-Student Framework},
author={Yushan Han and Hui Zhang and Honglei Zhang and Jing Wang and Yidong Li},
journal={arXiv preprint arXiv:2412.08344},
year={2025}
}
This project is impossible without the code of OpenCOOD and CoAlign!