Ultralytics YOLO27 :
Get Started

YOLOv9 : une avancée majeure dans la technologie de détection d’objets#

YOLOv9 marque une avancée importante dans la détection d’objets en temps réel, en introduisant des techniques novatrices telles que les informations de gradient programmables (PGI) et le réseau généralisé d’agrégation efficace des couches (GELAN). Ce modèle affiche des améliorations remarquables en matière d’efficacité, de précision et d’adaptabilité, établissant de nouvelles références sur le jeu de données MS COCO. Le projet YOLOv9, bien qu’il ait été développé par une équipe open source indépendante, s’appuie sur la base de code robuste fournie par Ultralytics YOLOv5, illustrant l’esprit de collaboration de la communauté de recherche en IA.



Regarder : Entraînement de YOLOv9 sur des données personnalisées avec Ultralytics | Jeu de données de colis industriels

Comparaison des performances de YOLOv9

Présentation de YOLOv9#

Dans la quête d’une détection d’objets optimale en temps réel, YOLOv9 se distingue par son approche novatrice pour surmonter les problèmes de perte d’information inhérents aux réseaux neuronaux profonds. En intégrant PGI et l’architecture polyvalente GELAN, YOLOv9 améliore non seulement la capacité d’apprentissage du modèle, mais assure également la conservation des informations essentielles tout au long du processus de détection, atteignant ainsi une précision et des performances exceptionnelles.

Innovations clés de YOLOv9#

Les avancées de YOLOv9 reposent en grande partie sur la résolution des problèmes de perte d’information dans les réseaux neuronaux profonds. Le principe du goulot d’étranglement de l’information et l’utilisation novatrice des fonctions réversibles sont au cœur de sa conception, ce qui garantit à YOLOv9 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 met en évidence un problème fondamental de l’apprentissage profond : à mesure que les données traversent les couches successives d’un réseau, le risque de perte d’information augmente. Ce phénomène s’exprime mathématiquement ainsi :

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 ayant respectivement pour paramètres theta et phi. YOLOv9 relève ce défi en mettant en œuvre les informations de gradient programmables (PGI), qui contribuent à préserver les données essentielles dans les couches profondes du réseau, garantissant ainsi une génération de gradients plus fiable et, par conséquent, une meilleure convergence et de meilleures performances du modèle.

Fonctions réversibles#

Le concept de fonctions réversibles est un autre pilier de la conception de YOLOv9. Une fonction est dite réversible si elle peut être inversée sans perte d’information, comme l’exprime la formule suivante :

X = v_zeta(r_psi(X))

où psi et zeta sont respectivement les paramètres de la fonction réversible et de sa fonction inverse. Cette propriété est essentielle pour les architectures d’apprentissage profond, car elle permet au réseau de conserver un flux d’information complet et donc d’actualiser plus précisément les paramètres du modèle. YOLOv9 intègre des fonctions réversibles dans son architecture afin d’atténuer le risque de dégradation de l’information, en particulier dans les couches profondes, et de préserver les données essentielles aux tâches de détection d’objets.

Impact sur les modèles légers#

La résolution des problèmes de perte d’information est particulièrement importante pour les modèles légers, qui sont souvent sous-paramétrés et susceptibles de perdre beaucoup d’informations au cours de la propagation avant. Grâce à l’utilisation de PGI et de fonctions réversibles, l’architecture de YOLOv9 garantit que les informations essentielles à une détection d’objets précise sont conservées et exploitées efficacement, même avec un modèle simplifié.

Informations de gradient programmables (PGI)#

PGI est un nouveau concept introduit dans YOLOv9 pour lutter contre le problème du goulot d’étranglement de l’information et garantir la préservation des données essentielles dans les couches profondes du réseau. Cette approche permet de générer des gradients fiables, facilitant des mises à jour précises du modèle et améliorant les performances globales de détection.

Réseau généralisé d’agrégation efficace des couches (GELAN)#

GELAN constitue une avancée stratégique en matière d’architecture, permettant à YOLOv9 d’optimiser l’utilisation des paramètres et l’efficacité du calcul. Sa conception permet d’intégrer avec souplesse différents blocs de calcul, ce qui rend YOLOv9 adaptable à de nombreuses applications sans sacrifier la vitesse ni la précision.

Comparaison des architectures de YOLOv9

Résultats des tests de performance de YOLOv9#

Avec Ultralytics, les tests de performance de YOLOv9 consistent à évaluer les performances de ton modèle entraîné et validé dans des conditions réelles. Ce processus comprend :

  • Évaluation des performances : évaluer la vitesse et la précision du modèle.
  • Formats d’exportation : tester le modèle dans différents formats d’exportation pour vérifier qu’il respecte les normes requises et fonctionne bien dans divers environnements.
  • Prise en charge des frameworks : fournir un framework complet dans le package Ultralytics pour faciliter ces évaluations et garantir des résultats cohérents et fiables.

