[Zz] comparison and analysis of three powerful object recognition algorithms: sift/surf, Haar features, and generalized Hough Transformation

Source: Internet
Author: User

Recognition Algorithm Overview:

 

Sift/Surf is based on grayscale images,

1. First, create an image pyramid to form a three-dimensional image space. Use the Hessian matrix to obtain the local maximum value of each layer, and then perform NMS at 26 points around the Extreme Point, in this way, a rough feature point is obtained, and the layer (scale) of the precise feature point is obtained by quadratic interpolation, that is, the scale is not changed.

2. Select a corresponding area of the scale for the feature points and find the main direction. Sift calculates the gradient direction of all points in a square area, and finds the direction that accounts for more than 80% of the points as the main direction; in contrast, surf selects a circular area, and uses the active sector method to find the main direction of the feature point. If the main direction is aligned, the rotation will not change.

3. Coordinates can be created for each feature point based on the axis in the main direction. Sift selects a Square area corresponding to the scale in the feature point and divides it into 16 parts, count the proportion of each piece along the eight directions, so the feature points form a 128-bit feature vector, and the intensity of the image is not changed after normalization; and surf is divided into 64 parts, calculates the sum of DX, Dy, | DX |, | dy | of each block, and forms a 128-dimension vector. After normalization, the contrast and intensity are not changed.

 

Haar features are also based on grayscale images,

First, a classifier is trained through a large number of object images with obvious Haar features (rectangles) using pattern recognition. The classifier is cascade, each level is retained to the next level of candidate objects with the same recognition rate, and each level of sub-classifier is composed of many Haar features (calculated from the integral image, and save the location). The sub-classifier has a horizontal, vertical, and skewed position. Each Shard has a threshold value and two branch values. Each sub-classifier has a total threshold value. When recognizing an object, we also calculate the integral image to prepare for the subsequent calculation of Haar features. Then, we use a window of the same size as the window of the object during training to traverse the entire image and gradually enlarge the window, traverse the search object. When the window moves to a position, the Haar feature in the window is calculated. After weighting, compare it with the threshold of the Haar feature in the classifier to select the left or right branch value, if you accumulate a level of branch value and compare it with the threshold value of the corresponding level, you can enter the next round of screening only when the threshold value is greater than this threshold. When the classifier is used, it indicates that the object is recognized with a high probability.

 

The Generalized HOUGH transformation is also based on grayscale images,

Using the contour as a feature, the gradient information is integrated and the object is identified by voting. This blog will discuss it in detail in another article, which will not be repeated here.

 

 

Comparison of features, similarities and differences and their applicability:

 

All three algorithms are feature methods based on the intensity (gray scale) information. However, the sift/Surf feature is a feature with strong directionality and brightness, which makes it suitable for rigid deformation, the Haar feature recognition method is applicable to objects with obvious and stable Haar features such as human faces, as long as the structure is relatively fixed, it can still be identified even if non-linear deformation such as distortion occurs. Generalized HOUGH transformation is completely accurate matching, and parameter information such as the position and direction of the object can be obtained. The first two methods are based on obtaining local features first and then matching them one by one, but the calculation methods of local features are different. Sift/Surf is complex and stable, and the Haar method is relatively simple, biased towards a statistical method to form features, which also gives it a certain degree of fuzzy elasticity; Generalized HOUGH transformation is a global feature-contour gradient, however, it can also be seen that the position and gradient of each point in the entire contour are all features, and each point contributes to recognition. You can use an intuitive vote to determine whether to identify an object based on the number of votes.

 

 

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.