Why FAST is Fast

Feature detection in C

The FAST Algorithm

Features from Accelerated Segment Test (FAST) is a corner detection algorithm invented in 2006 by Edward Rosten and Tom Drummond. As the name implies, it was the first detector quick enough to process video in real-time. Today, FAST is used to solve tracking and mapping problems in robotics and computer vision.

Though many FAST tutorials exist, most are rehashed from the (excellent) original paper or worse, directly copied from each other. The paper, wikipedia article, and tutorials provide a good overview, but they neglect implementation details that are critical to the algorithm's speed. In this article, I reimplement the FAST feature detector as a single-header C library and attempt to fill gaps in the existing tutorials.

#include <fmt/format.h>

void main(int argc, char** argv) {
    fmt::print("Hello, world!\n");
    return 0;


Test Image




15 ms

20 ms


10 ms

10 ms


94 ms

94 ms

Integer eu tempus dui. Mauris mollis purus id lorem mattis mollis. Aliquam felis ante, ultricies vel sollicitudin a, sollicitudin quis felis. Morbi id arcu et urna bibendum fermentum dignissim sit amet lorem. Ut tempus eget ligula condimentum placerat. Donec mattis sapien dolor. Mauris fringilla sapien non enim viverra, vitae elementum nunc pulvinar. Etiam sollicitudin justo id nisl interdum interdum. Cras ut porta justo, a accumsan elit. Nam euismod, nisl ac mollis tincidunt, justo quam volutpat nisi, sit amet tincidunt leo elit varius nunc. Ut sagittis, metus sit amet consequat hendrerit, velit risus dignissim risus, ut tempus ante ex a neque. Morbi condimentum a purus at tincidunt.