Skip to content

Latest commit

 

History

History
66 lines (50 loc) · 2.44 KB

README.md

File metadata and controls

66 lines (50 loc) · 2.44 KB

KP-RED

Offical Pytorch Implementation of CVPR2024 KP-RED: Exploiting Semantic Keypoints for Joint 3D Shape Retrieval and Deformation

Paper

pipeline

Update

We identified an error in our baseline experiments, re-ran them, and updated the results without impacting the paper's conclusions. Please check out the updated version on Arxiv. We apologize for the oversight and appreciate your understanding.

Installation

Install using conda:

conda env create -f environment.yml 
conda activate kpred

Download ShapeNet to data/shapenet/shape_data.

Training

To train the deformation module on the chair category with input of full target point clouds run:

python scripts/main.py -c configs/chair-full.yaml

Then, to train the deformation module on the chair category with input of partial target point clouds run:

python scripts/main.py -c configs/chair-partial.yaml

The option ckpt should be customized as the path of trained deformation model for full point clouds.

Finally, to train the retrieval module run:

python scripts/main.py -c configs/chair-retrieval.yaml

The option ckpt should be customized as the path of trained deformation model for full point clouds.

Testing

To test the trained R&D model on full point clouds run:

python scripts/main.py -c configs/chair-full.yaml -t configs/test.yaml 

The option ckpt should be customized as the path of trained deformation model for full point clouds. The option latent_ckpt should be customized as the path of trained retrieval model.

To test the trained R&D model on partial point clouds on PartNet run:

python scripts/main.py -c configs/chair-full.yaml -t configs/test_partial.yaml 

The option ckpt should be customized as the path of trained deformation model for partial point clouds. The option latent_ckpt should be customized as the path of trained retrieval model. The option points_dir should be customized as the path for storing the generated partial point clouds. The option test_partial_ratio should be set from 0 to 1.

To visualize the results run:

python browse3d/browse3d.py --log_dir logs/chair/test --port 5050

and open localhost:5050 in your web browser.

Acknowledgment

Our implementation leverages the code from KeypointDeformer.