Les tests de performance te permettent de vérifier que ton modèle fonctionne bien non seulement dans des environnements de test contrôlés, mais aussi dans des applications pratiques en conditions réelles.



Regarder : Comment évaluer le modèle YOLOv9 avec le package Ultralytics Python

Performances sur le jeu de données MS COCO#

Les performances de YOLOv9 sur le jeu de données COCO illustrent ses avancées majeures en matière de détection d’objets en temps réel et établissent 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 et met en évidence l’efficacité supérieure et la précision de YOLOv9.

Performances
Modèletaille
(pixels)
mAPval
50-95
mAPval
50
paramètres
(M)
FLOPs
(B)
YOLOv9t64038.353.12.07.7
YOLOv9s64046.863.47.226.7
YOLOv9m64051.468.120.176.8
YOLOv9c64053.070.225.5102.8
YOLOv9e64055.672.858.1192.5

Les variantes de YOLOv9, du modèle t compact au modèle e complet, montrent des améliorations non seulement en précision (métriques mAP), mais aussi en efficacité, avec moins de paramètres et de besoins de calcul (FLOPs). Ce tableau souligne la capacité de YOLOv9 à offrir une précision élevée tout en maintenant ou en réduisant la charge de calcul par rapport aux versions précédentes et aux modèles concurrents.

En comparaison, YOLOv9 affiche des gains remarquables :

  • Modèles légers : YOLOv9s surpasse YOLO MS-S en matière d’efficacité des paramètres et de charge de calcul, tout en améliorant l’AP de 0,4 à 0,6 %.
  • Modèles moyens à grands : YOLOv9m et YOLOv9e progressent de manière notable dans l’équilibre entre la complexité du modèle et les performances de détection, en réduisant considérablement le nombre de paramètres et les calculs tout en améliorant la précision.

Le modèle YOLOv9c met particulièrement en évidence l’efficacité des optimisations de l’architecture. Il utilise 42 % de paramètres en moins et nécessite 21 % de calculs en moins que YOLOv7 AF, tout en atteignant une précision comparable, ce qui démontre les gains d’efficacité importants de YOLOv9. De plus, le modèle YOLOv9e établit une nouvelle référence pour les grands modèles : il utilise 15 % de paramètres en moins et nécessite 25 % de calculs en moins que YOLOv8x, tout en améliorant l’AP de 1,7 %.

Ces résultats illustrent les avancées stratégiques de YOLOv9 dans la conception des modèles et mettent en évidence son efficacité accrue, sans compromettre la précision indispensable aux tâches de détection d’objets en temps réel. Le modèle repousse les limites des métriques de performance et souligne également l’importance de l’efficacité du calcul, ce qui en fait une avancée majeure dans le domaine de la vision par ordinateur.

Conclusion#

Lancé en février 2024, YOLOv9 a constitué une avancée majeure dans la détection d’objets en temps réel, avec des améliorations considérables en matière d’efficacité, de précision et d’adaptabilité. En relevant des défis cruciaux grâce à des solutions novatrices comme PGI et GELAN, YOLOv9 a établi de nouvelles références à sa sortie. Depuis, de nouveaux modèles comme YOLO11 et YOLO26 ont apporté des améliorations supplémentaires, mais les innovations architecturales de YOLOv9 continuent d’influencer le domaine.

Exemples d'utilisation#

Cet exemple présente des exemples simples d’entraînement et d’inférence avec YOLOv9. Pour consulter la documentation complète sur ces modes et les autres modes, consulte les pages de documentation Prédiction, Entraînement, Validation et Exportation.

Exemple

Les modèles *.pt préentraînés PyTorch ainsi que les fichiers de configuration *.yaml peuvent être transmis à la classe YOLO() pour créer une instance de modèle en Python :

from ultralytics import YOLO

# Créer un modèle YOLOv9c de zéro
model = YOLO("yolov9c.yaml")

# Créer un modèle YOLOv9c à partir de poids préentraînés
model = YOLO("yolov9c.pt")

# Afficher les informations du modèle (facultatif)
model.info()

# Entraîner le modèle sur le jeu de données d'exemple COCO8 pendant 100 époques
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)

# Effectuer une inférence avec le modèle YOLOv9c sur l’image 'bus.jpg'
results = model("path/to/bus.jpg")

Tâches et modes pris en charge#

