Passer au contenu

YOLO11 vs YOLOv5 : Évolution de la detection d'objets de pointe

L'évolution de la détection d'objets en temps réel a été considérablement façonnée par la série Ultralytics YOLO. YOLOv5, sorti en 2020, a établi une norme mondiale en matière de facilité d'utilisation, de vitesse et de fiabilité, devenant l'un des modèles d'IA de vision les plus déployés de l'histoire. YOLO11, la dernière itération, s'appuie sur cette base légendaire pour offrir une précision, une efficacité et une polyvalence sans précédent.

Ce guide fournit une comparaison technique détaillée entre ces deux puissances, aidant les développeurs et les chercheurs à comprendre les changements architecturaux, les gains de performance et les cas d'utilisation idéaux pour chacun.

Analyse des performances

L'écart de performance entre YOLO11 et YOLOv5 souligne les avancées rapides dans la conception des réseaux neuronaux. Bien que YOLOv5 reste un modèle performant, YOLO11 le surpasse systématiquement à toutes les échelles de modèle, en particulier en termes de vitesse d'inférence sur le CPU et de précision de la détection.

Indicateurs clés de performance

Le tableau ci-dessous présente une comparaison directe sur l'ensemble de données COCO. Une observation essentielle est l'efficacité de YOLO11n, qui atteint un mAP de 39,5, dépassant considérablement le mAP de 28,0 de YOLOv5n, tout en fonctionnant plus rapidement sur le matériel CPU.

ModèleTaille
(pixels)
mAPval
50-95
Vitesse
CPU ONNX
(ms)
Vitesse
T4 TensorRT10
(ms)
paramètres
(M)
FLOPs
(B)
YOLO11n64039.556.11.52.66.5
YOLO11s64047.090.02.59.421.5
YOLO11m64051.5183.24.720.168.0
YOLO11l64053.4238.66.225.386.9
YOLO11x64054.7462.811.356.9194.9
YOLOv5n64028.073.61.122.67.7
YOLOv5s64037.4120.71.929.124.0
YOLOv5m64045.4233.94.0325.164.2
YOLOv5l64049.0408.46.6153.2135.0
YOLOv5x64050.7763.211.8997.2246.4

Précision vs. Efficacité

YOLO11 représente un changement de paradigme dans le compromis « efficacité vs. précision ».

  • Détection de petits objets : YOLO11 améliore considérablement la détection des petits objets par rapport à YOLOv5, grâce à ses couches d'extraction de caractéristiques affinées.
  • Efficacité de calcul : YOLO11l atteint 53,4 mAP avec seulement 25,3 millions de paramètres. En revanche, YOLOv5l nécessite 53,2 millions de paramètres pour atteindre un mAP inférieur de 49,0. Cette réduction de 50 % des paramètres pour une plus grande précision se traduit par une utilisation moindre de la mémoire et des temps d’entraînement plus rapides.

Sans ancres vs. Basé sur des ancres

L'une des principales différences techniques réside dans le mécanisme de la tête de détection. YOLOv5 utilise une approche basée sur des ancres, qui nécessite des boîtes d'ancrage prédéfinies qui doivent être réglées pour des ensembles de données spécifiques afin d'obtenir des performances optimales.

YOLO11 utilise une conception sans ancrage. Cela élimine le besoin de calcul manuel de la boîte d’ancrage, simplifie le pipeline de formation et améliore la généralisation sur divers ensembles de données sans réglage des hyperparamètres.

Architecture et conception du modèle

Les différences architecturales entre ces deux modèles reflètent la progression de la recherche en vision par ordinateur sur plusieurs années.

YOLOv5 : la norme éprouvée

YOLOv5 a introduit une implémentation PyTorch conviviale qui a rendu la détection d’objets accessible au grand public.

  • Backbone : Utilise un CSPDarknet53 modifié, qui est très efficace, mais plus lourd en termes de calcul que les alternatives modernes.
  • Priorité : Privilégier un équilibre entre vitesse et précision qui était révolutionnaire lors de sa sortie en 2020.
  • Héritage : Il reste un « choix sûr » pour les systèmes déjà profondément intégrés à ses formats d’entrée/sortie spécifiques.

En savoir plus sur YOLOv5

YOLO11 : À la pointe de la technologie

YOLO11 intègre les dernières techniques d’apprentissage profond afin de maximiser la réutilisation des fonctionnalités et de minimiser les frais généraux de calcul.

  • Bloc C3k2 : Une évolution du goulot d’étranglement CSP, ce bloc permet un flux de gradient et une fusion de caractéristiques plus efficaces.
  • Module C2PSA : Introduit des mécanismes d’attention spatiale, permettant au modèle de se concentrer sur les zones critiques de l’image pour une meilleure localisation des objets.
  • Tête multi-tâche : Contrairement à YOLOv5, qui nécessite des forks de modèles distincts pour différentes tâches, YOLO11 prend en charge nativement la détection d'objets, la segmentation d'instance, l'estimation de pose, les boîtes englobantes orientées (obb) et la classification dans un framework unifié.

En savoir plus sur YOLO11

Tableau comparatif : Spécifications techniques

FonctionnalitéYOLOv5YOLO11
ArchitectureColonne vertébrale CSPDarknetBackbone affiné avec C3k2 & C2PSA
Tête de détectionBasé sur l'ancreSans ancre
TâchesDétecter, segmenter, classifierDétecter, segmenter, classifier, pose, OBB, track
LicenceAGPL-3.0AGPL-3.0
Date de sortieJuin 2020Septembre 2024
Facilité d'utilisationÉlevée (Ligne de commande & PyTorch Hub)Très élevé (SDK python et CLI unifiés)

