Polydesk-logotype
Polydesk.ai — Header

YOLO (You Only Look Once)

YOLO (You Only Look Once) est une famille de modèles de détection d’objets en temps réel qui traite l’image en une seule passe pour localiser et classifier simultanément tous les objets présents. Depuis le papier fondateur de Joseph Redmon en 2016, YOLO est devenu le standard industriel de la détection temps réel, avec des versions allant de YOLOv1 à YOLO26 (janvier 2026), la première à intégrer nativement une inférence end-to-end sans NMS.

YOLO en bref
Auteur original
Joseph Redmon (YOLOv1-v3, 2016-2018, framework Darknet)
Mainteneur actuel
Ultralytics (YOLOv5, v8, YOLO11, YOLO26)
Version la plus récente
YOLO26 (14 janvier 2026, Ultralytics)
Type
Détection d’objets single-stage, temps réel
Tâches supportées (YOLO26)
Détection, segmentation d’instances, classification, pose/keypoints, OBB
Licence
AGPL-3.0 (+ licence Enterprise pour usage commercial)
Framework
PyTorch (Ultralytics), exports ONNX, TensorRT, CoreML, TFLite

Le principe fondamental : détecter en une seule passe

Avant YOLO, la détection d’objets fonctionnait en deux étapes (two-stage) : d’abord proposer des régions candidates (R-CNN, Fast R-CNN), puis classifier chaque région individuellement. Cette approche était précise mais lente : quelques images par seconde au mieux.

L’insight de Joseph Redmon : reformuler la détection comme un problème de régression unique. L’image entière est divisée en une grille, et un seul réseau convolutif prédit simultanément les bounding boxes, les scores de confiance et les classes pour toutes les cellules de la grille. D’où le nom : « You Only Look Once ».

Le résultat : un modèle capable de traiter des dizaines (voire des centaines) d’images par seconde, rendant la détection d’objets utilisable en temps réel pour la vidéo, la robotique et les systèmes embarqués.

L’évolution de YOLO : 10 ans d’innovation

Version Année Auteurs Innovation clé
YOLOv1 2016 Joseph Redmon Concept fondateur : détection single-stage en une passe
YOLOv2 2017 Redmon, Farhadi Anchor boxes, batch normalization, multi-scale training
YOLOv3 2018 Redmon, Farhadi Détection multi-échelle (FPN), backbone Darknet-53
YOLOv4 2020 Bochkovskiy et al. CSPDarknet, Mish activation, Mosaic augmentation
YOLOv5 2020 Ultralytics (Jocher) Migration vers PyTorch, écosystème de déploiement complet
YOLOv8 2023 Ultralytics Tête de détection découplée, anchor-free, multi-tâches
YOLO11 2024 Ultralytics Blocs C3k2/C2PSA, attention spatiale, assignation hybride
YOLOv12 fév. 2025 Tian, Ye, Doermann Architecture attention-centric (Area Attention, R-ELAN)
YOLO26 jan. 2026 Ultralytics (Jocher, Qiu) NMS-free end-to-end, MuSGD optimizer, ProgLoss + STAL, 43% plus rapide sur CPU
À propos de la numérotation Après YOLOv3 (le dernier de Redmon), la numérotation est devenue fragmentée. YOLOv4, v6, v7, v9, v10 et v12 sont des publications académiques indépendantes. YOLOv5, v8, YOLO11 et YOLO26 sont des releases Ultralytics. Ce ne sont pas des versions séquentielles d’un même projet : chaque version a ses propres auteurs et objectifs.

YOLO26 : l’état de l’art (mars 2026)

YOLO26, publié par Ultralytics le 14 janvier 2026, représente un changement de paradigme dans la famille YOLO. C’est la première version à adopter une philosophie « edge-first » : l’architecture est optimisée en priorité pour les appareils embarqués et les CPU, tout en maintenant des performances compétitives sur GPU. Ses innovations principales :

Inférence NMS-free end-to-end : les versions précédentes nécessitaient un post-traitement NMS (Non-Maximum Suppression) pour éliminer les détections redondantes. Le NMS ajoutait de la latence, nécessitait des seuils manuels (IoU threshold, confidence threshold) et produisait des résultats non déterministes (l’ordre de traitement pouvait changer le résultat). YOLO26 élimine le NMS nativement en entraînant le modèle à produire des prédictions directes sans duplication. Résultat : latence réduite, déploiement simplifié, résultats déterministes et reproductibles entre FP16 et FP32.