La gamme YOLOv9 propose plusieurs modèles, chacun optimisé pour une détection d’objets haute performance. Ces modèles répondent à différents besoins en calcul et exigences de précision, ce qui les rend polyvalents pour une grande variété d’applications.

ModèleNoms de fichiersTâchesEntraînementValidationInférenceExport
YOLOv9yolov9t.pt yolov9s.pt yolov9m.pt yolov9c.pt yolov9e.ptDétection d'objets✅✅✅✅
YOLOv9-segyolov9c-seg.pt yolov9e-seg.ptSegmentation d'instances✅✅✅✅

Ce tableau présente une vue détaillée des variantes de modèles YOLOv9, en mettant en évidence leurs capacités en matière de détection d’objets et leur compatibilité avec différents modes opérationnels, comme l’inférence, la validation, l’entraînement et l’exportation. Cette prise en charge complète permet aux utilisateurs d’exploiter pleinement les capacités des modèles YOLOv9 dans un large éventail de scénarios de détection d’objets.

Remarque

L’entraînement des modèles YOLOv9 nécessitera plus de ressources et prendra plus de temps que celui d’un modèle YOLOv8 de taille équivalente.

Citations et remerciements#

Nous tenons à remercier les auteurs de YOLOv9 pour leurs contributions majeures au domaine de la détection d’objets en temps réel :

Citation
@inproceedings{wang2024yolov9,
  title={YOLOv9: Learning What You Want to Learn Using Programmable Gradient Information},
  author={Wang, Chien-Yao and Yeh, I-Hau and Liao, Hong-Yuan Mark},
  booktitle={Computer Vision -- ECCV 2024},
  pages={1--21},
  year={2024},
  organization={Springer Nature Switzerland}
}

L’article officiel sur YOLOv9 a été publié dans les actes Springer d’ECCV 2024, avec une prépublication sur arXiv. Les auteurs ont rendu leurs travaux publics et le code source est accessible sur GitHub. Nous saluons leurs efforts pour faire progresser le domaine et rendre leurs travaux accessibles à l’ensemble de la communauté.

FAQ#

  • YOLOv9 introduit des techniques novatrices telles que les informations de gradient programmables (PGI) et le réseau généralisé d’agrégation efficace des couches (GELAN). Ces innovations répondent aux problèmes de perte d’information dans les réseaux neuronaux profonds et garantissent une grande efficacité, précision et adaptabilité. PGI préserve les données essentielles dans les couches du réseau, tandis que GELAN optimise l’utilisation des paramètres et l’efficacité du calcul. Découvre les innovations clés de YOLOv9, qui établissent de nouvelles références sur le jeu de données MS COCO.

  • YOLOv9 surpasse les détecteurs d’objets en temps réel de pointe en offrant une meilleure précision et une meilleure efficacité. Sur le jeu de données COCO, les modèles YOLOv9 affichent 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 à YOLOv7 AF avec 42 % de paramètres en moins et 21 % de calculs en moins. Consulte les comparaisons de performances pour découvrir les métriques détaillées.

  • Tu peux entraîner un modèle YOLOv9 à l’aide de commandes Python ou CLI. En Python, instancie un modèle avec la classe YOLO et appelle la méthode train :

    from ultralytics import YOLO
    
    # Créer un modèle YOLOv9c à partir de poids préentraînés et l’entraîner
    model = YOLO("yolov9c.pt")
    results = model.train(data="coco8.yaml", epochs=100, imgsz=640)

    Pour l’entraînement avec la CLI, exécute :

    yolo train model=yolov9c.yaml data=coco8.yaml epochs=100 imgsz=640

    Pour en savoir plus, consulte les exemples d’utilisation concernant l’entraînement et l’inférence.

  • YOLOv9 est conçu pour atténuer les pertes d’information, un enjeu particulièrement important pour les modèles légers, qui risquent souvent de perdre beaucoup d’informations. Grâce à l’intégration des informations de gradient programmables (PGI) et des fonctions réversibles, YOLOv9 garantit la conservation des données essentielles, ce qui améliore la précision et l’efficacité du modèle. Il convient ainsi parfaitement aux applications qui nécessitent des modèles compacts et performants. Pour en savoir plus, consulte la section sur l’impact de YOLOv9 sur les modèles légers.

  • YOLOv9 prend en charge diverses tâches, dont la détection d’objets et la segmentation d’instances. Il est compatible avec plusieurs modes opérationnels : inférence, validation, entraînement et exportation. Cette polyvalence rend YOLOv9 adaptable à diverses applications de vision par ordinateur en temps réel. Consulte la section sur les tâches et modes pris en charge pour en savoir plus.

Commentaires