CS 766 Assignment 3: Locality-constrained Linear Coding for Scene Classification

Saikat R. Gomes (saikat@cs.wisc.edu) & Stephen Lazzaro (slazzaro@cs.wisc.edu)

Contents

  1. Introduction
  2. Hard Code Word
    1. Results
  3. Locality-constrained Linear
    1. Results
  4. Grid Search
  5. Sequential Hierarchy Classifier
    1. Manually assigned clusters
      1. Results
    2. Clusters from K-means
      1. Results
  6. Other Dataset Evaluation
    1. Birds
    2. Butterflies
  7. Other Experiments
    1. Results
  8. Scene Datasets
  9. Code
  10. Git Logs
  11. References

Running the Code

The software implementation was done in Matlab.
The code package can be downloaded from here.

Standard Scene classification:

This functionality is implemented in the code folder.

Syntax:
MainSuper( mainDir , imgCount, testName, useLLC, useKer, delOld, dictionarySize, pyramidLevls, numTextonImages, patchSize, gridSpacing, k );

where:
mainDir: Name of the directory containing the images which will be classified
imgCount: The number of images for each scene to be used in training
testName: Name of the output files
useLLC: 0 for non-LLC, 1 to use LLC
useKer: 0 without kernel, 1 is with kernel
delOld: 0 to keep the .mat files generated from BuildPyramid, 1 to delete those files
dictionarySize: The size of the dictionary used in BuildPyramid, standard is 1024
pyramidLevels: Number of levels for spatial pyramid
numTextonImages: Number of texton images used to create histograms
patchSize: the size of each patch for the sift descriptor
gridSpacing: the space between dense sift samples
k: The number of nearest neighbors to use for LLC
Output in the form of matrices (confusion matrix, accuracy, mean accuracy, etc.) will be generated in a folder named vars one level up from mainDir. The start of the names for these files will be given by the testName parameter entered:



Multi level classification:

This functionality is implemented in the code folder.

Syntax:
MainTree( mainDir , imgCount, testName, useLLC, useKer, delOld, dictionarySize, pyramidLevls, numTextonImages, patchSize, gridSpacing, k );

where the parameters and output are the same as above.