13: Feature Extraction
The image processing operations from the last chapter operated on one or more input images and returned another image. By contrast eature extraction operates on an image and returns one or more image features. Features are typically scalars (for example area or aspect ratio) or short vectors (for example the coordinate of an object or the parameters of a line). Image feature extraction is a necessary first step in using image data to control a robot. It is an information concentration step that reduces the data rate from 106–108 bytes/s at the output of a camera to something of the order of tens of features per frame that can be used as input to a robot’s control system.
Drawing on image processing techniques from the last chapter this chapter discusses features and how to extract them from images: thiswe will discuss several classes of feature:
- region features are contiguous groups of pixels that are homogeneous with respect to some pixel property. For example the set of pixels that represent a red object against a non-red background.
- line features describe straight lines in the world. Straight lines are distinct and very common in man-made environments — for example the edges of doorway, buildings or roads.
- interest points are particularly distinctive points in a scene which can be reliably detected in different views of the same scene.
- Berkeley segmentation data set
- ICDAR text recognition data set
- Comprehenshive list of databases, from Gonzalez & Woods.
- Blob detection (wikipedia)
- MSER code + documentation(vlfeat.org)
- Chain codes (CVonline)
- Graph-based segmentation
- Hough transform (wikipedia)
- Hough patent
- How the Hough transform was invented (Peter Hart)
- Generalized Hough transform
- Scale space theory and applications (KTH)
- Introduction to Scale-Space Theory, BM ter Haar Romeny, 1996 (PDF)
- Corner detection (wikipedia)
- KLT implementation (Birchfield)
- FAST detector
- BRIEF feature descriptor
- CenSurE detector