Passer au contenu

YOLOv8 vs YOLO11 : Évolution de la détection d'objets en temps réel

Choisir la bonne architecture de vision par ordinateur est une décision essentielle qui a un impact sur la vitesse, la précision et l'évolutivité de vos projets d'IA. Ce guide fournit une comparaison technique approfondie entre Ultralytics YOLOv8, une norme industrielle largement adoptée, publiée en 2023, et Ultralytics YOLO11, la dernière évolution de la série YOLO conçue pour une efficacité et des performances supérieures. Nous analyserons leurs différences architecturales, leurs mesures de référence et leurs cas d'utilisation idéaux pour vous aider à sélectionner le meilleur modèle pour vos besoins.

Ultralytics YOLOv8

Auteurs : Glenn Jocher, Ayush Chaurasia et Jing Qiu
Organisation :Ultralytics
Date : 2023-01-10
GitHub :https://github.com/ultralytics/ultralytics
Docs :https://docs.ultralytics.com/models/yolov8/

Lancé début 2023, YOLOv8 a marqué une étape importante dans l'histoire de la détection d'objets. Il a introduit un cadre unifié qui prend en charge plusieurs tâches de vision par ordinateur, notamment la détection, la segmentation d'instance, l'estimation de pose et la classification d'images, au sein d'un seul référentiel. YOLOv8 s'est éloigné de la détection basée sur des ancres pour adopter une approche sans ancres, ce qui simplifie la conception et améliore la généralisation à travers différentes formes d'objets.

Architecture et principales fonctionnalités

YOLOv8 a remplacé les modules C3 présents dans YOLOv5 par le module C2f (Cross-Stage Partial bottleneck avec deux convolutions). Ce changement a amélioré le flux de gradient et l'intégration des caractéristiques tout en conservant un faible encombrement. L'architecture comprend également une tête découplée, séparant les tâches d'objectivité, de classification et de régression pour augmenter la précision.

Héritage de fiabilité

YOLOv8 a été testé dans des milliers d'applications commerciales, de l'automatisation de la fabrication aux véhicules autonomes, établissant une réputation de stabilité et de facilité de déploiement.

Points forts et faiblesses

  • Points forts :
    • Écosystème mature : Pris en charge par un vaste éventail de tutoriels communautaires, d'intégrations et de guides de déploiement.
    • Polyvalence : Prend en charge nativement les OBB (boîtes englobantes orientées) et la classification, en plus de la détection standard.
    • Stabilité éprouvée : Un choix sûr pour les environnements de production nécessitant un modèle avec une longue expérience.
  • Faiblesses :
    • Efficacité de la vitesse : Bien qu’il soit rapide, il est surpassé par YOLO11 en termes de vitesses d’inférence du CPU et d’efficacité des paramètres.
    • Exigences de calcul : Les variantes plus grandes (L, X) exigent plus de VRAM et de FLOPs que les équivalents YOLO11 optimisés.
from ultralytics import YOLO

# Load a pretrained YOLOv8 model
model = YOLO("yolov8n.pt")

# Train the model on a custom dataset
model.train(data="coco8.yaml", epochs=50, imgsz=640)

En savoir plus sur YOLOv8

Ultralytics YOLO11

Auteurs : Glenn Jocher et Jing Qiu
Organisation :Ultralytics
Date : 2024-09-27
GitHub :https://github.com/ultralytics/ultralytics
Docs :https://docs.ultralytics.com/models/yolo11/

YOLO11 représente la fine pointe de la famille de modèles Ultralytics. Conçu pour redéfinir l’inférence en temps réel, il s’appuie sur les succès de YOLOv8, mais introduit d’importantes améliorations architecturales. YOLO11 se concentre sur la maximisation de la précision tout en minimisant les coûts de calcul, ce qui en fait le premier choix pour les applications d’IA modernes allant des appareils périphériques aux serveurs en nuage.

Architecture et principales fonctionnalités

YOLO11 introduit le bloc C3k2 et le module C2PSA (Cross-Stage Partial with Spatial Attention). Ces composants améliorent la capacité du modèle à extraire des caractéristiques complexes et à gérer l'occlusion plus efficacement que les itérations précédentes. L'architecture est optimisée pour la vitesse, offrant des temps de traitement considérablement plus rapides sur les CPU : un facteur essentiel pour les déploiements d'IA edge où les ressources GPU peuvent être indisponibles.

Le modèle conserve l'interface unifiée caractéristique d'Ultralytics, garantissant que les développeurs peuvent basculer entre des tâches comme OBB ou la segmentation sans modifier leur flux de travail.

