YOLOv8 YOLO: comparaison technique complète des modèles de détection d'objets
Le paysage de la vision par ordinateur est en constante évolution, avec de nouvelles architectures repoussant les limites de ce qui est possible sur les appareils périphériques et les clusters cloud massifs. Dans cette analyse technique approfondie, nous comparons deux modèles de détection d'objets en temps réel de premier plan : YOLOv8 et YOLO. En examinant leurs architectures, leurs mesures de performance et leurs méthodologies de formation, les ingénieurs en apprentissage automatique peuvent prendre des décisions éclairées pour leurs pipelines de déploiement.
Contexte et origines du modèle
Les deux modèles ont été introduits à peu près au même moment mais proviennent de philosophies de conception et d'objectifs de recherche différents.
Détails de YOLOv8
- Auteurs : Glenn Jocher, Ayush Chaurasia et Jing Qiu
- Organisation : Ultralytics
- Date : 10 janvier 2023
- GitHub : référentielUltralytics
- Docs : Documentation officielle YOLOv8
YOLO
- Auteurs : Xianzhe Xu, Yiqi Jiang, Weihua Chen, Yilun Huang, Yuan Zhang et Xiuyu Sun
- Organisation : Groupe Alibaba
- Date : 23 novembre 2022
- Arxiv : Article de recherche DAMO-YOLO
- GitHub : RéférentielYOLO
Innovations architecturales
YOLOv8: conception polyvalente sans ancrage
Ultralytics YOLOv8 a introduit des améliorations significatives par rapport à ses prédécesseurs, consolidant son statut de modèle de pointe hautement fiable. Il intègre une tête de détection sans ancre, ce qui réduit le nombre de prédictions de boîtes et accélère l'inférence. L'architecture utilise une tête découplée, séparant les tâches d'objectness, de classification et de régression, ce qui conduit à des prédictions de boîtes englobantes plus précises.
De plus, YOLOv8 la perte focale de distribution (DFL) parallèlement à CIoU , améliorant ainsi la capacité du modèle à localiser avec précision les contours des objets, en particulier pour les cibles plus petites ou occultées. Son infrastructure rationalisée est hautement optimisée pour CPU GPU CPU .
DAMO-YOLO: Piloté par la recherche d'architecture
DAMO-YOLO adopte une approche différente, s'appuyant fortement sur la recherche d'architecture neuronale (NAS) pour concevoir automatiquement son backbone. L'équipe d'Alibaba a introduit "MAE-NAS" pour trouver des structures offrant des compromis latence-précision optimaux, spécifiquement sous accélération TensorRT.
Le modèle intègre un RepGFPN (Reparameterized Generalized Feature Pyramid Network) pour une fusion efficace des caractéristiques et une conception « ZeroHead » afin de minimiser la charge de calcul de la tête de détection. Pendant l'entraînement, il exploite AlignedOTA pour l'attribution des étiquettes et s'appuie fortement sur un processus complexe de distillation des connaissances, nécessitant un modèle enseignant plus grand pour superviser le modèle élève cible.
Complexité de l'entraînement
SiYOLO des performances impressionnantes en matière de latence grâce au NAS et à la distillation, cela nécessite toutefois beaucoup plus CUDA et de temps de calcul pendant l'entraînement que le pipeline d'entraînement à étape unique hautement optimisé de YOLOv8.
Performance et indicateurs
Lors du déploiement de modèles de vision par ordinateur en production, il est essentiel de trouver le juste équilibre entre précision (mAP) et vitesse d'inférence. Le tableau ci-dessous illustre les performances des deux modèles pour différentes tailles.
| 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 |
| DAMO-YOLOt | 640 | 42.0 | - | 2.32 | 8.5 | 18.1 |
| DAMO-YOLOs | 640 | 46.0 | - | 3.45 | 16.3 | 37.8 |
| DAMO-YOLOm | 640 | 49.2 | - | 5.09 | 28.2 | 61.8 |
| DAMO-YOLOl | 640 | 50.8 | - | 7.18 | 42.1 | 97.3 |
YOLOv8 un équilibre exceptionnel en termes de performances. Le YOLOv8n le modèle (nano) ne nécessite que 3,2 millions de paramètres, contre 8,5 millions pour DAMO-YOLOt, ce qui le rend largement supérieur pour les appareils mobiles ou les environnements avec des exigences de mémoire strictes. De plus, YOLOv8 offre une gamme plus large de tailles, allant jusqu'au très précis YOLOv8x pour les charges de travail basées sur le cloud.
Expérience Développeur et Écosystème
Facilité d'utilisation et efficacité de la formation
L'un des principaux facteurs de différenciation est l'expérience utilisateur. Ultralytics est conçu pour accélérer le travail des développeurs. La formation d'un YOLOv8 personnalisé nécessite très peu de mémoire et peut être exécutée via une Python unifiée ou une interface de ligne de commande.
Inversement, la reproduction de l'entraînement de DAMO-YOLO amélioré par distillation nécessite souvent de naviguer dans des fichiers de configuration complexes et de gérer le suivi d'expériences enseignant-élève multi-étapes.
Voici un exemple illustrant la simplicité avec laquelle il est possible de former, valider et exporter YOLOv8 Python:
from ultralytics import YOLO
# Load a pre-trained YOLOv8 nano model
model = YOLO("yolov8n.pt")
# Train the model on the COCO8 dataset
results = model.train(data="coco8.yaml", epochs=100, imgsz=640, device="cpu")
# Export the trained model to ONNX format
path = model.export(format="onnx")
Polyvalence dans toutes les tâches visuelles
DAMO-YOLO est strictement conçu pour la détection d'objets par boîtes englobantes. En revanche, l'architecture YOLOv8 prend en charge nativement plusieurs tâches. En échangeant simplement les poids du modèle, les développeurs peuvent effectuer de la segmentation d'instances, de la classification d'images et de l'estimation de pose sans modifier leur base de code de déploiement sous-jacente. Cette polyvalence rend les modèles Ultralytics beaucoup plus pratiques pour les applications complexes.
Cas d'utilisation concrets
Quand utiliser YOLOv8
La combinaison de vitesse, de précision et de facilité de déploiement YOLOv8 le rend idéal pour :
- Analyse du Commerce de Détail Intelligent: Effectuer le track d'objets pour surveiller le comportement des clients ou automatiser les vérifications d'inventaire.
- Robotique agricole : Tirant parti de ses solides performances sur divers matériels pour identifier les cultures ou les parasites en temps réel.
- Diagnostic médical : utilisation de la segmentation d'instances pour cartographier rapidement et précisément les anomalies dans les images médicales.
- Déploiements en périphérie : L'intégration transparente avec des formats d'exportation comme OpenVINO et CoreML permet à YOLOv8 de briller sur les appareils contraints.
Quand utiliserYOLO
DAMO-YOLO peut être bénéfique dans des scénarios de niche, notamment :
- Recherche Académique en NAS : Pour les équipes étudiant la re-paramétrisation ou les méthodologies de conception d'architecture automatisée.
- Pipelines strictement liés au GPU : Applications fonctionnant exclusivement sur du matériel NVIDIA spécifique où les structures NAS ont été fortement optimisées pour les limites d'exécution de TensorRT.
Cas d'utilisation et recommandations
Le choix entre YOLOv8 et DAMO-YOLO dépend des exigences spécifiques de votre projet, des contraintes de déploiement et des préférences de l'écosystème.
Quand choisir YOLOv8
YOLOv8 un choix judicieux pour :
- Déploiement multi-tâches polyvalent : Projets nécessitant un modèle éprouvé pour la détection, la segmentation, la classification et l'estimation de pose au sein de l'écosystème Ultralytics.
- Systèmes de production établis : Environnements de production existants déjà construits sur l'architecture YOLOv8 avec des pipelines de déploiement stables et bien testés.
- Large soutien de la communauté et de l'écosystème : Applications bénéficiant des tutoriels complets de YOLOv8, des intégrations tierces et des ressources communautaires actives.
Quand choisir DAMO-YOLO
DAMO-YOLO est recommandé pour :
- Analyse vidéo à haut débit : Traitement de flux vidéo à haut FPS sur une infrastructure GPU NVIDIA fixe où le débit par lot de 1 est la métrique principale.
- Lignes de Fabrication Industrielles : Scénarios avec des contraintes strictes de latence GPU sur du matériel dédié, telles que l'inspection qualité en temps réel sur les lignes d'assemblage.
- Recherche sur la recherche d'architecture neuronale : Étude des effets de la recherche d'architecture automatisée (MAE-NAS) et des backbones reparamétrés efficaces sur les performances de détection.
Quand choisir Ultralytics YOLO26)
Pour la plupart des nouveaux projets, Ultralytics offre la meilleure combinaison entre performances et expérience développeur :
- Déploiement Edge sans NMS : Applications nécessitant une inférence cohérente et à faible latence, sans la complexité du post-traitement de la Non-Maximum Suppression.
- Environnements uniquement CPU : Les appareils sans accélération GPU dédiée, où l'inférence CPU de YOLO26, jusqu'à 43 % plus rapide, offre un avantage décisif.
- Détection de petits objets: Scénarios difficiles comme l'imagerie aérienne par drone ou l'analyse de capteurs IoT où ProgLoss et STAL augmentent significativement la précision sur les objets minuscules.
Perspectives d'avenir : nouveaux Ultralytics
Bien que YOLOv8 un outil très fiable, le domaine de la vision par ordinateur évolue rapidement. Les utilisateurs devraient également envisager d'explorer les nouvelles générations :
YOLO26: La dernière génération, Ultralytics YOLO26, représente un changement de paradigme. Il introduit une conception native de bout en bout sans NMS, éliminant complètement les goulots d'étranglement de latence associés au post-traitement de la suppression non maximale. Alimenté par le nouvel optimiseur MuSGD (un hybride de SGD et Muon) et des fonctions de perte spécialisées ProgLoss + STAL, YOLO26 réalise un entraînement remarquablement stable et une reconnaissance des petits objets considérablement améliorée. Avec la suppression du DFL (Distribution Focal Loss supprimée pour une exportation simplifiée et une meilleure compatibilité avec les appareils de périphérie/à faible consommation), les ajustements architecturaux offrent jusqu'à 43 % d'inférence CPU plus rapide par rapport aux générations précédentes, ce qui en fait le choix définitif pour l'informatique de périphérie moderne.
YOLO11: Une autre excellente alternative, Ultralytics YOLO11 offre des améliorations architecturales incrémentales par rapport à YOLOv8 et demeure un modèle robuste et largement adopté au sein de la communauté.
Rationalisez votre flux de travail
Prêt à passer du prototype à la production ? Utilisez la Ultralytics pour annoter automatiquement des ensembles de données, track et déployer des modèles de manière transparente dans le cloud ou sur des appareils périphériques.
En conclusion, siYOLO des perspectives académiques intéressantes en matière de recherche architecturale, Ultralytics fournissent un écosystème nettement plus mature, polyvalent et convivial pour les développeurs. Que vous restiez fidèle à la stabilité éprouvée de YOLOv8 que vous passiez à l'architecture ultra-rapide et NMS de YOLO26, la Ultralytics reste le choix numéro un pour l'IA visuelle en temps réel.