Wolfgang Förstner, Timo Dickscheid and Falko Schindler:
Detecting Interpretable and Accurate Scale-Invariant Keypoints
International Conference on Computer Vision (ICCV’09), Kyoto, 2009
Principle
- The feature operator proposed by Förstner (1994) for detecting junction-type points
- The spiral feature model proposed by Bigün (1990) for unifying different feature types into one framework, including junctions and circles as special cases.
By locally optimising the consistency of image regions with respect to the spiral model, we are able to detect and classify image structures with complementary properties over scale, including junctions and circles. The detector has the following properties:
- Invariance and repeatability for object recognition, comparable to that of the detector by Lowe (2004)
- High localization accuracy to support camera calibration
- Good interpretability of the results (see figure)
- Very few control parameters with clear semantics
- High complementarity to most popular detectors
On this page you’ll find the related publications and software.
Complementarity to other detectors
Features detected by other detectors. EBR, IBR, MSER,Harris affine, Hessian affine, Lowe.
Publications
- ICCV 2009 paper
- Poster presented at ICCV 2009
Software
C++, OpenCL and Matlab implementation
A fast C++ implementation with optional GPU support and a Matlab version is available:
sfop-1.0.tar.gz (CPU and GPU)
(Or: Previous version sfop-0.9.tar.gz, CPU only)
(Or: Version for Visual C++ kindly provided by Woon Cho, CPU only)
- Download and unpack the archive into a directory of your choice.
- Run ./configure, make and make install to install SFOP on your system.
Run ./configure –help for possible configuration settings.
See doc/html/index.html for a documentation generated using Doxygen. - Run sfop –help for a list of possible arguments.
Run, e. g., sfop -i examples/lena.png to compute SFOP keypoints for the Lena test image.
Or add –device 1 for the fast OpenCL implementation (since version 1.0). - Run matlab/example.m for a demonstration of the Matlab implementation.
Do not hesitate to contact us in case you have any questions.
How can I match the keypoints?
The software provides you with an output file containing the keypoint locations and scales. This file can be used as an input to the program extract_features provided on the affine covariant features website of the VGG in Oxford. An explanation on how to do that in 3 steps is included in the example.m script shipped with our software.