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 démontre 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 YOLOv5Le projet YOLOv9, bien que développé par une équipe open-source distincte, s'appuie sur la base de code robuste fournie par YOLOv9, mettant en évidence l'esprit de collaboration de la communauté de recherche en IA.

Comparaison des performances de YOLOv9

Introduction à YOLOv9

Dans la quête d'une détection optimale des objets en temps réel, YOLOv9 se distingue par son approche innovante pour surmonter les défis liés à la perte d'informations inhérents 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 assure é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 défis 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 des fonctions réversibles sont au cœur de sa conception, ce qui permet à YOLOv9 de maintenir 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 : lorsque 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 par :

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

où I représente 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 :

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 les architectures d'apprentissage profond, car elle 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 au sein de son architecture afin d'atténuer le risque de dégradation des informations, en particulier dans les couches plus profondes, ce qui garantit la préservation des données critiques 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 importantes au cours du processus de feedforward. 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, facilitant les mises à jour précises du modèle et améliorant 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

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

Quand d'autres échelles de modèles seront-elles disponibles ?

Malgré toutes les métriques indiquées pour les différentes échelles du modèle dans le tableau ci-dessous, seulement les configurations pour YOLOv9c et YOLOv9e ont été publiées. L'équipe de Ultralytics travaillera rapidement pour ajouter d'autres configurations au fur et à mesure qu'elles seront disponibles, alors n'oublie pas de consulter régulièrement cette page pour les mises à jour.

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, allant de la minuscule t variante de la vaste e Le modèle YOLOv9 démontre 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 (FLOPs). Ce tableau souligne la capacité de YOLOv9 à offrir une grande précision tout en maintenant ou en réduisant la surcharge 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 YOLO MS-S en matière d'efficacité des paramètres et de charge de calcul, tout en réalisant une amélioration de 0,4∼0,6 % en 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, 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 par rapport à YOLOv7 AF, ainsi qu'une augmentation de 1,7 % de l'efficacité. YOLOv8xLe modèle YOLOv9e établit une nouvelle norme pour les grands modèles, avec 15 % de paramètres en moins et 25 % de calculs 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 pivot dans le domaine de la vision par ordinateur.

Conclusion

YOLOv9 représente 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 cruciaux grâce à des solutions innovantes comme PGI et GELAN, YOLOv9 crée un nouveau précédent pour les recherches et les applications futures dans ce domaine. Alors que la communauté de l'IA continue d'évoluer, YOLOv9 témoigne du pouvoir 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 à l'outil 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 Des commandes 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 Exporter
YOLOv9 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. Cette prise en charge complète garantit que les utilisateurs peuvent 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 peut être consulté sur arXiv. Les auteurs ont mis leur travail à la disposition du 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é élargie.



Créé le 2024-02-26, Mis à jour le 2024-04-02
Auteurs : Burhan-Q (2), glenn-jocher (3), Laughing-q (1)

Commentaires