MuSGD optimizer : un optimiseur hybride combinant SGD classique avec des techniques inspirées de l’optimiseur Muon (utilisé pour l’entraînement de LLM comme Kimi K2 de Moonshot AI). L’approche utilise une décomposition de Newton-Schultz à chaque mise à jour du gradient pour augmenter l’orthogonalité des poids, ce qui améliore empiriquement la convergence. Il améliore la stabilité de l’entraînement et la reproductibilité à travers les différentes tailles de modèle.

ProgLoss + STAL : Progressive Loss Balancing rééquilibre dynamiquement les composantes de la loss pendant l’entraînement, évitant que le modèle ne surapprenne sur les catégories dominantes tout en sous-performant sur les classes rares. Small-Target-Aware Label Assignment améliore spécifiquement la détection des petits objets en priorisant l’assignation des labels pour les objets à faible représentation pixel, un point faible historique des détecteurs single-stage.

Suppression du DFL (Distribution Focal Loss) : le module DFL, présent dans YOLOv8 et YOLO11, ajoutait de la complexité à l’export et limitait la compatibilité avec certains accélérateurs edge. Sa suppression simplifie l’architecture sans perte de précision notable.

Inférence CPU 43% plus rapide : l’architecture simplifiée (suppression du DFL, tête de prédiction allégée, NMS-free) produit des gains majeurs sur les appareils sans GPU, rendant le temps réel possible sur CPU pour les variantes Nano et Small.

5 tâches unifiées : détection, segmentation d’instances, estimation de pose/keypoints, détection orientée (OBB pour l’imagerie aérienne et satellite), et classification. Toutes supportées par la même architecture, de la variante Nano à Extra-Large. La variante YOLOE-26 ajoute la détection open-vocabulary (promptable).

Benchmarks YOLO26 (COCO val2017)

Les benchmarks officiels Ultralytics montrent que YOLO26 forme un nouveau front de Pareto (courbe optimale précision/vitesse), surpassant toutes les versions YOLO précédentes ainsi que les détecteurs Transformer comme RT-DETR. YOLO26-M et YOLO26-L atteignent respectivement des mAP au-dessus de 51% et 53% sur COCO val2017 avec des latences significativement inférieures aux modèles comparables.

Quelle taille choisir ? Nano (n) : edge, IoT, drones, inférence CPU. Priorité à la vitesse.
Small (s) : mobile haut de gamme, caméras intelligentes.
Medium (m) : bon compromis pour la plupart des applications.
Large (l) : serveur, accuracy maximale avec GPU.
Extra-Large (x) : recherche, benchmarks, datasets complexes.

Comment fonctionne un modèle YOLO

L’architecture YOLO moderne (YOLOv8/YOLO11/YOLO26) se compose de trois parties :

1. Backbone (extraction de features)

Le backbone est un réseau convolutif qui extrait les features visuelles à différentes résolutions. Les versions Ultralytics utilisent un backbone basé sur CSPDarknet (Cross-Stage Partial), une architecture optimisée qui réduit les calculs redondants via des connexions partielles entre stages. YOLO26 simplifie davantage cette architecture pour améliorer la compatibilité avec les accélérateurs edge.

2. Neck (fusion multi-échelle)

Le neck fusionne les features provenant de différentes résolutions du backbone. Il utilise un FPN (Feature Pyramid Network) combiné à un PAN (Path Aggregation Network) pour créer des représentations riches à toutes les échelles. C’est ce qui permet à YOLO de détecter aussi bien les petits objets (piétons lointains) que les grands (véhicules proches).

La tête de détection produit les prédictions finales : coordonnées des bounding boxes, scores de confiance et classes. Depuis YOLOv8, la tête est découplée (classification et régression traitées séparément) et anchor-free (pas besoin de boîtes d’ancrage prédéfinies). YOLO26 va plus loin avec une tête NMS-free qui produit directement des prédictions non redondantes.

Utilisation pratique

from ultralytics import YOLO

# Charger un modèle pré-entraîné YOLO26
model = YOLO("yolo26m.pt")

# Inférence sur une image
results = model.predict("image.jpg", conf=0.25, save=True)

# Inférence sur une vidéo
results = model.predict("video.mp4", conf=0.25, save=True)

# Inférence webcam temps réel
results = model.predict(source=0, conf=0.25, show=True)

# Entraînement sur un dataset custom
model = YOLO("yolo26m.pt")
results = model.train(
    data="mon_dataset.yaml",
    epochs=100,
    imgsz=640,
    batch=16
)

