YOLOv3 is the third major version of the YOLO (You Only Look Once) object detection system. It was introduced by Joseph Redmon and Ali Farhadi in the 2018 paper YOLOv3: An Incremental Improvement. The model continued the YOLO approach of performing object detection in a single neural network while introducing several important improvements in feature extraction, class prediction, and multi-scale detection.
The original YOLOv3 implementation is included in Joseph Redmon’s Darknet framework, where the primary configuration file is:
cfg/yolov3.cfg
The repository also contains a smaller configuration:
cfg/yolov3-tiny.cfg
What Is YOLOv3?
YOLOv3 is a single-stage object detector designed to predict object locations and classes directly from an input image.
Instead of first generating region proposals and then classifying them, YOLOv3 processes the complete image through one convolutional neural network.
The model predicts:
- Bounding boxes
- Objectness scores
- Class probabilities
- Multiple objects at different scales
This design allows YOLOv3 to maintain high detection speed while improving accuracy over earlier YOLO versions.
YOLOv3 and Darknet
YOLOv3 was implemented using the Darknet neural network framework.
Darknet provides the model configuration, training system, detection code, network layers, and GPU support required by the original YOLO implementation.
The standard YOLOv3 model is defined through the yolov3.cfg configuration file in the Darknet repository.
YOLOv3 Architecture
YOLOv3 introduced a new feature extraction network called Darknet-53.
Darknet-53 is substantially deeper than the Darknet-19 backbone used in YOLOv2.
Its design combines:
- Convolutional layers
- 1 × 1 convolutions
- 3 × 3 convolutions
- Batch normalization
- Residual connections
Residual connections allow information to bypass groups of layers, helping deeper networks train more effectively.
The YOLOv3 paper describes the new backbone as containing 53 convolutional layers, which is why it is called Darknet-53.
Darknet-53 Backbone
Darknet-53 acts as the main feature extractor in YOLOv3.
The network gradually reduces the spatial dimensions of the input while increasing the number of feature channels.
This allows early layers to capture simple visual patterns while deeper layers learn more complex object features.
The use of residual connections is one of the key differences between YOLOv3 and the Darknet-19 architecture used in YOLOv2.
Darknet-53 provides a stronger feature extraction backbone while maintaining the speed-oriented design of Darknet.
YOLOv3 Input Size
The standard Darknet YOLOv3 configuration uses:
416 × 416 pixels
as its default input resolution.
However, YOLOv3 can also operate at other compatible resolutions.
Joseph Redmon’s YOLO documentation explains that users can change the network size to trade detection speed for accuracy without retraining the model.
Common sizes include:
- 320 × 320
- 416 × 416
- 608 × 608
A smaller image generally improves speed, while a larger image can improve detection accuracy.
Multi-Scale Object Detection
One of the most important improvements in YOLOv3 is prediction at three different scales.
Earlier YOLO models had more difficulty detecting small objects because detection was performed using a more limited feature representation.
YOLOv3 predicts objects from feature maps at different resolutions.
This helps the model detect:
- Large objects
- Medium-sized objects
- Small objects
The use of multiple detection scales is one of the main reasons YOLOv3 performs better on small objects than earlier YOLO versions.
Bounding Box Prediction
YOLOv3 continues to use anchor-based bounding box prediction.
For each bounding box, the network predicts values describing:
- Center X coordinate
- Center Y coordinate
- Width
- Height
- Objectness confidence
The model predicts an objectness score using logistic regression. This value represents whether a bounding box is likely to contain an object.
The final detection combines bounding box information with class predictions.
Anchor Boxes
YOLOv3 uses predefined anchor boxes, also known as bounding box priors.
Anchor boxes provide several starting shapes that the network adjusts to match detected objects.
The standard YOLOv3 configuration contains multiple anchors that are distributed across the three detection scales.
This allows the model to handle objects with different:
- Widths
- Heights
- Aspect ratios
- Sizes
Anchor-based prediction provides greater flexibility than predicting bounding boxes from scratch.
Three Detection Scales
YOLOv3 performs detection at three separate stages of the network.
For a standard 416 × 416 input, these detection layers operate at different spatial resolutions.
Conceptually, the model uses:
- A coarse feature map for large objects
- A medium feature map for medium objects
- A finer feature map for smaller objects
Features from deeper layers are also combined with earlier higher-resolution features.
This feature fusion allows YOLOv3 to retain more spatial information for small-object detection.
YOLOv3 Class Prediction
YOLOv3 changed the way class predictions are calculated.
Instead of using a softmax function that assumes object classes are mutually exclusive, YOLOv3 uses independent logistic classifiers for class prediction.
This makes it possible for the model architecture to better support situations where class labels are not strictly exclusive.
For example, an object could theoretically belong to related categories without forcing the network to treat all classes as mutually exclusive.
YOLOv3 Objectness Score
Each predicted bounding box receives an objectness score.
The score represents the model’s confidence that the bounding box contains an actual object.
If a predicted box does not sufficiently overlap a ground-truth object during training, its objectness behavior is handled differently based on the matching rules described in the YOLOv3 training process.
The objectness score is later combined with class confidence to produce final detections.
Feature Pyramid Style Detection
YOLOv3 uses feature maps from different parts of the network to make predictions at multiple resolutions.
A deeper feature map contains strong semantic information but lower spatial resolution.
Earlier feature maps contain more detailed positional information.
YOLOv3 combines these different types of features before making predictions.
This strategy improves detection across different object sizes and resembles the general idea of feature pyramid detection.
YOLOv3 Performance
YOLOv3 was designed to improve accuracy while retaining the speed advantage of the YOLO family.
The original paper reported that at 320 × 320 resolution, YOLOv3 achieved 28.2 mAP in approximately 22 milliseconds under the authors’ benchmark setup.
Using the older AP50 metric, the paper reported 57.9 mAP@50 in 51 milliseconds on a Titan X GPU.
Joseph Redmon’s official YOLO page also describes YOLOv3 as providing a strong speed and accuracy tradeoff compared with other detectors available at the time.
YOLOv3 vs YOLOv2
YOLOv3 introduced several important improvements over YOLOv2.
| Feature | YOLOv2 | YOLOv3 |
|---|---|---|
| Backbone | Darknet-19 | Darknet-53 |
| Residual connections | No | Yes |
| Detection scales | More limited | Three scales |
| Small-object detection | Improved over v1 | Further improved |
| Class prediction | Softmax based | Independent logistic classifiers |
| Bounding boxes | Anchor based | Anchor based |
| Feature fusion | Limited | Multi-scale feature fusion |
| Default common resolution | 416 × 416 | 416 × 416 |
The move from Darknet-19 to Darknet-53 and the introduction of multi-scale prediction are among the biggest architectural changes.
YOLOv3 vs YOLOv1
YOLOv3 is substantially more advanced than YOLOv1.
YOLOv1 used a simpler grid-based architecture and predicted detections from a single output representation.
YOLOv3 introduced:
- Anchor boxes
- Darknet-53
- Residual connections
- Three detection scales
- Improved feature fusion
- Independent class prediction
- Better small-object handling
These improvements made YOLOv3 much more flexible for real-world object detection tasks.
YOLOv3 Tiny
The Darknet repository also includes:
cfg/yolov3-tiny.cfg
YOLOv3 Tiny is a smaller version of the standard model.
It uses a reduced architecture designed for applications where speed and lower computational requirements are more important than maximum detection accuracy.
Advantages can include:
- Faster inference
- Lower memory requirements
- Reduced computational cost
- Easier deployment on limited hardware
The tradeoff is lower detection accuracy compared with the full YOLOv3 model.
YOLOv3 Training
YOLOv3 training teaches the network to predict several components simultaneously.
These include:
- Bounding box position
- Bounding box dimensions
- Objectness confidence
- Class probabilities
The network uses anchor boxes to determine which prediction should be responsible for each ground-truth object.
The model then adjusts its predictions during training to reduce localization and classification errors.
YOLOv3 Detection Process
The general YOLOv3 detection workflow can be summarized as:
- An image is loaded.
- The image is resized to the configured network dimensions.
- Darknet-53 extracts visual features.
- Deeper and earlier feature maps are combined.
- The network performs detection at three scales.
- Anchor boxes generate candidate object boxes.
- Bounding box coordinates are predicted.
- Objectness scores are calculated.
- Class probabilities are predicted.
- Low-confidence detections are filtered.
- Overlapping predictions are reduced.
- Final bounding boxes and object classes are returned.
This entire process is performed within the YOLOv3 network.
Non-Maximum Suppression
Object detectors can sometimes produce several overlapping bounding boxes for the same object.
YOLOv3 detection pipelines use non-maximum suppression, commonly called NMS, to reduce these duplicate detections.
NMS generally keeps the strongest bounding box while suppressing highly overlapping lower-confidence predictions.
This helps produce cleaner final detection results.
YOLOv3 Advantages
Fast Object Detection
YOLOv3 retains the real-time design philosophy of earlier YOLO models.
Better Small Object Detection
Three-scale prediction improves the model’s ability to detect smaller objects.
Stronger Backbone
Darknet-53 provides deeper feature extraction than Darknet-19.
Residual Connections
Residual blocks make it practical to train a deeper network.
Flexible Input Resolution
The network can operate at different supported input dimensions, allowing users to balance speed and accuracy.
Multi-Scale Predictions
Objects are detected at three feature-map resolutions rather than relying on a single detection scale.
YOLOv3 Limitations
YOLOv3 was highly capable for its time, but it still has limitations compared with newer object detectors.
Larger Model
Darknet-53 makes YOLOv3 larger and more computationally demanding than earlier YOLO versions.
Small and Crowded Objects
Multi-scale prediction improves small-object detection, but extremely small or densely packed objects can still be challenging.
Anchor Dependency
The detector depends on predefined anchor boxes.
Older Training Techniques
More recent object detection architectures use newer loss functions, augmentation techniques, backbones, and optimization methods.
YOLOv3 Use Cases
YOLOv3 can be used for many computer vision applications, including:
- Person detection
- Vehicle detection
- Video surveillance
- Traffic monitoring
- Robotics
- Object tracking pipelines
- Industrial inspection
- Image analysis
- Research projects
- Computer vision education
It remains especially useful for learning how modern multi-scale single-stage detectors evolved.
YOLOv3 and COCO
YOLOv3 was commonly evaluated using the COCO object detection dataset.
The standard COCO configuration is designed for 80 object classes.
These include common objects such as people, vehicles, animals, furniture, and everyday items.
The detection layers in the standard Darknet YOLOv3 configuration are configured for COCO-based object prediction.
Why YOLOv3 Is Important
YOLOv3 represents one of the most important stages in the early evolution of the YOLO family.
It combined several ideas that became common in later object detection systems:
- Deep residual backbones
- Multi-scale detection
- Feature fusion
- Anchor-based prediction
- Independent class probabilities
- Flexible input resolutions
It also maintained YOLO’s defining focus on fast single-stage object detection.
Frequently Asked Questions
What is YOLOv3?
YOLOv3 is the third major version of the You Only Look Once real-time object detection system.
Who created YOLOv3?
YOLOv3 was introduced by Joseph Redmon and Ali Farhadi.
When was YOLOv3 introduced?
The YOLOv3 paper was submitted in April 2018.
What is the YOLOv3 paper called?
The paper is titled:
YOLOv3: An Incremental Improvement
What framework does YOLOv3 use?
The original implementation uses the Darknet neural network framework.
What backbone does YOLOv3 use?
YOLOv3 uses Darknet-53.
Why is it called Darknet-53?
The backbone contains 53 convolutional layers.
Does YOLOv3 use anchor boxes?
Yes. YOLOv3 uses anchor-based bounding box prediction.
How many detection scales does YOLOv3 use?
YOLOv3 predicts objects at three different scales.
What is the default YOLOv3 input size?
The standard Darknet configuration uses 416 × 416 pixels.
Can YOLOv3 use different input sizes?
Yes. The original YOLO documentation explains that the model size can be changed to trade speed for accuracy.
What is YOLOv3 Tiny?
YOLOv3 Tiny is a smaller and faster version of YOLOv3 designed for lower computational requirements.
Is YOLOv3 faster than YOLOv2?
Performance depends on input resolution and hardware. YOLOv3 uses a larger and more accurate architecture, while still being designed for real-time detection.
Is YOLOv3 still useful?
Yes. YOLOv3 remains useful for education, research, legacy Darknet projects, model comparisons, and understanding the evolution of modern YOLO detectors.
Conclusion
YOLOv3 significantly advanced the YOLO object detection architecture by combining Darknet-53, residual connections, anchor-based predictions, three-scale detection, and improved class prediction.
These changes improved detection accuracy, particularly for objects at different scales, while preserving the speed-focused philosophy that made YOLO popular.
Although newer object detection models have introduced further improvements, YOLOv3 remains one of the most important early YOLO architectures and an essential model for understanding the development of real-time object detection.