Formation et écosystème

Les deux modèles bénéficient de l'écosystème Ultralytics robuste, qui fournit des outils transparents pour la gestion des données, l'entraînement et le déploiement.

Efficacité de l'entraînement

YOLO11 est conçu pour s'entraîner plus rapidement et converger plus rapidement que YOLOv5.

  • Paramètres par défaut intelligents : Le moteur Ultralytics configure automatiquement les hyperparamètres en fonction de l'ensemble de données et de la taille du modèle, ce qui réduit le besoin de réglage manuel des hyperparamètres.
  • Utilisation de la mémoire : Grâce au nombre réduit de paramètres, les modèles YOLO11 consomment généralement moins de VRAM GPU pendant l’entraînement, ce qui permet d’utiliser des tailles de lots plus importantes sur du matériel grand public.

Exemple de code : Formation de YOLO11

L'entraînement de YOLO11 est simplifié à l'aide de ultralytics Package Python. L'exemple suivant montre comment entraîner un modèle YOLO11n sur le jeu de données COCO8.

from ultralytics import YOLO

# Load a pre-trained YOLO11n model
model = YOLO("yolo11n.pt")

# Train the model
# The device argument can be 'cpu', 0 for GPU, or [0, 1] for multi-GPU
results = model.train(data="coco8.yaml", epochs=100, imgsz=640, device=0)

Intégration de l'écosystème

Bien que YOLOv5 dispose d'une vaste collection de tutoriels tiers en raison de son ancienneté, YOLO11 est intégré nativement dans le package Ultralytics moderne. Cela offre un accès immédiat aux fonctionnalités avancées:

  • Exportation en un clic : Exportez vers ONNX, OpenVINO, TensorRT et CoreML avec une seule commande.
  • Suivi : Prise en charge intégrée du suivi d’objets (BoT-SORT, ByteTrack) sans référentiels externes.
  • Explorateur : Utilisez l’API Ultralytics Explorer pour visualiser et interroger vos ensembles de données à l’aide de SQL et de la recherche sémantique.

Cas d'utilisation idéaux

Le choix du bon modèle dépend des contraintes et des exigences spécifiques de votre projet.

Quand choisir YOLO11

YOLO11 est le choix recommandé pour 95 % des nouveaux projets.

  1. Nouveaux développements : Si vous partez de zéro, YOLO11 offre la meilleure pérennité, précision et vitesse.
  2. Déploiement CPU : Pour les appareils périphériques fonctionnant sur CPU (par exemple, Raspberry Pi, téléphones mobiles), YOLO11n est considérablement plus rapide et plus précis que YOLOv5n.
  3. Tâches complexes : Les projets nécessitant une estimation de pose ou une obb (par exemple, l’imagerie aérienne, l’analyse de documents) sont pris en charge nativement par YOLO11.
  4. Cloud et serveur : Le débit élevé de YOLO11 le rend idéal pour le traitement de flux vidéo massifs en temps réel.

Quand s'en tenir à YOLOv5

YOLOv5 reste une option viable pour des scénarios existants spécifiques.

  1. Maintenance existante : Si vous avez un système de production fortement couplé à la base de code ou au format de sortie YOLOv5 spécifique.
  2. Réglage matériel spécifique : Certains accélérateurs embarqués plus anciens peuvent avoir un micrologiciel hautement optimisé spécifiquement validé pour les couches YOLOv5 (bien que la plupart des runtimes modernes comme OpenVINO favorisent désormais les architectures plus récentes).
  3. Base de référence académique : Les chercheurs qui comparent avec les bases de référence historiques citent souvent YOLOv5 en raison de sa présence de longue date dans la littérature.

Migration vers YOLO11

La migration de YOLOv5 vers YOLO11 est simple. Le format du jeu de données (YOLO TXT) reste identique, ce qui signifie que vous pouvez réutiliser vos jeux de données annotés existants sans modification. La structure de l'API python est également très similaire, ne nécessitant souvent qu'un changement dans la chaîne du nom du modèle (par exemple, de yolov5su.pt à yolo11n.pt dans le ultralytics package).

Explorer d'autres options

Ultralytics prend en charge une large gamme de modèles au-delà de YOLO11 et YOLOv5. Selon vos besoins spécifiques, vous pouvez envisager :

  • YOLOv8 : Le prédécesseur direct de YOLO11, offrant un excellent équilibre de fonctionnalités et une large adoption dans l'industrie.
  • YOLOv10: Une architecture axée sur l'entraînement sans NMS pour une latence plus faible dans des applications spécifiques en temps réel.
  • RT-DETR : Un détecteur basé sur un transformateur qui excelle en précision dans les cas où la vitesse d'inférence est moins critique que la précision maximale.
  • YOLOv9 : Connu pour son concept d'information de gradient programmable (PGI), offrant de fortes performances sur les tâches de détection difficiles.

Conclusion

La transition de YOLOv5 à YOLO11 marque une étape importante dans l'histoire de la vision par ordinateur. YOLOv5 a démocratisé l'IA, rendant la détection d'objets accessible à tous. YOLO11 perfectionne cette vision, en fournissant un modèle plus rapide, plus léger et plus précis.

Pour les développeurs à la recherche du meilleur rendement performance/watt et de l'ensemble de fonctionnalités le plus polyvalent, YOLO11 est le grand gagnant. Son intégration dans l'écosystème actif d'Ultralytics vous assure d'avoir accès aux derniers outils, à des API simples et à une communauté dynamique pour soutenir votre parcours en IA.

Prêt à mettre à niveau ? Consultez la Documentation YOLO11 ou explorez le référentiel GitHub pour commencer dès aujourd'hui.


Commentaires