Code repository for paper `Skeleton Merger: an Unsupervised Aligned Keypoint Detector`.
Skeleton Merger, an Unsupervised Aligned Keypoint Detector. The paper is available at https://arxiv.org/abs/2103.10814.
Update Aug. 6th: The point cloud visualizer is now released! See https://github.com/eliphatfs/PointCloudVisualizer.
merger/pointnetpp
folder contains the Pytorch Implementation of PointNet and PointNet++ repository with some minor changes. It is adapted to make compatible relative imports.merger/composed_chamfer.py
file contains an efficient implementation of proposed Composite Chamfer Distance (CCD).merger/data_flower.py
file is for data loading and preprocessing.merger/merger_net.py
file contains the Skeleton Merger
implementation.You can find a pre-trained model on chairs from ShapeNetCore here. Notice that axis order (e.g., gravity axis may be either y or z) and scaling may vary between datasets, so it is recommended to train a model locally from scratch if you need to use Skeleton Merger. It's fast! Skeleton Merger usually gives reasonable results within 5-10 epochs, which only takes minutes on ShapeNetCore-scale datasets with a GTX 1080. (For full power of the model you still need to train for 50-100 epochs and do some epoch selection by validation error or by the downstream task.)
Usage of the script files, together with a brief description of data format, are available through the -h
command line option.
The ShapeNetCore.v2 dataset used in the paper is available from the Point Cloud Datasets repository.