A General Overview on the Categories of Image Features Extraction Techniques: A Survey

In the image processing’s field and computer vision it’s important to represent the image by its information. Image information comes from the image’s features that extracted from it using feature detection/extraction techniques and features description. Features in computer vision define informative data. For human eye its perfect to extract information from raw image, but computer cannot recognize image information. This is why various feature extraction techniques have been presented and progressed rapidly. This paper presents a general overview of the feature extraction categories for image.


Introduction
In a computer vision and an image processing applications the most significant factor called feature.The features of an image represent some informative data.In general, the features defined by performing some calculations on the image, these calculations identify many of the informative data for the image's objects.There are different techniques to extract image's features classified as pixel-level features, local features, and global features.Pixel Level feature algorithms are used for evaluating every pixel individually.Texture and color are examples of global features, where the global features define the whole image with specific property that requires all pixels.From another side the local features are used to define the image's keypoints and define the regions around these keypoints by analyzing the local neighborhood of the pixels.Once the local features are detected, the Feature Descriptor Techniques will be used to represent them numerically [1][2] [3][4].
This paper provides a general overview about the categories of feature extraction techniques.There are large numbers of feature extraction techniques that are used today in almost all fields of image processing projects, in this paper these techniques will be clearly defined and classified.

Related works
There are some works that make comparison between the image's feature extraction categories the most related works are: 1.In 2005, S.Hadi Yaghoubyan, Mohd Aizaini Maarof, Anazida Zainal, and Mahdi Maktabdar Oghaz, present a summary of the existing visual feature extraction techniques used for illicit image detection [1].
2. In 2007, Tinne Tuytelaars and Krystian Mikolajczyk, give an overview of invariant interest point detectors, how they evolved over time, how they work, and their strengths and weaknesses [5].
3. In 2014, Jukka Lankinen, presents a PhD thesis to evaluates local features and applies them to image and video processing tasks [6].4. In 2016, M. Hassaballah, Aly Amin Abdelmgeid, and Hammam A. Alshazly, introduce a basic notation and the mathematical concepts for detecting and describing an image features.The paper also presents the properties of an important features, a general view for the feature extraction techniques, and some of the feature matching approaches [3].

5.
In 2017, Ehab Salahat and Murad Qasaimeh, present a general view for the feature detection principles and the feature description principles.The paper also presents a general view for the performance of that algorithms and a comparison between them [7].
6.In 2019, Ayodeji Olalekan Salau and Shruti Jain, present a survey for the existing feature extraction techniques used in these days [8].
8. In 2020, K. Kranthi Kumar, Kavitha Chaduvula, and Babu Rao Markapudi, explain different kinds of Feature extraction methods and define where each method will produce the best results [10].9.In 2021, Priyanka Saxena, presents a review on methods for low level feature extraction like extracting color, texture and edge features [11].

Pixel Level Features
Pixel Level feature algorithms are used for evaluating every pixel individually.The gray-level (or intensity) and position of every pixel are the most two salient pixel level features.In image every pixel has spatial position information that represented by pair of scalar(x, y).Every pixel has an intensity that defines the illumination and chromaticity of the corresponding pixel [12].The feature that based on the intensity might have various structure according to the image's color space, as an examples of color space is the RGB where each pixel has three values Red, Green and Blue intensities ranging from 0 to 255 [13].The high level features in image cannot be defined by using pixel-level-features such as area, shape, texture, and others, while the pixel-level features used as a basis for more informative and sophisticated features [1].

