The SIFT Keypoint Detector

David Lowe


Implementations of the SIFT Keypoint Detector

There are many publicly available implementations of SIFT. A good one is VLFeat by Andrea Vedaldi. There are also versions in OpenCV and other sources.

For historic purposes, this page provides access to an older 2005 demo version of David Lowe's SIFT keypoint detector in the form of compiled binaries that can run under Linux or Windows. The demo software uses PGM format for image input. It can output keypoints and all information needed for matching them to a file in a simple ASCII format. A Matlab program and sample C code are provided that can read the keypoints and match them between images.

SIFT matching example The image on the right shows an example of matching produced by the demo software. Features are extracted from each of the two images, and lines are drawn between features that have close matches. In this example, many matches are found and only a small fraction are incorrect.

The demo program can be accessed from the following link in the form of a zip file containing the compiled binaries and demo code. To unpack, use "unzip siftDemoV4.zip" from Linux or an unzip utility in Windows. The code comes with a file README giving full details.

SIFT demo program (Version 4, July 2005)


Related papers

The most complete and up-to-date reference for the SIFT feature detector is given in the following journal paper:
David G. Lowe, "Distinctive image features from scale-invariant keypoints," International Journal of Computer Vision, 60, 2 (2004), pp. 91-110. [PDF]

The SIFT approach to invariant keypoint detection was first described in the following ICCV 1999 conference paper, which also gives some more information on the applications to object recognition:

David G. Lowe, "Object recognition from local scale-invariant features," International Conference on Computer Vision, Corfu, Greece (September 1999), pp. 1150-1157. [PDF];

Patent History

There was previously a US patent on SIFT held by the University of British Columbia, which expired as of March 7, 2020.
Method and apparatus for identifying scale invariant features in an image and use of same for locating an object in an image
David G. Lowe, US Patent 6,711,293. Provisional application filed March 8, 1999. Asignee: The University of British Columbia.


[return to David Lowe's home page]