# Export pour le déploiement
model.export(format="onnx")       # ONNX
model.export(format="tflite")     # Mobile (TFLite)
model.export(format="engine")     # NVIDIA TensorRT
model.export(format="coreml")     # Apple CoreML
Entraîner sur vos propres données YOLO attend un dataset au format YOLO (images + fichiers .txt avec les annotations par ligne : class x_center y_center width height, coordonnées normalisées 0-1). Des plateformes comme Roboflow facilitent l’annotation et l’export au format YOLO. Partez toujours d’un modèle pré-entraîné (COCO) et fine-tunez sur votre dataset.

YOLO vs DETR et les détecteurs Transformer

Critère YOLO (CNN-based) RT-DETR / RF-DETR (Transformer)
Architecture CNN + FPN/PAN ViT/CNN + décodeur Transformer
Post-traitement NMS (classique) ou NMS-free (YOLO26) Bipartite matching (pas de NMS)
Latence GPU Très faible Faible à modérée
Latence CPU Très faible Plus élevée
Petits objets Bon (amélioré avec STAL dans YOLO26) Excellent (attention globale)
Déploiement edge Excellent Moins optimisé
mAP COCO (medium) ~51% (YOLO26-M) ~54% (RF-DETR-M)
Maturité écosystème Très mature En croissance

Les détecteurs Transformer (RT-DETR, RF-DETR) offrent une précision supérieure sur les benchmarks, en particulier pour les petits objets et les scènes complexes. YOLO reste le roi du déploiement edge et temps réel, avec un écosystème d’export et d’intégration inégalé. YOLO26 réduit l’écart de précision grâce à STAL et ProgLoss, tout en conservant son avantage en latence.

Cas d’usage

Vidéosurveillance : détection de personnes, véhicules, comportements suspects en temps réel. Le modèle Nano tourne sur des caméras intelligentes sans serveur dédié. Le tracking (suivi d’objets entre les frames) est intégré nativement dans le pipeline Ultralytics avec des algorithmes comme BoT-SORT et ByteTrack.

Conduite autonome : détection de piétons, cyclistes, véhicules, panneaux et obstacles. La faible latence de YOLO est critique pour les décisions en millisecondes. Les variantes OBB (Oriented Bounding Box) de YOLO26 sont particulièrement utiles pour les objets vus sous des angles variés.

Inspection industrielle : détection de défauts sur les lignes de production (rayures, bosses, pièces manquantes, soudures défectueuses). Les variantes Medium/Large offrent la précision nécessaire pour les défauts subtils. L’export TensorRT permet une inférence en millisecondes sur les GPU embarqués NVIDIA Jetson.

Agriculture de précision : comptage de fruits, détection de maladies des plantes, surveillance par drone. YOLO tourne directement sur des appareils embarqués en plein champ, sans nécessiter de connectivité réseau.

Imagerie médicale : détection de lésions, nodules, anomalies sur des radiographies et scanners. Le fine-tuning de YOLO sur des datasets médicaux annotés produit des résultats compétitifs avec les méthodes spécialisées, avec l’avantage de la vitesse pour le screening de masse.

Retail et e-commerce : reconnaissance de produits en rayon, gestion automatique des stocks, caisses automatiques par vision. Les modèles YOLOE-26 (open-vocabulary) permettent de détecter de nouveaux produits sans réentraînement, simplement en décrivant l’objet en texte.

Sport et diffusion : tracking de joueurs, de balles et d’équipements en temps réel pour l’analyse tactique, les statistiques automatisées et les effets visuels en direct.

Limites de YOLO

Précision vs détecteurs two-stage : malgré des progrès continus, YOLO reste légèrement en retrait par rapport aux meilleurs détecteurs Transformer (RF-DETR atteint ~54.7% mAP contre ~51% pour YOLO26-M sur COCO). L’écart se creuse sur les petits objets et les scènes très denses, où l’attention globale des Transformers a un avantage structurel.

Licence AGPL-3.0 : la licence Ultralytics est copyleft (AGPL-3.0), ce qui signifie que tout logiciel utilisant YOLO dans un service réseau doit publier son code source. Pour un usage commercial sans cette contrainte, Ultralytics propose une licence Enterprise payante. C’est un facteur à intégrer dans les projets industriels.

Fragmentation des versions : la prolifération de versions (v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, 26) par des auteurs différents crée de la confusion. Certaines versions sont des publications académiques avec un support limité, d’autres sont des produits maintenus activement. Ultralytics recommande YOLO26 et YOLO11 pour la production.

