# General Moving Object Localization from a Single Flying Camera
## 5 Implementation
### Comparison with Other Techniques  
We compare our algorithm with the classical stereo vision technique of computing image disparity and then calculating the distance from the image disparity. This comparison is performed only for the stationary pedestrian case. We used two images of the pedestrian taken from the drone's camera placed 1 m apart (not in flight) and we used the same pedestrian detector (based on the HOG descriptor) to find the boundary boxes and then the centroids. The image disparity between the two centroids is then used to compute the distance in the same way as classical stereo vision. Table 7 shows the results.  
While our method performs worse at a short depth (2.75 m), it actually works better than the classical method for the longer depths. This is because at shorter depths, the object disappears from the drone's view rather quickly, so we can only use the earlier images in the sequence, which correspond to a small baseline. For longer depths, the object stays in view of the drone's camera as the drone flies over a longer distance, thus generating a larger baseline.  
We note that at the shorter distances of 5.5 and 7.25 m, the classical stereo vision method has a large depth error rate. The reason for this is because the image feature used in the computation is only the centroid of the bounding box from the pedestrian detector. There are errors in computing this centroid, and when this is divided by a small denominator (i.e., the shorter distances), it results in a larger relative error.  
We further compare our method with the method proposed by [PERSON] et al. [31]. In their approach, they placed colored markers on their target and used a drone with a single camera to fly to a second location to obtain the image disparity of the colored marker, so as to estimate the depth for UAV landing control. Their experiments were conducted only in the range of 2 m. In this evaluation, we extend their method by placing a larger marker on our object so that it can be seen from further away, and we made the drone fly sideways for a distance of 15 m to capture the second image. In our method, the distance travelled by our drone after taking 40 images at 200 ms is 15.5 m, which makes the comparison fair. However, in our method we use the HOG pedestrian detector to detect the bounding box and the centroid, while in [PERSON] et al.'s method they use color thresholding to detect the centroid of their circular marker. Table 8 shows the results.  
The results showed that our algorithm can estimate depth with an equal or better accuracy than [PERSON] et al.'s method. As both the baselines are almost the same, the depth error rates are  
\begin{table}
\begin{tabular}{c c c c c} \hline \hline  & \multicolumn{2}{c}{**Classical Method**} & \multicolumn{2}{c}{**Our Method**} \\ \hline
**Actual Depth, Z** & **Measured Depth, Z’ (m)** & **Depth Error Rate (\%)** & **Measured Depth, Z’ (m)** & **Depth Error Rate** \\ \hline
2.75 & 2.41 & 12.4 & 2.35 & 14.5 \\
5.50 & 4.93 & 10.4 & 6.01 & 9.3 \\
7.25 & 7.84 & 8.1 & 7.51 & 3.6 \\
9.00 & 9.35 & 3.9 & 8.96 & 0.4 \\ \hline \hline \end{tabular}
\end{table}
Table 8: Comparison with other systems (stationary case).  
\begin{table}
\begin{tabular}{c c c c c} \hline \hline  & \multicolumn{2}{c}{**[PERSON] et al. [31]**} & \multicolumn{2}{c}{**Our Method**} \\ \hline
**Actual Depth, Z** & **Measured Depth, Z’ (m)** & **Depth Error Rate (\%)** & **Measured Depth, Z’ (m)** & **Depth Error Rate** \\ \hline
2.75 & 2.41 & 12.4 & 2.35 & 14.5 \\
5.50 & 4.93 & 10.4 & 6.01 & 9.3 \\
7.25 & 7.84 & 8.1 & 7.51 & 3.6 \\
9.00 & 9.35 & 3.9 & 8.96 & 0.4 \\ \hline \hline \end{tabular}
\end{table}
Table 7: Comparison with the classical method (stationary pedestrian).  
similar, with our method being slightly better at longer distances but poorer at shorter distances. The difference is caused by them using a circular marker, which they can extract more accurately at shorter distances but not at longer distances.