Data-Driven 3D Primitives for Single Image Understanding
(Training Code)


The Important Stuff

      Natural World Data (906MB .zip) (From Hays and Efros, CVPR 2008)
      David Fouhey (please note that we cannot provide support)

This is a reference version of the training code. It also contains a dataset setup script that will download the NYU v2 dataset and prepare it correctly.


  1. Download the code and the data and unpack each.
  2. Follow the README inside the code folder. You will first need to run a setup script that will download and extract the data (NYU v2 dataset). You can then run the training code.
  3. For inference, download the inference code and follow the simple instructions for putting things together so the inference package can read your trained primitives.
N.B.: Other datasets can be easily used, so long you post-process them to the format used by the training code.


The data used by default is the NYU Depth v2 Dataset available here and collected by Nathan Silberman, Pushmeet Kohli, Derek Hoiem and Rob Fergus.

This code builds heavily on:

This code also includes parts of the codebases of:
  1. Discriminatively trained deformable part models, R.B. Girshick, P.F. Felzenszwalb, and D. McAllester (feature extraction and convolution).
  2. LIBSVM, C.-C. Chang and C.-J. Lin (svm training)
  3. Bilateral filter implementation Douglas R. Lanman (bilateral filtering in data-set processing)