Snowbird Learning, 2010
Fuxin Li, Joao Carreira and Cristian Sminchisescu
Version 1.0, released on January 17th, 2012
LIBSVM-PARALLEL-CHI2 aggregates several pieces of software to provide a highly optimized MATLAB SVM interface, especially for classifying the dense histograms in computer vision. Its extends the standard LIBSVM library by Chang and Lin, to include additional SUPPORT FOR:
1) MULTICORE ARCHITECTURE: LIBSVM-PARALLEL-CHI2 uses OpenMP(R) to parallelize the kernel computations in LIBSVM. Therefore it runs much faster than conventional LIBSVM on multi-core machines, for all kinds of kernels.
2) STACKING MULTIPLE KERNELS: LIBSVM-PARALLEL-CHI2 has a special feature to specify multiple chi-square kernels with different parameters and combination weights within one dataset. This facilitates efficient out-of-core training of multiple-kernel SVM for both classification and regression.
3) SINGLE-PRECISION FLOATING-POINT DATA AS INPUT: LIBSVM-PARALLEL-CHI2 has options to use either single-precision or double-precision data for training/test input. Using single-precision saves storage space by half and improves training and testing speed. In the meanwhile, it usually does not deteriorate performan
4) DENSE REPRESENTATION: LIBSVM-PARALLEL-CHI2 adopts the dense internal representation for the input matrix to store the train/test data by Weng and wraps it for MATLAB. Using dense representation instead of the standard sparse representation provides a speed improvement of at least 40% for vision problems where features are often fairly dense.
5) EXPONENTIATED CHI-SQUARE KERNEL: $exp(-\gamma \chi^2(x,y))$. LIBSVM-PARALLEL-CHI2 uses processor-intrinsics optimized code by Lampert, to compute the chi-square distance between the objects. It is at least 3 times faster than a naive implementation.
With all the features above, besides supporting the exponential chi-square kernels used in computer vision natively, LIBSVM-PARALLEL-CHI2 can also be 15-50 X faster than the original LIBSVM on an 8-core machine.
The system has been tested on MATLAB 7.9 and 7.10 on a Linux 64-bit machine with 8 Gb of memory. For details see the README file in the package below.
This package is free for academic use only. No warranty. See the COPYRIGHT file for licenses.
You can also download pre-trained classifiers for the PASCAL VOC 2010 Segmentation challenge here. A classifier trained on the trainval dataset can be found at here , and one that is trained on the train dataset only can be found at here.