Home

Awesome

<h2 align="center"><strong>Let It Flow: Simultaneous Optimization of 3D Flow and Object Clustering</strong></h3> <p align="center"> <img src="docs/comparison_v3.png" align="center" width="95%"> </p> <p align="center"> <a href="https://github.com/vacany">Patrik Vacek</a><sup>1</sup>&nbsp;&nbsp;&nbsp; <a href="https://scholar.google.com/citations?user=XY1PVwYAAAAJ">David Hurych</a><sup>2</sup>&nbsp;&nbsp;&nbsp; <a href="https://sites.google.com/view/karelzimermann/">Karel Zimmermann</a><sup>1</sup>&nbsp;&nbsp;&nbsp; <!-- <a href="https://scholar.google.com/citations?user=Uq2DuzkAAAAJ">Runnan Chen</a><sup>4</sup>&nbsp;&nbsp;&nbsp; --> <a href="https://cmp.felk.cvut.cz/~svoboda/">Tomas Svoboda</a><sup>1</sup><br> <!-- <a href="https://scholar.google.com/citations?user=lSDISOcAAAAJ">Liang Pan</a><sup>5</sup>&nbsp;&nbsp;&nbsp; --> <!-- <a href="http://chenkai.site">Kai Chen</a><sup>1</sup>&nbsp;&nbsp;&nbsp; --> <!-- <a href="https://liuziwei7.github.io">Ziwei Liu</a><sup>5</sup> --> <br> <sup>1</sup>CTU Deparment of Cybernetics&nbsp;&nbsp;&nbsp; <sup>2</sup>Valeo AI&nbsp;&nbsp;&nbsp; <!-- <sup>3</sup>The Hong Kong University of Science and Technology&nbsp;&nbsp;&nbsp; --> <!-- <sup>4</sup>The University of Hong Kong&nbsp;&nbsp;&nbsp; --> <!-- <sup>5</sup>S-Lab, Nanyang Technological University --> </p> </p> <p align="center"> <a href="https://arxiv.org/abs/2404.08363" target='_blank'> <img src="https://img.shields.io/badge/arXiv-2404.08363-b31b1b.svg"> <!-- </a> --> <!-- <a href="https://ldkong.com/Seal" target='_blank'> --> <!-- <img src="https://img.shields.io/badge/Project-%F0%9F%94%97-violet"> --> <!-- </a> --> <!-- [![arXiv](https://img.shields.io/badge/arXiv-<INDEX>-<COLOR>.svg)](https://arxiv.org/abs/<INDEX>) --> <!-- <a href="" target='_blank'> --> <!-- <img src="https://img.shields.io/badge/%E4%B8%AD%E8%AF%91%E7%89%88-%F0%9F%90%BC-violet"> --> <!-- </a> --> </p>
:movie_camera: 1-Minute Summary
<img width="80%" src="docs/intro_page.png">
>>>>>>> Click Here <<<<<<<

:sparkles: Performance

Mechanism

<p align="center"> <img src="docs/contribution_v10.png" align="center" width="95%"> </p>

Installation

Tested with Python==3.10, PyTorch3d, PyTorch Scatter See install.sh for installation of libraries or run it directly:

conda create -n let-it-flow python=3.10
conda activate let-it-flow

conda install pytorch=1.13.0 torchvision pytorch-cuda=11.6 -c pytorch -c nvidia
conda install -c fvcore -c iopath -c conda-forge fvcore iopath

git clone https://github.com/facebookresearch/pytorch3d.git
cd pytorch3d && python3 -m pip install -e .
cd ..

conda install pytorch-scatter -c pyg
<!-- bash install.sh -->

Dataset

Download and unpack the Argoverse2 preprocessed sequence samples into the dataset/argoverse2/ path.

tar -xvf argoverse2.tgz datasets/argoverse2/

Set up the config.yaml to include path to the argoverse2 folder and path to store the results.

Inference

To infer the model on Argoverse2 dataset sequences, please run the following:

python run_optimization.py

The script will store the outputs (and inputs with Ground truth) into the store_path for metric calculation.

Generation of EPE metrics

After the model inference (takes about 2 hours on GPU), generate metrics of Let It Flow (lif) by running:

python compute_metrics.py lif

Result will print the End-Point-Error per class annotated in Argoverse2 and also overall ThreewayEPE.

Citation

If you find our work helpful, please consider citing our paper:

@ARTICLE{Vacek-IEEE-TIV2024,
  author={Vacek, Patrik and Hurych, David and Zimmermann, Karel and Svoboda, Tomáš},
  journal={IEEE Transactions on Intelligent Vehicles}, 
  title={Let-It-Flow: Simultaneous Optimization of 3D Flow and Object Clustering}, 
  year={2024},
  volume={},
  number={},
  pages={1-10},
  keywords={Springs;Rigidity;Point cloud compression;Estimation;Three-dimensional displays;Intelligent vehicles;Europe;Autonomous Driving;LiDAR;3D Scene Flow;Object Clustering},
  doi={10.1109/TIV.2024.3443316}}

License

<a rel="license" href="http://creativecommons.org/licenses/by-nc-sa/4.0/"><img alt="Creative Commons License" style="border-width:0" src="https://i.creativecommons.org/l/by-nc-sa/4.0/80x15.png" /></a> <br /> This work is under the <a rel="license" href="http://creativecommons.org/licenses/by-nc-sa/4.0/">Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License</a>.

Acknowledgement

This work is developed based on the open-source repositories and baselines: KISS-ICP, NSFP, MBNSFP, Chodosh

:heart: We thank to the contributors from the above open-source repositories.