Speeded up robust features
Appearance
Feature detection |
---|
Edge detection |
Corner detection |
Blob detection |
Ridge detection |
Hough transform |
Structure tensor |
Affine invariant feature detection |
Feature description |
Scale space |
SURF (Speeded Up Robust Features) is a robust image detector & descriptor, first presented by Herbert Bay et al. in 2006, that can be used in computer vision tasks like object recognition or 3D reconstruction. It is partly inspired by the SIFT descriptor. The standard version of SURF is several times faster than SIFT and claimed by its authors to be more robust against different image transformations than SIFT. SURF is based on sums of approximated 2D Haar wavelet responses and makes an efficient use of integral images. As basic image features it uses a Haar wavelet approximation of the determinant of Hessian blob detector.
Implementations
- Original implementation (closed source)
- OpenSURF (open source) implementation with detailed documentation and reference paper (C++, C#, Java, Android, iPhone)
- OpenSURF Matlab (open source) Translation of Evans OpenSURF (Matlab)
- OpenCV SURF (open source) implementation of SURF feature extraction (OpenCV 2.0)
- SURFmex Matlab interface (MEX) to OpenCV's SURF code.
- GPU SURF (closed source) a GPU Implementation
- CUDA SURF (open source) a GPU implementation using CUDA, similar interface as OpenSURF (C++, CUDA)
- libmv SURF (open source) implementation of extraction and matching.
- Dlib C++ Library (open source) implementation of SURF feature extraction
- Pan-o-matic (open source) software which includes an implementation of the SURF algorithm
- Parallel SURF Multi-threaded implementation based on Pan-o-matic
- C# SURF plugin for Multi-Agent Serving System (open source) implementation of extraction and matching.
- JavaSurf (open source) java implementation (platform independent)
- JOpenSURF (open source) java translation of OpenSURF
- ImageJ SURF (open source) SURF implementation as ImageJ plugin with a convenient GUI and output of statistics (platform independent).
- ASSURF (open source) SURF implementation in ActionScript for the Adobe Flash Platform.
- Speeded Up SURF (open source) a GPU Implementation
See also
- Scale-invariant feature transform (SIFT)
- Gradient Location and Orientation Histogram
- LESH - Local Energy based Shape Histogram
- Blob detection
- Feature detection (computer vision)
References
- Herbert Bay, Andreas Ess, Tinne Tuytelaars, Luc Van Gool "SURF: Speeded Up Robust Features", Computer Vision and Image Understanding (CVIU), Vol. 110, No. 3, pp. 346--359, 2008
- Christopher Evans "Notes on the OpenSURF Library", MSc Computer Science, University of Bristol