matlab
Folders and files
Name | Name | Last commit date | ||
---|---|---|---|---|
parent directory.. | ||||
------------------------------------------------- MATLAB/OCTAVE TRAINING CODE ------------------------------------------------- IMPORTANT NOTE! The PartsBasedDetector is flexible, and thanks to the help of Deva Ramanan, Yi Yang and Xiangxin Zhu, models trained with a range of learning methods can be converted for use with the detector. The current methods of learning (and links to code) are described in the following papers: - Pedro Felzenszwalb, Ross Girshick, David McAllester and Deva Ramanan, "Object detection with discriminatively trained part based models," PAMI 2010 http://people.cs.uchicago.edu/~rbg/latent/ - Yi Yang and Deva Ramanan, "Articulated pose estimation using flexible mixtures of parts," CVPR 2011 http://www.ics.uci.edu/~yyang8/research/pose/ - Xiangxin Zhu and Deva Ramanan, "Face detection, pose estimation and landmark localization in the wild," CVPR 2012 Without going into details of how each of the methods differ, the discriminating features that concern the end user are (in order of appearance above): - training only requires bounding boxes around objects (this works well for semi-supervised robotics applications) - training requires hand labelling of each part location and controlling the number of mixtures per part - training requires hand labelling of each part location, however only a subset of parts may be visible in each image. SO WHAT IS THIS CODE? The Matlab and Octave code in this directory is a mirror of Yi Yang's code with some modifications to support Octave. It has the best tradeoff between learning time, labelling complexity and performance (for our purposes) and supports our open source goals. Procedure to train a model: 1) Start Octave or Matlab and cd to this matlab directory 2) Run compile.m to compile the required mex files 3) Annotate your training data. A simple utility called annotateParts() is provided for your clicking convenience 4) Create a training script. A sample training script training_demo.m is provided to outline the steps involved 5) Run your script to train your model USING OTHER TRAINING METHODS: Using training methods other than this supplied method is as simple as running their respective training code, then calling modelTransfer.m (in this root directory) to convert model formats.