Feature extraction

In pattern recognition and in image processing, Feature extraction is a special form of dimensionality reduction.

When the input data to an algorithm is too large to be processed and it is suspected to be notoriously redundant (much data, but not much information) then the input data will be transformed into a reduced representation set of features (also named features vector). Transforming the input data into the set of features is called features extraction. If the features extracted are carefully chosen it is expected that the features set will extract the relevant information from the input data in order to perform the desired task using this reduced representation instead of the full size input.

General
Feature extraction involves simplifying the amount of resources required to describe a large set of data accurately. When performing analysis of complex data one of the major problems stems from the number of variables involved. Analysis with a large number of variables generally requires a large amount of memory and computation power or a classification algorithm which overfits the training sample and generalizes poorly to new samples. Feature extraction is a general term for methods of constructing combinations of the variables to get around these problems while still describing the data with sufficient accuracy.

Best results are achieved when an expert constructs a set of application-dependent features. Nevertheless, if no such expert knowledge is available general dimensionality reduction techniques may help. These include:
 * Principal components analysis
 * Semidefinite embedding
 * Multifactor dimensionality reduction
 * Nonlinear dimensionality reduction
 * Isomap
 * Kernel PCA
 * Latent semantic analysis
 * Partial least squares

Image processing
It can be used in the area of image processing which involves using algorithms to detect and isolate various desired portions or shapes (features) of a digitized image or video stream. It is particularly important in the area of Optical Character Recognition.

Low-level

 * Edge detection
 * Corner detection
 * Blob detection
 * Ridge detection
 * Scale-invariant feature transform

Curvature

 * Edge direction, changing intensity, autocorrelation.

Image motion

 * Motion detection. Area based, differential approach. Optical flow.

Hough transform

 * Lines
 * Circles/Ellipse
 * Arbitrary shapes (Generalized Hough Transform)

Flexible methods

 * Deformable, parameterized shapes
 * Active contours (snakes)