# Robust Parking Block Segmentation from a Surveillance Camera Perspective
## 4 Experiments and Results
### Convolutional Neural Networks Setup and Training  
In this section we describe the experimental setup, mainly for training the satellite segmentation CNN. Table 2 shows the hyperparameter values and significance for generating the experiments. Figure 5: _APKLOT_ dataflow between training, testing and translating the results to the surveillance camera image. The proposed metrics for measuring success are shown below each step. These metrics are discussed under the _Evaluation Protocol_ section (Section 3.4). \begin{table}
\begin{tabular}{l l l l} \hline
**Hyperparam.** & **Value** & **Ab.** & **Explanation** \\ \hline sample size & 300 initial instances and 30,300 instances by augmentation & j & More data is always the best way of reducing the variance without increasing the bias. \\ \hline batch size & [16,30,32] & b & Using the full instance always gives better accuracy than using a randomly partitioned batch size. However, the model evaluates the full gradient on each epoch and it making it too expensive to train. Using mini batches can ameliorate this problem, although the exact size cannot be taken for granted to be the largest because we are dealing with an stochastic way of partitioning the data. We tuned up this parameter empirically. \\ \hline initial learning rate & 0.1-0.01 & 1 & This value was set taking into account the recommendation of Reference [30]: [PERSON] [31] \\ \hline minimum learning rate & 0.00001–0.000001 & r & A smaller learning rate produces more stable hops in the gradient on the seek of optimal weight parameters. Too small learning rate bogs down the convergence speed, though. \\ \hline \end{tabular}
\end{table} 
Table 2: Hyperparameter experimental setup. Ancillary techniques were used, such as _momentum_ with _weight decay_ and _batch normalization_. The values for momentum were set according to [32] (0.9 momentum and \(10^{-4}\) weight decay). Batch normalization window was set large enough to preserve a maximum convolutional layer of 512. Finally, the experiments were named using the following naming convention:  
<_jittering was used>_**j**_-batch size>_**b**_-initial learning rate>_**l**_-minimum learning rate>_**r**  
In total, we performed 15 experiments. Twelve of these used the external data augmentation already described in the previous section besides the one that does dlib by default (random cropping and horizontal flipping). The other experiments only used the dlib default data augmentation. In the data augmentation experiments, the initial learning rate was set fixed to 0.1 in contrast to the cases not using data augmentation that also used 0.01. However, batch sizes were cycled equally between the three values 16, 30 and 32. At the first experiments we found that minimum learning rate was unimportant so the experiments corresponding to a batch size of 32 use only \(10^{-5}\) in contrast to the 16 and 30 cases that use also a \(10^{-6}\) minimum learning rate. During training, we found that models using data augmentation produced a higher negative log likelihood with a \(p\) value of 0.6% (Mann-Whitney-U). Also we found that models with a batch size less than 16 had a shorter duration with a \(p\) value of 0.4%. The faster model was using rotation jittering, 16 batch size, 0.01 initial learning rate and minimum learning rate of 0.000001. See Figure 6 for a graphic of these results, Figure 5(a) shows the negative log likelihood and Figure 5(b) shows the overall durations. Each of these experiments was tested using a I7 Intel Core with 32 GB of RAM and 11 GB GPU, namely using a NVIDIA GeForce GTX 1080 Ti. Images more than 4,000,000 squared pixels were too big for the GPU and triggered a CUDAMalloc (memory allocation) error. Figure 6: Average loss and duration are the main features we used for measuring progress and are show here. From (**a**) we can see that the possibility of reaching the 5000 steps without progress limit inasmuch as average loss increases. From the overall durations in (**b**) we appreciate that the maximum duration is only about 19 and a half hours.