# LNSNet: Lightweight Navigable Space Segmentation for Autonomous Robots on Construction Sites
## 5 Experimental Setup  
### Dataset Construction and Training Strategy  
A new dataset has been constructed for the proposed method. The main objective of our classification task is to segment all objects from navigable spaces in the scene, which is why the proposed method has only two classes. To segment objects even in a new environment, the data is collected from three completely different environments including construction sites, parking lots, and roads (1000 images).  
Images from the new dataset are collected with the following considerations: First, the angle of the camera is varied randomly for the training data. Second, images are collected in different weather conditions. Third, only two labels are assigned to the pixels during annotation; Ground and Not Ground. This strategy highly simplified the labeling task while still addressing a fundamental requirement for autonomous navigation (i.e., the identification of drivable terrain by the autonomous agent).  
In addition, an updated Cityscapes public dataset [53] is also used for training and testing process. This dataset can prevent over-fitting of the proposed model. Therefore, it was used for training and cross-validation. Cityscape has 5000 frames that have high-quality pixel-level annotations. As it has 30 classes, these labels are grouped into 2 classes for our task. Table 1, shows the strategy used for grouping the labels. Both Cityscapes and the newly collected datasets are combined in later experiments. All images that were used have been resized to \(256\times 512\) pixels. Figure 6 (top), shows a sample images from new dataset and Figure 6 (bottom) is their corresponding labels.  
Since [PERSON] et al. [13] have already validated ENet implementation on the embedded platform in real-time, this paper focuses on comparing the performance of ENet and the proposed method on a server with the following specification: 128 GB RAM, Intel Xeon E5 processor, and two GPUs-NVIDIA Tesla K40c and Telsa K20c.  
\begin{table}
\begin{tabular}{p{85.4 pt} p{113.8 pt}} \hline \hline
**Proposed Dataset Labels** & **Cityscapes Labels** \\ \hline Ground & road,sidewalk, parking \\ Not Ground & person, rider, car, truck, bus, on rails, motorcycle, bicycle, caravan, trailer, \\  & fence, guard rail, bridge, tunnel, pole, pole group, traffic sign, traffic light, \\  & rail track, sky, building, wall, vegetation, terrain, void(ground), void(dynamic), \\  & void(static) \\ \hline \hline \end{tabular}
\end{table}
Table 1: Label Grouping.  
Tensorflow [54] and Keras [55] framework are used to implement the algorithm. CUDA [56] and CuDNN [57] are also utilized for accelerating the computations. The whole training process took about 12 h. The batch size is an important parameter in deep learning. A small batch size typically makes the model hard to converge. Large batch size can increase the efficiency by parallel computing and make full use of memory [58]. On the other hand, a large batch size would also cause a huge demand for memory. A batch size of 32 has been used in training. During each step, one batch is used for training. The total step is 200 per epoch. For each epoch, the training program runs through the whole dataset once. The total number of epochs is 15.  
The training data is \(K\)-fold cross-validated by dividing it into \(K\) subsets [59]. Each time, one of the subsets is used as the validation set and the rest is used as the training set. Every data is used \(K-1\) times for training and one time for validation. For this experiment, \(K\) is set to five. The validation set is used after each epoch of training in order to evaluate accuracy and loss.