This repository contains the PyTorch implementation of paper: HPNet: Deep Primitive Segmentation Using Hybrid Representations.


The main experiments are implemented on pytorch 1.7.0, tensorflow 1.15.0. Please install the dependancy packages using pip install -r requirements.txt.


ABCParts Dataset

ABCParts Dataset is made by ParseNet. We reorganize the dataset to fit our dataloader and clean some wrong labels. Please download the dataset here(69G) and put it under data/ABC folder.


To train our model on ABC dataset: run

python train.py --data_path=./path/to/dataset`

To evaluate our model on ABC dataset: run

python train.py --eval --checkpoint_path=./path/to/pretrained/model --val_skip=100

on the subset of test dataset. To test on the full dataset, simply set val_skip=1.

pretrained models

We provide pre-trained model on ABC Dataset here. This should generate the result reported in the paper.


We would like to thank and acknowledge referenced codes from

  1. ParseNet: https://github.com/Hippogriff/parsenet-codebase.

  2. DGCNN: https://github.com/WangYueFt/dgcnn.


If you find this repository useful in your research, please cite:

  title={HPNet: Deep Primitive Segmentation Using Hybrid Representations},
  author={Yan, Siming and Yang, Zhenpei and Ma, Chongyang and Huang, Haibin and Vouga, Etienne and Huang, Qixing},
  journal={arXiv preprint arXiv:2105.10620},