YOLOv9 vs. YOLOv8: une comparaison technique pour la détection d'objets
La sélection du modèle optimal de détection d'objets implique de trouver un équilibre entre l'innovation architecturale et les besoins pratiques de déploiement. Cette comparaison technique analyse les modèles de détection d'objets de YOLOv9un modèle axé sur la recherche qui introduit de nouvelles techniques d'information de gradient, et Ultralytics YOLOv8un cadre prêt pour la production, conçu pour la polyvalence et la rapidité. Nous examinons leurs architectures, leurs performances sur l'ensemble de donnéesCOCO et les cas d'utilisation idéaux pour vous aider à choisir le modèle le mieux adapté à votre pipeline de vision par ordinateur.
YOLOv9: une nouvelle architecture pour lutter contre la perte d'informations
Sorti début 2024, YOLOv9 s'attaque au problème fondamental de la perte d'informations dans les réseaux neuronaux profonds. À mesure que les réseaux deviennent plus profonds, des données d'entrée essentielles peuvent disparaître avant d'atteindre les couches finales, ce qui complique le processus de formation.
- Auteurs : Chien-Yao Wang, Hong-Yuan Mark Liao
- Organisation :Institut des sciences de l'information, Academia Sinica, Taiwan
- Date : 2024-02-21
- Arxiv :arXiv:2402.13616
- GitHub :DépôtYOLOv9
- Docs :DocumentationUltralytics YOLOv9
Innovations clés : IGP et GELAN
YOLOv9 présente deux avancées architecturales majeures pour lutter contre les goulets d'étranglement en matière d'information :
- Information de gradient programmable (PGI) : Un cadre de supervision auxiliaire qui génère des gradients fiables pour la mise à jour des poids du réseau, en veillant à ce que les corrélations d'entrée clés soient préservées dans toutes les couches. Cette méthode est particulièrement efficace pour la formation de modèles très profonds.
- Réseau d'agrégation de couches efficace généralisé (GELAN) : Une architecture de réseau légère qui donne la priorité à l'efficacité des paramètres et à la vitesse de calcul (FLOP). GELAN permet à YOLOv9 d'atteindre une grande précision avec une vitesse d'inférence respectable.
Points forts et limites
YOLOv9 excelle dans les tests académiques, avec la YOLOv9-E variante permettant d'atteindre l'échelon supérieur scores mAP . C'est un excellent choix pour les chercheurs qui souhaitent repousser les limites de la précision de détection. Toutefois, en tant que modèle profondément ancré dans la recherche, il ne dispose pas de la vaste prise en charge multitâche que l'on trouve dans les écosystèmes plus matures. Son implémentation principale se concentre sur la détection de la boîte englobante, et les flux de travail de formation peuvent être plus gourmands en ressources que les solutions industrielles rationalisées.
Ultralytics YOLOv8: La norme pour l'IA de production
Ultralytics YOLOv8 représente une approche holistique de Vision AI. Plutôt que de se concentrer sur une seule mesure, YOLOv8 est conçu pour offrir la meilleure expérience utilisateur, la plus grande polyvalence de déploiement et le meilleur équilibre de performance. Il fait partie de l'écosystème étendu d'Ultralytics , ce qui garantit qu'il reste robuste et facile à utiliser pour les développeurs de tous niveaux.
- Auteurs : Glenn Jocher, Ayush Chaurasia, Jing Qiu
- Organisation :Ultralytics
- Date : 2023-01-10
- GitHub :DépôtUltralytics
- Docs :DocumentationYOLOv8 d'Ultralytics
Architecture et avantages pour l'écosystème
YOLOv8 utilise une tête de détection sans ancrage et une colonne vertébrale C2f (Cross-Stage Partial bottleneck with 2 convolutions), qui améliore le flux de gradient tout en conservant une empreinte légère. Au-delà de l'architecture, la force de YOLOv8 réside dans son intégration :
- Facilité d'utilisation : Avec une APIPython unifiée et une interface de ligne de commande (CLI), la formation et le déploiement d'un modèle ne nécessitent que quelques lignes de code.
- Polyvalence : Contrairement à ses concurrents qui se limitent souvent à la détection, YOLOv8 prend en charge la segmentation des instances, l'estimation de la pose, les boîtes de délimitation orientées (OBB) et la classification des images.
- Équilibre des performances : Il offre un compromis exceptionnel entre latence et précision, ce qui le rend adapté à l'inférence en temps réel sur des appareils périphériques tels que le NVIDIA Jetson ou le Raspberry Pi.
- Efficacité de la mémoire : YOLOv8 nécessite généralement moins de mémoireCUDA pendant la formation que les architectures basées sur les transformateurs, ce qui réduit la barrière à l'entrée pour le matériel.
Flux de travail intégrés
Les modèles Ultralytics s'intègrent parfaitement à des outils tels que TensorBoard pour la visualisation et MLflow pour le suivi des expériences, rationalisant ainsi le cycle de vie des MLOps.
Analyse des performances : Vitesse, précision et efficacité
Le choix entre les modèles dépend souvent des exigences spécifiques du projet en matière de rapidité par rapport à la précision pure. Le tableau ci-dessous compare les variantes standard de l'ensemble de validation COCO .
| 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 |
| 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 |
Points clés à retenir
- Précision haut de gamme : L'argument
YOLOv9eatteint un taux remarquable de 55,6 % de mAP, dépassant ainsi le taux mAP laYOLOv8x. Si votre application nécessite la détection des objets les plus difficiles et que la latence est secondaire, YOLOv9e est un concurrent de taille. - Vitesse en temps réel : Pour les applications dépendantes de la vitesse,
YOLOv8netYOLOv8smontrent des performances supérieures.YOLOv8nest particulièrement efficace pour déploiement mobileoffrant une solution légère et incroyablement rapide à la fois sur le CPU et le GPU. - Préparation au déploiement : Le tableau met en évidence les vitessesONNX du CPU pour YOLOv8, une mesure critique pour les environnements GPU GPU. Cette transparence des données reflète la conception de YOLOv8 pour des scénarios de déploiement étendus, alors que YOLOv9 est souvent évalué principalement sur des GPU haut de gamme comme le V100 ou le T4 dans des contextes de recherche.
Formation et facilité d'utilisation
L'une des différences les plus significatives réside dans l'expérience du développeur. Ultralytics privilégie une approche "batteries incluses".
La simplicité avec Ultralytics
L'entraînement d'un modèle YOLOv8 nécessite une configuration minimale. La bibliothèque gère automatiquement l'augmentation des données, le réglage des hyperparamètres et le téléchargement des poids pré-entraînés.
from ultralytics import YOLO
# Load a pre-trained YOLOv8 model
model = YOLO("yolov8n.pt")
# Train on a custom dataset with a single command
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)
# Run inference
results = model("https://ultralytics.com/images/bus.jpg")
Complexité de la recherche
Bien que YOLOv9 soit intégré dans la base de code Ultralytics pour un accès plus facile, les dépôts de recherche originaux nécessitent souvent des configurations d'environnement complexes et une gestion manuelle des hyperparamètres. L'écosystème bien entretenu d'Ultralytics garantit que, que vous utilisiez YOLOv8 ou la version portée de YOLOv9, vous bénéficiez de pipelines CI/CD stables, d'une documentation complète et d'une assistance communautaire via Discord.
Cas d'utilisation idéaux
Choisissez YOLOv9 si :
- La précision maximale est essentielle : Projets tels que l'analyse d'images médicales (par exemple, la détection de tumeurs) où chaque point de pourcentage de mAP est important.
- Recherche universitaire : Vous étudiez de nouvelles architectures comme l'IGP ou vous menez des études comparatives sur l'efficacité des réseaux neuronaux.
- Environnements de calcul intensif : Les cibles de déploiement sont des serveurs puissants (par exemple, NVIDIA A100) où des FLOP plus élevés sont acceptables.
Choisissez Ultralytics YOLOv8 si :
- Diverses tâches requises : Vous devez effectuer le suivi d'objets, la segmentation ou l'estimation de la pose au sein d'une structure de projet unique.
- Déploiement en périphérie : Applications fonctionnant sur du matériel restreint, comme les caméras intelligentes ou les drones, où la mémoire et les cycles de l CPU sont rares.
- Développement rapide : Startups et équipes d'entreprises qui ont besoin de passer rapidement du concept à la production en utilisant des formats d'exportation comme ONNX, TensorRT ou OpenVINO.
- Stabilité et assistance : Vous avez besoin d'un modèle soutenu par des mises à jour fréquentes et d'une large communauté pour résoudre efficacement les problèmes.
Conclusion
Tout en YOLOv9 présente des avancées théoriques impressionnantes et atteint une grande précision de détection, Ultralytics YOLOv8 d'Ultralytics reste le choix le plus pratique pour la grande majorité des applications réelles. Son équilibre entre vitesse, précision et polyvalence, associé à une API conviviale et à un processus de formation efficace, en fait la solution de choix pour les développeurs.
Pour ceux qui recherchent la toute dernière nouveauté de la gamme Ultralytics , pensez à explorer YOLO11qui affine encore ces attributs pour des performances de pointe. Cependant, entre les deux modèles présentés ici, YOLOv8 offre une expérience soignée, prête pour la production, qui accélère le passage des données au déploiement.
Explorer d'autres modèles
Si vous êtes intéressé par d'autres architectures, la documentation d'Ultralytics fournit des comparaisons pour plusieurs autres modèles :
- RT-DETR: Un détecteur à base de transformateur offrant une grande précision, mais avec des exigences différentes en matière de ressources.
- YOLOv5: Le légendaire prédécesseur connu pour son extrême stabilité et sa large adoption.
- YOLO11: La dernière itération d'Ultralytics, qui pousse l'efficacité encore plus loin.