Lepard: Learning Partial point cloud matching in Rigid and Deformable scenes [Paper]

drawing

Method overview

drawing

4DMatch Benchmark

4DMatch is a benchmark for matching and registration of partial point clouds with time-varying geometry.
It is constructed using randomly selected 1761 sequences from DeformingThings4D.
Below shows point cloud pairs with different overlap ratios.

drawing

Installation

We tested the code on python 3.8.10; Pytroch version ‘1.7.1’ or ‘1.9.0+cu111’; GPU model GeForce RTX-2080 or Nvidia A100.

conda env create -f environment.yml
conda activate lepard
cd cpp_wrappers; sh compile_wrappers.sh; cd ..

Download data and pretrained model

Train and evaluation on 4DMatch

Download and extract the 4DMatch split to your custom folder. Then update the data_root in configs/train/4dmatch.yaml and configs/test/4dmatch.yaml

  • Evaluate pre-trained

python main.py configs/test/4dmatch.yaml

(To switch between 4DMatch and 4DLoMatch benchmark, modify the split configuration in configs/test/4dmatch.yaml)

  • Train from scratch

python main.py configs/train/4dmatch.yaml

Train and evaluation on 3DMatch

Download and extract the 3DMatch split to your custom folder. Then update the data_root in configs/train/3dmatch.yaml and configs/test/3dmatch.yaml

  • Evaluate pre-trained

python main.py configs/test/3dmatch.yaml

(To switch between 3DMatch and 3DLoMatch benchmark, modify the split configuration in configs/test/3dmatch.yaml)

  • Train from scratch

python main.py configs/train/3dmatch.yaml

Citation

If you use Lepard code or 4DMatch data please cite:

@article{lepard2021, 
    title={Lepard: Learning partial point cloud matching in rigid and deformable scenes.}, 
    author={Yang Li and Tatsuya Harada},
    journal={arXiv preprint arXiv:2111.12591},
    year={2021}
}

GitHub

View Github