You Only Look Once (YOLO) is a series of real-time object detection systems based on convolutional neural networks. First introduced by Joseph Redmon and colleagues in 2015, YOLO has undergone several iterations and improvements, becoming one of the most popular object detection frameworks. The name "You Only Look Once" refers to the fact that the algorithm requires only one forward propagation pass through the neural network to make predictions, unlike previous region proposal-based techniques such as R-CNN that require thousands of passes for a single image.
YOLO frames object detection as a single regression problem, directly predicting bounding box coordinates and class probabilities from image pixels. This approach contrasts with earlier methods that applied classifiers to multiple image regions and scales, making YOLO significantly faster while maintaining competitive accuracy.
Overview
Compared to previous methods like R-CNN and OverFeat, YOLO applies a single neural network to the full image instead of running the model at multiple locations and scales. The network divides the image into a grid of regions and predicts bounding boxes and class probabilities for each region. These bounding boxes are weighted by the predicted probabilities, allowing the model to output final detections in one pass.
OverFeat
OverFeat was an early influential model for simultaneous object classification and localization, and it served as a precursor to YOLO. Its architecture involved training a neural network for image classification only, such as AlexNet. The last layer of the trained network was then removed, and for every possible object class, a regression network was initialized at the last layer. The base network had its parameters frozen, and the regression network was trained to predict the coordinates of two corners of the object's bounding box.
During inference, the classification-trained network was run over the same image at many different zoom levels and croppings. For each, it output a class label and a probability. Each output was then processed by the regression network of the corresponding class, resulting in thousands of bounding boxes with class labels and probabilities. These boxes were merged until only one box with a single class label remained. This multi-scale approach was computationally expensive, motivating the need for a more efficient method like YOLO.
Versions
The YOLO series consists of two parts. The original part contained YOLOv1, v2, and v3, all released on a website maintained by Joseph Redmon. Later versions, including YOLOv4 and beyond, were developed by other researchers and expanded the framework's capabilities.
YOLOv1
The original YOLO algorithm, introduced in 2015, divides the image into an S × S grid of cells. If the center of an object's bounding box falls into a grid cell, that cell is said to "contain" that object. Each grid cell predicts B bounding boxes and confidence scores for those boxes. These confidence scores reflect how confident the model is that the box contains an object and how accurate it thinks the box is.
In more detail, the network performs the same convolutional operation over each of the S² patches. The output for each patch is a tuple that includes conditional class probabilities, bounding box coordinates, and confidence scores. Specifically, for each cell, the network outputs p_i, the conditional probability that the cell contains an object of class i, given that it contains at least one object. It also outputs for each of the B boxes the center coordinates (x_j, y_j), width w_j, height h_j, and a confidence score c_j representing the predicted intersection over union (IoU) with the ground truth.
Multiple bounding boxes are predicted per cell to allow each prediction to specialize in a particular shape. For example, slender objects might be predicted by one box while stout objects are predicted by another. The network architecture has 24 convolutional layers followed by 2 fully connected layers.
During training, for each cell that contains a ground truth bounding box, only the predicted box with the highest IoU with the ground truth is used for gradient descent. The coordinates are trained to approach the ground truth, the class probability for the correct class is pushed toward 1, and other class probabilities are pushed toward zero. If a cell contains no ground truth object, its confidence scores are trained toward zero, reducing false positives.
Impact and Legacy
YOLO's single-pass design made it a breakthrough in real-time object detection, enabling applications in video surveillance, autonomous driving, and robotics. Its speed and simplicity inspired numerous follow-up works and variants, solidifying its place as a foundational model in computer vision. The original YOLO paper has been widely cited, and the framework remains a benchmark for real-time detection systems.
Related Concepts
YOLO is built on convolutional neural networks and benefits from techniques like Batch Normalization and Data Augmentation in later versions. Its development is part of the broader field of Deep learning and Machine learning, which also includes residual networks and U-Net for other vision tasks. The efficiency of YOLO has also influenced Artificial intelligence applications in edge devices and cloud platforms.