YOLOv9 : Un bond en avant dans la technologie de détection d'objets
YOLOv9 marque une avancée significative dans la détection d'objets en temps réel, en introduisant des techniques révolutionnaires telles que l'information de gradient programmable (PGI) et le réseau d'agrégation de couches efficace généralisé (GELAN). Ce modèle démontre des améliorations remarquables en termes d'efficacité, de précision et d'adaptabilité, établissant de nouvelles références sur le jeu de données MS COCO. Bien que développé par une équipe open-source distincte, le projet YOLOv9 s'appuie sur la base de code robuste fournie par Ultralytics YOLOv5, témoignant de l'esprit collaboratif de la communauté de recherche en IA.
Watch: YOLOv9 Training on Custom Data using Ultralytics | Industrial Package Dataset

Introduction à YOLOv9
Dans la quête d'une détection d'objets optimale en temps réel, YOLOv9 se distingue par son approche innovante pour surmonter les problèmes de perte d'informations inhérents aux réseaux de neurones profonds. En intégrant le PGI et l'architecture polyvalente GELAN, YOLOv9 améliore non seulement la capacité d'apprentissage du modèle, mais garantit également la conservation d'informations cruciales tout au long du processus de détection, atteignant ainsi une précision et des performances exceptionnelles.
Innovations majeures de YOLOv9
Les avancées de YOLOv9 sont profondément ancrées dans la résolution des défis posés par la perte d'informations dans les réseaux de neurones profonds. Le principe du goulot d'étranglement de l'information (Information Bottleneck Principle) et l'utilisation innovante des fonctions réversibles sont au cœur de sa conception, garantissant que YOLOv9 maintient une efficacité et une précision élevées.
Principe du goulot d'étranglement de l'information
Le principe du goulot d'étranglement de l'information révèle un défi fondamental de l'apprentissage profond : à mesure que les données traversent les couches successives d'un réseau, le risque de perte d'informations augmente. Ce phénomène est représenté mathématiquement comme :
I(X, X) >= I(X, f_theta(X)) >= I(X, g_phi(f_theta(X)))où I désigne l'information mutuelle, et f et g représentent des fonctions de transformation avec les paramètres theta et phi, respectivement. YOLOv9 contrecarre ce défi en implémentant l'information de gradient programmable (PGI), qui aide à préserver les données essentielles à travers la profondeur du réseau, assurant une génération de gradient plus fiable et, par conséquent, une meilleure convergence et performance du modèle.
Fonctions réversibles
Le concept de fonctions réversibles est une autre pierre angulaire de la conception de YOLOv9. Une fonction est considérée comme réversible si elle peut être inversée sans aucune perte d'informations, comme exprimé par :
X = v_zeta(r_psi(X))avec psi et zeta comme paramètres pour la fonction réversible et son inverse, respectivement. Cette propriété est cruciale pour les architectures d'apprentissage profond, car elle permet au réseau de conserver un flux d'informations complet, permettant ainsi des mises à jour plus précises des paramètres du modèle. YOLOv9 intègre des fonctions réversibles dans son architecture pour atténuer le risque de dégradation de l'information, en particulier dans les couches plus profondes, assurant la préservation de données critiques pour les tâches de détection d'objets.
Impact sur les modèles légers
Lutter contre la perte d'informations est particulièrement vital pour les modèles légers, qui sont souvent sous-paramétrés et sujets à une perte d'informations significative pendant le processus de propagation vers l'avant (feedforward). L'architecture de YOLOv9, grâce à l'utilisation du PGI et des fonctions réversibles, garantit que même avec un modèle optimisé, les informations essentielles requises pour une détection d'objets précise sont conservées et utilisées efficacement.
Information de gradient programmable (PGI)
Le PGI est un concept nouveau introduit dans YOLOv9 pour combattre le problème du goulot d'étranglement de l'information, assurant la préservation des données essentielles à travers les couches profondes du réseau. Cela permet la génération de gradients fiables, facilitant des mises à jour précises du modèle et améliorant la performance globale de détection.
Réseau d'agrégation de couches efficace généralisé (GELAN)
Le GELAN représente une avancée architecturale stratégique, permettant à YOLOv9 d'atteindre une utilisation supérieure des paramètres et une efficacité computationnelle. Sa conception permet une intégration flexible de divers blocs de calcul, rendant YOLOv9 adaptable à un large éventail d'applications sans sacrifier la vitesse ou la précision.

