libpmk Samples: ETH-80
About
This data set, from the ETH
CogVis project, contains images of apples, pears, tomatoes, cows,
dogs, horses, cups, and cars.
See also:
Recent changes
- 2007-09-21: Updated version for libpmk-2.0 compability.
- 2007-05-02: Switched from global to input-specific pyramids.
Data files
Source files
- libpmk-eth.tar.gz - Two
source files and a Makefile. This code will make a vocabulary-guided
pyramid match kernel and will report the leave-one-out performance of
a one-vs-rest SVM classifier. This means that all 5 images of one
particular object are used as testing and the remaining 79 images are
used as training. Compiles with both libpmk-1.x and 2.x.
Installation
You will need to modify the Makefile first. There are two lines that need to be changed:
LIBPMK_OBJ_PATH = /path/to/objs
LIBPMK_INC_PATH = /path/to/inc
The paths should point to the location of the libpmk objects
(libpmk.o and libpmk_util.o) and the source tree, respectively. In
most cases this will just be wherever you unpacked libpmk (e.g.,
/path/to/libpmk-1.0). After you edit the Makefile, type
make. There is only one executable.
Usage
The executable, eth-experiment.out, takes four arguments:
- Path to the data file
- Number of levels in the vocabulary tree
- Branch factor of the vocabulary tree
- Path to the label file
Here is an example command line that will run an experiment, creating a vocabulary tree 3 levels deep with a branch factor 11:
./eth-experiment.out /path/to/ETH80_GridSIFT.psl 3 11 /path/to/ETH80_labels.txt
Example output:
Reading /afs/csail.mit.edu/u/j/jjl/data/eth/ethGridPCASIFTptsets.bin
Running hierarchical clustering
Making pyramids
Computing kernel matrix
Average accuracy: 0.847500
« Back to
libpmk homepage