From Tekkotsu Wiki

Revision as of 16:12, 25 August 2010 by Touretzky (Talk | contribs)
(diff) ← Older revision | Current revision (diff) | Newer revision → (diff)
Jump to: navigation, search

SIFT (Scale Invariant Feature Transform) is an algorithm for extracting features from an image for use in object recognition and tracking. SIFT was created by David Lowe of the University of British Columbia. The Tekkotsu SIFT Tool is an interactive program for training a SIFT-based object recognizer from sample images.


Installing the Tekkotsu SIFT Tool

Follow these steps to install the tool:

cd /usr/local
sudo cvs -d checkout -P sift-tool
cd /usr/local/sift-tool
sudo make

Note: the Makefile tries to find a directory containing a good copy of jni.h, which is required to compile the Java portion of the tool. If it cannot find jni.h you will have to edit the Makefile and manually point it to the directory containing this file.

If you would like to try the tool on a collection of sample images, do this:

cd /usr/local/sift-tool
sudo unzip

Running the SIFT Tool

To use the tool you will need a set of black-and-white training images. At present these must be ASCII PGM files. If you have GIF, PNG, or JPEG images, you can convert them to PGM format using common image processing tools such as Gimp or xv.

Start the SIFT tool by typing:


The first time you run it, you will not have any pre-existing database to load, so create a new one. Then, to create a new object class, click on "Create object" and navigate to the directory where your PGM images are stored. Select an image and the tool will extract its features and make a new object model. To add additional examples of the same object class, click on "Add exemplar". You usually don't need to use the "Add model" feature; the system figures out for itself when it needs to add a new model for an object class. Save your database before exiting.

Background Information on SIFT

To Do List

  • Accept other image formats (GIF, PNG, JPEG)
  • Allow image capture from an attached webcam
  • Use a more compact file format to store the database