Source Code for ICML 2026 paper Paper Link:
Environment: Clone the repo and build the environment.
Recommend to use conda to manage the environment. check detail installation for more information.
conda env create -f environment.yamlCUDA package (need to install nvcc compiler):
# CUDA already install in python environment.
cd assets/cuda/chamfer3D && python ./setup.py install && cd ../../..A. Download The View-of-Delft dataset (VoD)
The VoD dataset is organized as follows:
PATH_TO_VOD_DATASET
├── image_2
│ │── 00001.jpg
| ...
├── pose
│ │── 00001.json
| ...
| ...
├── label_2_withid
│ │── 00001.txt
| ...
|
├── lidar
│ │── training
│ ├── velodyne
│ ├── 00001.bin
│ ...
│ │── calib
│ ├──00001.txt
│ ...
├── radar
│ │── training
│ ├── velodyne
│ ├── 00001.bin
│ ...
│ │── calib
│ ├──00001.txt
│ ...
In each script that needs to be run, the parts where the PATH or MODE needs to be modified for Reproduction have been highlighted with "TO DO".
# You need to change the paths in gen_ra_gt_flow.py
# change the val/train mode to generate the Training set and Validation set seperately.
cd ./dataprocess
python gen_ra_gt_flow.py.pywe adopt the deepsort 2D tracking algorithm from YOLOv11-DeepSort.
And we use the official pretrained Yolov11L model weight: Yolov11-L
# You need to change the **PATH** or **MODE** in ./dataprocess/YOLOv11-DeepSort/my_yolov11.py
# change the val/train mode to generate 2D Tracking boxes for the Training set and Validation set seperately.
cd ./dataprocess/YOLOv11-DeepSort
python my_yolov11.pyWe use the pretrained SAM model to generate instance-level masks for each 2D tracking box from previous step. SAM with ViT-H
Then per-point instance id is generated for radar point clouds base on 2D-3D projection.
# You need to change the **PATH** or **MODE** in ./dataprocess/yolo11_deepsort_segany.py
# change the val/train mode to generate per-point instance id for the Training set and Validation set seperately.
cd ./dataprocess
python yolo11_deepsort_segany.py# You need to change the **PATH** in ./conf/config.yaml
# Also check the GPU settings
cd ..
python train.pyPlease check /checkpoint file for our trained model.
# You need to change the **PATH** in ./conf/eval.yaml
cd ..
python eval.py❤️: OpenSceneFlow ❤️: CMFlow ❤️: PV-RAFT ❤️: YOLOv11-DeepSort ❤️: segment-anything
