Skip to content

tudelft-iv/VoteFlow

Repository files navigation

VoteFlow: Enforcing Local Rigidity in Self-Supervised Scene Flow

Yancong Lin*, Shiming Wang*, Liangliang Nan, Julian Kooij, Holger Caesar

arXiv

TODO

  • Add more details to the README
  • Update the trained weights
  • Adapt the name of our method in the codebase

Installation

conda env create -f environment.yaml
conda activate sf_tv
# CUDA already install in python environment. I also tested others version like 11.3, 11.4, 11.7, 11.8 all works
cd assets/cuda/mmcv && python ./setup.py install && cd ../../..
cd assets/cuda/chamfer3D && python ./setup.py install && cd ../../..

Data Preprocess

python dataprocess/extract_av2.py --av2_type sensor --data_mode train --argo_dir /datasets/Argoverse2 --output_dir /datasets/Argoverse2/preprocess_v2 --nproc 24
python dataprocess/extract_av2.py --av2_type sensor --data_mode val --argo_dir /datasets/Argoverse2 --output_dir /datasets/Argoverse2/preprocess_v2 --mask_dir /datasets/Argoverse2/3d_scene_flow --nproc 24
python dataprocess/extract_av2.py --av2_type sensor --data_mode test --argo_dir /datasets/Argoverse2 --output_dir /datasets/Argoverse2/preprocess_v2 --mask_dir /datasets/Argoverse2/3d_scene_flow --nproc 24

Related work (and codebases):

Unsupervised

Supervised

Train

python train.py model=sf_voxel_model lr=2e-4 epochs=20 batch_size=2 loss_fn=warpedLoss

training on the complete dataset on 4 gpus

python train.py model=sf_voxel_model lr=1e-3 epochs=20 batch_size=2 loss_fn=warpedLoss gpus=[0,1,2,3] wandb_mode=online exp_note="the_special_description_for_this_experiment"
python train.py model=deflow lr=2e-4 epochs=20 batch_size=2 loss_fn=deflowLoss

Evaluation

python eval.py checkpoint=logs/jobs/sf_voxel_model-0/09-27-09-33/checkpoints/17_sf_voxel_model.ckpt av2_mode=val

Inference and Visualization

save the inference results into the demo data path

python save.py checkpoint=logs/jobs/sf_voxel_model-0/09-27-09-33/checkpoints/17_sf_voxel_model.ckpt dataset_path=data/Argoverse2_demo/preprocess_v2/sensor/val_vis res_name=sf_voxel_model

visualize with our tool

python o3d_visualization.py index=17 res_name=sf_voxel_model  

Acknowledgements

This code is mainly based on the SeFlow code by Qingwen Zhang. Thanks for her great work and codebase.

About

[CVPR'25] VoteFlow: Enforcing Local Rigidity in Self-Supervised Scene Flow

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published