[ICCV 2021] "HPNet: Deep Primitive Segmentation Using Hybrid Representations"

SimingYan, updated 🕥 2022-01-21 22:36:24


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

HPNet Pipeline


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. Please download our preprocessed dataset here(69G) and put it under data/ABC folder. We add primitive parameters of each object in this dataset.

We also provide the preprocessing scripts under utils folder. To process by yourself, please run cd utils python process_abc.py --data_path=/path/to/parsenet-codebase/data/shapes --save_path=/path/to/saved/dir


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:

@article{yan2021hpnet, 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}, year={2021} }

Siming Yan

CS Ph.D. Student at UT-Austin

GitHub Repository