## 2 Related Work
### YOLO Networks  
The first version of YOLO, YOLOv1 [24], set a new trend in real-time object detection by integrating region proposal and classification into a unified network. Since then, each successive model brought significant improvements in accuracy, efficiency, and real-time performance. YOLOv2 was able to expand detection capabilities into more than 9000 object categories using the Darknet-19 backbone [63]. YOLOv3 introduced Darknet-53 with an FPN architecture to improve small object detection [64]. YOLOv4 [27] and YOLOv5 [28],integrated with the CSPNet [65] backbone and complemented with advanced feature fusion modules such as PANet [66] and SPP [50], pushed this performance even further. YOLOv5 development was done with PyTorch, which made migration to the ONNX and CoreML frameworks quite easy to make it run on iOS devices and mobile apps [67; 68]. Recent versions include YOLOv6 [69], YOLOv7 [70], and YOLOv8 [71; 72], which have put more emphasis on lightweight architectures, improved backbone designs, and other innovative optimisations such as anchor-free detection and efficient layer aggregation. YOLOv9 [73] introduced GELAN for balancing model lightness, speed, and accuracy, while YOLOv10 [74] integrated dual-label assignment and rank-guided block design for enhanced efficiency [75]. The most recent YOLOv11 model, released in 2024, emphasizes reduced parameters and adaptability for both cloud and edge deployments, showcasing continued advancements in real-time object detection [71]. YOLOv5s Architecture  
YOLOv5 is a three-part model comprising a backbone network, neck network, and head (Figure 1). It feeds the features extracted from input images through the backbone network into the neck network. The convolution module enhances the convergence of the model by performing batch normalisation, which enables the model to learn complex features using the SiLU activation function. The C3 module, including C3_1, performs the concatenation of different scale features and accelerates the network's running time. The SPP module downsamples the input parallelly to retain context and edge details. The neck network integrates a parallel feature fusion network (FFN) and PAN to achieve effective feature fusion of low- and high-level information. YOLOv5 uses the YOLOv3 head structure to perform object detection by regression computation and shows the prediction result. It generates the head of the object class, coordinates, and bounding boxes. By processing the input image, the convolutional layers extract feature maps at three levels (P3, P4, P5), which are then passed to the detection  
Figure 1: Network architecture of YOLOv5-v6.0 [61]. head for producing bounding boxes and class labels. The head network performs object detection by adopting a complete intersection over union (CIoU) loss, together with the NMS algorithm. As for the YOLOv5 v6.0 model, there are no major changes made to the backbone, but minor changes include replacing Focus with its equivalent convolution layer to enhance exportability and replacing SPP with SPPF for increased processing speed. More specifically, an optimised module called SPPF was adopted [28]. Whenever an image is entered into the model, a grid cell of a given size is placed over the image. The centre of an object falling in a given cell is responsible for estimating its coordinates and class. Each cell of the grid performs the task of estimating the dimensions of the bounding box, along with calculating their scores of confidence. Confidence scores signify the probability of an object being enclosed by the bounding box. The confidence score is mathematically represented in Equation (1):  
\[confidence\ score=c(object)\ \times IoU_{truth\ pred} \tag{1}\]  
where \(c(object)\) is the probability of the object present, varying between 0 and 1. The confidence score is assigned a value of zero when no object is detected. The Intersection over Union (\(IoU_{truth\ pred}\)) quantifies how much the predicted bounding box overlaps with the ground truth box.