YOLOv1 - YOLOv4
1. Introduction to YOLO
YOLO (You Only Look Once) was introduced by Joseph Redmon, Santosh Divvala, Ross Girshick, and Ali Farhadi in 2015 as a fast and efficient method for object detection. Unlike 2-stage approaches such as R-CNN, which first generate potential object regions and then classify them, YOLO does everything in a single step. It looks at the entire image once and directly predicts both the bounding boxes and the types of objects. Because of this one-step approach, YOLO is much faster and uses fewer computational resources, making it ideal for real-time applications like video analysis and surveillance.
2. Evolution of YOLO (YOLOv1 - YOLOv4)
- YOLOv1 (Joseph Redmon et al., 2016) - the base YOLO consists of 24 convolutional layers, following by 2 fully connected layers. During training, images are resized to 224 × 224, and later scaled up to 448 × 448 for detection. The model divides the image into a grid and predicts bounding boxes and class probabilities for each cell. The limitations of YOLOv1: it struggles with small objects and localization errors.
- YOLOv2 (Joseph Redmon et al., 2017) is also called YOLO9000 due to its ability to classify over 9000 object categories. The main improvement on YOLOv2 is anchor boxes which helps the model detect objects at different scales. Anchor boxes are a set of bounding boxes which are predefined and act as templates for the model to detect objects. YOLOv2 uses DarkNet19 as backbone, helping extract features better. The input images is 448 × 448 pixels, increasing the mAP value by 4% compared to YOLOv1.
- YOLOv3 (Joseph Redmon and Ali Farhadi, 2018) - A key contribution is the use of a Feature Pyramid Network (FPN), which allows the model to make predictions at multiple scales. This helps YOLOv3 detect both large and small objects more effectively. This version employs Darknet-53 backbone which is deeper and more powerful.
- YOLOv4 (Alexey Bochkovskiy et al., 2020) focuses on improving performance while keeping real-time speed. It introduces many practical techniques that make training more efficient and detection more accurate.
3. The fundamental architecture of YOLO
Basically, a YOLO architecture includes three sections: Backbone, Neck, and Head.
- Backbone acts as feature extractor. It processes the input image and learns visual patterns such as edges, shape, and textures. CNN-based models are often used as the backbone in YOLO.
- Neck is responsible for aggregating and refining features from different stages of the backbone. It helps the model handle objects at multiple scales by combining low-level and high-level features. Techniques such as Feature Pyramid Network (FPN) or Path Aggregation Network (PAN) are often used here.
- Head produces the final predictions. It takes the processed features and outputs results including bounding boxes, object classes, along with corresponding confidence scores.
All of these components are done in a single forward pass in YOLO, making it fast and suitable for real-time object detection. Figure 1 illustrates the overall architecture of YOLOv4.
References
- Redmon, J., Divvala, S., Girshick, R., & Farhadi, A. (2016). You only look once: Unified, real-time object detection. In Proceedings of the IEEE conference on computer vision and pattern recognition (pp. 779-788).
- Redmon, J., & Farhadi, A. (2017). YOLO9000: better, faster, stronger. In Proceedings of the IEEE conference on computer vision and pattern recognition (pp. 7263-7271).
- Redmon, J., & Farhadi, A. (2018). Yolov3: An incremental improvement. arXiv preprint arXiv:1804.02767.
- Bochkovskiy, A., Wang, C. Y., & Liao, H. Y. M. (2020). Yolov4: Optimal speed and accuracy of object detection. arXiv preprint arXiv:2004.10934.
- Afifah, V., & Erniwati, S. (2026). Yolov8 for object detection: A comprehensive review of advances, techniques, and applications. IJACI: International Journal of Advanced Computing and Informatics, 2(1), 53-61.