Entraînement gourmand pour les grandes variantes : les modèles Large et Extra-Large nécessitent des GPU puissants et des temps d’entraînement significatifs (plusieurs jours sur des datasets volumineux). Les variantes Nano et Small sont plus accessibles mais avec une précision réduite.

Dépendance à la qualité des annotations : la précision de YOLO dépend directement de la qualité des bounding boxes annotées. Des annotations bruitées ou incohérentes dégradent significativement les performances. L’investissement dans l’annotation est au moins aussi important que le choix du modèle.

Bonnes pratiques

Partez toujours d’un modèle pré-entraîné COCO. Le fine-tuning depuis les poids COCO converge beaucoup plus vite et produit de meilleurs résultats que l’entraînement from scratch, même sur des datasets très différents.

Choisissez YOLO26 ou YOLO11 pour la production. Ultralytics recommande YOLO26 pour l’edge et YOLO11 pour les cas nécessitant un NMS classique. YOLOv12, bien qu’innovant (attention-centric), reste recommandé principalement pour la recherche et le benchmarking en raison de son instabilité d’entraînement et sa consommation mémoire.

Adaptez la taille du modèle à votre contrainte. Ne prenez pas le modèle Large par défaut. Sur un Raspberry Pi ou un drone, le Nano est le seul choix viable. Sur un serveur avec GPU, le Medium ou Large maximise la précision.

Augmentez vos données. Mosaic, MixUp, et les augmentations géométriques sont intégrées dans le pipeline Ultralytics. Activez-les pour améliorer la robustesse, surtout sur les petits datasets.

Exportez pour votre cible. TensorRT pour NVIDIA GPU (latence minimale), TFLite pour mobile Android, CoreML pour iOS, ONNX pour la portabilité. L’export est intégré en une ligne : model.export(format="engine").


Questions fréquentes sur YOLO

Quelle version de YOLO utiliser en 2026 ?

Pour la production, YOLO26 (edge, NMS-free, CPU optimisé) ou YOLO11 (polyvalent, stable). Les deux sont maintenus par Ultralytics et supportent les mêmes 5 tâches. YOLOv12 est intéressant pour la recherche (architecture attention-centric) mais moins stable. Les versions antérieures (YOLOv5, v8) fonctionnent encore mais ne bénéficient plus des optimisations récentes.

Quelle est la différence entre YOLO et Faster R-CNN ?

Faster R-CNN est un détecteur two-stage : il génère d’abord des propositions de régions, puis classifie chacune. YOLO est single-stage : une seule passe produit toutes les détections. Faster R-CNN est généralement plus précis (surtout sur les petits objets), mais YOLO est 10x à 100x plus rapide. Pour le temps réel (vidéo, robotique), YOLO est le choix par défaut. Pour la précision maximale sans contrainte de temps, Faster R-CNN ou DETR peuvent être préférés.

Qu’est-ce que le NMS et pourquoi YOLO26 l’élimine ?

Le NMS (Non-Maximum Suppression) est un post-traitement qui élimine les détections redondantes : quand plusieurs bounding boxes chevauchent le même objet, le NMS ne garde que celle avec le score le plus élevé. Le problème : le NMS ajoute de la latence, nécessite des seuils à régler manuellement, et produit des résultats non déterministes. YOLO26 élimine le NMS en entraînant le modèle à produire directement des prédictions non redondantes (end-to-end), simplifiant le déploiement et réduisant la latence.

Combien d’images annotées faut-il pour fine-tuner YOLO ?

En partant d’un modèle pré-entraîné COCO, quelques centaines d’images annotées par classe suffisent pour un prototype fonctionnel. Pour un modèle de production robuste, visez 1 000 à 5 000 images annotées par classe, avec une bonne diversité de conditions (éclairage, angles, occlusions). La data augmentation intégrée (Mosaic, MixUp) compense partiellement le manque de données. Pour les cas extrêmes (< 50 images), explorez le few-shot detection ou YOLOE-26 (détection open-vocabulary).

YOLO peut-il faire autre chose que de la détection d’objets ?

Oui. Les versions modernes (YOLO11, YOLO26) supportent 5 tâches dans une architecture unifiée : détection d’objets (bounding boxes), segmentation d’instances (masques pixel par pixel), classification d’images, estimation de pose et keypoints (squelette humain), et détection orientée OBB (bounding boxes pivotées, utile pour l’imagerie aérienne). YOLOE-26 ajoute la détection open-vocabulary (détecter des objets décrits en texte, sans entraînement spécifique).

Polydesk.ai — Footer