## 3 Proposed Method
### YOLOv3 Coupled with Patch-Wise Detection Strategy  
YOLOv3 is a convolutional neural network that finds objects at three different scales of input image similar to the feature pyramid network. YOLOv3 uses the darknet-53 network as a feature extractor and additional seven convolutional layers at each stage for detection. The output feature map of the deepest level is upsampled at a stride of two and concatenated with a shallower feature map for detecting smaller objects in an image. This upsampling takes place twice in the network to locate different size objects in an image. The YOLOv3 network is shown in Figure 3(a), where each convolutional layer is followed by batch normalization and Leaky ReLU activation function represented by the DBL block. Generally, traffic signs are smaller objects compared with other objects in an image. In the \(1360\times 800\) pixels images of GTSDB, the largest traffic sign is \(128\times 128\) pixels. Hence, traffic signs occupy only 1.5% of the total image pixel area. The deeper networks learn about an object's subtle appearance and its texture while the shallower layers learn about strokes and shape features of an object image. In the case of the traffic sign detection, those fine appearance and texture features are less important than shape features. Therefore, the natural idea for the detection of small objects like traffic signs is to use an output feature map of forefront layers and avoid deeper layers. In short, traffic layers signs do not need a deeper network, as their size is small. Therefore, we propose to reduce the network length to a customized value in order to detect the traffic signs of different sizes with a lesser miss rate. We reduced the stack of five DBL layers at each detection level to two DBL layers, to make the network shallow as shown in Figure 3(b). This reduction of the DBL block stack at each detection stage yielded lesser false positives and lowered the log-average miss rate (LAMR). Henceforth, improving mean Average Precision and overall performance of the YOLOv3 network. Therefore, we conclude that for smaller objects like traffic signs, five DBL layers are redundant in the network, and since traffic signs are small objects in road scenes, the output feature map of deeper networks is not required. During the experiments, we noted while training and testing the network that the input image size was taken as \(416\times 416\) pixels. The input image to the network was scaled to \(416\times 416\) pixels and then it was forwarded to the network. It should be noted that rescaling a large image (e.g., \(1360\times 800\) pixels image in GTSDB) to the small dimensions of \(416\times 416\) pixels, makes small objects such as traffic signs very tiny as shown in Figure 5. This results in the loss of discriminative features, hence, it becomes difficult for the trained network to detect such minute objects. To cope with this, we propose to break the input image into patches. Splitting the image in patches was also proposed in [28], which helped to speed up the detection process in terms of FPS. This technique was also used in [29] to detect vanishing points, yielding six times speed up the detection process and increased detection accuracy by 5.6%. In our proposed method, the patch-wise input strategy solved the problem of disappearing small objects while retaining the essence of the road scenario. This prevents smaller object features from being lost due to image resizing and helps in improving the detection speed. The network was trained with patches of training images of size varying from \(400\times 400\) pixels to \(800\times 800\) pixels. These patches are obtained from the bounding box annotations. The dimensions acquired from the annotation were extended 400 pixels in all four directions. A maximum limit constraint was applied in some cases when this  
Figure 4: Network models (**a**) original YOLOv3 network (**b**) tweaked YOLOv3 network – modifications are highlighted with blue dotted squares. extension exceeded original image dimensions.