## 4 The Proposed Measuring Method
### FPDD Strategy  
Boundary-sensitive features such as SIFT, SURF, ORB (Oriented FAST and Rotated BRIEF), and AKAZE [37] were potential indicators of the rib plates and the drive bore. In addition, AKAZE [38]  
Figure 6: Image pre-processing and FPDD: (**a**) original captured image, (**b**) perspective transform and the ROI, (**c**) the FPDD strategy. Points with same color are clustered into one group, and the isolated red point is recognized as outlier.  
and MinEigen [39] algorithms have been to be found superior in feature-point density for remote sensing. AKAZE was finally adopted, and it is compared to other features in Section 5.  
As shown in Figure 6c, the AKAZE algorithm was applied to detect feature points in the ideal ROI. It was found that the distribution densities of feature points near the rib plate were very high and few feature points could be found in the rib plate area. DBSCAN [40] (Density-Based Spatial Clustering of Applications with Noise) is a popular density-based clustering algorithm which has been successfully used in many real-world applications [41]. It was applied in this paper to cluster feature points into several groups corresponding to rib plates and drive bores, as shown in Figure 6c, where feature points in different clusters are marked in different colors. Some feature points away from the rib plate areas were eliminated as outliers.  
Coordinate transformation was then conducted to convert feature points into polar coordinates (\(\theta\) and \(\rho\)), and the origin of the polar coordinates coincided with the center of the main bore. To keep pace with the drive bore position (\(\alpha\)), the zero degree line was downward from the center of the main bore and the clockwise direction was defined as the positive direction. The _FPDD_ was defined as the standard deviation of angular position of feature points distributed in each cluster. The _FPDD_ is defined in Equation (3).  
\[\textit{FPDD}_{k}=\textit{STD}\big{(}\theta_{fp}\big{)},\ f\textit{p}\in \textit{Cluster}_{k},\ k=1,2\ldots,\ N \tag{4}\]  
where \(k\) is the \(k\)-th cluster (_Cluster\({}_{k}\)_) of feature points, \(N\) is the total number of clusters, \(fp\) is a feature point, \(\theta_{fp}\) is the angular position of the feature point, and function _STD_ represents the calculation of standard deviation.  
The _FPDD_s calculated for the eight clusters when the drive bore was at zero position (\(\alpha=0^{\circ}\)) are shown in Figure 7, in which the horizontal axis represents the mean angular position of feature points in each cluster. The horizontal axis value of the cluster with the highest _FPDD_ (\(\varphi_{\textit{FPDD}_{max}}\)) was regarded as the angular position of the drive bore.  
We then defined \(\Delta_{\varphi}\) as the error between actual spool angular position and the pre-located position \(\varphi_{\textit{FPDD}_{max}}\) in Equation (5).  
\[\Delta_{\varphi}=\varphi_{\textit{FPDD}_{max}}-\alpha \tag{5}\]  
To check the robustness of the FPDD strategy, we calculated \(\Delta_{\varphi}\) for \(\alpha=0^{\circ}\), \(1^{\circ}\),..., \(360^{\circ}\). The result is shown in Figure 8. We found that all \(\Delta_{\varphi}\) values were in the range \([-6^{\circ},\ +4^{\circ}]\), presenting acceptable robustness.  
Figure 7: Calculated _FPDD_s for eight feature-point clusters.