YOLOv9 YOLO10 : analyse technique approfondie de l'évolution de la détection d'objets
Le paysage de la détection d'objets en temps réel a évolué rapidement, avec la sortie en 2024 de deux architectures importantes : YOLOv9 et YOLOv10. Si les deux modèles visent à repousser les limites de la précision et de l'efficacité, ils y parviennent grâce à des philosophies architecturales fondamentalement différentes. YOLOv9 sur la maximisation de la rétention d'informations au plus profond du réseau, tandis que YOLOv10 le pipeline de déploiement en éliminant le besoin de suppression non maximale (NMS).
Ce guide fournit une comparaison technique complète afin d'aider les chercheurs et les ingénieurs à choisir l'outil adapté à leurs applications spécifiques en matière de vision par ordinateur.
YOLOv9 : Informations de gradient programmables
Publié en février 2024 par Chien-Yao Wang et Hong-Yuan Mark Liao (l'équipe à l'origine de YOLOv4 et YOLOv7), YOLOv9 le problème du « goulot d'étranglement informationnel » inhérent aux réseaux neuronaux profonds. À mesure que les données transitent par les couches successives, les données d'entrée sont souvent perdues, ce qui dégrade la capacité du modèle à apprendre des caractéristiques spécifiques.
Pour lutter contre ce problème, YOLOv9 le PGI (Programmable Gradient Information) et l'architecture GELAN (Generalized Efficient Layer Aggregation Network). Le PGI fournit une branche de supervision auxiliaire qui garantit que la branche principale conserve les informations critiques pendant l'entraînement, tandis que le GELAN optimise l'utilisation des paramètres pour une meilleure planification du chemin du gradient.
- Auteurs : Chien-Yao Wang, Hong-Yuan Mark Liao
- Organisation : Institut des sciences de l'information, Academia Sinica, Taïwan
- Date : 2024-02-21
- Arxiv:YOLOv9 : Apprendre ce que vous voulez apprendre en utilisant l’information de gradient programmable
- GitHub :WongKinYiu/yolov9
YOLOv10 : Détection de bout en bout en temps réel
Publié peu après, en mai 2024, par des chercheurs de l'université Tsinghua, YOLOv10 un changement significatif dans le YOLO . Historiquement, YOLO s'appuyaient sur NMS pour filtrer les boîtes englobantes qui se chevauchaient. YOLOv10 une stratégie d'attribution double cohérente pendant l'entraînement, utilisant une attribution un-à-plusieurs pour une supervision riche et une attribution un-à-un pour l'inférence, ce qui permet au modèle de devenir nativement NMS.
Cette modification architecturale réduit la latence d'inférence et simplifie les pipelines de déploiement, ce qui la rend particulièrement intéressante pour l'informatique en périphérie, où CPU sont précieux.
- Auteurs : Ao Wang, Hui Chen, Lihao Liu, et al.
- Organisation : Université de Tsinghua
- Date : 2024-05-23
- Arxiv:YOLOv10 : Détection d’objets de bout en bout en temps réel
- GitHub :THU-MIG/yolov10
Comparaison des performances
Lorsque nous comparons ces deux architectures, nous examinons les compromis entre la capacité de détection brute (mAP) et l'efficacité de l'inférence (latence et FLOP).
Analyse des métriques
Le tableau suivant met en évidence les indicateurs de performance sur COCO . Alors que YOLOv9e fait preuve d'une précision supérieure pour les tâches complexes, YOLOv10 offrent généralement une latence plus faible grâce à la suppression de NMS .
| Modèle | Taille (pixels) | mAPval 50-95 | Vitesse CPU ONNX (ms) | Vitesse T4 TensorRT10 (ms) | paramètres (M) | FLOPs (B) |
|---|---|---|---|---|---|---|
| YOLOv9t | 640 | 38.3 | - | 2.3 | 2.0 | 7.7 |
| YOLOv9s | 640 | 46.8 | - | 3.54 | 7.1 | 26.4 |
| YOLOv9m | 640 | 51.4 | - | 6.43 | 20.0 | 76.3 |
| YOLOv9c | 640 | 53.0 | - | 7.16 | 25.3 | 102.1 |
| YOLOv9e | 640 | 55.6 | - | 16.77 | 57.3 | 189.0 |
| YOLOv10n | 640 | 39.5 | - | 1.56 | 2.3 | 6.7 |
| YOLOv10s | 640 | 46.7 | - | 2.66 | 7.2 | 21.6 |
| YOLOv10m | 640 | 51.3 | - | 5.48 | 15.4 | 59.1 |
| YOLOv10b | 640 | 52.7 | - | 6.54 | 24.4 | 92.0 |
| YOLOv10l | 640 | 53.3 | - | 8.33 | 29.5 | 120.3 |
| YOLOv10x | 640 | 54.4 | - | 12.2 | 56.9 | 160.4 |
Points clés à retenir
- Latence vs précision : YOLOv10n atteint un mAP 39,5 %) supérieur à celui de YOLOv9t (38,3 %) tout en fonctionnant beaucoup plus rapidement sur GPU (1,56 ms contre 2,3 ms). Cela rend l'architecture v10 très efficace pour les déploiements à petite échelle.
- Précision de haut niveau : pour les scénarios de recherche où chaque point de pourcentage de précision compte, YOLOv9e reste une référence avec mAP de 55,6 %, utilisant ses informations de gradient programmables pour extraire des caractéristiques subtiles que d'autres modèles pourraient manquer.
- Efficacité : YOLOv10 en matière d'efficacité FLOP. Le YOLOv10s ne nécessite que 21,6 G FLOP, contre 26,4 G pour le YOLOv9s, ce qui se traduit par une consommation d'énergie moindre sur les appareils fonctionnant sur batterie.
Considérations matérielles
Si vous effectuez un déploiement sur des processeurs (tels que les processeurs Intel ) ou du matériel périphérique spécialisé (Raspberry Pi, Jetson), la conception NMS YOLOv10 permet généralement d'obtenir un pipeline plus fluide, car elle supprime le temps de traitement non déterministe des étapes de post-traitement.
Formation et écosystème
L'un des principaux avantages des Ultralytics réside dans leur écosystème unifié. Que vous choisissiez YOLOv9 YOLOv10, les workflows de formation, de validation et d'exportation restent identiques. Cette cohérence réduit considérablement la courbe d'apprentissage pour les développeurs.
L'avantage Ultralytics
- Facilité d'utilisation : Python simple vous permet de changer d'architecture en modifiant une seule chaîne (par exemple, de
yolov9c.ptàyolov10m.pt). - Écosystème Bien Entretenu : Ultralytics fournit des mises à jour fréquentes, assurant la compatibilité avec les dernières versions de PyTorch et les pilotes CUDA.
- Exigences en matière de mémoire : contrairement à de nombreux modèles basés sur des transformateurs qui souffrent d'un gonflement de la mémoire, Ultralytics sont optimisées pour l'efficacitéGPU . Cela permet d'utiliser des lots plus volumineux sur du matériel grand public.
Exemple d'entraînement
La formation de l'un ou l'autre modèle sur un ensemble de données personnalisé est simple. Le cadre gère automatiquement l'augmentation des données, la mise en cache et la journalisation des métriques.
from ultralytics import YOLO
# Load a model (Swap "yolov10n.pt" for "yolov9c.pt" to switch architectures)
model = YOLO("yolov10n.pt")
# Train the model on the COCO8 dataset
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)
# Validate the model's performance
model.val()
# Export to ONNX for deployment
model.export(format="onnx")
Cas d'utilisation idéaux
Quand choisir YOLOv9
YOLOv9 le choix privilégié pour les scénarios exigeant une grande fidélité des caractéristiques. Son architecture GELAN est robuste face à la perte d'informations, ce qui la rend idéale pour :
- Imagerie médicale : détection de petites tumeurs ou anomalies lorsque l'absence d'une caractéristique est critique. Consultez notre guide sur l'IA dans le domaine de la santé.
- Détection de petits objets : scénarios impliquant des images aériennes ou une surveillance à distance où les objets occupent très peu de pixels.
- Références de recherche : lors de l'évaluation comparative par rapport aux architectures de pointe du début de l'année 2024.
Quand choisir YOLOv10
YOLOv10 conçu pour être rapide et simple à déployer. La suppression du NMS en NMS un concurrent sérieux pour :
- Edge Computing : Fonctionne sur des appareils tels que le Raspberry Pi ou les téléphones mobiles où CPU liée au post-traitement provoque des goulots d'étranglement.
- Robotique en temps réel : applications nécessitant des boucles de rétroaction cohérentes et à faible latence, telles que la navigation autonome.
- Pipelines complexes : systèmes dans lesquels la sortie du détecteur est transmise à des algorithmes de suivi ; la sortie NMS simplifie la logique pour les tâches en aval.
Perspectives : La puissance de YOLO26
Bien que YOLOv9 YOLOv10 d'excellents modèles, le domaine de l'IA évolue rapidement. Pour les nouveaux projets démarrant en 2026, nous recommandons vivement d'évaluer YOLO26.
Sorti en janvier 2026, YOLO26 s'appuie sur la percée NMS de YOLOv10 introduit des améliorations architecturales significatives :
- NMS de bout en bout : comme la version 10, YOLO26 est nativement de bout en bout, mais avec des optimisations supplémentaires au niveau de la tête de détection pour une précision encore plus grande.
- Optimiseur MuSGD : hybride entre SGD Muon (inspiré de la formation LLM), cet optimiseur apporte la stabilité de la formation des grands modèles linguistiques à la vision par ordinateur, garantissant une convergence plus rapide.
- Suppression du DFL : en supprimant le Distribution Focal Loss, YOLO26 simplifie le graphe d'exportation, ce qui facilite considérablement son déploiement sur les appareils limités par la NPU.
- ProgLoss + STAL : nouvelles fonctions de perte spécialement conçues pour améliorer la reconnaissance des petits objets, remédiant ainsi à une faiblesse courante des détecteurs en temps réel.
- Performances : optimisé spécifiquement pour l'edge computing, YOLO26 offre CPU jusqu'à 43 % plus rapide que les générations précédentes.
De plus, YOLO26 n'est pas seulement un détecteur ; il comprend des améliorations spécialisées pour l'estimation de la pose (à l'aide de RLE), la segmentation d'instances et les tâches OBB (Oriented Bounding Box), ce qui en fait l'outil le plus polyvalent de Ultralytics .
Conclusion
YOLOv9 YOLOv10 tous deux YOLOv10 des avancées majeures dans le domaine de la vision par ordinateur. YOLOv9 que les réseaux profonds pouvaient être rendus plus efficaces sans perte d'informations, tandis que YOLOv10 qu NMS mettre fin à la dépendance à l'égard NMS , qui durait depuis des décennies.
Pour les développeurs d'aujourd'hui, le choix dépend en grande partie de vos contraintes de déploiement. Si vous avez besoin d'une précision absolue sur des données difficiles, YOLOv9e est un candidat sérieux. Si la latence et la simplicité de déploiement sont primordiales, YOLOv10 excellent. Cependant, pour obtenir le meilleur équilibre entre vitesse, précision et fonctionnalités évolutives, YOLO26 est actuellement la recommandation de pointe pour les utilisateurs Ultralytics .