# Collaborative Mobile Robotics for Semantic Mapping: A Survey
## 3 Collaborative Semantic Mapping
### Multi-Robot Data Association and Semantic Maps Fusion
#### 3.3.2 Fusion and Optimization  
In order to integrate multi-robot local semantic maps into a global representation, it is important to have a module that handles inconsistencies and dissimilarities between them. The fusion and optimization process is responsible for this task. Indeed, it is performed after the data-association process and builds the global semantic map using the established correspondences. The solutions proposed in the literature address several types of dissimilarities, mainly dissimilarities caused by multiple view-point errors, annotation errors, and localization errors, as presented in Table 3.  
Figure 9: The fusion of two different semantic models developed by two robots in the same environment [51]. The most addressed type is dissimilarities caused by sensing the environment from multiple viewpoints. In that case, the detected features may have different semantic labels and some variation in their positions in the corresponding maps. For example, in [47], the authors consider that the same object can be observed from different viewpoints by different robots, and voxels representing the same object can have different semantic classes. Therefore, the fusion method they propose is capable of correcting false labels and improving true labels. After computing the exact transformation matrix between the neighboring robot's 3D Octree map and its own map, the robot uses it to perform pair-wise voxel fusion. Since each voxel is considered as a Gaussian distribution, the problem of pair-wise voxel fusion consists of integrating two Gaussian distributions. Therefore, the fusion of 3D Octree maps consists of integrating multi-dimensional Gaussian distributions into a global representation. For this purpose, the authors used the 3D statistical fusion method proposed in [63]. The experiments conducted in this paper demonstrate that this fusion method can obtain a high-quality 3D Octree map in dense and large environments. This same problem is addressed in [49], where identical mobile robots explore the environment at different times following the same trajectories, but the only difference between them is that the camera's point of view is changed. Each robot sends its detections to the server. Then, the server checks whether this object has been detected before or not, as explained in Section 3.3.1. If the object is detected for the first time, it is added to the virtual environment as a 3D bounding box with its respective dimension and is represented in the ontology as an instance of its associated category or concept. Nevertheless, if it has been detected before, the properties of all detections are merged to obtain a virtual parent object that encapsulates: the category of the item, the average confidence score, the number of items that have been merged and the union of the child bounding boxes. After that, the corresponding instance of the object in the ontology is updated with the new properties of the virtual parent. However, a record of all previous detections is maintained by entering each of them as an instance of the parent object. It is important to mention that this work is one of the few papers that address the problem of merging semantic-map representations containing a conceptual part (the ontology), as other works only treat the merging of annotated spatial representations. Regarding dissimilarities caused by localization and annotation errors, the proposed method in [52] addresses various related problems such as local inconsistencies, global deformation and relatively large initial misalignment. For this purpose, after computing the dense set of point-to-point correspondences between an air-vehicle map and a ground-vehicle map, the largest set of correspondences with consistent and similar flows is identified and used to infer a preliminary alignment transformation between the maps. This step deletes dissimilarities resulting from local inconsistencies that may be caused by detection or communication errors.