## 3 Integration of the Computer-Vision-Based Localization into the AV's Navigation Stack
If multiple visual landmarks have a similar detection performance, then their bounding boxes are compared, and the decision is made based on the higher intersection over union (IoU) value. If the IoU value is also similar, the visual landmark is selected randomly. In our empirical study, we assumed that the visual landmarks were allocated with the distance of 20 m between each other, which makes multiple detection almost impossible. The detection module is the initial component that informs the other two modules if there  
Figure 2: Schematic representation of how the proposed computer-vision-based localization might be integrated into the AV navigation system process—our design example. The process might be represented as an iterative algorithm that incorporates verification of the navigation and localization facilities the AV is equipped with, and it employs them if available. are any artificial visual landmarks detected. The other two modules operate in parallel in order to reduce the time for the information retrieval. Such a combination of actions makes it possible to minimize the time required to perform localization and mapping. Instead of approaching within a certain distance to the tag to properly recognize it, the retrieval process is constantly performed throughout the AV's approach. The detection module utilized the YOLOv4 ML object detection model [33] that was pre-trained on the MS COCO dataset [34]. This is a reliable version of a well-known architecture that outperforms other popular ML models in terms of both performance and efficiency [33]. The approach module operation was based on the software provided by the Nvidia Isaac \"Followme\" software development kit [32]. This software allows for AVs to perform the recognition of the detected object and correct the movement actions while approaching it. The original programming logic for the \"Followme\" component implies that the AV should be close enough to the AprilTag to recognize it. When considering extreme environmental  
Figure 3: Schematic representation of the proposed computer-vision-based system architecture and its operation—our design example. The proposed architecture is composed of three modules: detection, approach, and retrieval. The detection module is responsible for analyzing the visual data obtained from the on-board camera and detecting artificial landmarks. The approach module is responsible for keeping the visual landmark in the AV’s on-board camera field of view by adjusting the movement while approaching. The retrieval module is responsible for recognizing the AprilTag and retrieving the information on the GPS coordinates. conditions, this might be impractical, as it will deteriorate the AV's operation effectiveness and efficiency. To minimize the approach time in order to improve the overall navigation and localization system efficiency, we introduced our modifications into the \"Followme\" source code. Instead of initially detecting the AprilTag and using it as a reference point for the approach, we switched to the visual artificial landmark as the initial object of interest for detection. Harsh weather conditions significantly deteriorate the AprilTag's visibility and detectability, especially from a large distances. Artificial visual landmarks themselves are rather large and more visible in such conditions, which makes them good candidates to be utilized as reference points. Hence, the AV can detect these artificial visual landmarks from a longer distance and spend less resources for this detection, which makes navigation more efficient. Once the visual landmark is detected, it is approached until the information is retrieved successfully from the AprilTag, which is printed on this landmark. The successful information retrieval means that the current location is extracted from the AprilTag. The AV stores the ID of the AprilTag, which is related to the GPS coordinates represented in the format of _DD.DDDDDD_, _DDDDDD_, where _DD_ stands for the longitude and latitude values. An example of the encoded data is 40.17312, 42.84121.