Skip to content
Switch branches/tags

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time

Learning Shape Abstractions by Assembling Volumetric Primitives

Shubham Tulsiani, Hao Su, Leonidas J. Guibas, Alexei A. Efros, Jitendra Malik. In CVPR, 2017. Project Page

This official implementation can be found here

Teaser Image

2) Training

We provide code to train the abstraction models on ShapeNet categories.

a) Preprocessing

Steps as listed here

b) Learning

The training takes place in two stages. In the first we use all cuboids while biasing them to be small and then allow the network to choose to use fewer cuboids. Sample scripts for the synset corresponding to chairs are below.

# Stage 1
cd experiments;
python cadAutoEncCuboids/ --disp=False --nParts=20 --nullReward=0 --probLrDecay=0.0001 --shapeLrDecay=0.01 --synset=03001627 --numTrainIter=20000 --name=chairChamferSurf_null_small_init_prob0pt0001_shape0pt01

After the first network is trained, we allow the learning of primitive existence probabilities.

# Stage 2
cd experiments;
python cadAutoEncCuboids/ --pretrainNet=chairChamferSurf_null_small_init_prob0pt0001_shape0pt01 --pretrainIter=2999 --disp=0 --gpu=1 --nParts=20 --nullReward=8e-5 --shapeLrDecay=0.5   --synset=03001627 --probLrDecay=0.2 --usePretrain=True  --numTrainIter=30000 --name=chairChamferSurf_null_small_ft_prob0pt2_shape0pt5_null8em5

3) Requirements

  1. Python3.6
  2. PyTorch 0.1.12

Thanks to Ishan Misra and Shubham Tulsiani for helping with the code base