Benchmarks de YOLOv9
L'évaluation comparative (benchmarking) dans YOLOv9 en utilisant Ultralytics consiste à évaluer les performances de ton modèle entraîné et validé dans des scénarios réels. Ce processus comprend :
- Évaluation des performances : Évaluer la vitesse et la précision du modèle.
- Formats d'exportation : Tester le modèle sur différents formats d'exportation pour s'assurer qu'il respecte les normes nécessaires et fonctionne bien dans divers environnements.
- Support de framework : Fournir un framework complet au sein d'Ultralytics YOLOv8 pour faciliter ces évaluations et garantir des résultats cohérents et fiables.
En effectuant des benchmarks, tu peux t'assurer que ton modèle ne fonctionne pas seulement bien dans des environnements de test contrôlés, mais qu'il maintient également des performances élevées dans des applications pratiques et réelles.
Watch: How to Benchmark the YOLOv9 Model Using the Ultralytics Python Package
Performances sur le jeu de données MS COCO
Les performances de YOLOv9 sur le jeu de données COCO illustrent ses avancées significatives dans la détection d'objets en temps réel, établissant de nouvelles références pour différentes tailles de modèles. Le tableau 1 présente une comparaison complète des détecteurs d'objets en temps réel de pointe, illustrant l'efficacité et la précision supérieures de YOLOv9.
Les itérations de YOLOv9, allant de la variante minuscule t au modèle étendu e, démontrent des améliorations non seulement en précision (métriques mAP), mais aussi en efficacité avec un nombre réduit de paramètres et de besoins computationnels (FLOPs). Ce tableau souligne la capacité de YOLOv9 à offrir une haute précision tout en maintenant ou en réduisant la charge de calcul par rapport aux versions précédentes et aux modèles concurrents.
Comparativement, YOLOv9 affiche des gains remarquables :
- Modèles légers : YOLOv9s surpasse le YOLO MS-S en termes d'efficacité des paramètres et de charge computationnelle tout en atteignant une amélioration de 0,4∼0,6% en AP.
- Modèles moyens à grands : YOLOv9m et YOLOv9e montrent des avancées notables dans l'équilibre entre la complexité du modèle et les performances de détection, offrant des réductions significatives des paramètres et des calculs dans un contexte de précision améliorée.
Le modèle YOLOv9c, en particulier, met en évidence l'efficacité des optimisations de l'architecture. Il fonctionne avec 42 % de paramètres en moins et 21 % de besoins en calcul de moins que YOLOv7 AF, tout en atteignant une précision comparable, démontrant ainsi les améliorations significatives de l'efficacité de YOLOv9. De plus, le modèle YOLOv9e établit une nouvelle norme pour les grands modèles, avec 15 % de paramètres en moins et 25 % de besoins en calcul de moins que YOLOv8x, parallèlement à une amélioration incrémentale de 1,7 % en AP.
Ces résultats présentent les avancées stratégiques de YOLOv9 dans la conception de modèles, soulignant son efficacité améliorée sans compromettre la précision essentielle pour les tâches de détection d'objets en temps réel. Le modèle ne se contente pas de repousser les limites des métriques de performance, il souligne également l'importance de l'efficacité computationnelle, ce qui en fait un développement pivot dans le domaine de la vision par ordinateur.
Conclusion
YOLOv9, sorti en février 2024, représentait un développement crucial dans la détection d'objets en temps réel, offrant des améliorations significatives en termes d'efficacité, de précision et d'adaptabilité. En abordant des défis critiques grâce à des solutions innovantes comme PGI et GELAN, YOLOv9 a établi de nouvelles références au moment de sa sortie. Bien que des modèles plus récents comme YOLO11 et YOLO26 aient été publiés depuis avec des améliorations supplémentaires, les innovations architecturales de YOLOv9 continuent d'influencer le domaine.
Exemples d'utilisation
Cet exemple fournit des exemples simples d'entraînement et d'inférence YOLOv9. Pour une documentation complète sur ces modes et d'autres modes, consulte les pages de documentation Predict, Train, Val et Export.
PyTorch pretrained *.pt models as well as configuration *.yaml files can be passed to the YOLO() class to create a model instance in python:
from ultralytics import YOLO
# Build a YOLOv9c model from scratch
model = YOLO("yolov9c.yaml")
# Build a YOLOv9c model from pretrained weight
model = YOLO("yolov9c.pt")
# Display model information (optional)
model.info()
# Train the model on the COCO8 example dataset for 100 epochs
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)
# Run inference with the YOLOv9c model on the 'bus.jpg' image
results = model("path/to/bus.jpg")Tâches et modes pris en charge
La série YOLOv9 offre une gamme de modèles, chacun optimisé pour une détection d'objets haute performance. Ces modèles répondent à des besoins computationnels et à des exigences de précision variés, les rendant polyvalents pour un large éventail d'applications.
| Modèle | Noms de fichiers | Tâches | Inférence | Validation | Entraînement | Exportation |
|---|---|---|---|---|---|---|
| YOLOv9 | yolov9t.pt yolov9s.pt yolov9m.pt yolov9c.pt yolov9e.pt | Détection d'objets | ✅ | ✅ | ✅ | ✅ |
| YOLOv9-seg | yolov9c-seg.pt yolov9e-seg.pt | Segmentation d'instance | ✅ | ✅ | ✅ | ✅ |
Ce tableau fournit un aperçu détaillé des variantes du modèle YOLOv9, mettant en évidence leurs capacités dans les tâches de détection d'objets et leur compatibilité avec divers modes opérationnels tels que l'inférence, la validation, l'entraînement et l'exportation. Ce support complet garantit que tu puisses exploiter pleinement les capacités des modèles YOLOv9 dans une large gamme de scénarios de détection d'objets.
L'entraînement des modèles YOLOv9 nécessitera plus de ressources et prendra plus de temps qu'un modèle YOLOv8 de taille équivalente.
Citations et remerciements
Nous tenons à remercier les auteurs de YOLOv9 pour leurs contributions significatives dans le domaine de la détection d'objets en temps réel :
@article{wang2024yolov9,
title={YOLOv9: Learning What You Want to Learn Using Programmable Gradient Information},
author={Wang, Chien-Yao and Liao, Hong-Yuan Mark},
booktitle={arXiv preprint arXiv:2402.13616},
year={2024}
}L'article original sur YOLOv9 peut être trouvé sur arXiv. Les auteurs ont rendu leur travail accessible au public, et la base de code peut être consultée sur GitHub. Nous apprécions leurs efforts pour faire avancer le domaine et rendre leur travail accessible à la communauté au sens large.
FAQ
Quelles innovations YOLOv9 introduit-il pour la détection d'objets en temps réel ?
YOLOv9 introduit des techniques révolutionnaires telles que l'information de gradient programmable (PGI) et le réseau d'agrégation de couches efficace généralisé (GELAN). Ces innovations répondent aux défis de perte d'informations dans les réseaux de neurones profonds, garantissant une efficacité, une précision et une adaptabilité élevées. Le PGI préserve les données essentielles à travers les couches du réseau, tandis que GELAN optimise l'utilisation des paramètres et l'efficacité computationnelle. En savoir plus sur les innovations principales de YOLOv9 qui établissent de nouvelles références sur le jeu de données MS COCO.
Comment YOLOv9 se comporte-t-il sur le jeu de données MS COCO par rapport à d'autres modèles ?
YOLOv9 surpasse les détecteurs d'objets en temps réel de pointe en atteignant une précision et une efficacité supérieures. Sur le jeu de données COCO, les modèles YOLOv9 présentent des scores mAP supérieurs pour différentes tailles tout en maintenant ou en réduisant la charge de calcul. Par exemple, YOLOv9c atteint une précision comparable avec 42 % de paramètres en moins et 21 % de besoins en calcul de moins que YOLOv7 AF. Explore les comparaisons de performances pour des métriques détaillées.
Comment puis-je entraîner un modèle YOLOv9 en utilisant Python et l'interface CLI ?
Tu peux entraîner un modèle YOLOv9 en utilisant à la fois Python et les commandes CLI. Pour Python, instancie un modèle en utilisant la classe YOLO et appelle la méthode train :
from ultralytics import YOLO
# Build a YOLOv9c model from pretrained weights and train
model = YOLO("yolov9c.pt")
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)Pour l'entraînement en CLI, exécute :
yolo train model=yolov9c.yaml data=coco8.yaml epochs=100 imgsz=640Apprends-en plus sur les exemples d'utilisation pour l'entraînement et l'inférence.
Quels sont les avantages d'utiliser Ultralytics YOLOv9 pour les modèles légers ?
YOLOv9 est conçu pour atténuer la perte d'informations, ce qui est particulièrement important pour les modèles légers souvent sujets à une perte significative d'informations. En intégrant l'information de gradient programmable (PGI) et des fonctions réversibles, YOLOv9 garantit la rétention des données essentielles, améliorant la précision et l'efficacité du modèle. Cela le rend très approprié pour les applications nécessitant des modèles compacts avec des performances élevées. Pour plus de détails, explore la section sur l'impact de YOLOv9 sur les modèles légers.
Quelles tâches et quels modes YOLOv9 prend-il en charge ?
YOLOv9 prend en charge diverses tâches, notamment la détection d'objets et la segmentation d'instance. Il est compatible avec plusieurs modes opérationnels tels que l'inférence, la validation, l'entraînement et l'exportation. Cette polyvalence rend YOLOv9 adaptable à diverses applications de vision par ordinateur en temps réel. Reporte-toi à la section tâches et modes pris en charge pour plus d'informations.