Categorization experiments

Code and data: human head/shoulder, hedgehog, cat head, pig head, 100+ object/texture categories

In conducting categorization experiments we are interested in :

We have implemented several modeling methods for sketch and texture features, in terms of the normalization scheme (local/global/none), marginal statistical model (Gaussian-like/log-linear) etc. But in the following we only show one of them: for sketch we use locally maximized Gabor filtered map and global normalization; for texture we use Gaussian-like model on orientation histogram, which is computed on Gabor filtered maps and locally normalized. Further details are included in the CVPR'09 paper.

A first example: human head/shoulder


Code & Data
We are comparing three models: one that can only select from sketch features, one only from orientation histogram features and one that combine them. As a measure of classification performance we use AUC (area under ROC curve). 5 cross validation runs per model, per training sample size (in total 5 * 3 * 5 runs) are performed for training and testing and plotted are three curves together with their 95% student-t confidence bounds. The combined model (blue line) manifests significant improvement over either sketch-only or texture-only models, and this is consistent for different training sample sizes.

(larger plot)
An older version of code that reproduces the figure in the CVPR paper.

A couple of other categories

The improvement due to feature combination is consistently shown in the few categories as in the following figures.

Code & Data

hedgehog
An older code reproducing the CVPR paper.
Code & Data

pig head
An older code reproducing the CVPR paper.
Code & Data

cat head click for bigger plot
An older code reproducing the CVPR paper.

Evaluating feature combination on a spectrum of categories

Code (ZIP) and data (ZIP) that reproduce the following results.
To run the code, extract both code and data into a same folder. A detailed REAME file will be provided soon.

We selected ~60 object categories and ~40 texture categories. The classification task is then not only distinguishing objects from objects, but also objects from (structured) clutter and one type of clutter from another. This is expected to be a more realistic setting than the mere object categorization, since in real detection/parse task we would scan/test over all regions in a testing image, and recognize both objects and salient textures.


The boxplot compares three distributions of average precision (AP) over 100+ categories. The three boxes correspond to sketch-only, texture only and the combined models. This plot shows that the improvement in classification performance is consistent in a reasonably large set of image categories.

* The blue bold line should be dash-dotted (click to see the bigger plot). The tool I used that saves matlab figures to .SVG could not encode this style well.