YOLOv8 vs DAMO-YOLO#
Le paysage de la vision par ordinateur évolue constamment, avec de nouvelles architectures repoussant les limites du possible sur les appareils en périphérie (edge devices) et les énormes clusters cloud. Dans cette analyse technique approfondie, nous comparons deux modèles de détection d'objets en temps réel de premier plan : YOLOv8 et DAMO-YOLO. En examinant leurs architectures, leurs mesures de performance et leurs méthodologies d'entraînement, les ingénieurs ML peuvent prendre des décisions éclairées pour leurs pipelines de déploiement.
Historique et origines des modèles#
Les deux modèles ont été introduits à peu près au même moment, mais découlent 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-01-2023
- GitHub : Dépôt GitHub d'Ultralytics
- Docs : YOLOv8 Official Documentation
Détails sur DAMO-YOLO#
- Auteurs : Xianzhe Xu, Yiqi Jiang, Weihua Chen, Yilun Huang, Yuan Zhang, et Xiuyu Sun
- Organisation : Alibaba Group
- Date : 23-11-2022
- Arxiv : DAMO-YOLO Research Paper
- GitHub : DAMO-YOLO GitHub Repository
Innovations architecturales#
YOLOv8 : Conception polyvalente sans ancres#
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 est doté d'une tête de détection sans ancrage, 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'objectivité, de classification et de régression, ce qui conduit à des prédictions de boîtes englobantes plus précises.
De plus, YOLOv8 intègre la Distribution Focal Loss (DFL) ainsi que la perte CIoU, renforçant la capacité du modèle à localiser précisément les limites des objets, en particulier pour les cibles plus petites ou occluses. Son backbone épuré est hautement optimisé pour l'exécution sur GPU comme sur CPU.
DAMO-YOLO : Piloté par la recherche d'architecture#
DAMO-YOLO adopte une approche différente, reposant fortement sur la Neural Architecture Search (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 l'accélération TensorRT.
Le modèle intègre un RepGFPN (Reparameterized Generalized Feature Pyramid Network) pour une fusion de caractéristiques efficace et une conception « ZeroHead » pour minimiser la charge computationnelle de la tête de détection. Pendant l'entraînement, il exploite AlignedOTA pour l'attribution des étiquettes et repose largement sur un processus complexe de distillation de connaissances, nécessitant un modèle enseignant plus grand pour superviser le modèle élève cible.
Bien que DAMO-YOLO atteigne des mesures de latence impressionnantes via le NAS et la distillation, cela nécessite beaucoup plus de mémoire CUDA et de temps de calcul pendant l'entraînement par rapport au pipeline d'entraînement à une seule étape hautement optimisé de YOLOv8.
Performances et mesures#
Lors du déploiement de modèles de vision par ordinateur en production, il est crucial d'équilibrer la précision (mAP) avec la vitesse d'inférence. Le tableau ci-dessous illustre les performances des deux modèles selon différentes tailles.
| Modèle | taille (pixels) | mAPval 50-95 | Vitesse CPU ONNX (ms) | Vitesse T4 TensorRT10 (ms) | params (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 démontre un équilibre de performance exceptionnel. Le modèle YOLOv8n (nano) ne nécessite que 3,2 millions de paramètres contre 8,5 millions pour le DAMO-YOLOt, ce qui le rend largement supérieur pour les appareils mobiles ou les environnements ayant des exigences strictes en matière de mémoire. De plus, YOLOv8 offre une gamme de tailles plus large, s'étendant jusqu'au modèle YOLOv8x hautement précis pour les charges de travail basées sur le cloud.
Expérience développeur et écosystème#
Facilité d'utilisation et efficacité de l'entraînement#
L'un des plus grands facteurs de différenciation est l'expérience utilisateur. L'écosystème Ultralytics est conçu pour la vitesse des développeurs. L'entraînement d'un modèle YOLOv8 personnalisé nécessite très peu d'utilisation de mémoire et peut être exécuté via une API Python unifiée ou une interface en ligne de commande.
À l'inverse, reproduire l'entraînement amélioré par distillation de DAMO-YOLO nécessite souvent de naviguer dans des fichiers de configuration complexes et de gérer le suivi d'expériences enseignant-élève à plusieurs étapes.
Voici un exemple montrant à quel point il est simple d'entraîner, de valider et d'exporter YOLOv8 en utilisant 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 pour les tâches de vision#
DAMO-YOLO est strictement conçu pour la détection d'objets par boîte englobante. En revanche, l'architecture de YOLOv8 prend en charge nativement plusieurs tâches. En simple échangeant les poids du modèle, tu peux effectuer la Segmentation d'instances, la Classification d'images et l'Estimation de pose sans modifier ton code de déploiement sous-jacent. Cette polyvalence rend les modèles Ultralytics beaucoup plus pratiques pour les applications complexes.
Cas d'utilisation réels#
Quand utiliser YOLOv8#
La combinaison de vitesse, de précision et de facilité de déploiement de YOLOv8 le rend idéal pour :
- Analytique de vente au détail intelligente : Exécution du suivi d'objets pour surveiller le comportement des clients ou automatiser les contrôles d'inventaire.
- Robotique agricole : Tirer parti de ses performances solides sur du matériel varié pour identifier les cultures ou les nuisibles en temps réel.
- Diagnostic de santé : Utiliser la segmentation d'instance pour cartographier rapidement et précisément les anomalies dans l'imagerie médicale.
- Déploiements en périphérie (Edge) : L'intégration transparente avec des formats d'exportation tels que OpenVINO et CoreML permet à YOLOv8 de briller sur les appareils contraints.
Quand utiliser DAMO-YOLO#
DAMO-YOLO peut être bénéfique dans des scénarios de niche, particulièrement :
- Recherche académique NAS : Pour les équipes étudiant la re-paramétrisation ou les méthodologies de conception d'architecture automatisées.
- 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#
Choisir entre YOLOv8 et DAMO-YOLO dépend de tes exigences de projet spécifiques, de tes contraintes de déploiement et de tes préférences d'écosystème.
Quand choisir YOLOv8#
YOLOv8 est un choix solide 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.
- Soutien large de la communauté et de l'écosystème : Applications bénéficiant des tutoriels complets, des intégrations tierces et des ressources communautaires actives de YOLOv8.
Quand choisir DAMO-YOLO#
DAMO-YOLO est recommandé pour :
- Analytique vidéo à haut débit : Traitement de flux vidéo FPS élevés sur une infrastructure GPU NVIDIA fixe où le débit par lot est la mesure principale.
- Lignes de fabrication industrielle : Scénarios avec des contraintes strictes de latence GPU sur du matériel dédié, comme 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 YOLO26 offre la meilleure combinaison de performance et d'expérience développeur :
- Déploiement en périphérie sans NMS : Applications nécessitant une inférence cohérente et à faible latence sans la complexité du post-traitement par Non-Maximum Suppression.
- Environnements CPU uniquement : Appareils sans accélération GPU dédiée, où l'inférence CPU jusqu'à 43 % plus rapide de YOLO26 offre un avantage décisif.
- Détection de petits objets : Les scénarios complexes tels que l'imagerie par drone aérien ou l'analyse par capteurs IoT où ProgLoss et STAL améliorent considérablement la précision sur les minuscules objets.
Regarder vers l'avenir : Nouveaux modèles Ultralytics#
Bien que YOLOv8 reste un cheval de bataille très fiable, le domaine de la vision par ordinateur évolue rapidement. Tu devrais également envisager d'explorer les nouvelles générations :
YOLO26 : La dernière génération, Ultralytics YOLO26, représente un changement de paradigme. Elle introduit une conception native de type End-to-End NMS-Free, éliminant complètement les goulots d'étranglement de latence associés au post-traitement de la Non-Maximum Suppression. Propulsé par le nouvel optimiseur MuSGD (un hybride de SGD et de Muon) et des fonctions de perte spécialisées ProgLoss + STAL, YOLO26 atteint un entraînement remarquablement stable et une reconnaissance des petits objets grandement améliorée. Avec la suppression de la DFL (Distribution Focal Loss retirée pour un export simplifié et une meilleure compatibilité avec les appareils de périphérie/faible consommation), des ajustements architecturaux offrent jusqu'à 43 % d'inférence CPU plus rapide par rapport aux générations précédentes, ce plus en faisant le choix définitif pour l'informatique de périphérie moderne.
YOLO11 : Autre excellente alternative, Ultralytics YOLO11 offre des raffinements architecturaux incrémentiels par rapport à YOLOv8 et demeure un modèle robuste et largement adopté dans la communauté.
Prêt à faire passer tes modèles du prototype à la production ? Utilise la plateforme Ultralytics pour annoter automatiquement des ensembles de données, suivre des expériences et déployer des modèles de manière transparente vers le cloud ou des appareils de périphérie.
En conclusion, bien que DAMO-YOLO offre des perspectives académiques intéressantes sur la recherche d'architecture, les modèles Ultralytics fournissent un écosystème nettement plus mature, polyvalent et convivial pour les développeurs. Que tu restes avec la stabilité éprouvée de YOLOv8 ou que tu passes à l'architecture ultra-rapide sans NMS de YOLO26, la suite Ultralytics reste le choix premier pour l'IA de vision en temps réel.