Meet YOLO26: next-gen vision AI.

Link to this sectionYOLOv9 : 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 les informations de gradient programmables (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. Le projet YOLOv9, bien que développé par une équipe open-source distincte, s'appuie sur la base de code robuste fournie par Ultralytics YOLOv5, illustrant l'esprit collaboratif de la communauté de recherche en IA.



Watch: YOLOv9 Training on Custom Data using Ultralytics | Industrial Package Dataset

Comparaison des performances de YOLOv9

Link to this sectionIntroduction à 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 non seulement améliore la capacité d'apprentissage du modèle, mais assure également la rétention d'informations cruciales tout au long du processus de détection, atteignant ainsi une précision et des performances exceptionnelles.

Link to this sectionInnovations 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.

Link to this sectionPrincipe du goulot d'étranglement de l'information#

Le principe du goulot d'étranglement de l'information révèle un défi fondamental dans l'apprentissage profond : à mesure que les données traversent les couches successives d'un réseau, le potentiel de perte d'informations augmente. Ce phénomène est représenté mathématiquement comme suit :

I(X, X) >= I(X, f_theta(X)) >= I(X, g_phi(f_theta(X)))

I désigne l'information mutuelle, et f et g représentent les fonctions de transformation avec les paramètres theta et phi, respectivement. YOLOv9 contrecarre ce défi en mettant en œuvre des informations de gradient programmables (PGI), qui aident à préserver les données essentielles à travers la profondeur du réseau, garantissant une génération de gradients plus fiable et, par conséquent, une meilleure convergence et de meilleures performances du modèle.

Link to this sectionFonctions 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'information, comme exprimé par :

X = v_zeta(r_psi(X))

avec psi et zeta comme paramètres pour la fonction réversible et sa fonction 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 des informations, en particulier dans les couches plus profondes, garantissant la préservation des données critiques pour les tâches de détection d'objets.

Link to this sectionImpact sur les modèles légers#

La résolution de la perte d'informations est particulièrement vitale pour les modèles légers, qui sont souvent sous-paramétrés et sujets à la perte d'informations significatives pendant le processus de propagation directe (feedforward). L'architecture de YOLOv9, grâce à l'utilisation du PGI et des fonctions réversibles, garantit que même avec un modèle simplifié, les informations essentielles requises pour une détection d'objets précise sont conservées et utilisées efficacement.

Link to this sectionInformations de gradient programmables (PGI)#

Le PGI est un concept novateur 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.

Link to this sectionRéseau d'agrégation de couches efficace généralisé (GELAN)#

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 computationnels, rendant YOLOv9 adaptable à une large gamme d'applications sans sacrifier la vitesse ou la précision.

Comparaison de l'architecture YOLOv9

Link to this sectionBenchmarks de YOLOv9#

L'évaluation comparative dans YOLOv9 en utilisant Ultralytics implique d'é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 répond aux normes nécessaires et qu'il fonctionne bien dans divers environnements.
  • Support de framework : Fournir un cadre 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 non seulement fonctionne bien dans des environnements de test contrôlés, mais 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

Link to this sectionPerformance sur le jeu de données MS COCO#

La performance de YOLOv9 sur le jeu de données COCO illustre ses avancées significatives dans la détection d'objets en temps réel, établissant de nouveaux benchmarks sur diverses tailles de modèles. Le tableau 1 présente une comparaison complète des détecteurs d'objets en temps réel à la pointe de la technologie, illustrant l'efficacité et la précision supérieures de YOLOv9.

Performance
Modèletaille
(pixels)
mAPval
50-95
mAPval
50
params
(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 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 précision élevée tout en maintenant ou en réduisant la charge computationnelle par rapport aux versions précédentes et aux modèles concurrents.

À titre comparatif, YOLOv9 présente 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 réalisant 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 la performance 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 demande computationnelle en moins que YOLOv7 AF, tout en atteignant une précision comparable, démontrant les améliorations d'efficacité significatives 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 computationnels en 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é accrue sans compromettre la précision essentielle pour les tâches de détection d'objets en temps réel. Le modèle non seulement repousse les limites des mesures de performance, mais souligne également l'importance de l'efficacité computationnelle, ce qui en fait un développement pivot dans le domaine de la vision par ordinateur.

Link to this sectionConclusion#

YOLOv9, sorti en février 2024, a représenté un développement pivot 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 relevant des défis critiques grâce à des solutions innovantes comme PGI et GELAN, YOLOv9 a établi de nouveaux benchmarks au moment de sa sortie. Bien que des modèles plus récents comme YOLO11 et YOLO26 soient sortis depuis avec des améliorations supplémentaires, les innovations architecturales de YOLOv9 continuent d'influencer le domaine.

Link to this sectionExemples d'utilisation#

Cet exemple fournit des exemples simples d'entraînement et d'inférence avec YOLOv9. Pour une documentation complète sur ces modes et d'autres, consulte les pages de documentation Predict, Train, Val et Export.

Exemple

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")

Link to this sectionTâ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, ce qui les rend polyvalents pour un large éventail d'applications.

ModèleNoms de fichiersTâchesInférenceValidationEntraînementExporter (Export)
YOLOv9yolov9t.pt yolov9s.pt yolov9m.pt yolov9c.pt yolov9e.ptDétection d'objets
YOLOv9-segyolov9c-seg.pt yolov9e-seg.ptSegmentation 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 les utilisateurs peuvent tirer pleinement parti des capacités des modèles YOLOv9 dans une large gamme 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 le modèle YOLOv8 de taille équivalente.

Link to this sectionCitations 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 :

Citation
@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.

Link to this sectionFAQ#

Link to this sectionQuelles innovations YOLOv9 introduit-il pour la détection d'objets en temps réel ?#

YOLOv9 introduit des techniques révolutionnaires telles que les informations de gradient programmables (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 majeures de YOLOv9 qui ont établi de nouveaux benchmarks sur le jeu de données MS COCO.

Link to this sectionComment YOLOv9 se comporte-t-il sur le jeu de données MS COCO par rapport aux autres modèles ?#

YOLOv9 surpasse les détecteurs d'objets en temps réel à la pointe de la technologie 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 sur diverses tailles tout en maintenant ou en réduisant la charge computationnelle. Par exemple, YOLOv9c atteint une précision comparable avec 42 % de paramètres en moins et 21 % de demande computationnelle en moins que YOLOv7 AF. Explore les comparaisons de performances pour des métriques détaillées.

Link to this sectionComment puis-je entraîner un modèle YOLOv9 en utilisant Python et 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 un entraînement via CLI, exécute :

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

Apprends-en davantage sur les exemples d'utilisation pour l'entraînement et l'inférence.

Link to this sectionQuels 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 à la perte d'informations significatives. En intégrant les informations de gradient programmables (PGI) et les fonctions réversibles, YOLOv9 assure la rétention des données essentielles, améliorant la précision et l'efficacité du modèle. Cela le rend très adapté aux 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.

Link to this sectionQuelles 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'instances. Il est compatible avec de multiples 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 sur les tâches et modes pris en charge pour plus d'informations.

Commentaires