domain: chim sdv spi

text:
Iman Zare

Daniel M Chevrier

Anna Cifuentes-Rius

Nasrin Moradi

Yunlei Xianyu

Subhadip Ghosh

Laura Trapiella-Alfonso

Ye Tian

Alireza Shourangiz-Haghighi

Saptarshi Mukherjee

Protein-protected metal nanoclusters as diagnostic and therapeutic platforms for biomedical applications

à la diffusion de documents scientifiques de niveau recherche, publiés ou non, émanant des établissements d'enseignement et de recherche français ou étrangers, des laboratoires publics ou privés.


Juliette Drupt
email: juliette.drupt@gmail.com

Andrew I Comport
email: andrew.comport@cnrs.fr

Claire Dune
email: claire.dune@univ-tln.fr

Vincent Hugel
email: vincent.hugel@univ-tln.fr

MAM 3 SLAM: Towards underwater-robust multi-agent visual SLAM

Keywords:

. This evaluation is performed on two agent scenarios and uses one standard airborne dataset and three new underwater ones. It uses the set of criteria dened previously. Evaluation results show that MAM 3 SLAM outperforms the two competing works and is notably more robust to underwater visual conditions.

Introduction

In underwater robotics, the most common missions involve covering large areas, for instance exploration and mapping, biological or archaeological sample collection or marine infrastructures inspection and maintenance. A now well-accepted strategy for speeding up large-area mapping is to use eets of robots [START_REF] Murphy | Marine heterogeneous multirobot systems at the great eastern japan tsunami recovery[END_REF]. Multiple ROVs can also be deployed to manage the cable which provides realtime wired communication between a ROV and a teleoperation station [START_REF] Laranjeira | Catenarybased visual servoing for tether shape control between underwater vehicles[END_REF][START_REF] Drupt | Inertial-measurement-based catenary shape estimation of underwater cables for tethered robots[END_REF]. These ROVs are then chained along the cableto control its shape, prevent entanglement, and counteract the forces generated by the drag on the cable. The aforementioned applications need individual but also inter-robot localization within their environment to operate safely, hence the interest in multiagent simultaneous localization and mapping (SLAM) algorithms. Conversely, multiple agents involve largest region coverage with multiple views, such that multiagent SLAM can be expected to map a wider area in a restrained time, and with an improved robustness due to the multiplication of the viewing points. However, underwater multi-agent SLAM is generally addressed in the case of Autonomous Underwater Vehicles (AUVs) which have limited communication through the water medium [START_REF] Song | A distributed localization hierarchy for an AUV swarm[END_REF][START_REF] Mangelson | Communication constrained trajectory alignment for multi-agent inspection via linear programming[END_REF][START_REF] Özkahraman | Collaborative navigationaware coverage in feature-poor environments[END_REF]. The specicity of the present work is to consider ROVs instead of AUVs, allowing real time communication between the robots and a central surface server.

Underwater SLAM usually relies on multi-sensor fusion, including visual, inertial, depth and acoustic measurements, but some works highlight the interest of visual SLAM for underwater applications [START_REF] Joshi | Experimental comparison of open source visual-inertial-based state estimation algorithms in the underwater domain[END_REF]. Cameras have low cost, weight, and power consumption compared to acoustic technologies. In addition, they provide rich information about their environment, and monocular cameras are the main feedback sensors used for remotely operated structure inspection and scientic exploration. While visual SLAM (VSLAM) is widely investigated for airborne applications, underwater visual conditions are more challenging due to backscattering, selective color absorption, turbidity, and the eect of embedded light on the scene aspect in deep sea missions. However, recent works demonstrate that VSLAM algorithms based on ORB-SLAM (Mur-Artal and Tardós, 2017) can be robust to underwater conditions to some extent, even in the monocular case [START_REF] Li | Experimental comparison of open source vision-based state estimation algorithms[END_REF][START_REF] Joshi | Experimental comparison of open source visual-inertial-based state estimation algorithms in the underwater domain[END_REF][START_REF] Hidalgo | Monocular ORB-SLAM application in underwater scenarios[END_REF]. In particular, ORB-SLAM Atlas [START_REF] Elvira | ORBSLAM-Atlas: a robust and accurate multi-map system[END_REF] is identied as a promising solution for underwater, monocular VSLAM [START_REF] Drupt | Qualitative evaluation of state-of-the-art DSO and ORB-SLAM-based monocular visual SLAM algorithms for underwater applications[END_REF], which can cope with most tested scenarios.

Building on ORB-SLAM Atlas [START_REF] Elvira | ORBSLAM-Atlas: a robust and accurate multi-map system[END_REF], this paper presents a new multi-agent and multi-map monocular VSLAM framework, namely MAM3 SLAM, as a solution for the localization of multiple ROVs operating in a common area. In this multi-ROV scenario, allowing real-time communication with a powerful server without communication restrictions, the proposed approach is fully centralized, meaning that all the computations are performed on this central server. The contributions of the current work can be listed as follows:

The introduction and release of MAM 3 SLAM1 , which extends ORB-SLAM Atlas to a multi-agent case, where multiple agents can localize in the same maps and access and update their data collaboratively The collection and release of an underwater benchmark dataset for two-agent systems, composed of two pool sequences and one sea sequence2

The proposal of several multi-agent SLAM evaluation metrics; an evaluation of MAM 3 SLAM on one standard airborne dataset and these three new underwater sequences 3 and an intensive comparison with state-of-the-art CCM-SLAM [START_REF] Schmuck | CCM-SLAM: Robust and ecient centralized collaborative monocular simultaneous localization and mapping for robotic teams[END_REF] and ORB-SLAMM [START_REF] Daoud | SLAMM: Visual monocular SLAM with continuous mapping using multiple maps[END_REF] works, resulting in the rst comparative benchmark of these approaches in the literature, to the authors' knowledge. While the introduction of MAM 3 SLAM is more of an engineering contribution to demonstrate the potential of ORB-SLAM Atlas-based multi-agent SLAM for underwater, visually challenging scenarios, the recording and release of the underwater datasets and the proposed benchmark are the main contributions of the current work.

Section 2 presents the related work, including VS-LAM for underwater applications and the corresponding specicities, and the state-of-the-art in terms of multi-agent VSLAM. Section 3 describes the algorithm of MAM 3 SLAM. Underwater multi-agent datasets collection is detailed in Section 4 and multi-agent VSLAM evaluation methodology is given in Section 5. Evaluation results are presented and discussed in Section 6, before concluding in Section 7.

Related work

The rst mention of visual-based SLAM for underwater applications can be found in [START_REF] Eustice | Visually navigating the RMS Titanic with SLAM information lters[END_REF][START_REF] Eustice | Visually mapping the rms titanic: Conservative covariance estimates for SLAM information lters[END_REF], where the wreck of the Titanic was mapped using a visual-based SLAM information lter, combined with navigation measurements involving a tilt sensor, a magnetometer, a Doppler Velocity Log (DVL), and pressure and altitude sensors. In line with this rst work, many more recent underwater visualbased SLAM algorithms rely on additional navigation sensors [START_REF] Zhang | Visual SLAM for underwater vehicles: A survey[END_REF] and are, therefore, not purely visual works, such that they are nally out of the scope of the VSLAM denition. Although VSLAM is widely investigated for airborne applications, only a few works focus on underwater VSLAM, and even fewer ones investigate multi-agent VSLAM for underwater.

Challenges in underwater vision

VSLAM algorithms usually assume that the scene is rigid, static and Lambertian. However, these assumptions are challenged by underwater visual conditions. Light propagation through the water is aected by back-scattering, selective color absorption, and turbidity [START_REF] Akkaynak | What is the space of attenuation coecients in underwater computer vision?[END_REF][START_REF] Wang | An experimental-based review of image enhancement and image restoration methods for underwater imaging[END_REF]. This phenomenon can be compensated by estimated the water model from one view and the corresponding depth map [START_REF] Akkaynak | Sea-thru: A method for removing water from underwater images[END_REF] or multiple views of the scene [START_REF] Boittiaux | SUCRe: Leveraging scene structure for underwater color restoration[END_REF]. Although very ecient, those techniques require a prior dense 3D mapping of the scene and are therefore not straightforward for the usual online monocular VSLAM algorithms. Attempts of image restoration steps in VSLAM works will be further discussed in Section 2.2.

