# Visual SLAM Based Spatial Recognition and Visualization Method for Mobile AR Systems
## 4 Experiments and Results  
Table 1 shows the experiment environment and device specifications of this system. Using the EuRoC MH03 dataset, the existing Pangolin viewer and the mobile viewer of the Unity engine of this paper were compared. The EuRoC MH03 dataset is a visual inertial data set collected from a Micro Aerial Vehicle (MAV), including stereo images, synchronized IMU measurements, and accurate motion and structural measurements and it is recorded as two pinhole cameras and an inertial sensor of Asctec Firefly hex-rotor drone [16]. The existing Pangolin viewer was run in the Ubuntu environment, and the Android viewer of the Unity engine of this paper was run in the Galaxy Note 20 Ultra 5G.  
Since the Pangolin viewer and the mobile viewer of the Unity engine used the same EuRoC MH03 data set to visualize the SLAM system, the number of point clouds is the same at about 32,000. The existing ORB-SLAM3 uses the Pangolin library to visualize the SLAM system as shown in Figure 5(a), and in this paper, the Unity engine is used to visualize the SLAM system in the mobile environment. Compared with Figure 5(a), Figure 5(b) shows that the SLAM system can be visualized in the Android viewer the same as Figure 5(a), which is the existing viewer, although there is a difference in the size of the point cloud and the shape of the entire map. If the point clouds of Figure 5(a),b are represented by _Meshlab_ and _RTABMap_, the 3D visualization tools, they are expressed in 3D space as shown in Figure 5(c),d.  
\begin{table}
\begin{tabular}{c c c c} \hline \hline \multirow{2}{*}{**System Type**} & \multicolumn{3}{c}{**Specification**} \\ \cline{2-4}  & **OS** & **CPU** & **Memory** \\ \hline \multirow{2}{*}{Desktop Computer} & \multirow{2}{*}{Ubuntu 21.04} & AMD Ryzen 5 3600X & \multirow{2}{*}{16 GB} \\  & & 8-Core Processor 3.79 GHz & \\ \hline \multirow{4}{*}{Mobile Device} & \multirow{4}{*}{Android 10} & Qualcomm Snapdragon 865+ & \multirow{4}{*}{12 GB} \\  & & ARM Cortex-A77 MPI 3.09 GHz & \\ \cline{1-1} \cline{4-4}  & & ARM Cortex-A77 MP3 2.42 GHz & \\ \cline{1-1} \cline{4-4}  & & ARM Cortex-A55 MP4 1.80 GHz & \\ \hline \hline \end{tabular}
\end{table}
Table 1: Experiment Environment and Device Specifications.  
As shown in Table 2, the two viewers were specifically compared based on CPU usage, memory usage, battery consumption, resolution, and fps. When running the Pangolin viewer, CPU usage was measured at 99% and memory usage was 23.1%, while when running the Android viewer of the Unity Engine, CPU and memory usage were measured to be less, 28% and 8.3%, respectively. The battery consumption of the device was also low. The resolution of each viewer was 1920 \(\times\) 960 and 1280 \(\times\) 720, and the fps was measured as 30 fps and 25 fps, respectively.  
Through an experiment, it was confirmed that when the Android viewer of the Unity Engine was used instead of the Pangolin viewer, CPU and memory usage was small, but it took more time to visualize the SLAM system. In addition, it was confirmed that the Unity Engine and the SLAM system are closely integrated to enable smooth communication, and a SLAM-based AR system that can track camera poses and receive Mapping and Localization information was implemented. This shows that the foundation has been laid to accelerate further SLAM research and development.  
\begin{table}
\begin{tabular}{c c c} \hline \hline
**Item** & **Pangolin Viewer** & **Mobile Device (Android)** \\ \hline CPU Usage & 99\% & 28\% \\ Memory Usage & 23.1\% & 8.3\% \\ Power Consumption & High (149 W) & Very low (1.3 W) \\ Resolution & 1920 \(\times\) 960 & 1280 \(\times\) 720 \\ Framerate & 30 fps & 25 fps \\ \hline \hline \end{tabular}
\end{table}
Table 2: Comparison of Pangolin Viewer and Unity Engine’s Mobile Viewer.  
Figure 6: Visualization of SLAM; (**a**) Pangolin Viewer; (**b**) Mobile device; (**c**) 3D Visualization with Meshlab, (**d**) 3D Visualization with RTABMap.