Object Categorization

Project: Image Categorization using Kernel methods

Supervisors: Professor Akihiro Sugimoto, Dr. Yousun Kang

(National Institute of Informatics, Tokyo, Japan)

Abstract: Spatial pyramid matching (SPM) has been one of important approaches to image categorization. Despite its effectiveness and efficiency, SPM measures the similarity between sub-regions by applying the bag-of-features model, which is limited in its capacity to achieve optimal matching between sets of unordered features. To overcome this limitation, we propose a hierarchical spatial matching kernel (HSMK) that uses a coarse-to-fine model for the sub-regions to obtain better optimal matching approximations. Our proposed kernel can robustly deal with unordered feature sets as well as a variety of cardinalities. In our experiments, the results of HSMK outperformed those of SPM and led to state-of-the-art performance on several well-known databases of benchmarks in image categorization, even when using only a single type of feature.

* MATLAB CODE (HSMK) [DOWNLOAD]

+ The code illustrates to build HSMK on CALTECH-101 experiment (step-by-step).

+ It is used for academic purposes. Please read the guideline in downloaded ZIP file for more details. (Use it as your own risks). You can also download the guideline here [PDF] - updated July, 2012

(For Linux, Mac users, just easily mex third-party toolbox by yourself. It also works for kdtree in 64bit Linux or Mac system.)

It also includes Spatial Pyramid Matching Kernel (SPMK) code and Pyramid Matching Kernel (PMK) code. Roughly speaking, HSMK is a generalized kernel of SPMK and PMK.

  • For SPMK, you DO NOT need to run the 1/2 and 1/4 resolution code (just run for the original resolution), config the dimension for SPMK. Plus, you should modify a little bit of code based on comments in STEP 9.
  • For PMK, you DO NOT need to run STEP 7 to pool as the Spatial Pyramid Matching and should modify a little bit of code in STEP8 as well as config the dimension for PMK.

(If you ignore the code for 1/2 and 1/4 resolution as well as spatial pyramid matching, the code will turn out the Bag of Features model code).

* Please cite the following paper if you utilize the code:

Tam Le, Yousun Kang, Akihiro Sugimoto, Son Tran, Thuc Nguyen, Hierarchical Spatial Matching Kernel for Image Categorization, International Conference on Image Processing and Recognition (ICIAR), LNCS 6753, Canada, 2011.

* Related publication

  • Tam Le, Yousun Kang, Akihiro Sugimoto, Image Categorization Using Hierarchical Spatial Matching Kernel, Journal of the Institute of Image Electronics Engineers of Japan (IIEEJ), Vol. 42, No. 2, 2013. [PDF]
  • Tam Le, Yousun Kang, Akihiro Sugimoto, Son Tran, Thuc Nguyen, Hierarchical Spatial Matching Kernel for Image Categorization, International Conference on Image Processing and Recognition (ICIAR), LNCS 6753, Canada, 2011 [PDF/SLIDE]

* Toolbox

- MEX file for Shogun 0.9.3 (Compiled in Ubuntu 10.04 & Matlab 2009b)

- MEX file for Shogun 0.10.0 (Compiled in Ubuntu 10.04 & Matlab 2009b)

* Third-party libraries for HSMK:

- LabelMe Toolbox (A. Torralba)

- Kdtree (Steven Michael)

- LiteKmeans (Michael Chen) --> may be improved by Yael library (LEAR-INRIA).

- LibSVM+Matlab interface v3.0.1 (Chil-Jen Lin & Chih-Chung Chang)

* Notes for YAEL library:

- Change litekmeans by yael_kmeans function.

- Change input x from double to single by single(x) function in Matlab.