The presence of embedded lights in deep sea missions also aects the aspect of the scene [START_REF] Ferrera | Aqualoc: An underwater dataset for visualinertialpressure localization[END_REF] and, conversely, scenes in shallow water can feature surface eects, known as ickering. As a result, the image of an underwater three-dimensional point depends on dierent factors including its position with respect to the camera, its depth with respect to the surface, but also the weather conditions. In extreme cases, a camera placed in open water or too far from the surrounding objects may not be able to observe the seabed or any other environment feature. This scenario can occur when a robot moves down the water column towards its working depth or if the camera is facing away from any landmark. Such a dropout example is given in Figures 1. In addition, while most airborne VSLAM works investigate indoor, industrial, or urban landscapes featuring few mobile objects and mostly articial environments, underwater applications can feature a large variety of landscapes, including low-textured, natural environments and mobile elements including sh, seaweeds, and suspended particles, as illustrated in Figure 2. Coping with the aforementioned underwaterspecic visual conditions is crucial when applying VSLAM techniques underwater. Some works investigate an image restoration step for each incoming frame [START_REF] Salvi | Visual SLAM for 3D large-scale seabed acquisition employing underwater vehicles[END_REF][START_REF] Cho | Channel invariant online visibility enhancement for visual SLAM in a turbid environment[END_REF] to correct underwater visual distortion eects. However, this operation is always an approximation and can be computationally expensive, depending on the physical accuracy of the model used. As a result, an interest has been shown for o-the-shelf, underwater robust algorithms. Evaluations of state-ofthe-art monocular VSLAM algorithms on underwater scenarios demonstrate that VSLAM works based on ORB-SLAM [START_REF] Mur-Artal | ORB-SLAM: A versatile and accurate monocular SLAM system[END_REF], and more specically ORB-SLAM Atlas [START_REF] Elvira | ORBSLAM-Atlas: a robust and accurate multi-map system[END_REF][START_REF] Campos | ORB-SLAM3: An accurate open-source library for visual, visualinertial, and multimap SLAM[END_REF] can be robust to underwater visual conditions [START_REF] Joshi | Experimental comparison of open source visual-inertial-based state estimation algorithms in the underwater domain[END_REF][START_REF] Drupt | Qualitative evaluation of state-of-the-art DSO and ORB-SLAM-based monocular visual SLAM algorithms for underwater applications[END_REF].

ORB-SLAM (Mur-Artal et al., 2015; Mur-Artal and Tardós, 2017) is a monocular VSLAM algorithm based on ORB features [START_REF] Rublee | ORB: An ecient alternative to sift or surf[END_REF], which strongly impacted VSLAM by providing a publicly available algorithm able to perform tracking, local mapping in KeyFrame (KF) windows, a tracking failure recovery module based on relocalization and loop detection and closing, along with outstanding accuracy. Relocalization and loop detection are performed by a Bagsof-Words (BoW) place recognition module based on DBoW2 [START_REF] Galvez-López | Bags of binary words for fast place recognition in image sequences[END_REF], where candidate matches are validated a second time according to consistency criteria over a window of connected KFs to reject bad loop closures. Even though it is quite robust to underwater visual conditions, ORB-SLAM is still reported to suer from critical tracking failures caused by incorrect feature matching and triangulation or visual dropouts, from which the system fails to recover. Indeed, ORB-SLAM's tracking failure recovery consists of a relocalization attempt in the map, which becomes useless when the camera moves outside the already mapped area.

ORB-SLAM Atlas [START_REF] Elvira | ORBSLAM-Atlas: a robust and accurate multi-map system[END_REF] extends ORB-SLAM with a new, improved tracking failure recovery strategy, designed to handle relocalization failures. If lost, ORB-SLAM Atlas initially tries to relocalize in the KF database, similarly to ORB-SLAM, but initializes a new map if relocalization fails within a timed window. All KFs are stored in the same database, which is queried by DBoW2 at each new KF insertion with the same place recognition module as ORB-SLAM's loop closure. Two matched maps are fused into one through a global bundle adjustment. The system can thus reuse previous mapping data after a fusion between the current map and an old one. In addition, ORB-SLAM Atlas extends relocalization to all maps of the system. An implementation of ORB-SLAM Atlas is provided in the ORB-SLAM3 library [START_REF] Campos | ORB-SLAM3: An accurate open-source library for visual, visualinertial, and multimap SLAM[END_REF], which unies recent developments on ORB-SLAM. Underwater evaluations of this work demonstrate that the new, multi-map SLAM recovery strategy of ORB-SLAM Atlas makes it signicantly more robust to tracking inconsistencies and visual dropouts than ORB-SLAM [START_REF] Drupt | Qualitative evaluation of state-of-the-art DSO and ORB-SLAM-based monocular visual SLAM algorithms for underwater applications[END_REF], making it a promising candidate for underwater visual-based localization and mapping.

Multi-agent SLAM architectures

Multi-agent SLAM systems involve several robotic agents moving around in the same area and providing local information to the system. The multi-agent SLAM problem consists of localizing these multiple agents while building a consistent map of the scene using these multiple local observations inputs. On the one hand, multi-agent SLAM allows the localization of several agents with respect to each other and their environment, while on the other hand, multiple agents involve larger scene coverage and multiple viewing angles, which is expected to increase mapping accuracy by fusing observations with wide baselines [START_REF] Cieslewski | Dataecient decentralized visual slam[END_REF][START_REF] Schmuck | CCM-SLAM: Robust and ecient centralized collaborative monocular simultaneous localization and mapping for robotic teams[END_REF]. In the current underwater application target, these properties can be expected to reduce tracking failures by relying on a more accurate map.

Two kinds of measurements can be involved in multi-agent SLAM systems. Intra-agent, or individual measurements only characterize the localization and local surroundings of the agent performing the measurement. Conversely, inter-agent, or relative measurement, characterizes the relative localization of several agents [START_REF] Cieslewski | Dataecient decentralized visual slam[END_REF]. In addition, multiagent SLAM approaches can be classied according to the distribution of their computations among the agents and an optional central server, as illustrated in Figure 3. In fully centralized approaches, all computations are done on a central server, which can be one of the agents or an external server. Other agents only perform measurements and send their data to the server. Optionally, the server can send back the estimated locations to the agents. Centralized approaches strongly rely on the server having sucient computational resources and bandwidth. As a result, they are not scalable to many agents and are not robust to communication failures. Conversely, decentralized approaches distribute the computations among the agents (fully decentralized) or between the agents and a central server (partially decentralized). The main motivations of partially decentralized approaches are to reduce the server's computational payload and provide better robustness to communication failures since agents can keep estimating a localization based on their measurements if the server is unavailable [START_REF] Schmuck | CCM-SLAM: Robust and ecient centralized collaborative monocular simultaneous localization and mapping for robotic teams[END_REF]. The scalability of such methods still depends on the server's computation resources and requires to exchange signicant amounts of data. Fully decentralized algorithms do not involve any servers. Agents communicate their measurements and, optionally, a state prior to each other, and all computations are distributed among them. Such approaches are motivated to reduce the communication bandwidth and computational requirements for a more scalable multiagent localization scheme. Decentralized works focus on reducing bandwidth requirements through communication sparsication, data marginalization, and interrobot data exchanges condensation to improve scalability and robustness to communication restrictions [START_REF] Luft | Recursive decentralized localization for multirobot systems with asynchronous pairwise communication[END_REF][START_REF] Dubois | On data sharing strategy for decentralized collaborative visual-inertial simultaneous localization and mapping[END_REF][START_REF] Özkahraman | Collaborative navigationaware coverage in feature-poor environments[END_REF]. However, fully decentralized algorithms are less accurate than those involving a central server since observations are never fused at a global scale.

Multi-agent Visual SLAM

Historically, multi-agent VSLAM has been investigated alongside single-agent VSLAM [START_REF] Zou | Collaborative visual SLAM for multiple agents:a brief survey[END_REF]. Individual measurements are provided by embedded cameras and, in a few works, camera views from multiple neighbor agents are used to provide a relative measurement using multiple-view geometry [START_REF] Zou | CoSLAM: Collaborative visual SLAM in dynamic environments[END_REF][START_REF] Cieslewski | Dataecient decentralized visual slam[END_REF]. Although some recent Bayesian works investigate fully decentralized approaches [START_REF] Leonardos | A game-theoretic approach to robust fusion and kalman ltering under unknown correlations[END_REF][START_REF] Cieslewski | Dataecient decentralized visual slam[END_REF], most works, including the ones based on ORB-SLAM, are centralized or only partially decentralized [START_REF] Li | CORB-SLAM: A collaborative visual SLAM system for multiple robots[END_REF][START_REF] Daoud | SLAMM: Visual monocular SLAM with continuous mapping using multiple maps[END_REF][START_REF] Schmuck | CCM-SLAM: Robust and ecient centralized collaborative monocular simultaneous localization and mapping for robotic teams[END_REF].

