# Accurate Collaborative Globally-Referenced Digital Mapping with Standard GNSS
## 4 Globally-Referenced Electro-Optical SLAM (GEOSLAM)
### Visual SLAM  
The visual SLAM component of GEOSLAM is similar to existing high-performance SLAM pipelines developed in the robotics community [54; 55; 56]. Visual SLAM algorithms may be categorized as either sparse or dense. Sparse visual SLAM algorithms [54; 55] create a map of distinctive features such as corners or edges in the scene, while dense SLAM algorithms [56] map the depth for each pixel in the captured frames. The point cloud generated by sparse SLAM algorithms is sufficient for the purpose of localization. Dense reconstruction is appealing to the human eye, but does not provide any tangible \begin{table}
\begin{tabular}{l c c c c c c c c} \hline \hline
**Averaging Ensemble Size:** & **1** & **2** & **4** & **8** & **16** & **32** & **50** & **100** \\ \hline \multirow{2}{*}{**Ideal**} & 0–60 s average (m) & 1.5910 & 1.1262 & 0.7902 & 0.5488 & 0.4078 & 0.3090 & 0.2696 & 0.2147 \\  & 13–19 s average (m) & 2.5925 & 1.7809 & 1.2136 & 0.8927 & 0.6416 & 0.4145 & 0.3544 & 0.2609 \\ \hline \multirow{2}{*}{**NIS**} & 0–60 s average (m) & 1.7851 & 1.2795 & 0.9245 & 0.6588 & 0.5169 & 0.4175 & 0.3920 & 0.3526 \\  & 13–19 s average (m) & 3.1217 & 2.1953 & 1.5467 & 1.1720 & 0.8456 & 0.6470 & 0.5950 & 0.4702 \\ \hline \hline \end{tabular}
\end{table} 
Table 3: 95-percentile horizontal errors. benefit to localization, while consuming much more computational resources. As a result, GEOSLAM implements sparse feature-point-based SLAM. In [57] it was shown that for the visual SLAM problem, structure-from-motion BA (batch non-linear optimization) outperforms filtering techniques such as the extended Kalman filter, yielding higher accuracy per unit of computing time. It was also noted that having a high number of features points per image frame provides better accuracy than having a large number of frames with fewer feature points per frame. Thus, in typical practice, only a select subset of frames among those captured is retained for processing; frames in this subset are called keyframes. Most recent state-of-the-art visual SLAM algorithms use a keyframe-based BA approach instead of sequential filtering. Likewise, GEOSLAM performs BA-based non-linear optimization to refine both structure and motion. Figure 7 shows a block diagram representation of the system architecture proposed in this paper. The yellow-colored blocks in this figure are components of the GEOSLAM pipeline, detailed next. By way of notation, let  
\[z_{nm}^{lr}\triangleq\left(u_{nm}^{l},v_{nm}^{l},u_{nm}^{r}\right)\]  
denote the image plane location of the stereo-matched feature matched to the \(m\)th map point, \(p_{m}\), in the \(n\)th stereo keyframe, \(K_{n}\). The horizontal and vertical coordinates are denoted \(u\) and \(v\), respectively, while the superscripts \(l\) and \(r\) denote the left and right camera frames, respectively. Note that the feature location is specified by only three coordinates. The vertical feature coordinate in the right camera frame, \(v_{nm}^{r}\), is omitted because for an undistorted and rectified camera model it must hold that \(v_{nm}^{l}=v_{nm}^{r}\), making one of the coordinates redundant. If \(p_{m}\) is not matched to any feature in \(K_{n}\), then let \(z_{nm}^{lr}=\varnothing\). Furthermore, let  
\[\mathcal{M}_{n}=\left\{m\ :\ z_{nm}^{lr}\
eq\varnothing\right\}\]  
denote the set of indices of all map points matched to some feature in \(K_{n}\). In the visual SLAM literature, the covisibility window of keyframe \(K_{i}\) is defined as the set of keyframes that share at least \(T\) map points with \(K_{i}\). Mathematically, the covisibility window of keyframe \(K_{i}\) is the set of keyframes with indices  
\[\mathrm{cov}(i)\triangleq\left\{n\ :\ |\mathcal{M}_{n}\cap\mathcal{M}_{i}|>T \right\},\]  
where \(|\mathcal{A}|\) denotes the cardinality of the set \(\mathcal{A}\). The covisibility window determines the keyframes to be optimized in a windowed BA. The visibility of common points is regarded as a proxy for correlation between the structure-from-motion states.