[ Home :
FAST Corner Detection -- Edward Rosten
Try FAST Today!
If you use FAST in published academic work then please cite both of the following papers:
FAST-ER is now accepted for publication:
- Fusing points and lines for high performance tracking.
- Machine learning for high-speed corner detection.
Any figures ma be reporduced with appropriate citations. For convenience,
the FAST corner figure is available in a variety of formats here.
If you want to use FAST, it is available in a variety of forms below:
- Pre-compiled executables
- Source code for several languages
- In the OpenCV library
- In the LibCVD library
Questions about FAST
If you have any questions, try the
FAQ, or ask a
question about FAST in the
Precompiled FAST binaries
FAST is available precompiled for a wide variety of platforms:
The FAST binary accepts an image as input and output image with corners drawn on or a list of corner locations.
The threshold, number of points in the detector (9 to 12) and nonmaximal suppression can be selected.
See the unix README or Windows README for more details.
- MacOS X
The windows executable has problems dealing widths which are not a multiple of 4. This bug does
not affect the unix exectuables or the libraries.
FAST Source code
Python Source Code
Standalone C soure code
Note: this code is stable, not abandoned. The algorithm is fixed and this is the basic reference
implementation. It will only change if bugs are found.
- 2009-08-31 FAST is now officially in OpenCV
- 2009-08-13 Released OpenCV compatible code
- From the 2.x: fast_opencv-1.0.tar.gz [28KB] fast_opencv-1.0.zip [29KB]
- This code works with OpenCV and accepts
- See the README for details.
- You probably want to use the version in OpenCV now.
- License is the BSD license.
If you have the vision toolbox, then it is built into MATLAB and you don't need to download anything.
Source code for the executables
- FAST Test program (binaries provided above): fast-test-src.tar.gz [3.7KB]
- Requires libCVD 13/02/2006 or newer (for FAST detection code etc)
- License is BSD
FAST in libCVD
- FAST in libCVD
- This is the recommended source for FAST, and often has SSE accelerated versions.
- License is LGPL
Build your own FAST detector
There are several options. The easiest is to use an learned detector, but output it in a
new language. The FAST-ER code below contains pre-made trees in an easy to use format
and a number of code generators.
If you wish to build your own FAST detector (e.g. trained on your own data,
targeting another language, or using some new optimizations), then the FAST-ER
code provides programs for training new FAST-N detectors as well as FAST-ER
Or, you can use the original version, from the 2006 paper:
Compare your detector to FAST
If you wish to compare your detector to FAST, then there is a
set of registered images available for download. These
were used for testing FAST in Machine learning for high-speed corner detection..
Source code for performing the comparisons is available in the FAST-ER distribution below.
FAST-ER: Enhanced repeatability
Source code for FAST-ER is now available:
This code is useful if you want to:
Documentation is available here.
- Train FAST-ER detectors.
- Train FAST detectors.
- Create detectors for new languages.
- Compare the repeatability of detectors.
People who use FAST
If you use FAST in your project, let me know and I'll put a link to it right
I would like to additionally thank Gabriel Brostow for help preparing this web page and
the test executables.
Updated September 12th 2015, 12:02