Ultralytics YOLO27 :
Get Started

YOLOv9 vs YOLOv7#

L’évolution de la détection d’objets en temps réel est portée par la recherche constante d’un équilibre entre efficacité de calcul et grande précision. YOLOv9 et YOLOv7 sont deux architectures marquantes de cette évolution, toutes deux développées par des chercheurs de l’Institute of Information Science de l’Academia Sinica, à Taïwan. YOLOv7 a introduit les « bag-of-freebies » entraînables, une innovation majeure, tandis que le plus récent YOLOv9 s’attaque directement aux goulots d’étranglement de l’information dans l’apprentissage profond.

Cette comparaison technique complète examine les différences architecturales, les métriques de performance et les scénarios de déploiement idéaux des deux modèles, afin d’aider les ingénieurs en ML et les chercheurs à choisir l’outil adapté à leurs pipelines de vision par ordinateur.

Comparaison des performances et des métriques#

Pour comparer ces modèles, les performances brutes et l’efficacité sont des critères essentiels. Le tableau suivant présente la précision moyenne moyenne (mAP) et les besoins de calcul mesurés sur les benchmarks du jeu de données COCO standard.

Modèletaille
(pixels)
mAPval
50-95
Vitesse
CPU ONNX
(ms)
Vitesse
T4 TensorRT10
(ms)
paramètres
(M)
FLOPs
(B)
YOLOv9t64038.3-2.32.07.7
YOLOv9s64046.8-3.547.226.7
YOLOv9m64051.4-6.4320.176.8
YOLOv9c64053.0-7.1625.5102.8
YOLOv9e64055.6-16.7758.1192.5
YOLOv7l64051.4-6.8436.9104.7
YOLOv7x64053.1-11.5771.3189.9
Équilibre des performances

Remarque que YOLOv9c atteint pratiquement la même précision (53,0 mAP) que YOLOv7x (53,1 mAP), tout en utilisant beaucoup moins de paramètres (25,5 M contre 71,3 M) et de FLOPs. Cela illustre les améliorations de l’équilibre des performances des architectures modernes.

YOLOv9 : résoudre le goulot d’étranglement de l’information#

Présenté au début de 2024, YOLOv9 a fondamentalement changé la manière dont les réseaux neuronaux profonds préservent les données à travers leurs couches.

Innovations architecturales#

YOLOv9 introduit le réseau généralisé d’agrégation efficace des couches (GELAN) et les informations de gradient programmables (PGI). GELAN combine les atouts de CSPNet et d’ELAN pour optimiser l’efficacité des paramètres et le coût de calcul, garantissant une grande précision avec moins de paramètres. PGI est un cadre de supervision auxiliaire conçu pour prévenir la perte de données dans les réseaux profonds et générer des gradients fiables pour la mise à jour des poids pendant l’entraînement.

Atouts et limites#

Le principal atout de YOLOv9 est sa capacité à extraire des caractéristiques subtiles sans surcharge de calcul excessive, ce qui le rend très performant pour les tâches exigeant une grande fidélité des caractéristiques, comme l’analyse d’images médicales. Cependant, la structure PGI complexe utilisée pendant l’entraînement peut rendre les modifications architecturales personnalisées plus difficiles pour les débutants que dans des frameworks plus unifiés.

En savoir plus sur YOLOv9

YOLOv7 : pionnier des « bag-of-freebies »#

Lancé en 2022, YOLOv7 a établi une nouvelle référence pour ce qui était possible sur du matériel grand public, grâce à des innovations structurelles qui ont considérablement accéléré l’inférence en temps réel.

Innovations architecturales#

La principale contribution de YOLOv7 est le réseau étendu d’agrégation efficace des couches (E-ELAN). Cette architecture permet au modèle d’apprendre en continu des caractéristiques plus variées. De plus, YOLOv7 utilise des « bag-of-freebies entraînables », notamment les convolutions reparamétrées planifiées et l’assignation dynamique des étiquettes. Ces méthodes améliorent la précision du modèle pendant l’entraînement sans ajouter de coût d’inférence lors du déploiement.

Atouts et limites#

YOLOv7 est fortement optimisé pour le traitement en temps réel en périphérie et reste très utilisé dans les systèmes existants et les anciens environnements CUDA. Aujourd’hui, sa principale limite est son nombre de paramètres plus élevé que celui des modèles récents. Comme le montre le tableau des performances, il faut utiliser le modèle YOLOv7x, plus lourd, pour atteindre une précision de premier ordre. Il nécessite beaucoup plus de mémoire GPU que les architectures modernes équivalentes.