With regards to underwater applications, some works investigate the problem of multi-agent VSLAM for AUVs [START_REF] Mangelson | Communication constrained trajectory alignment for multi-agent inspection via linear programming[END_REF][START_REF] Özkahraman | Collaborative navigationaware coverage in feature-poor environments[END_REF], where the main challenge consists in managing information sharing between AUVs under the bandwidth limitations of underwater wireless communications in a distributed, sparsely communicating manner. However, by allowing real-time, large-bandwidth communication with a surface server, multi-ROV applications t the standard communication conguration of airborne multi-agent VSLAM systems, where interagent data fusion can be performed on a central server in a centralized or partially decentralized scheme [START_REF] Zou | Collaborative visual SLAM for multiple agents:a brief survey[END_REF]. In addition, having a physical connection between the ROVs and the server reduces the risk of data transmission failure between the agents and the server. According to this conguration and the observations reported in Section 2.2, we focus only on ORB-SLAM-based multi-agent works in the following.

ORB-SLAM being both ecient, highly accurate, and open source, it is used as a basis for multiple multi-agent works [START_REF] Li | CORB-SLAM: A collaborative visual SLAM system for multiple robots[END_REF][START_REF] Daoud | SLAMM: Visual monocular SLAM with continuous mapping using multiple maps[END_REF][START_REF] Schmuck | CCM-SLAM: Robust and ecient centralized collaborative monocular simultaneous localization and mapping for robotic teams[END_REF][START_REF] Cao | Scaling up edge-assisted real-time collaborative visual slam applications[END_REF]. Therefore, these works implement the main functionalities involved in ORB-SLAM, including (i) tracking, (ii) local mapping, (iii) loop closing, and (iv) an optional Communication schemes and computations distribution in recent ORB-SLAM-based multi-agent works CORB-SLAM [START_REF] Li | CORB-SLAM: A collaborative visual SLAM system for multiple robots[END_REF] ,ORB-SLAMM [START_REF] Daoud | SLAMM: Visual monocular SLAM with continuous mapping using multiple maps[END_REF], CCM-SLAM [START_REF] Schmuck | CCM-SLAM: Robust and ecient centralized collaborative monocular simultaneous localization and mapping for robotic teams[END_REF] and SwarmMap [START_REF] Cao | Scaling up edge-assisted real-time collaborative visual slam applications[END_REF], where `T' stands for `tracking', `LM' for `local mapping', `LC' for `loop closing', `MM' for `map merging' and `R' for `recovery'. A key contribution to that work is the ability of the agents to keep performing individual visual odometry if communication with the server is broken. A downside of this approach is that no SLAM failure handling strategy is implemented. Extending the scalability of such multi-agent approaches is also a challenge, which has been investigated recently in SwarmMap [START_REF] Cao | Scaling up edge-assisted real-time collaborative visual slam applications[END_REF]. This work presents a partially decentralized architecture similar to the one of CCM-SLAM but reduces the communication costs signicantly by not sending the local maps to the server but rather the operations to be performed on the global map, given the local observations. These map update tasks are then handled by the server using a SLAM-specic task scheduling module. Their implementation is open source but not straightforward for existing systems because it relies on CUDA (NVIDIA et al., 2020).

Communications

2.5. Map merging in multi-map VSLAM Environment mapping can be decomposed into several disconnected local maps in multi-map SLAM systems. Such systems include some multi-agent SLAM algorithms, like ORB-SLAMM [START_REF] Daoud | SLAMM: Visual monocular SLAM with continuous mapping using multiple maps[END_REF] and CCM-SLAM [START_REF] Schmuck | CCM-SLAM: Robust and ecient centralized collaborative monocular simultaneous localization and mapping for robotic teams[END_REF], but also SLAM algorithms with a multi-map tracking failure recovery strategy, like single-agent ORB-SLAMM [START_REF] Daoud | SLAMM: Visual monocular SLAM with continuous mapping using multiple maps[END_REF], ORB-SLAM Atlas [START_REF] Elvira | ORBSLAM-Atlas: a robust and accurate multi-map system[END_REF] or Dual-SLAM [START_REF] Huang | Dual-SLAM: A framework for robust single camera navigation[END_REF]. In order to produce consistent environment mapping, multi-map SLAM systems implement map merging algorithms, which include region overlap detection between disconnected maps and map alignement.

These map merging algorithms can dier from a SLAM system to another. In Dual-SLAM [START_REF] Huang | Dual-SLAM: A framework for robust single camera navigation[END_REF], where new map creation is triggered by tracking failure, map merging is driven by spatial and temporal consistency using a backward SLAM to reach the previous map and connect it to the new one. Other works mainly rely on a loop-closing-like map merging, where inter-map place recognition is performed similarly to loop closure detection, and map and loop fusions are conducted similarly. This second category of map merging algorithms, implemented in all other aforementionned ORB-SLAM-based works, does not involve a spatial or temporal prior and is thus more suitable for fusing multiple maps created by multiple agents, where such a prior is usually unavailable.

In ORB-SLAMM [START_REF] Daoud | SLAMM: Visual monocular SLAM with continuous mapping using multiple maps[END_REF], a map merging thread continuously iterates place recognition among all KFs from all maps. This thread is unique in the system and considers all KFs independently from their agent creator. ORB-SLAMM's map overlap detection is similar to ORB-SLAM's loop closure by DBoW2 (Galvez-López and Tardos, 2012) for KF matching and deducing an initial-guess intermap transformation from this match. However, unlike ORB-SLAM's loop closure, ORB-SLAMM does not implement inter-map place recognition consistency validation over a window of connected KFs, reducing place recognition computational cost and decreasing its robustness by making it quite permissive. In addition, ORB-SLAMM does not fuse inter-map points observations when computing map alignment, and merged maps remain distinct entities with separate KFs and BoW databases. Therefore, data from old maps cannot be reused in the localization process. It should also be noted that the computational cost of ORB-SLAMM's map merging thread is unnecessarily high because it continuously loops over all KFs from all maps to try to nd a match instead of querying the KF database only at new KF insertion.

CORB-SLAM [START_REF] Li | CORB-SLAM: A collaborative visual SLAM system for multiple robots[END_REF], CCM-SLAM [START_REF] Schmuck | CCM-SLAM: Robust and ecient centralized collaborative monocular simultaneous localization and mapping for robotic teams[END_REF] and ORB-SLAM Atlas [START_REF] Schmuck | CCM-SLAM: Robust and ecient centralized collaborative monocular simultaneous localization and mapping for robotic teams[END_REF] implement an almost identical map-merging strategy, which is very similar to ORB-SLAM's loop closure, both with regards to map overlap detection, but also transformation estimation between the matched KFs, including several steps of validation checks and transformation renement. In addition, merged maps become a single entity such that, in CCM-SLAM [START_REF] Schmuck | CCM-SLAM: Robust and ecient centralized collaborative monocular simultaneous localization and mapping for robotic teams[END_REF], multiple agents can localize in the same map simultaneously. Although SwarmMap relies on a quite dierent map information aggregation pipeline, its map-merging strategy is similar to these works.

Multi-agent VSLAM benchmarking

Multi-agent VSLAM benchmarking involves both datasets and evaluation metrics. Multi-agent VSLAM datasets can be either recorded using multiple devices or simulated by playing simultaneously several video sequences recorded in the same environment. The rst solution features real multi-agent cases, where agents may see each other. Such datasets can also integrate dynamic changes in the environment, which will be observed synchronously by the multiple agents. However, they represent a higher acquisition cost and are quite rare in the literature. While some works record their multi-agent datasets for evaluation [START_REF] Schmuck | CCM-SLAM: Robust and ecient centralized collaborative monocular simultaneous localization and mapping for robotic teams[END_REF], there is no such public dataset at the time of writing, to the best of the authors' knowledge. The second solution above is less realistic for a real multi-robot application, but is far easier to obtain. On the one hand, it is impossible for the simulated agents to observe each other, and possible dynamic changes in the environments will be observed out of sync among the simulated agents. On the other hand, their acquisition only involves deploying a single device or can be realized from existing sequences recorded in the same static environment. In [START_REF] Schmuck | CCM-SLAM: Robust and ecient centralized collaborative monocular simultaneous localization and mapping for robotic teams[END_REF], several sequences of the EuRoC Machine Hall dataset [START_REF] Burri | The EuRoC micro aerial vehicle datasets[END_REF] are used to simulate multiple agents, while other works rely on the KITTI odometry dataset [START_REF] Geiger | Are we ready for autonomous driving? the KITTI vision benchmark suite[END_REF], including [START_REF] Cieslewski | Dataecient decentralized visual slam[END_REF][START_REF] Daoud | SLAMM: Visual monocular SLAM with continuous mapping using multiple maps[END_REF].

However, while airborne VSLAM evaluation can rely on standard, public datasets recorded in dierent environments, featuring several sequences in each of these environments and visual conditions with various trajectories of gradual diculty [START_REF] Geiger | Are we ready for autonomous driving? the KITTI vision benchmark suite[END_REF][START_REF] Burri | The EuRoC micro aerial vehicle datasets[END_REF][START_REF] Schubert | The TUM VI benchmark for evaluating visual-inertial odometry[END_REF], there is no equivalent yet in the underwater eld, because of the important cost and resources required for acquiring such data. Although a few underwater visual datasets have been released these past few years [START_REF] Li | Experimental comparison of open source vision-based state estimation algorithms[END_REF][START_REF] Joshi | Experimental comparison of open source visual-inertial-based state estimation algorithms in the underwater domain[END_REF][START_REF] Ferrera | Aqualoc: An underwater dataset for visualinertialpressure localization[END_REF]Boittiaux et al., 2023a), none of them include overlapping sequences without signicant visual conditions or environment change. As a result, existing public underwater datasets do not allow multi-agent VSLAM evaluation in underwater conditions.

Regarding evaluation metrics, most multi-agent works use the Root-Mean-Square (RMS) Absolute Position Error (APE) to characterize the localization accuracy of each agent's trajectory or individual localization accuracy [START_REF] Cieslewski | Dataecient decentralized visual slam[END_REF][START_REF] Daoud | SLAMM: Visual monocular SLAM with continuous mapping using multiple maps[END_REF][START_REF] Schmuck | CCM-SLAM: Robust and ecient centralized collaborative monocular simultaneous localization and mapping for robotic teams[END_REF][START_REF] Dubois | On data sharing strategy for decentralized collaborative visual-inertial simultaneous localization and mapping[END_REF]. However, while relative localization is crucial when deploying multi-agent systems, a criterion based on relative localization is usually missing, notably in [START_REF] Daoud | SLAMM: Visual monocular SLAM with continuous mapping using multiple maps[END_REF][START_REF] Schmuck | CCM-SLAM: Robust and ecient centralized collaborative monocular simultaneous localization and mapping for robotic teams[END_REF]. Mapping accuracy and collaboration of each agent to the map denoted collaborative mapping is also rarely considered and is not studied in [START_REF] Daoud | SLAMM: Visual monocular SLAM with continuous mapping using multiple maps[END_REF][START_REF] Schmuck | CCM-SLAM: Robust and ecient centralized collaborative monocular simultaneous localization and mapping for robotic teams[END_REF]. Some collaborative mapping criteria can, however, be found in collaborative exploration strategy validation [START_REF] Yu | Learning ecient multi-agent cooperative visual exploration[END_REF], such as ratio of areas explored by the agents to the entire explorable space, the average overlapping explored area over each pair of agents, or the duration required for having a given percentage of the scene mapped. Although these criteria are dened to evaluate active exploration eciency of agents with adaptive trajectories, they may be used as a basis for collaborative mapping eciency characterization in the VSLAM works under consideration.

Finally, it is worth noticing that, to date, there is no comparative reference for ORB-SLAM-based multiagent work.

3. MAM 3 SLAM algorithm MAM 3 SLAM builds on the ORB-SLAM Atlas [START_REF] Elvira | ORBSLAM-Atlas: a robust and accurate multi-map system[END_REF] implementation provided by ORB-SLAM3 [START_REF] Campos | ORB-SLAM3: An accurate open-source library for visual, visualinertial, and multimap SLAM[END_REF]. MAM 3 SLAM algorithm is represented in Figure 4. The main contribution lies in creating multi-agent VSLAM instances and making maps a shared resource between multiple agents, which was not implemented in ORB-SLAM Atlas. To this end, multiple agents can localize on the same map and access and update its data. Multi-threading support was implemented to allow concurrent map access and update, hence the need to protect the map from concurrent modication.

A new KF insertion algorithm was implemented for agents locating on the same map. This involves protection from concurrent modications.

Shared multi-map resources

Maps are initialized individually by the server for each agent but are shared among them using the multimap representation proposed in ORB-SLAM Atlas and denoted as the Atlas. KFs from all maps are stored in a common database to which all agents contribute. When a new KF is inserted, a place recognition query is performed over the KF database. If a match is found, a loop closing or a map merging operation is performed, depending on whether the matched KF belongs to the same map or not. ORB-SLAM3 inspires this process since having multiple agent inputs does not modify the intrinsic behavior of the Atlas. Two matched maps M i and M j become a single map M k that includes all KFs from the original M i and M j , and merges their map point observations. All the data originally contained in M i and M j is thus made available for tracking and local mapping via M k . Making the Atlas a central resource for multiple agents allows fusing maps created by dierent agents, enabling any agent to reuse the map KFs and map points created by another agent in its tracking process. If lost, agents can also relocalize on any map, even if they never contributed to it. Furthermore, several agents can localize on the same map, enabling relative localization estimation and collaborative map incrementation.

A map is called active if at least one agent is currently localizing on it. Active maps are being updated by new KF insertions and local mapping. Contrary to ORB-SLAM3, where map fusion can only happen between the currently active map and an old released map, MAM 3 SLAM allows the fusion of two active maps. This operation is, however, fully consistent with the ORB-SLAM3 merging algorithm and does not aect the SLAM. When several agents localize on the same map, the map is protected from concurrent updates from agents' local mapping threads by a mutex.

New KF insertion

In ORB-SLAM3, a new KF is inserted if (i) less than 90% of the map points of the current reference KF are visible in the current frame and if either (ii) more than 1 second has passed since the last insertion or (iii) the local mapping is idle. The local mapping thread periodically checks if some new KFs are to be inserted and processes them individually within a given period. However, in a multi-agent scenario, two agents on the same map may slow down their local mapping due to the need to wait for the mutex, thus delaying the insertion of new KFs. Therefore, in MAM 3 SLAM, KF insertion is modied so that the local mapping inserts all KFs into an insertion queue at each iteration. If many KFs are inserted, however, this may reduce the idle time of the local mapping, resulting in a decreasing number of new KF creation. As a result, in MAM 3 SLAM, the KF insertion criterion of ORB-SLAM3 is modied to force KF insertion if more than ve consecutive frames satisfy criterion (i) but not (ii) or (iii).

Underwater multi-agent datasets collection

As reported in Section 2.6, only a few public underwater VSLAM datasets are available, and unfortunately, none of them includes sequences recorded in the exact same environment or that may be divided into several disconnected sequences with spatial overlap. Evaluating the robustness of multi-agent works to underwater visual conditions and trajectory constraints was not straightforward. There was thus a need for creating underwater multi-agent VSLAM datasets. Because of the operational cost of deploying multiple underwater robots simultaneously, we privileged playing multiple agents from multiple videos acquired on the same site without major aspect changes in the environment. Three two-agent datasets were collected this way, featuring dierent environments and challenges, denoted Tank 1, Tank 2 and Sea diving, and illustrated in Figures 5,6 and 7 respectively. The main characteristics of the three datasets are summarized in Table 2.

Tank 1 and Tank 2 datasets are both recorded in a pool using the embedded camera of a BlueROV2. Tank 1 is quite an easy sequence featuring slow motion around a highly textured articial marine reef. The agents move around the reef with dierent radii and depths (Figure 9a). This dataset allows for evaluation of the SLAM with easy underwater visual conditions and validation of the proposed collaborative mapping approach.

The Tank 2 dataset features fast motion, including pure rotations, around submarine spare parts. It is recorded at a low frame rate (5 Hz), and the camera sometimes faces poorly textured areas. In addition, it simulates the visual dropouts that may occur in open water (see Section 2.1) by occasionally facing only the low-textured walls of the pool, as represented in Figure 8. This dataset is thus particularly dicult. Agents' trajectories are represented in Figure 9b. In addition, Agent 1's sequence is easier than Agent 0's, with more global scene views and less motion blur. This dataset aims to evaluate the robustness of the SLAM in particularly dicult visual conditions leading to repeated tracking failure and to show the interest of collaborative mapping in improving individual localization when one of the agents has dicult visual conditions.

Finally, the Sea diving dataset extends the evaluation to a real underwater eld scenario. It is recorded by divers with a GoPro in the Mediterranean Sea, at shallow depth, in clear water. Suspended particles, sh, and a second diver appear in some frames. Dierent agent recordings are made, moving slowly around a rock with quite similar trajectories at slightly dierent altitudes (Figure 9c).

As shown in Table 2, the volumic coverage of the two tank datasets is limited to 70 and 48 m 3 , respectively, due to pool size limitations and size of the submerged objects. However, the volumic coverage of the Sea diving dataset is signicantly larger, reaching approximately 200 m 3 , which is consistent with the size of a small wreck or, for instance, an underwater wind turbine. This spatial span also matches the order of magnitude of usual SLAM datasets recorded with aerial drones [START_REF] Burri | The EuRoC micro aerial vehicle datasets[END_REF]. Although the volumes and durations of our new datasets may be considered short with regard to the vastness of the oceans, we argue that the main objective of these new datasets is not to account for the long-term exploration of large elds but rather for the specicities of underwater visual conditions. Long-term maintenance and reuse of underwater maps is a signicantly dierent problem than the one addressed here since the aspect of an underwater site can change signicantly in a few hours, depending on the weather conditions at visiting times. We, therefore, believe that our new datasets are sucient for extending multi-agent SLAM algorithm validation to the underwater eld. Generating ground truth is particularly challenging in underwater environments. Similarly to [START_REF] Ferrera | Aqualoc: An underwater dataset for visualinertialpressure localization[END_REF], a comparative baseline for SLAM evaluation is computed for all of our new underwater datasets using the Structure-from-Motion software Colmap [START_REF] Schönberger | Structure-from-motion revisited[END_REF], which performs an oine reconstruction of the scene with exhaustive matching between images and outputs an accurate estimation of the camera trajectory. This output is not ground truth but is still a fair reference for online SLAM evaluation. The scaling factor is retrieved from the known dimensions of the submerged objects. The trajectories of the agents are represented in Figure 9 with respect to the surrounding objects.

Evaluation methodology

In order to evaluate MAM 3 SLAM and compare its performances with respect to state-of-the-art multi-agent and multi-map VSLAM works, a choice of datasets and evaluation criteria is necessary. Section 5.1 presents the competing multi-agent works evaluated, Section 5.2 indicates the evaluation datasets used and Section 5.3 introduces evaluation criteria. Following the state-of-the-art multi-agent VSLAM presented in Section 2, we select ORB-SLAMM [START_REF] Daoud | SLAMM: Visual monocular SLAM with continuous mapping using multiple maps[END_REF] and CCM-SLAM [START_REF] Schmuck | CCM-SLAM: Robust and ecient centralized collaborative monocular simultaneous localization and mapping for robotic teams[END_REF] for conducting a comparative evaluation with MAM 3 SLAM. While, to the best of our knowledge, ORB-SLAMM is the only state-of-the-art multi-agent VSLAM work with a multi-map recovery strategy, CCM-SLAM is the most complete state-of-the-art realtime multi-agent VSLAM framework at the time of writing. The main dierences between these two works and MAM 3 SLAM are summarized in Table 3.

Datasets

In order to evaluate MAM 3 SLAM on a standard VSLAM benchmark, a rst evaluation is conducted using the Machine Hall (MH) sequences from the EuRoC MAV Dataset [START_REF] Burri | The EuRoC micro aerial vehicle datasets[END_REF]. In a second part, the underwater evaluation is performed on the three new underwater datasets introduced in Section 4. The EuRoC MH sequences are captured in the same industrial environment with the same lighting conditions and are provided with a ground truth position from a Leica Total Station. Similarly to [START_REF] Schmuck | CCM-SLAM: Robust and ecient centralized collaborative monocular simultaneous localization and mapping for robotic teams[END_REF], sequences MH_02 and MH_03 were used to simulate two agents. The agents start from a close position, but do not overlap much after takeo, each exploring a dierent part of the hall. An overview of this dataset is given in Figure 10, and a brief summary in Table 4 and the corresponding trajectories per agent in Figure 11.

Evaluation criteria

Two evaluations are conducted: localization and mapping performances and real-time performances. In related multi-agent VSLAM works [START_REF] Daoud | SLAMM: Visual monocular SLAM with continuous mapping using multiple maps[END_REF][START_REF] Schmuck | CCM-SLAM: Robust and ecient centralized collaborative monocular simultaneous localization and mapping for robotic teams[END_REF], localization and mapping performances are only evaluated by the RMS Absolute Position Error (APE) on each agent's trajectory. However, multi-agent SLAM also aims to estimate inter-agent relative poses and their collaborative environment mapping. This is why additional comparison metrics are introduced here.

Individual localization is evaluated by the RMS APE and the RMS Relative Position Error (RPE) between two consecutive frames and the percentage of localization failure with respect to the number of frames.

Relative localization is characterized by the percentage of the sequence for which the agents are localized on the same map, and by the RMS Absolute Relative Position Error (ARPE) between the two agents. If the system fails to merge all maps into a single one, these metrics are given both as a statistic over all maps and for the map with the largest number of KFs, denoted as the main map.

Collaborative mapping is rst evaluated by the number N maps of unmerged maps at the end of the sequence. Additional metrics are computed on the main map. Agent contribution and map size are characterized by the number of KFs created by each agent. The map's spatial cover L map is computed as the sum of the edges of the minimum spanning tree among the positions of the KF in the map, and evaluates the size of the mapped area. L map is computed using the ground truth pose of the KF to avoid introducing a bias due

-1 0 1 2 𝑦 [m] Agent 0 Agent 1 -3 -2 -1 0 1 2 -2 -1 0 1 𝑥 [m] 𝑧 [m] (a) Tank 1 -1 0 1 2 𝑦 [m] -2 -1 0 1 2 -1 0 1 𝑥 [m] 𝑧 [m] (b) Tank 2 -3 -2 -1 0 1 2 3 4 𝑦 [m] -4 -3 -2 -1 0 1 2 3 -2 -1 0 1 𝑥 [m]
𝑧 [m] (c) Sea diving Given an error metric e on a set of N poses T j ∈ SE(3) dened on n disconnected maps denoted M i , i ∈ {0...n -1}, the global RMS associated to e is dened by:

e RM S = 1 N n i=1 Tj ∈Mi e(T j ) 2
(1) where T j ∈ M i denotes that pose T j is dened in map

M i
In order to compare the real time performances of the algorithms evaluated, the durations of the tracking (T), local mapping (LM) and place recognition (PR) operations are recorded. Place recognition includes inter and intra map loop detection, loop fusion and map merging. Let t op , op ∈ {T, LM, P R} denote the total duration of the op operation summed for all iterations for all agents on a sequence. Let N i , i ∈ N dene the total number of frames of Agent i during the same sequence. Since the dierent datasets evaluated have dierent durations and framerates, the run time of each operation op is characterized by the quantity:

t op = t op i N i (2)
Because the tracking operation is triggered by a new incoming frame, t T is also the average duration of a tracking operation.

Evaluation

A quantitative evaluation of MAM 3 SLAM is performed on two-agent scenarios on the four datasets described in Section 5.2, including one aerial dataset and three underwater datasets, by comparing MAM 3 SLAM to multi-agent ORB-SLAMM [START_REF] Daoud | SLAMM: Visual monocular SLAM with continuous mapping using multiple maps[END_REF] and to CCM-SLAM [START_REF] Schmuck | CCM-SLAM: Robust and ecient centralized collaborative monocular simultaneous localization and mapping for robotic teams[END_REF]. These two competing works have been selected for the current evaluation because they are the most recent multiagent ORB-SLAM-based work oering a fully functional open-source implementation and not requiring NVIDIA GPU acceleration (NVIDIA et al., 2020). In addition, ORB-SLAM3 [START_REF] Campos | ORB-SLAM3: An accurate open-source library for visual, visualinertial, and multimap SLAM[END_REF] is used as a reference for individual localization performance, as it represents the current state-of-the-art for monocular single agent VSLAM. Evaluations are carried out in real-time on a computer with an Intel i7-10610U CPU @ 1.80GHz × 8, 16 GB RAM, running Ubuntu 18.04 and ROS Melodic.

Localization and mapping evaluation

A localization and mapping performance evaluation is performed according to the metrics described in Section 5.3. Given the non-deterministic behavior of multithreaded applications, all localization and mapping evaluation metrics are given as their median values among ve runs. The results are reported in Tables 5,6, 7 and 8. If there are more than one map in the system, the RMS APE and RPE on the main map are indicated in parentheses in the table. Since ORB-SLAMM does not completely fuse the maps in the system but only computes an alignment, the total number of maps in the system is shown in parentheses in the table. Estimated and reference trajectories are aligned using the Sim(3) Umeyama alignment of the EVO library [START_REF] Grupp | evo: Python package for the evaluation of odometry and SLAM[END_REF] to compute the error metrics. In Tables 5,6, 7 and 8, the best result for each evaluation criterion among the multi-agent SLAM works is shown in bold. If ORB-SLAM3 [START_REF] Campos | ORB-SLAM3: An accurate open-source library for visual, visualinertial, and multimap SLAM[END_REF] gives a better result than the multi-agent approaches, ORB-SLAM3's result is also indicated in bold. A graphical, synthetic comparison of the performances of the three multi-agent SLAM works is given in Figure 12.

Figure 13 shows the trajectories estimated by MAM 3 SLAM on one of the ve runs, for the four datasets. Estimated and reference trajectories overlap particularly well for the EuRoC MH, Tank 1 and Sea diving datasets.

CCM-SLAM fails to initialize on the Tank 1 and Tank 2 datasets, denoting a lack of robustness. We assume that their initialization solver may not have time to converge due to the number of features, their layout, or their characteristics.

MAM 3 SLAM demonstrates the best individual localization performances among the multi-agent approaches evaluated, with the lowest RMS APE and RPE in all sequences, reaching centimetric accuracy on the EuRoC MH and Tank 1 datasets. CCM-SLAM's performances are close to MAM 3 SLAMs but still with a lower accuracy, showing up to ten times higher RMS APE and RPE on EuRoC MH 's Agent 1 and Sea diving 's both agents. ORB-SLAMM shows particularly poor individual localization performances, with RMS APE and RPE exceeding one meter in EuRoC MH and RMS APE 50 times higher than all other approaches on Sea diving 's Agent 1. This is mainly due to bad intermap transformation estimation caused by the lack of robustness of their inter-map place recognition and map merging algorithm compared to the other approaches. An example of ORB-SLAMM map misalignment is provided in Figure 14, where trajectories estimated by ORB-SLAMM are aligned with respect to the reference trajectories using Umeyama alignment. In Figure 14a, trajectories estimated on dierent maps are aligned together using the inter-map transformation estimated by ORB-SLAMM, and the resulting trajectory is aligned with respect to the reference ones. In Figure 14b, trajectories estimated on dierent maps One can notice that even if MAM 3 SLAM and CCM-SLAM show similar performances, ORB-SLAM3 produces the most accurate individual localization on the EuRoC MH, Tank 1 , and Sea diving datasets. This can be explained by the computing resources available since more parallel computations are required by multiagent approaches. This can also explain the nonzero failure rates observed for multi-agent approaches on these three datasets. However, MAM 3 SLAM outperforms ORB-SLAM3 in individual localization on Tank 2, highlighting the interest in collaborative map construction and map sharing for particularly dicult sequences. In this dataset, Agent 1's sequence is easier than Agent 0's. As a result, ORB-SLAM3 outputs two times higher RMS APE and RPE on Agent 0 than on Agent 1. However, in MAM 3 SLAM, Agent 0's localization relies on more complete and reliable mapping data through the collaborative scene mapping. This results in agent performance smoothing, reaching a similar accuracy of about 10 cm for both agents.

MAM 3 SLAM also outperforms the other evaluated methods on inter-agent relative localization. All methods localize the two agents on the same map in almost 100% of the EuRoC MH and Tank 1 datasets, but MAM 3 SLAM outperforms the other approaches on relative pose estimation with centimetric precision. It is also the only SLAM approach capable of localizing the two agents on the same map for some periods of time on the Tank 2 dataset, with a fair 20 cm accuracy. Finally, on the Sea diving dataset, MAM 3 SLAM and CCM-SLAM localize the agents in the same map 100 % of the sequence and with a similar relative localization accuracy, whereas ORB-SLAMM fails to fuse all maps of the system, resulting in a very small sequence percentage for which a relative localization 5,6, 7, and 8. The RMSAPE and failure rate reported in the charts correspond to the mean value among the two agents. Note that because CCM-SLAM fails to initialize on the Tank 1 and Tank 2, no results are indicated in Figures 12b and12c, accounting for a zero performamce. Note also that the results of MAM 3 SLAM and CCM-SLAM are overlapping in Figure 12d can be computed.

Considering collaborative mapping, ORB-SLAMM produces inaccurate map alignments and sometimes fails to detect map overlap, as with the Tank 2 and the Sea diving datasets. Map merging is far more robust in MAM 3 SLAM and CCM-SLAM, which output a common, single map in most sequences. It is, however, worth noticing that CCM-SLAM's agents cannot initialize a new map, limiting the maximum number of maps in the system to two agents. One can see that MAM 3 SLAM produces two maps on the EuRoC MH dataset but localizes the agents on the same map during almost all the sequence. This is explained by the failure of one of the agents to track the scene soon after initialization and its relocalization in the map initialized by the other agent, which is incremented collaboratively along the sequence. The second map is thus very small, with a median size of 3 KF. Finally, in the general case, MAM 3 SLAM produces a more accurate main map than the other approaches for an equivalent number of KF per agent and map size L map . As mentioned in Section 6.1, ORB-SLAM3 shows slightly better individual localization accuracy on the EuRoC MH, Tank 1, and Sea diving datasets. The purpose of this section is to discuss these results in more details.

x [m] y [m] z [m] (a) EuRoC MH -2 -1 0 1 -1 0 1 2 -1 0 1 x [m] y [m] z [m] (b) Tank 1 -1 -0.5 0 0.5 1 -1 -0.5 0 0.5 1 -1 -0.5 0 0.5 1 x [m] y [m] z [m] (c) Tank 2 -2 -1 0 1 2 -2 -1 0 1 2 3 -2 -1 0 1 2 x [m] y [m] z [m] (d) Sea diving
On the one hand, one can expect that using multiple maps from dierent agents will result in better accuracy since it will bring additional mapping information and a wider variety of viewing poses. On the other hand, running one instance of single-agent ORB-SLAM3 requires less computational resources than running any of the compared multi-agent SLAM works on a 2-agent sequence. As a result, the computational resources available for agent-level operations have decreased.

Because the system is bound to real-time by the image input, the SLAM threads are intended to make more computations in the same limited time. Although the dierence in processing time available for agent-level operations is minor, it is still sucient to have the multi-agent SLAM outputs slightly less optimized than the ones of a single-agent ORB-SLAM3. The two phenomena depicted have opposite eects on the result's accuracy: the rst tends to increase it, and the second tends to decrease it. In the EuRoC MH, Tank 1, and Sea diving datasets, the second phenomenon is predominant for dierent reasons. In EuRoC MH, the agents split into two dierent areas of the hall after a few seconds. Their respective mapping information, therefore, extends the map but does not provide much observational redundancy that would improve map accuracy. On the other hand, Tank 1 and Sea diving feature quite slow motion and mostly easy visual conditions, allowing an already good reconstruction without fusing observations from the two agents, and combining agent information does not improve the map suciently to impact trajectory estimation accuracy. Even though localization and mapping accuracy are not improved in these datasets by fusing views from multiple agents, one can still notice that CCM-SLAM and MAM 3 SLAM accuracy is still very close to that of ORB-SLAM3 in these datasets.

Conversely, the second depicted phenomenon becomes predominant in the Tank 2 dataset. Because Agent 1's motion is very fast, with a low frame rate, motion blur, and low textures, a single-agent SLAM using only Agent 1's data will have limited accuracy. This can be observed by the result given by ORB-SLAM3 for this agent in this sequence. However, because Agent 0 has simpler motion, its camera input is better suited for computing an accurate map and trajectory. When running a multi-agent SLAM, map data created by Agent 0 can be used in Agent 1's localization, signicantly improving its positioning accuracy.

Lastly, but importantly, ORB-SLAM3 does not allow locating multiple agents in the same referential frame at the same time, contrary to the multi-agent works studied. However, getting this relative localization information is our main motivation for focusing on multi-agent SLAM.

Computing time evaluation

In order to compare the real time performances of the algorithms evaluated, the durations of the tracking (T), local mapping (LM) and place recognition (PR) operations are recorded. In the current evaluation, we group under the name "Place recognition" interand intra-map loop detection via the database queries followed by consistency and geometrical checks, loop fusion and map merging operations when they occur, including pose graph optimization. The total duration of each of these operations is summed for all iterations for all agents. Figure 15 compares the total computational time dedicated to T, LM, and PR operations in processing each one of the test datasets. Since these datasets have dierent framerates and duration, the durations indicated in the gure correspond to the sum of all iteration durations divided by the number of frames in the sequence.

One can see that tracking durations are quite similar from an algorithm to another. For the EuRoC MH, Tank 2 , and Sea diving datasets, tracking duration represents about 10 ms per frame per agent. The tracking duration per frame is much higher for the Tank 1 dataset, which can be explained by the high number of ORB features tracked (5000 ORB features per frame are extracted, vs 1000 for EuRoC MH , and Sea diving ). 5000 ORB features per frame are extracted for the Tank 2 dataset too, but most of them are not matched correctly and thus unused for pose computation, hence having a lower computational duration.

LM total computational duration is higher for MAM 3 SLAM. One can see that a signicant proportion of this duration is spent waiting for mutex unlock. In the evaluated congurations, the maximum duration of local mapping operations divided by the number of incoming frames is about 110 ms. This indicates that, in this case, the system can create a new KF every 9 s, which is still a satisfying ratio. However, this maximum KF insertion rate will decrease as the number of agents increases since more agents will increase the total mutex wait duration. Our system is thus limited to a small number of agents. One can notice that the total duration of mutex wait in local mapping is very low for the Tank 2 dataset. This is due to the agents being located on the same map simultaneously more rarely and the low framerate reducing the probability of a simultaneous KF creation attempt by the two agents.

Lastly, two main observations can be formulated regarding PR total computational duration t P R . First, one can observe that this quantity is signicantly higher for ORB-SLAMM than for CCM-SLAM and MAM 3 SLAM. Indeed, ORB-SLAMM's inter-map place recognition consists of a loop over all KF from all maps, which is repeated continuously, while CCM-SLAM and MAM 3 SLAM only query the KF database at new KF creation, which prevents unnecessary queries if the maps and keyframes are idle. Second, t P R depends on the sequence for each SLAM algorithm. First, Let us consider the cases of MAM3SLAM and CCM-SLAM, where place recognition is triggered by inserting a new KF by any of the involved agents. If a map merging or loop closing candidate is conrmed, the map will be updated and optimized. The duration of the initial database query is negligible compared to that of this correction step. The value of t P R thus reects the ratio of the number of map merging or loop closing operations compared to the number of frames, which depends, notably, on camera frame rate and trajectory. In the case of ORB-SLAMM, place recognition is not triggered by KF insertion but is an innite loop over all Kfs from all maps. Thus, the complexity of a single iteration of this innite loop is in o(n KF N ) where n KF accounts for the number of KF in a map, and N is the number of maps. t P R is thus signicantly higher in Tank 2 and Sea diving, where there are ve to six maps in the system. One can also notice that ORB-SLAMM's t P R is higher in Tank 2 than in Sea diving. We believe this is caused by ORB-SLAMM computing one map alignment in Tank 2 versus 0 in Sea diving.

Conclusion and future work

This work focused on the problem of visual-based simultaneous localization and mapping for underwater multi-agent scenarios, which require the localization of the involved vehicles with respect to each other and a previously unknown environment. Following previous studies of visual SLAM underwater capabilities, the current work focuses on ORB-SLAM-based works. MAM 3 SLAM, a new fully centralized multi-agent and multi-map monocular VSLAM framework based on ORB-SLAM Atlas [START_REF] Elvira | ORBSLAM-Atlas: a robust and accurate multi-map system[END_REF] and ORB-SLAM3 [START_REF] Campos | ORB-SLAM3: An accurate open-source library for visual, visualinertial, and multimap SLAM[END_REF], was introduced as a solution for underwater multi-ROV localization. In addition, the two most recent state-ofthe-art multi-agent ORB-SLAM-based-works released, namely CCM-SLAM [START_REF] Schmuck | CCM-SLAM: Robust and ecient centralized collaborative monocular simultaneous localization and mapping for robotic teams[END_REF] and ORB-SLAMM [START_REF] Daoud | SLAMM: Visual monocular SLAM with continuous mapping using multiple maps[END_REF], were selected to perform a comparative benchmark and study the potential of ORB-SLAM-based multi-agent works for underwater. In the absence of previous underwater datasets for multi-agent visual SLAM benchmarking, a key contribution of the current work was to record and release three underwater two-agent datasets, including two in a pool and one in the sea. MAM 3 SLAM, CCM-SLAM, and ORB-SLAMM were then evaluated on four two-agent scenarios, including a standard aerial dataset and our three new underwater datasets.

A run-time analysis demonstrated that MAM 3 SLAM's place recognition computation time is signicantly lower than competing works, and its tracking computational time is of the same order of magnitude. This analysis also shows that MAM 3 SLAM's local mapping takes signicantly more time than that of competing approaches because of the mutex wait imposed to prevent concurrent map updates from dierent agents when they localize with respect to the same map, and some low-level software engineering would be required to extend MAM 3 SLAM to more than two agents in future works. This extension would be a prerequisite for using MAM 3 SLAM in a real-life underwater robot chain conguration.

Even though the current implementation did not focus on handling this scalability problem and left it for future works, our two-agent MAM 3 SLAM proved to outperform the two other evaluated approaches in terms of individual localization, relative localization, and mapping accuracy and demonstrates good robustness to poor visual conditions. Although showing a similar accuracy to CCM-SLAM, up to 2 cm on some of the datasets, MAM 3 SLAM proves to be signicantly more robust by successfully processing all the test sequences, while CCM-SLAM failed to initialize on two out of the four sequences. In addition, MAM 3 SLAM produced signicantly more accurate results than ORB-SLAMM on all sequences, where MAM 3 SLAM localization errors are up to 80 times lower than ORB-SLAMM's. Finally, MAM 3 SLAM proves to be a reliable multiagent VSLAM approach for multi-ROV localization, reaching centimetric accuracy on two out of three underwater evaluation datasets.

In light of these results, MAM 3 SLAM seems like a promising solution for multiple ROV localization, for instance, in underwater robot chains. Nonetheless, some low-level software developments are required to extend this approach to a larger number of agents while keeping the overall high-level principle. In addition, future works may focus on improving the robustness of the system by fusing multiple inputs to increase its robustness to underwater visual conditions and estimate the scale of the environment. In particular, in the specic context of a robot chain, inter-agent pose constraints might be used at dierent levels in the SLAM pipeline, including scale estimation, inter-map place recognition, and pose estimation optimization. The system may also be extended to include stereo camera input, fuse inertial, and, eventually, pressure measurements.

Acknowledgment

This work is funded by the French Research Ministry and the CARTT of the IUT of Toulon. We would like to thank the CEPHISMER of the French Navy and the IFREMER for their logistical support.

(

  Figure 1: Visual dropout in the sea, o the coast of Saint-Raphael, France[START_REF] Drupt | Qualitative evaluation of state-of-the-art DSO and ORB-SLAM-based monocular visual SLAM algorithms for underwater applications[END_REF]

Figure 2 :

 2 Figure 2: Examples of mobile objects in underwater, natural environments

Figure 3 :

 3 Figure 3: Multi-agent SLAM communication schemes

Figure 6 :

 6 Figure 5: Overview of the Tank 1 dataset

Figure 7 :

 7 Figure 7: Overview of the Sea diving dataset

Figure 8 :

 8 Figure 8: Simulation of a visual dropout in the Tank 2 dataset (Agent 1)

Figure 9 :

 9 Figure 9: Agent trajectories on sequences. The black points in Fig. 9a, 9b, and 9c are a sub-sample of the SfM reconstruction and give an idea of the position of the surrounding objects with respect to the agents' trajectories.

∅Figure 10 :

 10 Figure 10: Overview of the EuRoC MH dataset

Figure 11 :

 11 Figure 11: Agent trajectories on the EuRoC MH dataset

Figure 12 :

 12 Figure12: Graphical overview of the performances of the three multi-agent methods compared, on the four test datasets, according to the quantities reported in Tables5, 6, 7, and 8. The RMSAPE and failure rate reported in the charts correspond to the mean value among the two agents. Note that because CCM-SLAM fails to initialize on the Tank 1 and Tank 2, no results are indicated in Figures12b and 12c, accounting for a zero performamce. Note also that the results of MAM 3 SLAM and CCM-SLAM are overlapping in Figure12d

Figure 13 :

 13 Figure13: Trajectories estimated by MAM 3 SLAM (solid) and reference trajectories (dashed) on the test datasets, after Umeyama alignment, showing estimated camera poses every 5s.

  Figure14: Trajectories estimated by ORB-SLAMM on the EuRoC MH dataset (plain) and ground truth trajectories (dashed). Trajectories are estimated over 5 maps, which are aligned by the system. Parts of the trajectory from dierent maps are represented in a dierent color.

Figure 15 :

 15 Figure 15: Sum of the durations of tracking, local mapping and place recognition (loop closure and map overlap detection and fusion) iterations divided by the total number of frames, for each test dataset.

Table 1

 1

  In addition, multiple agents involve a need to fuse local mapping information from each agent and, therefore, a map merging module. Communication schemes and computation distributions in these works are given in Table1. CORB-SLAM[START_REF] Li | CORB-SLAM: A collaborative visual SLAM system for multiple robots[END_REF] introduces the rst ORB-SLAM-based multi-agent architecture. Each

	Category	Computations on agents Computations on server
	Partially decentralized T, LM, LC Centralized ∅ Partially decentralized T, LM Map operations: agents → server Partially decentralized T, LM. CORB-SLAM Maps: agents → server ORB-SLAMM Frames: agents → server CCM-SLAM KFs: agents ↔ server SwarmMap	MM T, LM, LC, MM, R LC, MM LC, MM
	tracking failure recovery module.

agent runs ORB-SLAM individually and builds its own maps. These maps are sent to a central server, which tries to detect overlapping regions using a DBoW2 place recognition similar to ORB-SLAM's loop closure. Matched maps are then fused into a single common map. The global map is sent to the agents after each update. ORB-SLAMM

[START_REF] Daoud | SLAMM: Visual monocular SLAM with continuous mapping using multiple maps[END_REF]

) is a fully centralized algorithm designed for single or multiple agents. It implements a multi-map tracking failure recovery strategy that systematically creates of a new map in case of tracking failure, which is intended to be aligned with the previous maps by a place recognition module. Conversely, CCM-SLAM

[START_REF] Schmuck | CCM-SLAM: Robust and ecient centralized collaborative monocular simultaneous localization and mapping for robotic teams[END_REF]

implements a monocular, partially decentralized framework to apply to vehicles with limited onboard memory and computational resources under communication bandwidth constraints. Each agent conducts ORB-SLAM's tracking and local mapping and only maintains a window of local KFs. New, local map information is returned to the server, which stores map information and handles loop closing and map merging.

  SLAM is a central multi-agent SLAM, meaning all computations are performed on a central server. Agents only send frames to the server. A tracking thread and a local mapping thread are run for each agent, on the central server. Loop closing and map merging tasks are conducted by one unique, common thread in the multi-agent system. A system of n agents then runs on 2n + 1 threads, including n tracking

	3.1. Overall architecture LOOP CLOSING & MERGING thread Candidates detection Compute Sim(3) and check consistency Loop correction Loop fusion Pose-graph optim. Map merging Map merge LBA Pose-graph optim. Map representation: ATLAS Pose prediction, Extract ORB relocalization or map creation Track local map New KF decision LOCAL MAPPING thread KF insertion Recent MP culling New MP creation LBA Local KF culling New frame New KF DBoW2 & KF database TRACKING thread Visual vocabulary Recognition database Active map j MP, KF Covisibility graph, spanning tree Non-active map k MP, KF Covisibility graph, spanning tree GBA thread GBA Update map MAM 3 Agent i Computations on server

Figure 4: MAM 3 SLAM multi-map representation and workow. LBA, GBA and MP stand, respectively, for `Local Bundle Adjustment,' `Global Bundle Adjustment,' and `Map Points'.

threads (one per agent), n local mapping threads (one per agent), and 1 single, common loop closing and map merging thread. Similarly to ORB-SLAM Atlas, an additional global bundle adjustment thread is launched after a loop correction or map merging. The dierences between ORB-SLAM Atlas and MAM 3 SLAM are the following:

Table 2

 2 Underwater multi-agent datasets description. All of them are recorded with an RGB camera and between 1 and 5 m depth, without embedded lights. Trajectory span is characterized by the volumetric and horizontal coverage of the sequence, abbreviated `vol.' and `horiz.,' respectively. Textured fake reef in pool. Slow motion.Around a rock, at sea, at shallow depth, in clear water. Presence of suspended particles, shes and a fellow diver.

		Camera	Duration	Trajectory span	Description
	Tank 1	480×640 pixels 10 Hz	100 s	vol.: 70 m 3 horiz.: 20 m 2
	Tank 2	480×640 pixels 5 Hz	75 s	vol.: 48 m 3 horiz.: 16 m 2
	Sea diving	380×640 pixels 8 Hz	100 s	vol.: 189 m 3 horiz.: 52 m 2

