Seeing 3D chairs source code
Here you will find a Matlab implementation of the algorithm described in the following paper:
Mathieu Aubry, Daniel Maturana, Alexei A. Efros, Bryan C. Russell, and Josef Sivic. Seeing 3D chairs: exemplar part-based 2D-3D alignment using a large dataset of CAD models. CVPR, 2014. PDF | BibTeX | Project page
Note that this implementation has minor differences with the one used to generate the results shown in the paper.
For any questions or feedback regarding the source code please contact Mathieu Aubry.
You can download a zip file of the source code directly.
Alternatively, you can clone it from GitHub as follows:
$ git clone https://github.com/mathieuaubry/seeing3Dchairs.git
You will need to download the rendered views of the chair CAD models, HOG whitening parameters, and negative training examples.
You may also download our pre-computed discriminative elements to run the detection script directly.
-
Start by compiling the code. At the Matlab command prompt run:
>> compile;
-
(Optional) demoGetAllDEs.m is a script that computes the discriminative elements from a set of rendered views. It must be run before doing detection. Alternatively, you can download our pre-computed discriminative elements.
-
demoDetection.m is a script that uses the discriminative elements to detect chairs in a test image. It generates an HTML file visualizing the results after non-maximum suppression.
Both scripts can be used directly for a small number of 3D models, but should be parallelized to use the full set in reasonable time. The three functions to parallelize are indicated in the comments of the scripts.
The functions features.cc and bboverlap.m have been adapted from Ross Girshick's and Pedro Felzenswalb's implementation available at https://github.com/rbgirshick/voc-dpm