YOLOv8 vs YOLO11: Evolution de la détection d'objets en temps réel
Choisir la bonne architecture de vision par ordinateur est une décision cruciale qui a un impact sur la vitesse, la précision et l'évolutivité de vos projets d'IA. Ce guide propose une comparaison technique approfondie entre Ultralytics YOLOv8une norme largement adoptée par l'industrie et publiée en 2023, et Ultralytics YOLO11YOLO , 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, les mesures de référence et les 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
GitHubultralytics
Docsyolov8
Sorti au début de l'année 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'instances, l'estimation de la pose et la classification d'images, au sein d'un référentiel unique. YOLOv8 a abandonné la détection basée sur l'ancrage au profit d'une approche sans ancrage, ce qui simplifie la conception et améliore la généralisation à 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 with two convolutions). Ce changement a permis d'améliorer le flux de gradient et l'intégration des fonctionnalités tout en conservant une empreinte légère. L'architecture comporte également une tête découplée, qui sépare les tâches d'objectivation, de classification et de régression afin d'accroître la précision.
L'héritage de la fiabilité
YOLOv8 a été testé dans des milliers d'applications commerciales, de l'automatisation de la fabrication aux véhicules autonomes, et a acquis une réputation de stabilité et de facilité de déploiement.
Points forts et faiblesses
- Points forts :
- Ecosystème mature : Soutenu par un large éventail de tutoriels communautaires, d'intégrations et de guides de déploiement.
- Polyvalence : Prise en charge native de l'OBB (Oriented Bounding Box) et de 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 ayant fait ses track .
- Faiblesses :
- Efficacité en termes de vitesse : Bien que rapide, il est surpassé par YOLO11 en termes de vitesse d'inférence CPU et d'efficacité des paramètres.
- Exigences en matière de calcul : Les variantes plus importantes (L, X) nécessitent plus de VRAM et de FLOPs par rapport aux équivalents optimisés de YOLO11 .
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)
Ultralytics YOLO11
Auteurs : Glenn Jocher et Jing Qiu
Organisation :Ultralytics
Date : 2024-09-27
GitHubultralytics
Docsyolo11
YOLO11 représente la 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 tout en introduisant des raffinements architecturaux substantiels. YOLO11 se concentre sur l'optimisation de la précision tout en minimisant le coût de calcul, ce qui en fait le premier choix pour les applications modernes d'IA, des appareils de pointe 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 significativement plus rapides sur les CPU - un facteur critique pour les déploiements d'IA en périphérie où les ressources GPU peuvent être indisponibles.
Le modèle conserve l'interface unifiée caractéristique d'Ultralytics, ce qui permet aux développeurs de passer d'une tâche à l'autre, comme l'OBB ou la segmentation, sans modifier leur flux de travail.
Points forts et faiblesses
- Points forts :
- Efficacité supérieure : Permet d'obtenir un mAP plus élevé avec jusqu'à 22 % de paramètres en moins que YOLOv8, ce qui réduit la taille du modèle et les besoins de stockage.
- Inférence plus rapide : Optimisé spécifiquement pour le matériel moderne, il offre des vitesses plus élevées sur les backends CPU et GPU .
- Extraction améliorée des caractéristiques : La nouvelle épine dorsale 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 :
- Version plus récente : En tant que modèle récent, les outils tiers de niche spécifiques peuvent prendre du temps pour mettre à jour leur support, bien que l'écosystème principal d'Ultralytics 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()
Comparaison directe des performances
La comparaison ci-dessous met en évidence les gains d'efficacité de YOLO11. Alors que YOLOv8 reste un concurrent puissant, YOLO11 offre systématiquement une plus grande précisionmAP) 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 une mAP 39,5 contre 37,3 pour YOLOv8n, tout en fonctionnant significativement plus vite sur le CPU.
| Modèle | Taille (pixels) | mAPval 50-95 | Vitesse CPU ONNX (ms) | Vitesse T4 TensorRT10 (ms) | paramètres (M) | FLOPs (B) |
|---|---|---|---|---|---|---|
| YOLOv8n | 640 | 37.3 | 80.4 | 1.47 | 3.2 | 8.7 |
| YOLOv8s | 640 | 44.9 | 128.4 | 2.66 | 11.2 | 28.6 |
| YOLOv8m | 640 | 50.2 | 234.7 | 5.86 | 25.9 | 78.9 |
| YOLOv8l | 640 | 52.9 | 375.2 | 9.06 | 43.7 | 165.2 |
| YOLOv8x | 640 | 53.9 | 479.1 | 14.37 | 68.2 | 257.8 |
| YOLO11n | 640 | 39.5 | 56.1 | 1.5 | 2.6 | 6.5 |
| YOLO11s | 640 | 47.0 | 90.0 | 2.5 | 9.4 | 21.5 |
| YOLO11m | 640 | 51.5 | 183.2 | 4.7 | 20.1 | 68.0 |
| YOLO11l | 640 | 53.4 | 238.6 | 6.2 | 25.3 | 86.9 |
| YOLO11x | 640 | 54.7 | 462.8 | 11.3 | 56.9 | 194.9 |
Analyse métrique
YOLO11 démontre un net avantage dans le compromis vitesse/précision. Par exemple, le modèle YOLO11l dépasse le modèle YOLOv8l en termes de précision (+0,5 mAP) tout en utilisant environ 42 % de paramètres en moins et en fonctionnant 36 % plus rapidement sur le CPU.
Ecosystème et facilité d'utilisation
Les deux modèles bénéficient de l'écosystème robuste d'Ultralytics , qui est conçu pour démocratiser l'IA en rendant la technologie de pointe accessible à tous.
- API unifiée : Pour passer de YOLOv8 à YOLO11 , il suffit de changer la chaîne de caractères du modèle de
yolov8n.ptàyolo11n.pt. Aucun remaniement du code n'est nécessaire. - Efficacité de la formation : Ultralytics fournit des ensembles de données à téléchargement automatique et des poids pré-entraînés, rationalisant ainsi le pipeline de la collecte des 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 Pis, les téléphones portables et les instances en nuage.
- Bien entretenu : 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
Tout en YOLOv8 reste un modèle fiable et très performant, adapté à la maintenance des systèmes existants, YOLO11 est clairement recommandé pour tous les nouveaux développements.
- Choisissez YOLO11 si : Vous avez besoin de la plus grande précision possible, de vitesses d'inférence plus rapides (en particulier sur l'CPU), ou vous vous déployez sur des appareils périphériques aux ressources limitées où la mémoire et le stockage sont de première importance. Ses améliorations architecturales constituent une base à l'épreuve du temps pour les applications commerciales.
- Choisissez YOLOv8 si : Vous avez un pipeline existant fortement adapté aux comportements spécifiques de la v8 ou si vous êtes contraint par des exigences de projet strictes qui empêchent la mise à jour vers l'architecture la plus récente.
Pour ceux qui souhaitent explorer d'autres architectures, la documentation d'Ultralytics couvre également des modèles tels que YOLOv9, YOLOv10et RT-DETR. Vous pouvez consulter des comparaisons plus larges sur notre page de comparaison des modèles.