## 4 Real-World Use Cases with Sample Results
### Object Detection--Embedded Device  
Object detection is one of the fundamental tasks in the design of autonomous robots. It can provide information about \"what objects are where\", providing a foundation for understanding the visual scene [50].  
Although, given a well-performing scene segmentation algorithm, one can view object detection as redundant, it is often used alongside semantic segmentation, serving as a safety mechanism that provides results decoupled from the segmentation pipeline. Alternatively, it may be used to locate objects that are rare or small and, therefore, easily omitted by other approaches. Sometimes, object detection can also be used as a preprocessing step for semantic segmentation by first detecting the region of interest and then segmenting objects more accurately.  
The presented simulator can be instructed to generate object detection annotations for any objects present in the scene, but it primarily generates them for rocks. This is mainly due to the lack of any significant objects of interest present in the lunar landscape. However, rock avoidance can be viewed as a crucial task for autonomous lunar rover operation or sample extraction. The size characteristics of the rocks are randomised, to generate diverse instances with varying sizes.  
To demonstrate the accuracy and feasibility of the automatically generated object annotations, YOLOv7 [51] (tiny version) was trained, using simulation data. This specific algorithm was selected as it achieves State-of-the-Art results while maintaining an inference speed sufficient for on-board processing. Moreover, we quantised the model weights and benchmarked its accuracy and performance on the Edge AI device, Jetson Xavier NX, which is an embedded CPU with a GPU designed by Nvidia for edge computing devices. It is small, lightweight, energy-efficient, and equipped with software tools like TensorRT that make it easy to develop and deploy AI applications--in particular, based on convolutional neural networks (CNN) and computer vision (CV). Performed tests include floating-point, half-floating-point, and eight-bit integer quantisation done through minmax scaling. The most widely used metric, mean average precision (mAP), was applied. The results are shown in Table 1. Then, an ROS-based application was developed. It uses a colour image (/lunarsim/depth_camera/depth topic) to detect rocks and depth information (/lunarsim/left_camera/compressed topic), to estimate their real world size.  
An example result of node inference is shown in Figure 5. It contains a real image provided by ALLD (A) and our synthetic image from the test set (B).  
The comparison shows that the reduced floating point representation improves processing speed and detection accuracy. Speed can be further improved by using the 8-bit integer format but at the cost of degraded detection performance. False negatives are usually the result of a relatively small rock size associated with a large rover-to-rock distance. Performance can be easily improved by using a more complex YOLOv7 variant, but image processing speed will be negatively affected.  
Figure 5: The images showcase the sample results of the YOLO algorithm prepared for rock detection tasks, using our synthetic images for training: (**a**) image from the ALLD (real part) dataset; (**b**) image from our synthetic dataset.