Skip to content
/ KP-RED Public

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

Notifications You must be signed in to change notification settings

lolrudy/KP-RED

Repository files navigation

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.

About

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

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published