En savoir plus sur YOLOv7

L’avantage Ultralytics : un déploiement simplifié#

Les dépôts de recherche d’origine de YOLOv9 et YOLOv7 offrent d’excellentes bases universitaires, mais le déploiement de ces modèles en production peut s’avérer complexe. L’intégration de YOLOv9 via le paquet ultralytics (YOLOv7 est pris en charge uniquement via des modèles exportés au format ONNX ou TensorRT) offre une grande facilité d’utilisation.

Avec l’Ultralytics Platform, les développeurs bénéficient d’un écosystème bien entretenu, doté d’une API Python intuitive, d’une communauté active et d’un solide système de suivi des expériences.

Préparer l’avenir avec YOLO26#

Si tu démarres un nouveau projet de vision par ordinateur, nous te recommandons vivement d’explorer le nouveau YOLO26 plutôt que YOLOv9 ou YOLOv7. Lancé comme la nouvelle référence de pointe, YOLO26 apporte des avancées révolutionnaires :

  • Conception de bout en bout sans NMS : une tête optionnelle one-to-one (nms=False) ignore le post-traitement de suppression non maximale, ce qui réduit considérablement la complexité et la latence du déploiement.
  • Inférence CPU jusqu’à 43 % plus rapide : optimisée pour les environnements d’informatique en périphérie, elle garantit le bon fonctionnement de ton application même sans GPU dédié.
  • Optimiseur MuSGD : Optimiseur hybride inspiré de l’entraînement des LLM, offrant une convergence très stable et réduisant le temps d’entraînement.
  • Suppression de DFL : Simplifie l’exportation du modèle en supprimant Distribution Focal Loss, ce qui améliore la compatibilité avec les appareils mobiles à faible consommation.
  • ProgLoss + STAL : Améliore considérablement les performances de détection des petits objets, ce qui en fait le premier choix pour l’imagerie aérienne et la surveillance.

Parmi les autres solutions populaires de l’écosystème figurent Ultralytics YOLOv8 et YOLO11, qui offrent tous deux une grande polyvalence pour des tâches comme la segmentation d’instances et l’estimation de pose.

Exemple d'implémentation#

L’entraînement et l’exportation de YOLOv9 ou YOLO26 sont très simples avec l’API unifiée. Le code ci-dessous illustre l’efficacité de l’entraînement optimisée des outils Ultralytics.

from ultralytics import YOLO

# Initialise le modèle YOLOv9 ou le modèle YOLO26 recommandé
model = YOLO("yolov9c.pt")  # Remplace par « yolo26n.pt » pour de meilleures performances sur les appareils en périphérie

# Entraîne le modèle sur un jeu de données personnalisé avec l’augmentation de données intégrée
results = model.train(data="coco8.yaml", epochs=100, imgsz=640, batch=16, device=0)

# Exporte le modèle entraîné au format ONNX pour le déploiement
model.export(format="onnx")
Besoins en mémoire

Lors de l’entraînement sur du matériel grand public, l’efficacité de la mémoire est cruciale. Les implémentations Ultralytics de YOLOv9 et YOLO26 sont fortement optimisées pour réduire les pics d’utilisation de la VRAM, contrairement aux modèles basés sur des Transformers (comme RT-DETR), qui souffrent souvent d’une forte hausse de la consommation mémoire pendant l’entraînement.

Applications concrètes et cas d'usage idéaux#

Le choix entre ces architectures dépend souvent des contraintes spécifiques de ton environnement de production.

Quand utiliser YOLOv9 : YOLOv9 excelle dans les environnements où il est nécessaire de préserver les détails les plus fins. Son extraction robuste des caractéristiques en fait un modèle idéal pour l’analyse du commerce de détail, afin de compter les produits serrés sur les étagères, ou pour les applications agricoles où il est essentiel de détecter les maladies des cultures à un stade précoce sur de petites feuilles.

Quand utiliser YOLOv7 : YOLOv7 reste un choix solide pour les pipelines de déploiement hérités. Si tu intègres le modèle à d’anciens systèmes matériels (comme certaines générations du Google Coral Edge TPU), l’architecture CNN simple de YOLOv7 sera peut-être plus facile à compiler que celle des modèles récents.

Quand utiliser YOLO26 (recommandé) : Pour tout déploiement moderne, des drones autonomes à la gestion du trafic des villes intelligentes, YOLO26 est le meilleur choix. Son architecture sans NMS garantit des temps d’inférence déterministes, essentiels pour la robotique critique pour la sécurité, tandis que sa grande précision surpasse systématiquement celle de YOLOv9 et YOLOv7.

Commentaires