Skip to content

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 présente des améliorations remarquables en termes d'efficacité, de précision et d'adaptabilité, établissant de nouvelles références sur l'ensemble 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 YOLOv5Il témoigne de l'esprit de collaboration de la communauté des chercheurs en IA.



Regarder : Formation YOLOv9 sur des données personnalisées à l'aide du jeu de données Ultralytics | Industrial Package Dataset

Comparaison des performances de YOLOv9

Introduction à YOLOv9

Dans la quête d'une détection optimale d'objets en temps réel, YOLOv9 se distingue par son approche innovante visant à surmonter les difficultés liées à la perte d'informations inhérentes aux réseaux neuronaux profonds. En intégrant l'IGP et l'architecture polyvalente GELAN, YOLOv9 améliore non seulement la capacité d'apprentissage du modèle, mais garantit également la rétention des informations cruciales tout au long du processus de détection, ce qui permet d'obtenir une précision et des performances exceptionnelles.

Principales innovations de YOLOv9

Les avancées de YOLOv9 sont profondément ancrées dans la résolution des problèmes posés par la perte d'informations dans les réseaux neuronaux profonds. Le principe du goulot d'étranglement de l'information et l'utilisation innovante de fonctions réversibles sont au cœur de sa conception, garantissant à 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 révèle un défi fondamental dans l'apprentissage profond : à mesure que les données passent par 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 des fonctions de transformation avec des paramètres theta et phirespectivement. YOLOv9 relève ce défi en mettant en œuvre 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 du modèle et de meilleures performances.

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 perte d'information, comme l'exprime la formule suivante :

X = v_zeta(r_psi(X))

avec psi et zeta comme paramètres de la fonction réversible et de sa fonction inverse, respectivement. Cette propriété est cruciale pour apprentissage profond car il permet au réseau de conserver un flux d'informations complet, ce qui permet des mises à jour plus précises des paramètres du modèle. YOLOv9 intègre des fonctions réversibles dans son architecture afin d'atténuer le risque de dégradation des informations, en particulier dans les couches profondes, ce qui garantit la préservation des données essentielles pour les tâches de détection d'objets.

Impact sur les modèles légers

La prise en compte de la perte d'informations est particulièrement vitale pour les modèles légers, qui sont souvent sous-paramétrés et susceptibles de perdre des informations significatives au cours du processus de rétroaction. L'architecture de YOLOv9, grâce à l'utilisation d'IGP et de fonctions réversibles, garantit que même avec un modèle allégé, les informations essentielles requises pour une détection précise des objets sont conservées et utilisées efficacement.

Information programmable sur le gradient (PGI)

L'IGP est un nouveau concept introduit dans YOLOv9 pour lutter contre le problème du goulot d'étranglement de l'information, en garantissant la préservation des données essentielles à travers les couches profondes du réseau. Cela permet de générer des gradients fiables, de faciliter les mises à jour précises du modèle et d'améliorer les performances globales de détection.

Ré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 des paramètres et une efficacité de calcul supérieures. Sa conception permet une intégration souple de divers blocs de calcul, ce qui rend YOLOv9 adaptable à un large éventail d'applications sans sacrifier la vitesse ou la précision.

Comparaison de l'architecture de YOLOv9

YOLOv9 Benchmarks

L'analyse comparative dans YOLOv9 à l'aide de Ultralytics consiste à évaluer la performance de votre modèle formé et validé dans des scénarios réels. Ce processus comprend

  • Évaluation des performances : Évaluation de la vitesse et de la précision du modèle.
  • Formats d'exportation : Tester le modèle dans différents formats d'exportation pour s'assurer qu'il répond aux normes nécessaires et qu'il fonctionne bien dans différents environnements.
  • Soutien au cadre : Fournir un cadre complet sur Ultralytics YOLOv8 pour faciliter ces évaluations et garantir des résultats cohérents et fiables.

Grâce à l'étalonnage, vous pouvez vous assurer que votre modèle fonctionne bien dans des environnements de test contrôlés, mais aussi qu'il reste performant dans les applications pratiques du monde réel.



Regarder : Comment évaluer le modèle YOLOv9 à l'aide du logiciel Ultralytics Python

Performance sur l'ensemble de données MS COCO

Les performances de YOLOv9 sur l'ensemble de données COCO illustrent ses avancées significatives en matière de 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 les plus récents, illustrant l'efficacité et la précision supérieures de YOLOv9.

Tableau 1. Comparaison des détecteurs d'objets en temps réel les plus récents

Performance

Modèle taille
(pixels)
mAPval
50-95
mAPval
50
params
(M)
FLOPs
(B)
YOLOv9t 640 38.3 53.1 2.0 7.7
YOLOv9s 640 46.8 63.4 7.2 26.7
YOLOv9m 640 51.4 68.1 20.1 76.8
YOLOv9c 640 53.0 70.2 25.5 102.8
YOLOv9e 640 55.6 72.8 58.1 192.5
Modèle taille
(pixels)
mAPbox
50-95
mAPmask
50-95
params
(M)
FLOPs
(B)
YOLOv9c-seg 640 52.4 42.2 27.9 159.4
YOLOv9e-seg 640 55.1 44.3 60.5 248.4

