CanonicalPAE
CanonicalPAE copied to clipboard
[NeurIPS'21] Learning 3D Dense Correspondence via Canonical Point Autoencoder
CanonicalPAE
project page | paper
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}
}