The SIFT Keypoint Detector
Implementations of the SIFT Keypoint DetectorThere 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.
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.
Related papersThe most complete and up-to-date reference for the SIFT feature detector is given in the following journal paper:
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:
Patent HistoryThere was previously a US patent on SIFT held by the University of British Columbia, which expired as of March 7, 2020.
[return to David Lowe's home page]