## 1 Introduction  
If faults, such as distortion, cracks and defects, occur in engine parts, it will damage mechanical equipment and cause trouble for engineering applications. Many kinds of signals have been used for mechanical fault diagnosis, such as vibration signals [1] and acoustic signals [2]. In recent years, in order to quickly and accurately detect faults, image detection, on-line monitoring, infrared thermography [3] and automatic target recognition have been proposed. Among them, the feature point matching algorithm is the key algorithm in image detection for the faults of cylinder head hole. In this algorithm, feature selection is an important issue. Image features can be roughly divided into color, texture, shape and spatial relationships. The methods for extracting color features include: color coherence vector, color set, color histogram and color correlogram. The methods for extracting texture features include: statistical methods, such as gray-level co-occurrence matrix [4], geometric methods, such as Voronoi chessboard characteristic method and structure method [5], model methods, such as Markov random field [6] and conditional random field, and signal processing methods. The methods for extracting shape features include: boundary feature extraction methods, such as Hough transform [7] and Canny method [8], geometric parameter methods and shape invariant moments methods. The methods for extracting shape features include region segmentation and object segmentation. Based on the combination of color, texture, shape and space features, some feature matching detection algorithms which are more efficient have been developed. The classic methods among them are: determinant of Hessian (DOH) features [9], Haar features [10], features from accelerated segment test (FAST) [11], local binary pattern (LBP) features [12], scale-invariant feature transform (SIFT) [13] and speeded-up robust features (SURF) [14]. The SIFT algorithm has strong scale invariance and rotation invariance, as well as robustness in transform of blur, view angle, illuminance and image compression. It was improved by [PERSON] in 2004 [13]. However, this algorithm is not in real time. [PERSON] and [PERSON] improved SIFT to SURF, which greatly improved the efficiency of the algorithm [14]. First, this algorithm uses different scales Hessian matrices to generate the key points of image stabilization, and then uses the determinant of Hessian to extract local maxima points as the interest points. Then, all the interest points obtained by Hessian matrix are compared with 26 points in its three-dimensional space neighborhood, and the largest interest point in its three-dimensional space neighborhood is selected as the primary key point, so that the key points of weak energy are filtered out. Finally, the direction corresponding to the maximum value in the direction histogram is selected as the main direction of the feature point, and the feature point descriptors are obtained. Both SIFT and SURF are highly robust, but do not have excellent real-time performance. SURF is not as complex and time-consuming as SIFT, but SURF still requires a lot of calculation to obtain the main direction and feature descriptors. In order to improve the speed of extracting the features and obtaining feature descriptors to meet the requirements of practical tasks, more algorithms have been proposed, such as Haar, FAST, binary robust independent elementary features (BRIEF), Oriented FAST and Rotated BRIEF (ORB) [15], LBP, etc. In 2002, [PERSON] and [PERSON] extended the Haar feature library using diagonal characteristics [16]. In 2014, [PERSON] et al. proposed a pedestrian detector based on Haar-like features, which has good robustness in many situations [17]. Furthermore, [PERSON] et al. proposed a fast feature extraction algorithm, ORB, based on FAST and BRIEF [15]. The algorithm is widely used in many fields that need feature point matching because of its fast computing speed. Then, [PERSON] et al. proposed a method for breast tumor detection based on LBP in 2016 [18].