Submarine spare parts, in pool. Some poorly textured areas (walls, oor). Fast motion and motion blur. Agent 1's sequence easier than Agent 0's.

Table 3 Competing

 3

		Agents	Server	Map merging	Recovery
			1 T thread per agent
	MAM 3 SLAM	Send frames to the server	1 LM thread per agent 1 LC & MM thread	Similar to ORB-SLAM3's MM	Multi-map
			(1 LC GBA thread)
			1 T thread per agent	Close to
			1 LM thread per agent	ORB-SLAM's LC
	ORB-SLAMM (Daoud et al., 2018)	Send frames to the server	1 LC thread per agent (1 LC GBA thread	but with less geometric	Multi-map
			per agent)	consistency
			1 inter-map PR thread	checks
	CCM-SLAM (Schmuck and Chli, 2019)	1 T thread 1 LM thread + send new KF to the server	1 inter-map PR thread (1 MM GBA thread) + send local KF to the agents	Similar to ORB-SLAM's LC + GBA

algorithms. Unless otherwise stated, tracking (T), local mapping (LM), loop closing (LC), place recognition (PR), and GBA operations are the same as the one implemented in ORB-SLAM. Map merging is abbreviated into MM.

Table 4

 4 EuRoC MH dataset description. Trajectory span is characterized by the volumetric and horizontal coverage of the sequence, abbreviated `vol.' and `horiz.' respectively.

		Camera	Duration	Trajectory span	Description
	EuRoC MH (Burri et al., 2016)	Grayscale 480×752 pixels 20 Hz	135 s	vol.: 288 m 3 horiz.: 144 m 2	Flying drone in an industrial hall.

