Skip to content

Latest commit

 

History

History
69 lines (54 loc) · 2.41 KB

README.md

File metadata and controls

69 lines (54 loc) · 2.41 KB

CanonicalPAE

This repository is the implementation of "Learning 3D Dense Correspondence via Canonical Point Autoencoder".

Requirements

conda create -n CPAE python=3.6
conda activate CPAE
pip install -r requirements.txt

To install PyMesh

https://pymesh.readthedocs.io/en/latest/installation.html#building-pymesh

By default, the Chamfer Loss module should work properly. If you failed to run the chamfer loss module, please see the following link and follow their instruction.

https://github.com/ThibaultGROUEIX/ChamferDistancePytorch

To install EMD Loss, please follow the instruction in here.

cd external/emd
python setup.py install

The installed build folder should be under external/emd.

Dataset

Please download the KeypointNet dataset from here, and modify the path in the config file.

Usage

Train

python train.py configs/keypoint/default.yaml -c airplane

You may specify the category using the --categories argument.

Test

python eval.py configs/keypoint/default.yaml -c airplane --load PATH_TO_WEIGHT

The result file which contains error distance between keypoints will be saved in your ['training']['out_dir'] directory. You can specify the folder using the --tag argument.

Pretrain

Pretrained models together with the baselines' result files can be downloaded here.

Evaluation

To plot the curve as below, please see the notebook file in out/plot_curve.ipynb.

Reference

Please cite our paper (link) in your publications if this repo helps your research:

@inproceedings{cheng2021learning,
    title     = {Learning 3D Dense Correspondence via Canonical Point Autoencoder},
    author    = {Cheng, An-Chieh and Li, Xueting and Sun, Min and Yang, Ming-Hsuan and Liu, Sifei},
    booktitle = {Advances in Neural Information Processing Systems},
    year      = {2021}
}