PIXELBANKv8.2.1
Menu
Back to Concepts
Object Detection2024

YOLOv10

Real-Time End-to-End Object Detection

Ao Wang, Hui Chen, Lihao Liu, Kai Chen, Zijia Lin, Jungong Han, Guiguang Ding

Read the Paper on arXiv

Paper Overview

YOLOv10 (Tsinghua University, 2024) achieves true end-to-end real-time object detection by eliminating Non-Maximum Suppression (NMS) — the last non-differentiable post-processing step in the detection pipeline. It does this through consistent dual assignments: training with both one-to-many (rich supervision) and one-to-one (NMS-free) branches simultaneously, using only the one-to-one branch at inference.

Why NMS elimination matters: NMS adds 1-2ms latency per image on GPU (more on edge devices), varies with scene complexity (more objects → slower), is non-differentiable (can't be optimized during training), and complicates deployment (requires NMS library support). Previous end-to-end detectors (DETR, RT-DETR) eliminated NMS but used expensive Transformer decoders, making them slower overall.

Beyond NMS-free training, YOLOv10 introduces a holistic efficiency-accuracy design with multiple architectural innovations:

InnovationSavingsWhere Applied
Lightweight classification head40% fewer head paramsAll models
Spatial-channel decoupled downsamplingBetter info preservationAll models
Rank-guided block designStage-specific block selectionM/B/L/X
Large-kernel depthwise convolutionsLarger receptive fieldL/X
Partial Self-Attention (PSA)Global context at lower costS/M/B/L/X

Key results on COCO val2017:

  • YOLOv10-S: 46.3 mAP at 2.49ms — matches YOLOv8-S accuracy with 46% fewer parameters and 25% less compute
  • YOLOv10-M: 51.1 mAP at 4.74ms — 57% faster than RT-DETR-R50 with similar accuracy
  • YOLOv10-X: 54.4 mAP at 10.70ms — highest accuracy in the real-time regime

Chapter Roadmap

Click any topic to jump in

1
Holistic Design

Joint optimization of latency and accuracy across the entire architecture.

informs
2
Dual Assignments

One-to-many head trains, one-to-one head deploys — sharing weights for consistency.

3
C2fCIB Block

Compact inverted bottleneck reducing FLOPs in the backbone.

4
PSA Module

Self-attention applied to half the channels for cheap global context.

informs
5
NMS-Free Inference

Inference with no post-processing — predictions go straight to output.

6
N to X Scaling

Family of variants from nano to extra-large with compound scaling.

7
vs RT-DETR

Outperforms RT-DETR at same AP with lower latency on edge GPUs.

The core innovation of YOLOv10 is training with two label assignment strategies simultaneously — one-to-many for rich supervision and one-to-one for NMS-free inference — while enforcing consistency between them to ensure the one-to-one branch benefits from the many-to-one branch's richer training signal.

The Problem

The one-to-many vs one-to-one dilemma:

One-to-many assignment (used in YOLOv5-v8, FCOS, ATSS): Each ground truth object is assigned to multiple predictions (typically 5-20) based on IoU overlap and center proximity. This provides rich supervision — many gradient signals per object per training step, leading to fast convergence and strong accuracy. But: Multiple predictions per object means redundant detections at inference, requiring NMS.

One-to-one assignment (used in DETR, Deformable DETR): Hungarian matching assigns exactly one prediction per ground truth. No redundancy, no NMS needed at inference. But: Only one gradient signal per object per step — weak supervision leads to slow convergence and lower accuracy. DETR required 500 epochs to converge (vs 300 for YOLO).

Previous attempts at NMS-free YOLO (end2end variants) simply replaced one-to-many with one-to-one — this caused significant accuracy drops (2-3 mAP) because the weak supervision couldn't match the one-to-many training quality.

The question: Can we get the training benefits of one-to-many supervision while deploying the NMS-free one-to-one branch at inference?

The Solution

Consistent Dual Assignments uses both strategies simultaneously:

Architecture: Two parallel detection heads sharing the same backbone and neck features:

  • One-to-many head: Uses Task-Aligned Learning (TAL) assignment from YOLOv8. Each ground truth matched to ~13 predictions based on an alignment metric combining classification score and IoU. Provides rich supervision during training.
  • One-to-one head: Uses Hungarian matching to assign exactly one prediction per ground truth based on the total cost (classification loss + box regression loss + IoU). Produces non-redundant predictions for NMS-free inference.

Both heads share the same backbone and FPN neck — they differ only in their assignment strategy and lightweight head layers. This sharing is critical: the one-to-one head benefits from features trained by the richer one-to-many supervision.

Consistency regularization (Lconsist\mathcal{L}_{consist}): Ensures the one-to-one head's selected predictions are consistent with the one-to-many head's top predictions. Specifically, for each ground truth, the one-to-one head's assigned prediction should have high alignment score in the one-to-many head's metric. This prevents the two heads from diverging during training.

Training vs Inference:

  • Training: Both heads compute losses, backbone gets gradients from both. Total loss: L=Lo2m+λo2oLo2o+λconsistLconsist\mathcal{L} = \mathcal{L}_{o2m} + \lambda_{o2o} \mathcal{L}_{o2o} + \lambda_{consist} \mathcal{L}_{consist}
  • Inference: One-to-one head only. One-to-many head is completely discarded — zero overhead.

The result: The one-to-one head achieves accuracy comparable to the one-to-many head (which would need NMS), because it was trained alongside richer supervision that shaped the shared features.

Key Points

1

One-to-many assignment provides rich supervision but creates redundant predictions

2

One-to-one assignment (Hungarian matching) assigns exactly one prediction per object

3

Both branches share the same feature backbone for consistency

4

Training uses both branches; inference uses only one-to-one (no NMS needed)

5

Reduces inference latency by eliminating post-processing

Mathematical Formulation

Total Training Loss

Ltotal=Lo2m+λLo2o\mathcal{L}_{total} = \mathcal{L}_{o2m} + \lambda \cdot \mathcal{L}_{o2o}

The total loss combines one-to-many (o2m) and one-to-one (o2o) losses with weighting factor lambda

Mathematical Intuition

Dual heads share weights but use different label assignment functions: Ao2mA_{o2m} assigns each GT to its top-kk predictions (rich gradient signal during training), while Ao2oA_{o2o} assigns each GT to a single best prediction (deployable without NMS). The consistency objective minimizes Ao2m(p)Ao2o(p)\Vert A_{o2m}(p) - A_{o2o}(p) \Vert over predictions pp, so the one-to-one head inherits the supervision quality of the one-to-many head while staying NMS-free at inference.