This repository contains code for the following paper
Saurabh Singh, Abhinav Gupta and Alexei A. Efros. "Unsupervised Discovery of Mid-Level Discriminative Patches." In European Conference on Computer Vision (2012). (arXiv:1205.3137) http://graphics.cs.cmu.edu/projects/discriminativePatches/
All Rights Reserved @ firstname.lastname@example.org (Saurabh Singh).
- Git clone this repository (if you are reading this on git-hub).
- Download the pre-trained models from the project website and un-compress the file in the root directory of the repository, i.e. as a sibling to the 'code' directory.
- Modify the setmeup.m file to make USR.imgDir and USR.modelDir point to the models directory.
- cd to code/features directory and run 'mex features.cc' from the matlab prompt. (This is assuming you have mex already setup).
A script that demonstrates how to run pre-trained models is provided in the 'code/user' directory. Simply cd to 'code' directory in repository and run the following commands on the matlab prompt.
>> setmeup >> detectDiscPats
Training The Patches
Start by taking a look at setmeup.m for required libraries and trainDiscPats.m. This script runs a training job for the pascal sub-dataset used in paper. Pay attention to the comments related to run time. To run on your own dataset create a script similar to getPascalData.m that generates the required metadata.
Some of the code pieces are borrowed from other sources. Following should be an exhaustive list of those. It is recommended to get the latest libraries from these sources to remain upto-date with the improvements.
- The features.cc file has been borrowed from the following code-base and corresponds to the version 4 release. Discriminatively trained deformable part models