YOLOv8 vs YOLOv9: une comparaison technique pour la détection d'objets
Le choix du modèle optimal de vision par ordinateur est une décision cruciale qui influe sur la réussite des projets d'IA, en conciliant les exigences de précision, de vitesse d'inférence et d'efficacité de calcul. Ce guide complet compare Ultralytics YOLOv8un modèle polyvalent et prêt pour la production, avec YOLOv9une architecture visant à maximiser la précision de la détection grâce à de nouveaux gradients. Nous analysons les différences architecturales, les mesures de performance et les scénarios de déploiement idéaux pour vous aider à faire un choix éclairé.
Ultralytics YOLOv8: la norme en matière de polyvalence et de facilité d'utilisation
Lancé par Ultralytics, YOLOv8 représente une évolution majeure dans la série YOLO , conçue non seulement comme un modèle mais aussi comme un cadre complet pour l'IA pratique. Il donne la priorité à une expérience utilisateur transparente, à des performances robustes sur l'ensemble du matériel et à la prise en charge d'un large éventail de tâches de vision allant au-delà de la simple détection.
- Auteurs : Glenn Jocher, Ayush Chaurasia, Jing Qiu
- Organisation :Ultralytics
- Date : 2023-01-10
- GitHub :https://github.com/ultralytics/ultralytics
- Docs :https://docs.ultralytics.com/models/yolov8/
Architecture et écosystème
YOLOv8 introduit une tête de détection sans ancrage et un module C2f (Cross-Stage Partial with 2 convolutions), qui améliore l'intégration des fonctionnalités tout en conservant une exécution légère. Contrairement aux modèles centrés sur la recherche, YOLOv8 est conçu pour être déployé. Il prend en charge de manière native la classification d'images, la segmentation d'instances, l'estimation de la pose et la détection de boîtes de délimitation orientées (OBB).
La véritable puissance de YOLOv8 réside dans l'écosystèmeUltralytics . Les développeurs bénéficient d'une APIPython unifiée et d'un CLI qui normalisent la formation, la validation et le déploiement. Cette approche "batteries incluses" réduit considérablement le temps de mise sur le marché des applications de vision par ordinateur.
Points forts
- Polyvalence inégalée : une seule bibliothèque pour la détection, la segmentation, la classification et l'estimation de la pose.
- Prêt pour le déploiement : Prise en charge de l'exportation native pour ONNX, OpenVINO, TensorRTet CoreML simplifie l'intégration dans les appareils périphériques et les serveurs en nuage.
- Efficacité de la mémoire : Optimisé pour réduire l'utilisation de la mémoire CUDA pendant l'entraînement par rapport aux architectures basées sur les transformateurs, ce qui le rend accessible sur les GPU grand public standard.
- Équilibre entre vitesse et précision : Offre des vitesses d'inférence en temps réel exceptionnelles, souvent supérieures à celles des concurrents sur le plan de l'CPU et du matériel périphérique.
- Support actif : Soutenu par une communauté massive de logiciels libres et des mises à jour fréquentes d'Ultralytics, garantissant la compatibilité avec les bibliothèques et le matériel les plus récents.
YOLOv9: l'innovation architecturale au service de la précision
YOLOv9 a été publié pour résoudre le problème du "goulot d'étranglement de l'information" dans l'apprentissage profond. Il introduit des concepts théoriques visant à préserver les informations des données lors de leur passage dans les couches profondes, en ciblant principalement les limites supérieures de la précision de la détection d'objets.
- Auteurs : Chien-Yao Wang, Hong-Yuan Mark Liao
- Organisation :Institut des sciences de l'information, Academia Sinica, Taiwan
- Date : 2024-02-21
- Arxiv :https://arxiv.org/abs/2402.13616
- GitHub :https://github.com/WongKinYiu/yolov9
- Docs :https://docs.ultralytics.com/models/yolov9/
Innovations fondamentales
L'architecture de YOLOv9 repose sur deux éléments principaux : L'information de gradient programmable (PGI) et le réseau d'agrégation de couches efficace généralisé (GELAN). Le PGI permet d'éviter la perte d'informations d'entrée critiques au cours du processus de feed-forward dans les réseaux profonds, en garantissant que des gradients fiables sont générés pour les mises à jour. Le GELAN est conçu pour optimiser l'efficacité des paramètres, ce qui permet au modèle d'atteindre une grande précision avec une empreinte informatique respectable.
Points forts
- Précision élevée : La variante la plus importante, YOLOv9, établit des références impressionnantes pour mAP sur l'ensemble de données COCO , excellant dans les scénarios où la précision est primordiale.
- Efficacité des paramètres : Grâce à GELAN, les modèles YOLOv9 de taille moyenne atteignent une précision compétitive avec moins de paramètres que certaines architectures plus anciennes.
- Avancée théorique : Aborde les questions fondamentales de la formation aux réseaux profonds en ce qui concerne la préservation de l'information.
Faiblesses
- Polyvalence limitée : Principalement axé sur la détection d'objets. Bien que performant, il ne dispose pas de la prise en charge native et rationalisée de la segmentation, de la pose et de la classification que l'on retrouve dans la gamme principale d'Ultralytics .
- Formation complexe : L'introduction de branches auxiliaires pour les IGP peut rendre le processus de formation plus gourmand en ressources et plus complexe à mettre au point que le pipeline rationalisé de YOLOv8 .
- Vitesse d'inférence : Bien qu'efficace, la complexité architecturale peut entraîner des temps d'inférence plus lents sur certains matériels par rapport aux blocs hautement optimisés utilisés dans YOLOv8.
Comparaison directe des performances
Lorsque l'on compare YOLOv8 et YOLOv9, le choix se résume souvent aux contraintes spécifiques de votre environnement de déploiement. YOLOv8 domine en termes de vitesse d'inférence et de flexibilité de déploiement, tandis que YOLOv9 repousse le plafond des mesures de détection.
| 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 |
| 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 |
Les données mettent en évidence une distinction claire : YOLOv8 offre une vitesse supérieure, en particulier sur le GPU TensorRT) et le CPU ONNX), ce qui est essentiel pour les applications d'intelligence artificielle. Par exemple, YOLOv8n est nettement plus rapide que YOLOv9t sur les GPU T4 (1,47 ms contre 2,3 ms). À l'inverse, YOLOv9e obtient le mAP le plus élevé (55,6 %), ce qui le rend adapté au traitement côté serveur où la latence est moins importante que la détection de détails infimes.
Le saviez-vous ?
Ultralytics YOLOv8 est conçu avec un support natif pour tous les principales tâches de vision par ordinateur. Vous pouvez passer de la détection d'objets à la segmentation d'instance simplement en modifiant le fichier de poids du modèle (par ex, yolov8n.pt à yolov8n-seg.pt), un niveau de flexibilité qui n'est pas disponible dans le référentiel standard YOLOv9 .
Cas d'utilisation idéaux
Choisissez Ultralytics YOLOv8 Si :
- Vous avez besoin d'une solution prête pour la production : La documentation complète, l'assistance de la communauté et les intégrations prédéfinies (comme MLFlow et TensorBoard) simplifient le passage du prototype au produit.
- La vitesse est essentielle : Pour l'analyse vidéo en temps réel, la navigation autonome ou les applications mobiles, la vitesse d'inférence optimisée de YOLOv8 offre un avantage certain.
- Vous avez besoin de tâches de vision multiples : Les projets impliquant l'estimation de la pose ou la segmentation en plus de la détection sont mieux servis par le cadre unifié de YOLOv8.
- Des contraintes de ressources existent : Les modèles YOLOv8 sont hautement optimisés pour différents matériels, garantissant un fonctionnement efficace sur des appareils allant des Raspberry Pis aux NVIDIA Jetsons.
Choisissez YOLOv9 si :
- La précision maximale est le seul critère de mesure : Pour la recherche universitaire ou les tâches d'inspection spécialisées où chaque fraction de pourcentage de mAP compte plus que la vitesse ou la facilité d'utilisation.
- Vous effectuez des recherches sur l'architecture : Les concepts PGI et GELAN sont précieux pour les chercheurs qui étudient le flux de gradient dans les réseaux profonds.
Mise en œuvre du code
L'un des principaux avantages de l'écosystème Ultralytics est qu'il prend en charge les deux modèles avec la même API simple. Cela vous permet de les comparer facilement sur vos propres ensembles de données.
Voici comment vous pouvez entraîner un modèle YOLOv8 en quelques lignes de code seulement :
from ultralytics import YOLO
# Load a YOLOv8 model
model = YOLO("yolov8n.pt")
# Train the model on your data
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)
# Run inference on an image
results = model("path/to/image.jpg")
Comme Ultralytics intègre YOLOv9, vous pouvez remplacer la chaîne du modèle par yolov9c.pt d'expérimenter YOLOv9 au sein d'un même pipeline robuste, bien que les modèles natifs YOLOv8 bénéficient souvent d'une intégration plus étroite avec les outils de déploiement.
Conclusion
Pour la grande majorité des développeurs et des applications commerciales, Ultralytics YOLOv8 reste le choix recommandé. Son équilibre supérieur entre vitesse et précision, combiné à un écosystème mature et bien entretenu, garantit que les projets sont à l'épreuve du temps et plus faciles à maintenir. La capacité à gérer la détection, la segmentation et l'estimation de la pose au sein d'un cadre unique offre une polyvalence inégalée.
Bien que YOLOv9 introduise des théories architecturales intéressantes et atteigne une précision maximale, il est souvent préférable de le réserver à des niches de recherche spécifiques ou à des scénarios dans lesquels la latence d'inférence n'est pas une contrainte.
Pour ceux qui recherchent les toutes dernières technologies en matière de vision par ordinateur, ne manquez pas de consulter le site suivant YOLO11qui améliore encore l'efficacité et les performances établies par YOLOv8. En outre, les chercheurs qui s'intéressent aux approches basées sur les transformateurs peuvent explorer les produits suivants RT-DETR pour différents compromis architecturaux.
Découvrez d'autres comparaisons sur notre page de comparaison des modèles.