Points forts et faiblesses

  • Points forts :
    • Efficacité supérieure : Obtient une mAP plus élevée avec jusqu’à 22 % de paramètres en moins que YOLOv8, réduisant ainsi la taille du modèle et les besoins de stockage.
    • Inférence plus rapide : Optimisé spécifiquement pour le matériel moderne, offrant des vitesses plus rapides sur les backends CPU et GPU.
    • Extraction de caractéristiques améliorée : Le nouveau backbone améliore la détection des petits objets et les performances dans les scènes encombrées.
    • Utilisation réduite de la mémoire : Requiert moins de mémoire CUDA pendant l'entraînement par rapport aux modèles basés sur des transformateurs tels que RT-DETRce qui permet une formation sur du matériel plus accessible.
  • Faiblesses :
    • Nouvelle version : En tant que modèle récent, des outils tiers spécifiques de niche peuvent prendre du temps à mettre à jour complètement la prise en charge, bien que l'écosystème Ultralytics de base le prenne en charge dès le premier jour.
from ultralytics import YOLO

# Load the latest YOLO11 model
model = YOLO("yolo11n.pt")

# Run inference on an image
results = model("https://ultralytics.com/images/bus.jpg")
results[0].show()

En savoir plus sur YOLO11

Comparaison directe des performances

La comparaison ci-dessous met en évidence les gains d'efficacité de YOLO11. Bien que YOLOv8 reste un concurrent puissant, YOLO11 offre systématiquement une plus grande précision (mAP) avec une complexité de calcul réduite (FLOPs) et des vitesses d'inférence plus rapides. Ceci est particulièrement visible dans les modèles « Nano » et « Small », où YOLO11n atteint un mAP de 39,5 contre 37,3 pour YOLOv8n, tout en fonctionnant beaucoup plus rapidement sur le CPU.

ModèleTaille
(pixels)
mAPval
50-95
Vitesse
CPU ONNX
(ms)
Vitesse
T4 TensorRT10
(ms)
paramètres
(M)
FLOPs
(B)
YOLOv8n64037.380.41.473.28.7
YOLOv8s64044.9128.42.6611.228.6
YOLOv8m64050.2234.75.8625.978.9
YOLOv8l64052.9375.29.0643.7165.2
YOLOv8x64053.9479.114.3768.2257.8
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

Analyse des métriques

YOLO11 démontre un avantage évident dans le compromis vitesse-précision. Par exemple, le modèle YOLO11l surpasse le YOLOv8l en précision (+0,5 mAP) tout en utilisant environ 42 % moins de paramètres et en s'exécutant 36 % plus rapidement sur le CPU.

Écosystème et facilité d'utilisation

Les deux modèles bénéficient de l'écosystème Ultralytics robuste, qui est conçu pour démocratiser l'IA en rendant la technologie de pointe accessible à tous.

  • API unifiée : Passer de YOLOv8 à YOLO11 est aussi simple que de modifier la chaîne de modèle de yolov8n.pt à yolo11n.pt. Aucune refactorisation de code n'est requise.
  • Efficacité de l'entraînement : Ultralytics fournit des ensembles de données à téléchargement automatique et des poids pré-entraînés, ce qui rationalise le pipeline de la collecte de données à l'entraînement du modèle.
  • Polyvalence du déploiement : Les deux modèles prennent en charge l’exportation en un clic vers des formats tels que ONNX, TensorRT, CoreML et TFLite, ce qui facilite le déploiement sur divers matériels, notamment les Raspberry Pi, les téléphones mobiles et les instances cloud.
  • Bien maintenu : Des mises à jour fréquentes assurent la compatibilité avec les dernières versions de PyTorch et de CUDA, soutenues par une communauté active sur Discord et GitHub.

Conclusion et recommandations

Alors que YOLOv8 reste un modèle fiable et très performant, adapté à la maintenance des systèmes existants, YOLO11 est la recommandation claire pour tout nouveau développement.

  • Choisissez YOLO11 si : Vous avez besoin de la plus grande précision possible, de vitesses d'inférence plus rapides (en particulier sur CPU), ou si vous déployez sur des appareils périphériques aux ressources limitées où la mémoire et le stockage sont essentiels. Ses améliorations architecturales offrent une base à l'épreuve du temps pour les applications commerciales.
  • Choisissez YOLOv8 si : Vous avez un pipeline existant fortement optimisé pour les comportements spécifiques à v8 ou si vous êtes limité par des exigences de projet strictes qui empêchent la mise à jour vers la dernière architecture.

Pour ceux qui souhaitent explorer d'autres architectures, la documentation Ultralytics couvre également des modèles tels que YOLOv9, YOLOv10 et RT-DETR. Vous pouvez consulter des comparaisons plus larges sur notre page de comparaison des modèles.


Commentaires