The orb algorithm thesis comes from "orb: an efficient alternative to sift or surf". The author is willowgarage, a company maintained and developed by opencv. The paper is named awesome, the orb algorithm is two orders of magnitude more efficient than the sift algorithm. It is widely said that orb's comprehensive performance is the best in various evaluations.
The orb algorithm is used for fast Key Point Detection + brief features. 1. Assume that a secondary graph is given. Section 3rd: first use the ofast algorithm to detect the location of key points. Ofast is the fast of orientation, which adds the angle direction of the key point for calculation. 2. Use the fast algorithm to find the location of the key point. 3. for key points, use Harris corner points to detect and select the Top N best points. 4. The fast algorithm cannot process multi-scale images. If multi-scale images need to be processed, the original image is made a pyramid, and then steps 2 and 3 are processed for each image. 5. Calculate the direction of each corner point based on the intensity centroid algorithm. Section 4th: rbrief, brief, rotation-aware brief6. brief Algorithm for rotation sensitivity is undirected. 7. Take the Angle Point direction calculated in 5 as the direction of brief and rotate it to get the directed brief, that is, steered brief. Steered brief causes performance reduction. In section 4.2, the author said that the value of each bit of the brief feature is either 0 or 1, so the mean value is 0.5, and the variance value is large. As shown in figure 3, the mean value of the brief feature is much greater than 0, which is far from the mean value of 0.5. However, after the steered brief feature is added to the direction of the Angle Point, the distribution of the feature mean is relatively average, that is, the variance is smaller than the mean of 0.5. The larger the variance, the better the differentiation performance. This is a good understanding. The larger the difference, the larger the difference between features. The better the classification. If all features are similar and close to the mean, the better the classification is. Therefore, the performance of steered brief is definitely inferior to that of brief. So, why does steered brief cause variance to become smaller? Maybe it is the direction of the image's corner point. There is a statistical property that makes the variance smaller. The other is the correlation between features. For brief and steered brief as PCA, their main energy is in the first 10 ~ 15 master credits. 8. Use a greedy learning algorithm to filter steered brief with high variance and no correlation. The result is rbrief. 9. Orb features are the combination of ofast and rbrief. In my opinion, ORB does not strictly design the algorithm process, select algorithm parameters, perform multi-scale operations, extract feature details, and match feature policies. If you implement the code from the beginning, there are still many things to consider. If you identify this, different implementations may bring different performance differences. When implementing the orb algorithm, we need to implement the relevant algorithms, such as fast, Harris, intensity centroid, and brief, which involve a lot of things and have very attractive performance, we hope that good open-source implementations can be released.