Non-rigid Point Cloud Registration with Neural Deformation Pyramid [Paper]
Hierarchical non-rigid registration of multiple scans
Scale variant non-rigid registration with Sim(3) warp field
The code tested on python=3.8.10, pytorch=1.9.0 with the following packages:
- pytorch3d, open3d, opencv-python, tqdm, mayavi, easydict
- Download the train/val/4DMatch-F/4DLoMatch-F split, (google drive, 14G). We filter point cloud pairs with near-rigid motions from the original 4DMatch benchmark. 4DMatch-F & 4DLoMatch-F denote the filtered benchmark.
- Extract it and create a soft link under this repository.
ln -s /path/to/4Dmatch ./data
- Run
python eval_nolearned.py --config config/NDP.yaml
To visualize the registration result, add --visualize
.
- First download pre-trained point cloud matching and outlier rejection models (google drive, 271M). Move the models to
correspondence/pretrained
- Install KPConv
cd correspondence/cpp_wrappers; sh compile_wrappers.sh; cd ../..
- Finally run
python eval_supervised.py --config config/LNDP.yaml
To visualize the registration result, add --visualize
.
python shape_transfer.py -s sim3_demo/AlienSoldier.ply -t sim3_demo/Ortiz.ply
Lepard: rabbityl/lepard
DeformingThings4D: rabbityl/DeformingThings4D
If you use our code please cite:
@article{li2022DeformationPyramid,
title={Non-rigid Point Cloud Registration with Neural Deformation Pyramid.},
author={Yang Li and Tatsuya Harada},
journal={arXiv preprint arXiv:2205.12796},
year={2022}
}