Table 5

 5 Results on the EuRoC MH dataset

			MAM 3 SLAM	ORB-SLAMM	CCM-SLAM	ORB-SLAM3
		RMSAPE (m)	0.021	1.237	0.055	0.016
	#0	RMSRPE (m)	0.015	0.147	0.008	0.005
		failure rate (%)	0.72	0.00	0.00	0.00
		RMSAPE (m)	0.034 (0.033)	2.624	0.152	0.027
	#1	RMSRPE (m)	0.011 (0.011)	1.436	0.135	0.010
		failure rate (%)	1.55	1.48	0.00	0.00
	% same map RMSARPE (m) Nmaps KF per agent (#0,#1) 243, 249 99.38 0.025 2 Lmap (m) 135.292 KF RMSAPE (m) 0.031	100.00 2.841 1 (4) 306, 479 150.224 2.162	100.00 0.135 1 281, 360 145.347 0.159	∅ ∅ ∅ ∅ ∅ ∅
	Table 6
	Results on the Tank 1 dataset
			MAM 3 SLAM	ORB-SLAMM	CCM-SLAM	ORB-SLAM3
	#0	RMSAPE (m) RMSRPE (m) failure rate (%)	0.026 0.026 0.00	0.489 0.461 0.00	∅ ∅ 100.00	0.012 0.038 0.00
	#1	RMSAPE (m) RMSRPE (m) failure rate (%)	0.037 0.038 0.00	0.208 0.213 3.16	∅ ∅ 100.00	0.011 0.030 0.00
	% same map RMSARPE (m)	100.00 0.023	100.00 0.389	∅ ∅	∅ ∅
	Nmaps KF per agent (#0,#1) 101, 128 1 Lmap (m) 32.086 KF RMSAPE (m) 0.012	1 (5) 89, 125 29.366 0.509	∅ ∅ ∅ ∅	∅ ∅ ∅ ∅

Table 7

 7 Results on the Tank 2 dataset

			MAM 3 SLAM	ORB-SLAMM	CCM-SLAM	ORB-SLAM3
	#0	RMSAPE (m) RMSRPE (m) failure rate (%)	0.125 (0.142) 0.139 (0.152) 27.78	0.217 (0.327) 0.127 (0.158) 33.33	∅ ∅ 100.00	0.204 (0.241) 0.143 (0.159) 24.18
	#1	RMSAPE (m) RMSRPE (m) failure rate (%)	0.115 (0.026) 0.043 (0.021) 23.08	0.286 (0.174) 0.099 (0.066) 18.85	∅ ∅ 100.00	0.074 (0.022) 0.050 (0.025) 26.28
	% same map RMSARPE (m) Nmaps KF per agent (#0,#1) 74, 30 13.92 0.204 4 Lmap (m) 8.412 KF RMSAPE (m) 0.107	0.00 ∅ 6 (6) 41, 0 2.855 0.327	∅ ∅ ∅ ∅ ∅ ∅	∅ ∅ ∅ ∅ ∅ ∅
	Table 8
	Results on the Sea diving dataset
			MAM 3 SLAM	ORB-SLAMM	CCM-SLAM	ORB-SLAM3
		RMSAPE (m)	0.032	0.582 (0.485)	0.037	0.026
	#0	RMSRPE (m)	0.034	0.264 (0.135)	0.151	0.033
		failure rate (%)	5.41	0.75	0.00	0.00
		RMSAPE (m)	0.031	1.203 (1.428)	0.028	0.021
	#1	RMSRPE (m)	0.041	0.112 (0.125)	0.144	0.040
		failure rate (%)	0.00	1.88	0.00	0.00
	% same map RMSARPE (m) Nmaps KF per agent (#0,#1) 269, 285 100.00 0.033 1 Lmap (m) 39.556 KF RMSAPE (m) 0.063	6.00 2.088 5 (6) 21, 187 16.235 0.433	100.00 0.050 1 199, 202 36.053 0.049	∅ ∅ ∅ ∅ ∅ ∅
	are aligned individually with respect to the reference, without using the inter-map transformation estimate from ORB-SLAMM. It can be observed that ORB-SLAMM produces inconsistent inter-map alignments, which deteriorate signicantly the accuracy of the global trajectory. The same phenomenon happens on all datasets.

https://github.com/LaboratoireCosmerTOULON/MAMMM-SLAM

2 https://github.com/LaboratoireCosmerTOULON/2-agent-

datasets 3 https://youtu.be/tmDzvdISuMk