Local Features
Local features define the image based on salient regions (the image's segment that is more prominent than its surrounding segments  Invariance: the detection algorithms should deal with geometric transformations (such as, scale, rotation, etc.).
Robustness: the detection algorithms efficient to be less sensitive to deformations (a variety of viewing conditions: noise, blur, discretization effects, compression artifacts, etc.).
Accuracy: the detection algorithms should detect and locate the features accurately (the same locations of the pixel) when there are various shapes, scales, location of the pixels.
Efficiency: the detection algorithms should define the features in small time to provide real time application.
Quantity: Detect most of image's features.
The detection and the description of the local features are two essential steps in a large number of applications for computer vision.The feature detector algorithms detect regions that have to be represented in a mathematical form to use them in a matching process.Two images (or objects in two images) will be matched when they have similar descriptor [6].The extracted feature's descriptor could be calculated from parametric model, second order statistic, image's transformed parameters, or combining between these measures [ .The images matching will be the next step for features detection and description.Image matching which is done by feature matching is a process of creating agreement between two images of the same object or the same scene.In the step of feature matching, the tested image descriptors and the stored images descriptors will be compared.The matching is usually depends on the distance between the descriptors such as the Euclidean distance [3][4].The image's feature matching methods can be classified as the global matching methods and the local matching methods based on the extracted features.The local features matching methods are more robust in contrast to the global feature matching methods.There are wide applications in a real world like retrieval of image, object tracking and recognition, creating panoramas, and video processing [14].

Edge
The pixels where the intensities are vary suddenly called edge.Edge also defined as the image's pixels that have varying amplitude and divide two segments where the intensity of pixels on the edges sides are discontinuous [1][16].

Edge Feature Extraction Techniques
Edge detection refers to the process of identifying and locating sharp discontinuities in an image (a sharp intensity transition between neighboring pixels).Edge helps in extracting information about the image e.g.location of objects present in the image, their shape, size, image sharpening and enhancement [17].The main applications of edge detection techniques are in the process of image segmentation and object detection [16].The edge detection techniques can be classified into two types:

Gradient Based Edge Detection methods
The edges are detected by searching for a minimum and a maximum in the first level of the image derivation.In image processing the first derivation created by convolving the original image with a first order derivative filters.The gradient magnitude comes from the first derivation of the image.When the gradient is above a threshold there is an object in the image.The most popular gradient based techniques are: Sobel, Prewitt, Robert, Laplacian, Canny [16][17].

Laplacian Based Edge Detection methods
The Laplacian method searches for zero crossings in the second derivative of the image to find edges.An edge has the one-dimensional shape of a ramp and calculating the derivative of the image can highlight its location.The most popular techniques are: Laplacian of Gaussian (LoG), and Canny [17].

Corner
A corner is a point for which there are two dominant and different edge directions around the point.In other words, a corner can be defined as the intersection of two edges, where an edge is a sharp change in image brightness [18].Corners are the most robust and stable local features that have well identified position [1][2].

Corner Feature Extraction Techniques
The corner detection algorithms of image can be categorized into three main classes: 1. Gradient based corner detector techniques are corner detection techniques that rely on gradients computation.Moravec, Harris, Shi-Tomasi, KLT, and Lococo are techniques used in the initial studies of corner detector, where the essential variation between them is the calculation equation of the corners.The weaknesses of these corner detectors are sensitivity to noise, the calculation complication, and there are undesirable points detected [1].

Blob or Region
The blob or region feature refers to a group of connected pixels sharing identity criteria almost the intensity of pixels [7].The intensities of pixels in the blob are darker or brighter than the intensities of neighboring pixels.
However corners provides accurate information about the image, the blobs (or regions) reflect the most information about the image [2].Generally, the corners are better localized than blob, because the position of a corner can be defined accurately by using only one point while the region (or blob) cannot be localized using one point because it is localized based on its neighbors.In the other hand with a different scale images a blob is better defining than corner.The blobs detection are less applicable for some applications such as three dimension reconstruction, and camera standardization because of the irregularity of the blob's boundaries that make well estimation of the blob scale.In another side there are image applications that the localization in the image is less important like object recognition [5].

Blob Feature Extraction Techniques
Other local feature detectors that are complement to the corner detectors are the blob detectors.Hessian and detector of salient region that depends on a probability distribution of entropy are feature detection algorithms based on the derivative.The algorithms that based on the derivative and they provide very good results in many applications.SIFT (Scale Invariant Feature Transform), DoG (Difference-of Gaussians), and SURF (Speeded Up Robust features) are the most popular and greatly used feature detection algorithms in wide range of problem [5].

Global Features
Global features are used to extract semantic information of the whole image, represent image visual information in a compact form, and perform better for those images that have the close visual similarity between visual contents [19].The image's properties that require the pixels evaluation in image as whole or region of image represent a global feature.In general the global features create a general overview of the image by representing image information statistically as one vector with values that measure various aspects of the image such as color, texture or shape.The global features can be classified into two types, the first one is the global features that depend on spatial pattern such as size, dimensions, resolution, and aspect ratio of image and the second one is the global features that depend on semantic pattern such as the average intensity of an image, and moments of an image.Actually, two image can be compared by their feature vectors that detected from both of them [1][3].The global features that can be extracted from the local features classes are more distinctive.Global features are useful for very large datasets in the web-scale image indexing application and for applications where a rough segmentation of the object of interest is available.The image's background and foreground together create the global features because the global features don't recognize between them.In the other side, there is an increasing need for local features descriptors running in a real time for processing large amount of data or executing on the mobile devices, these descriptors need to create an accurate results, provide a fast calculation, provide a fast matching, and provide a well memory usage.In addition the descriptors of the local features can deal with obstruction and lost objects therefore they are good for the process of matching image on the mobile devices [3].

Global Features Extraction Techniques
There are large numbers of visual information in an image that must be detected and combined using specific methods.There are various feature detection algorithm locally and globally for texture, shape, and color.Histogram for global color or for global intersection is method for global feature extraction that requires the entire image [20].
The brightness histogram is a global descriptor of the image giving the estimate of the probability density that a pixel has a given brightness.Another example of global information is the co-occurrence matrix; the co-occurrence matrix is useful in describing texture.The integral image is another matrix representation that holds global image information [21].

Comparison between global features and local features
The features in any image can be categorized to global and local, where the essential differences between them are: 1.The whole image information extracted by the global features therefore when detecting features it is not require to divide an image or to create an initial processing step while the local features focus on a particular image's region therefore a partitioning or a pre-processing stage is mandatory [22] 5. Global features are compressed, much faster, have easy calculation, and need small amount of memory, all of these are advantages of global features, while the image may contain large number of local features therefore a considerable memory space is required.The researchers make a suggestion to solve this problem by grouping the local descriptors of an image in a built-in vector and perform a dimensionality reduction [3].
6.The global features suffers from some limitations, where the global features are critical to occlusion and noisiness and not invariant to considerable transformations since the foreground and background are mixed together consequently misleads the feature extraction performance.In contrast, the local features are more effective for object recognition and images matching because they are more special and steady in the image's region that are smooth [3][5].

Conclusion
There are various types of the techniques that are used for extracting features from the image.These techniques will be come under main categories (edge, corner, blob or regions).The features used to define the image therefore detecting the best features based on the strength of the feature extraction technique.Every technique has its own performance and produce different results.The application, the image structure, and the level of invariance will mainly select which category and which one of the existing techniques will be used.

Fig. 1 -
Fig. 1 -Different Types of Features [1].The feature detection and the feature description are two essential steps for the feature extraction, where the feature extraction defines the interest areas in the image using feature detectors (feature detectors are the methods of identifying visual features or keypoints in the image), and the feature description calculate the invariant feature vectors (or descriptors) for all visual features (feature descriptors are the methods that represent the features numerically based on their neighborhood).Then a further process (such as matching with different images) will be done by using feature descriptors[1][2][3][4]. Feature detection is an image processing operation with low level operation and usually it is done as a first process on the image.According to the segment structure the low level features of the image can be local structure (such as corners and blobs) or semi local structure (such as edge and ridge)[2].In general the feature detectors techniques can be categorized to three classes: SingleScale, MultiScale, and affine invariant detectors.The SingleScale detector means that there is only one representation for the features using the internal parameters detectors.The SingleScale detectors are invariant to the transformations in the image like translation, rotation, noise, and illuminations changes, but not deal with the scaling problem.MultiScale detectors can extract special features reliably under scale changes.An affine invariant detector is a detector invariant to scale[1][2][3].Detecting ideal features should be done by the efficient feature detection algorithms, therefore they should have some or all of the following properties[3][7][14][15]:
[3] salient region represents a group of pixels related spatially and has a little environmental effect like changes by illumination.An image defined by a group of the local features detected from a group of an image's region.The local feature is called feature, interest point, visual feature, or keypoint[1][2][3].The image features, such as corners, blobs, and edges produce meaningful information about the content of image.The local features will improve the robustness and save computation by discarding most of the image content.Local image feature detection are fundamental in many applications of a computer vision and an image processing like image analysis, recognition, matching, reconstruction, etc.[1][2].
[3]2][3].Although there are many descriptor of image's features but the repeatedly used descriptors are: Scale Invariant Feature Transform (SIFT), Speeded Up Robust Features Descriptor (SURF) is an efficient descriptor as SIFT but faster, Efficient Dense Descriptor (DAISY), Gradient Location Orientation Histogram (GLOH) is also an expansion of a SIFT descriptor, Local Intensity Order Pattern (LIOP), Local Binary Pattern (LBP) describes the texture spatial structure and provides the characteristics of invariant transformations for the gray-levels, Binary Robust Independent Elementary Features (BRIEF) which is classified as descriptor of a low bit rate and binary descriptors like LBP, BRISK.The good descriptor must be capable of dealing with images that have various illumination and geometric anomalies like blurring, scaling (zooming), rotation, and lighting changes.Object recognition, object tracking image classification, and camera standardization are some examples for applications that need to use robust features detectors and descriptors (less sensitive to illumination variation and images deformations).In another hand face detection and face recognition applications need a particular features detectors and features descriptors[3][6]

2 .
[1]plate based corner detectors techniques are corner detection techniques where the corners detected by matching pixel's intensity in the center with its neighboring pixels.The matching function based on the pixels in the center and the surrounding pixels.SUSAN (Smallest Univalue Segment Assimilating Nucleus), FAST (Features from Accelerated Segment Test), and AGAST (Adaptive and Generic Accelerated Segments Test) are examples of corner detector methods (template) [1].3.Contour based corner detector techniques are the techniques that detecting the image's features (i.e.corner) depending on the contour (edge) and boundary of objects.These methods used for detecting the points that come from the intersection of the edges contours[1].
[3]].2.The size, the histogram, the shape, and the color of the entire image are examples about the information included in the global feature vector.The histogram, the shape, and the color of a certain region of the image are examples about the information included in the local feature vector, when the local feature algorithm detects n keypoints in the image, there are n vectors describing each shape, color, orientation, texture and more[3][15].3. It is very effective to use the global color or global texture for image evaluation in different fields of research or finding the identical images within the database, in another hand the local features are very effective and suitable for object classification, recognition, and searching for the identical scene or object [3][5][19].4. The spatial information of an image don't needed with the global descriptors therefore they are susceptible to provide false affirmative like histogram for global color and histogram for intersection, while the local descriptors require spatial information of an image that make them more efficient than global descriptors like histogram for local color, histogram for color difference [22].