YOLOv8 vs DAMO-YOLO#
Le paysage de la vision par ordinateur évolue constamment, de nouvelles architectures repoussant les limites de ce qui est possible sur les appareils edge et les vastes 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 métriques 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.
Contexte et origines des modèles#
Les deux modèles ont été présentés à peu près à la même période, mais reposent sur des philosophies de conception et des objectifs de recherche différents.
Détails de YOLOv8#
- Auteurs : Glenn Jocher, Ayush Chaurasia et Jing Qiu
- Organisation : Ultralytics
- Date : 2023-01-10
- GitHub : Dépôt GitHub d’Ultralytics
- Docs : YOLOv8 Official Documentation
Détails de DAMO-YOLO#
- Auteurs : Xianzhe Xu, Yiqi Jiang, Weihua Chen, Yilun Huang, Yuan Zhang et Xiuyu Sun
- Organisation : Alibaba Group
- Date : 2022-11-23
- Arxiv : DAMO-YOLO Research Paper
- GitHub : DAMO-YOLO GitHub Repository
Innovations architecturales#
YOLOv8 : une conception polyvalente sans ancres#
Ultralytics YOLOv8 a apporté des améliorations significatives par rapport à ses prédécesseurs, consolidant son statut de modèle de pointe très fiable. Il intègre une tête de détection sans ancres, 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 qui sépare les tâches d'objectness, de classification et de régression, ce qui permet d'obtenir des prédictions de boîtes englobantes plus précises.
De plus, YOLOv8 implémente la Distribution Focal Loss (DFL) avec la loss CIoU, améliorant la capacité du modèle à localiser précisément les contours des objets, en particulier pour les cibles plus petites ou occultées. Son backbone rationalisé est fortement optimisé pour l'exécution sur GPU et CPU.
DAMO-YOLO : guidé par la recherche d'architecture#
DAMO-YOLO adopte une approche différente et s'appuie largement 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 un compromis optimal entre latence et précision, spécifiquement avec l'accélération TensorRT.
Le modèle intègre un RepGFPN (réseau pyramidal généralisé de caractéristiques reparamétré) pour une fusion efficace des caractéristiques, ainsi qu'une conception « ZeroHead » visant à réduire la charge de calcul de la tête de détection. Pendant l'entraînement, il utilise AlignedOTA pour l'attribution des labels et s'appuie fortement sur un processus complexe de distillation des connaissances, qui nécessite un modèle enseignant plus grand pour superviser le modèle étudiant cible.
Bien que DAMO-YOLO obtienne des métriques de latence impressionnantes grâce à la NAS et à la distillation, cela nécessite beaucoup plus de mémoire CUDA et de temps de calcul pendant l'entraînement que le pipeline d'entraînement en une seule étape hautement optimisé de YOLOv8.
Performances et métriques#
Lors du déploiement de modèles de vision par ordinateur en production, il est essentiel de trouver le bon équilibre entre la précision (mAP) et 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) | 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 offre un équilibre exceptionnel entre les performances. Le modèle YOLOv8n (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 soumis à des contraintes strictes de mémoire. De plus, YOLOv8 propose une gamme de tailles plus étendue, allant jusqu'au modèle très précis YOLOv8x pour les charges de travail cloud.
Expérience développeur et écosystème#
Facilité d'utilisation et efficacité de l'entraînement#
L'un des principaux facteurs de différenciation est l'expérience utilisateur. L'écosystème Ultralytics est conçu pour accélérer le travail des développeurs. L'entraînement d'un modèle YOLOv8 personnalisé nécessite très peu 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 de DAMO-YOLO amélioré par distillation nécessite souvent de parcourir des fichiers de configuration complexes et de gérer le suivi des expériences enseignant-étudiant en plusieurs étapes.
Voici un exemple de la simplicité avec laquelle tu peux entraîner, valider et exporter YOLOv8 avec 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îtes englobantes. En revanche, l'architecture YOLOv8 prend en charge nativement plusieurs tâches. Il suffit de remplacer les poids du modèle pour que les développeurs puissent effectuer de la segmentation d'instances, de la classification d'images et de l'estimation de pose sans modifier leur code de déploiement sous-jacent. Cette polyvalence rend les modèles Ultralytics bien plus pratiques pour les applications complexes.
Cas d’utilisation réels#
Quand utiliser YOLOv8#
La combinaison de rapidité, de précision et de facilité de déploiement de YOLOv8 le rend idéal pour :
- Analyse intelligente du commerce de détail : effectuer du suivi d'objets pour surveiller le comportement des clients ou automatiser les contrôles d'inventaire.
- Robotique agricole : tirer parti de ses bonnes performances sur du matériel varié pour identifier les cultures ou les nuisibles en temps réel.
- Diagnostic médical : utiliser la segmentation d'instances pour cartographier rapidement et précisément les anomalies dans les images médicales.
- Déploiements edge : l'intégration fluide avec des formats d'exportation comme OpenVINO et CoreML permet à YOLOv8 d'exceller sur les appareils aux ressources limitées.
Quand utiliser DAMO-YOLO#
DAMO-YOLO peut être utile dans des scénarios de niche, notamment :
- Academic NAS Research: Pour ton équipe qui étudie la reparamétrisation ou les méthodologies de conception d'architecture automatisée.
- Pipelines strictement limités au GPU : applications exécutées exclusivement sur certains matériels NVIDIA, pour lesquels les structures issues de la NAS ont été fortement optimisées afin de respecter 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 ton projet, de tes contraintes de déploiement et de tes préférences en matière d'écosystème.
Quand choisir YOLOv8#
YOLOv8 est un choix judicieux pour :
- Déploiement polyvalent multi-tâches : Les 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 : Les environnements de production existants déjà construits sur l’architecture YOLOv8, avec des pipelines de déploiement stables et éprouvés.
- Large soutien de la communauté et de l’écosystème : Les applications qui bénéficient des nombreux tutoriels, intégrations tierces et ressources communautaires actives de YOLOv8.
Quand choisir DAMO-YOLO#
DAMO-YOLO est recommandé pour :
- Analyse vidéo à haut débit : Traitement de flux vidéo à FPS élevé sur une infrastructure GPU NVIDIA fixe, lorsque le débit avec une taille de lot de 1 est la métrique principale.
- Lignes de fabrication industrielles : Scénarios soumis à 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 automatisée d'architecture (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 le meilleur compromis entre performance et expérience développeur :
- Déploiement edge sans NMS : les applications nécessitant une inférence cohérente à faible latence, sans la complexité du post-traitement par suppression non maximale.
- Environnements exclusivement CPU : les appareils dépourvus d'accélération GPU dédiée, où l'inférence CPU jusqu'à 43 % plus rapide de YOLO26 constitue un avantage décisif.
- Détection de petits objets : les scénarios difficiles comme les images aériennes prises par drone ou l'analyse de capteurs IoT, où ProgLoss et STAL améliorent considérablement la précision sur les objets minuscules.
À l'avenir : les nouveaux modèles Ultralytics#
Bien que YOLOv8 reste un modèle de référence très fiable, le domaine de la vision par ordinateur évolue rapidement. Les utilisateurs devraient également envisager les générations plus récentes :
YOLO26 : dernière génération en date, 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 des non-maxima. Grâce au nouvel optimiseur MuSGD (un hybride de SGD et de Muon) et aux fonctions de loss spécialisées ProgLoss + STAL, YOLO26 offre un entraînement remarquablement stable et une reconnaissance des petits objets considérablement améliorée. Avec la suppression de la DFL (Distribution Focal Loss supprimée pour simplifier l'exportation et améliorer la compatibilité avec les appareils edge et basse consommation), des ajustements architecturaux permettent 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 edge moderne.
YOLO11 : autre excellente alternative, Ultralytics YOLO11 offre des améliorations architecturales progressives par rapport à YOLOv8 et reste un modèle robuste largement adopté par la communauté.
Prêt à faire passer tes modèles du prototype à la production ? Utilise l'Ultralytics Platform pour annoter automatiquement les jeux de données, suivre les expériences et déployer tes modèles de manière fluide dans le cloud ou sur des appareils edge.
En conclusion, bien que DAMO-YOLO offre des perspectives universitaires intéressantes sur la recherche d'architecture, les modèles Ultralytics fournissent un écosystème nettement plus mature, polyvalent et adapté aux développeurs. Que tu restes sur la stabilité éprouvée de YOLOv8 ou que tu passes à l'architecture sans NMS ultra-rapide de YOLO26, la suite Ultralytics reste le choix de référence pour l'IA de vision en temps réel.