Les itérations de YOLOv9, qui vont de la minuscule t variante de la vaste e démontrent des améliorations non seulement en termes de précision (métriques mAP) mais aussi en termes d'efficacité avec un nombre réduit de paramètres et de besoins de calcul (FLOP). Ce tableau souligne la capacité de YOLOv9 à fournir des résultats de haute qualité. 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 présente des gains remarquables :

  • Modèles légers: YOLOv9s surpasse le modèle YOLO MS-S en termes d'efficacité des paramètres et de charge de calcul, tout en réalisant une amélioration de 0,4∼0,6 % de l'AP.
  • Modèles de taille moyenne à grande: YOLOv9m et YOLOv9e présentent des avancées notables dans l'équilibre entre la complexité du modèle et les performances de détection, en offrant des réductions significatives des paramètres et des calculs sur fond d'amélioration de la précision.

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 de calcul en moins que YOLOv7 AF, tout en atteignant une précision comparable, ce qui démontre les améliorations significatives de YOLOv9 en matière d'efficacité. En outre, 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 en moins que le modèle YOLOv7 AF. YOLOv8xLe modèle YOLOv9e établit une nouvelle norme pour les grands modèles, avec 15 % de paramètres en moins et 25 % de besoins de calcul en moins que le modèle YOLOv9e, ainsi qu'une amélioration supplémentaire de 1,7 % du PA.

Ces résultats mettent en évidence les avancées stratégiques de YOLOv9 dans la conception du modèle, en 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 repousse non seulement les limites des mesures de performance, mais souligne également l'importance de l'efficacité informatique, ce qui en fait un développement essentiel dans le domaine de la vision par ordinateur.

Conclusion

YOLOv9 représente un développement essentiel 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 cruciaux grâce à des solutions innovantes telles que PGI et GELAN, YOLOv9 crée un nouveau précédent pour la recherche et les applications futures dans ce domaine. Alors que la communauté de l'IA continue d'évoluer, YOLOv9 témoigne de la puissance de la collaboration et de l'innovation pour stimuler le progrès technologique.

Exemples d'utilisation

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

Exemple

PyTorch préformé *.pt ainsi que la configuration *.yaml peuvent être transmis à la fonction YOLO() pour créer une instance de modèle dans 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")

CLI sont disponibles pour exécuter directement les modèles :

# Build a YOLOv9c model from scratch and train it on the COCO8 example dataset for 100 epochs
yolo train model=yolov9c.yaml data=coco8.yaml epochs=100 imgsz=640

# Build a YOLOv9c model from scratch and run inference on the 'bus.jpg' image
yolo predict model=yolov9c.yaml source=path/to/bus.jpg

Tâches et modes pris en charge

La série YOLOv9 offre une gamme de modèles, chacun optimisé pour la détection d'objets de haute performance. Ces modèles répondent à des besoins de calcul et à des exigences de précision variables, ce qui les rend polyvalents pour un large éventail d'applications.

Modèle Noms de fichiers Tâches Inférence Validation Formation Exportation
YOLOv9 yolov9t yolov9s yolov9m yolov9c.pt yolov9e.pt Détection d'objets
YOLOv9-seg yolov9c-seg.pt yolov9e-seg.pt Segmentation des instances

Ce tableau fournit un aperçu détaillé des variantes du modèle YOLOv9, en soulignant 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 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.

Note

La formation des modèles YOLOv9 nécessitera plus de ressources et prendra plus de temps que celle d'un modèle de taille équivalente ( YOLOv8 ).

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 est disponible sur arXiv. Les auteurs ont rendu leur travail public et la base de code est accessible sur GitHub. Nous apprécions leurs efforts pour faire avancer le domaine et rendre leur travail accessible à la communauté au sens large.

FAQ

Quelles sont les innovations introduites par YOLOv9 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 posés par la perte d'informations dans les réseaux neuronaux profonds, en garantissant une efficacité, une précision et une adaptabilité élevées. 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é des calculs. En savoir plus sur les principales innovations de YOLOv9 qui établissent de nouvelles références sur l'ensemble de données MS COCO.

Quelles sont les performances de YOLOv9 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 les plus récents en termes de précision et d'efficacité. Sur l'ensemble 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 avec 42 % de paramètres en moins et 21 % de calculs en moins que YOLOv7 AF. Explorez les comparaisons de performances pour obtenir des mesures détaillées.

Comment puis-je entraîner un modèle YOLOv9 en utilisant Python et CLI?

Vous pouvez entraîner un modèle YOLOv9 à l'aide des commandes Python et CLI . Pour Python, instanciez un modèle à l'aide de la commande YOLO et appeler la classe train méthode :

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 la formation CLI , exécutez :

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

En savoir plus sur les exemples d'utilisation de formation et d'inférence.

Quels sont les avantages de l'utilisation de 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 qui ont souvent tendance à perdre des informations importantes. En intégrant l'information de gradient programmable (PGI) et les fonctions réversibles, YOLOv9 garantit la conservation des données essentielles, améliorant ainsi la précision et l'efficacité du modèle. Il convient donc parfaitement aux applications nécessitant des modèles compacts et performants. Pour plus de détails, consultez la section sur l'impact de YOLOv9 sur les modèles légers.

Quelles sont les tâches et les modes de fonctionnement de YOLOv9 ?

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 permet à YOLOv9 de s'adapter à diverses applications de vision par ordinateur en temps réel. Pour plus d'informations, reportez-vous à la section sur les tâches et les modes pris en charge.

📅C réé il y a 9 mois ✏️ Mis à jour il y a 2 mois

Commentaires