# NGLSFusion: Non-Use GPU Lightweight Indoor Semantic SLAM
## 4 Experiment
### Semantic Map Construction Performance Comparison
#### 4.3.1 OctoMap  
Considering that there is no professional equipment to obtain the ground truth, a color map of the two environments is given as a reference for comparison, using [64]. When deep learning is used to extract semantic information about objects in the environment, GPU is usually used to speed up the algorithm to achieve a satisfactory real-time performance. In order to give a quantitative evaluation, the frame time-consumption between the previous frame (\(Lt\)) ID containing semantic information and the current frame (\(Ct\)) ID is defined, and the semantic frame time-consumption is defined as follows:  
\[d=FrameID(Ct)-FrameID(Lt) \tag{10}\]  
Therefore, the first experiment is designed in this section to give a comparison of the real-time performance using CPU, GPU, and the methods in this paper, as shown in Table 7 of the semantic segmentation time per frame for the three methods. The experimental results show that with the support of powerful GPU arithmetic, UGSSLAM processing speed per frame segmentation is the fastest, almost \(1/6\) of the time-consumption by UCSSLAM processing per frame. The algorithm in this paper also uses CPU for processing, which is \(1/3\) of UCSSLAM in terms of time-consumption per frame. Although there is still a gap in real-time performance with UGSSLAM using GPU acceleration, the application in mobile robots already meets the real-time requirement. Without relying on GPU, the algorithm in this paper gives a very desirable real-time result, based on which the second experiment in this section will be centered on generating local semantic map time-consumption per frame, because the process of generating local semantic maps contains local semantic point cloud generation, local OctoMap generation, and local map with fused semantic point cloud. Table 8 shows the three methods used to generate local semantic map time-consumption per frame. \begin{table}
\begin{tabular}{c c c c} \hline \hline
**Environment** & **UCSSLAM** & **UGSSLAM** & **Ours** \\ \hline Office & 0.40 & 0.07 & 0.14 \\ Laboratory & 0.45 & 0.08 & 0.16 \\ \hline \hline \end{tabular}
\end{table} 
Table 7: Three methods of semantic segmentation per frame time-consumption table (ten experiments to take the average value, in seconds). \begin{table}
\begin{tabular}{c c c c} \hline \hline
**Environment** & **UCSSLAM** & **UGSSLAM** & **Ours** \\ \hline Office & 0.92 & 0.47 & 0.54 \\ Laboratory & 0.93 & 0.48 & 0.56 \\ \hline \hline \end{tabular}
\end{table} 
Table 8: Three methods to generate per frame of local semantic map time-consumption table (ten experiments to take the average value, in seconds). The experimental results show that the whole semantic map construction process consumes a lot of time with or without using GPU, and these times are mainly consumed in the local map process of fusing semantic point clouds, so that the robot's perception of the environment and the generation of semantic map detail textures are maximally affected. The advantage of using GPU in UGSSLAM is mainly in generating semantic point clouds using segmentation results combined with depth information. However, this advantage does not excel in mobile robots with limited hardware devices. Compared with UCSSLAM, when only one CPU is used, the speed of generating local semantic maps is improved by 41%, which is undoubtedly exciting. The above two experiments verify the feasibility of the algorithm in this paper in terms of building maps in real time, but this cannot be judged as a key factor. Two scene semantic maps constructed by the robot in real time are given below: the global semantic map of small scenes in the office of Figure 8 and the global semantic map of large scenes in the laboratory of Figure 9.  
The experimental results show that the semantic maps constructed by the algorithm in this paper can fully restore the location of semantic objects in the environment, as in Figures 8a,d and 9a,d, and color them correctly according to the set semantic objects.