## 3 Target Detection and Tracking Algorithm
### Hough Transform-Based Algorithm for Concentric Circular Pattern Targets  
Different from square checkerboard patterns, the concentric circular pattern does not have any corner-like feature points. Therefore, methods based on the image spatial gradient, including the Harris-Stephens feature detection algorithm and KLT feature tracking algorithm, are no longer suitable for identifying and tracking concentric circular patterns. Rather, the Hough Transform [40] is a common technique for circular shape detection and localization. In 2-D space, a circle with a center point at (\(a\), \(b\)) and radius of \(r\) can be represented as follows:  
\[\left(x-a\right)^{2}+\left(y-b\right)^{2}=r^{2} \tag{4}\]  
If a point (\(x_{0}\), \(y_{0}\)) is given to be on a circle with unknown center point (\(a\), \(b\)) and unknown radius \(r\), the point can be mapped to the parameter space (\(a\), \(b\), \(r\)) using the following equations:  
\[a =x_{0}-r\cdot\cos(\theta) \tag{5}\] \[b =y_{0}-r\cdot\sin(\theta) \tag{6}\]  
where \(\theta\) is an angle ranging from 0 to 2\(\pi\). For each \(r\) value within a given radius range, a series of candidate (\(a\), \(b\)) values can be computed as \(\theta\) varies from 0 to 2\(\pi\). Therefore, a series of (\(a\), \(b\), \(r\)) parameter sets can be obtained. A 3-D accumulator array \(A(a\), \(b\), \(r)\) is developed to record the counts of each parameter set for all points (\(x_{0}\), \(y_{0}\)) on the circle. Finally, the peak value in the accumulator \(A(a\), \(b\), \(r)\) corresponds to the most likely circle parameters (\(a\), \(b\), \(r\)). A Hough Transform-based algorithm is proposed to determine the geometric center of the concentric circular pattern in each video frame based on the pre-defined initial ROI (in the reference video frame). In this study, the Type 4 target is a concentric circular pattern with three circles. Detection of the circular shapes and their center points is implemented based on the following steps:  
* **Step-1**: The Canny edge detection [36] is performed on the initial ROI grayscale image to obtain sub-pixel coordinates for the edge points of circles. * **Step-2**: The Hough Transform is performed in the ROI grayscale image. Because there are three circles in each target, a heuristic clustering algorithm is applied to cluster all circle parameters (\(a\), \(b\), \(r\)) into three clusters based on the radius value \(r\). Each cluster center represents the center point and radius of each circle. * **Step-3**: The geometric distance between the center point of the inner circle and the mean of the center points of the other two circles is determined. If the distance is greater than one pixel, the center point of the inner circle will be suppressed for the calculation of the target geometric center. This step aims to avoid the potential inaccurate detection of circles with small diameters. During the implementation, some unstable detections are observed for the center point of the inner circle in the pattern. The diameter of the inner circle is 6 cm, corresponding to only five to six pixels in the video frame. For circles with a small radius, the number of edge points on the circumference is relatively small. Since the Hough Transform relies on accumulation of the parameter set from edge points, the low number of edge points results in fewer votes in the accumulator. Therefore, the inner circle is more difficult to detect and localize than the other two circles. * **Step-4**: The geometric center of the target (\(u\), \(v\)) is computed as the mean of center points of all the unsuppressed circles. An example of circle detection and target center extraction for Type 4 target is shown in Figure 6.
* **Step-5**: Repeat steps 1 through 4 for all video frames. In each video frame, the ROI is updated as a 51 \(\times\) 51 pixel-sized region with the center point (\(u\), \(v\)) as the target centerdetected in the previous video frame. The algorithm finally returns a time series of the geometric center of the target with sub-pixel level accuracy.