## 3 Traffic Sign Board Dataset
### Generate Ground-Truth Labels  
From the bounding box values, the Gaussian heatmaps, x-y offset values, width-height values, and depth maps are processed. Figure 7 illustrates the various ground-truth data generated for the model training. The model has six labels: in Figure 7b,c encode the object width and height; Figure 7d,e encode the offset values in the x and y directions for the object centers; Figure 7f encodes the Gaussian heatmap for the object centers; and Figure 7g encodes the pixel-wise depth map for all the objects.  
Figure 6: Simulate adverse weather conditions with Cityscapes [48] dataset as background (**a**) Rain; (**b**) Snow; (**c**) Fog.  
Figure 7: Ground-truth generated for an image (**a**) Input Image; (**b**) Height Mask; (**c**) Width Mask; (**d**) Offset_x Mask; (**e**) Offset_y Mask; (**f**) Gaussian Heatmap (sum on all axis); (**g**) Depth Map.  
The heatmap is defined by, \(P\in\mathbb{R}^{\frac{H}{r}\times\frac{W}{r}\times K}\) where \(K\) is the number of object classes and \(r\) is the stride by which the model output size is reduced. In this case, the hourglass network downsamples the input by 4. The input size into the model is \((256,\ 256,\ 3)\), so the output heatmap prediction size is \((128,\ 128,\ K)\). The mapping on each channel is passed through a sigmoid function to scale the output between 0 and 1. The heatmap value predicted by the center point acts as the confidence level for object detection. For \(c=(cx,cy)\), the center point of the object, a 2D Gaussian kernel is set around each center point to form the heatmap. The original 2D Gaussian is defined as follows:  
\[G(x,y)=\exp\left(-\frac{(x-c_{x})^{2}+(y-c_{x})^{2}}{2\sigma^{2}}\right) \tag{1}\]  
where \((x,y)\) are the center coordinates and \(\sigma\) is the standard deviation of the bounding box. The standard deviation is set according to the width and height of the bounding box. For some object classes like text and numbers, it is crucial to set the sigma value adaptively according to the bounding box size. The conventional fixed-size standard deviation fails to cover the entire region of meaningful information. So, the sigma is set to \(\sigma=1.5*(bbox_{w}/bbox_{h})\) where \((bbox_{w}/bbox_{h})\) acts as the scaling factor and \(bbox_{w}\), \(bbox_{h}\) indicates the object bounding box width and height, respectively.  
Since the model is downsampled by stride 4, the integer center point changes into a floating-point number. To compensate for this quantization error, the model also needs an offset output e.  
\[\text{e}=\left(\frac{\overline{c}_{x}}{r}-\left\lfloor\frac{\overline{c}_{x}} {r}\right\rfloor,\frac{\overline{c}_{y}}{r}-\left\lfloor\frac{\overline{c}_{y }}{r}\right\rfloor\right) \tag{2}\]  
In Equation (2), the offsets are calculated by subtracting the original float coordinate from the floored integer coordinate value. Here, \(\overline{c}_{x}\) and \(\overline{c}_{y}\) are the center coordinates, and r is the model downsampled stride. The output offset prediction size is \((128,128,2)\), two dimensions to store offset values for x and y coordinates. Similarly, the width and height of all the bounding boxes for an image are stored in a new array at the location of object centers resulting in an output width-height mask of size \((128,\ 128,\ 2)\).  
Finally, the depth map is a 32-bit unsigned integer mask, which must be normalized because of the very high pixel values up to \(2^{32}\) for background with no objects. The output depth map prediction size is \((128,\ 128,\ 1)\) comprises the depth/distance information of all the objects in an image. The background distances are clipped off to zero, and only the object depth is retained in meters.