Ultralytics YOLO27 :

YOLOv9 vs YOLOv7#

L’évolution de la détection d’objets en temps réel est portée par une quête continue visant à équilibrer l’efficacité computationnelle et une grande précision. Deux architectures emblématiques de cette évolution sont YOLOv9 et YOLOv7, toutes deux développées par des chercheurs de l’Institute of Information Science de l’Academia Sinica, à Taïwan. Alors que YOLOv7 a introduit des « bag-of-freebies » entraînables révolutionnaires, le plus récent YOLOv9 s’attaque directement aux goulots d’étranglement de l’information en deep learning.

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

Comparaison des performances et des métriques#

Lorsqu’on compare ces modèles, les performances brutes et l’efficacité sont des facteurs essentiels. Le tableau suivant détaille la précision moyenne (mAP) et les exigences computationnelles pour les benchmarks standards du jeu de données COCO.

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.126.4
YOLOv9m64051.4-6.4320.076.3
YOLOv9c64053.0-7.1625.3102.1
YOLOv9e64055.6-16.7757.3189.0
YOLOv7l64051.4-6.8436.9104.7
YOLOv7x64053.1-11.5771.3189.9
Équilibre des performances

Remarque que YOLOv9c atteint environ la même précision (53.0 mAP) que YOLOv7x (53.1 mAP), tout en utilisant nettement moins de paramètres (25.3M contre 71.3M) et de FLOPs. Cela démontre les améliorations en matière d’équilibre des performances apportées par les architectures modernes.

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

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

Innovations architecturales#

YOLOv9 introduit le réseau généralisé d’agrégation efficace des couches (GELAN) et l’information programmable des gradients (PGI). GELAN combine les atouts de CSPNet et d’ELAN afin d’optimiser l’efficacité des paramètres et le coût computationnel, tout en garantissant une grande précision avec moins de paramètres. PGI est un framework de supervision auxiliaire conçu pour éviter la perte de données dans les réseaux profonds, en générant des gradients fiables pour mettre à jour les poids pendant l’entraînement.

Forces et limites#

La principale force de YOLOv9 réside dans sa capacité à extraire des caractéristiques subtiles sans surcharge computationnelle importante, ce qui le rend particulièrement performant pour les tâches nécessitant une grande fidélité des caractéristiques, comme l’analyse d’images médicales. Cependant, la structure PGI complexe 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 : le pionnier des bag-of-freebies#

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

Innovations architecturales#

La contribution centrale 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 diversifiées. De plus, YOLOv7 utilise des « trainable bag-of-freebies » — des techniques comme les convolutions reparamétrées planifiées et l’attribution dynamique des labels. Ces méthodes améliorent la précision du modèle pendant l’entraînement sans augmenter les coûts d’inférence lors du déploiement.

Forces et limites#

YOLOv7 est fortement optimisé pour le traitement edge en temps réel et reste très présent dans les systèmes hérités et les anciens environnements CUDA. Sa principale limite aujourd’hui est sa taille de modèle plus importante par rapport aux modèles plus récents. Comme l’indique le tableau des performances, atteindre une précision de premier ordre nécessite le modèle YOLOv7x lourd, qui demande nettement plus de mémoire GPU que les architectures modernes équivalentes.

En savoir plus sur YOLOv7

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

Bien que les dépôts de recherche d’origine de YOLOv9 et YOLOv7 fournissent d’excellentes bases académiques, le déploiement de ces modèles dans des environnements de production peut être complexe. Leur intégration via le package ultralytics offre une simplicité d’utilisation inégalée.

Grâce à l’utilisation de l’Ultralytics Platform intégrée, les développeurs bénéficient d’un écosystème bien maintenu comprenant une API Python intuitive, une communauté active et un suivi robuste 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 YOLO26 récemment publié plutôt que YOLOv9 et YOLOv7. Publié comme le nouveau standard de pointe, YOLO26 apporte des avancées majeures :

  • Conception de bout en bout sans NMS : élimine le post-traitement de suppression des non-maxima, réduisant considérablement la complexité et la latence du déploiement.
  • Jusqu’à 43 % d’inférence CPU plus rapide : optimisé pour les environnements d’informatique edge, afin que ton application fonctionne correctement même sans GPU dédié.
  • Optimiseur MuSGD : un optimiseur hybride inspiré de l’entraînement des LLM, qui fournit une convergence très stable et réduit la durée 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 pour la détection de petits objets, ce qui en fait le choix privilégié pour les images aériennes et la surveillance.

Parmi les autres alternatives 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 chacune de ces architectures sont extrêmement simples avec l’API unifiée. Le code ci-dessous illustre l’efficacité de l’entraînement caractéristique des outils Ultralytics.

from ultralytics import YOLO

# Initialize YOLOv9 or the recommended YOLO26 model
model = YOLO("yolov9c.pt")  # Swap with "yolo26n.pt" for faster edge performance

# Train on a custom dataset with built-in data augmentation
results = model.train(data="coco8.yaml", epochs=100, imgsz=640, batch=16, device=0)

# Export the trained model to ONNX format for deployment
model.export(format="onnx")
Exigences 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 de VRAM, contrairement aux modèles basés sur des Transformer (comme RT-DETR), qui souffrent souvent d’une importante surconsommation de mémoire pendant l’entraînement.

Applications en conditions réelles et cas d'utilisation 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 le rend idéal pour l’analyse du commerce de détail, afin de compter des produits densément disposés sur des étagères, ou pour les applications agricoles où l’identification précoce des maladies des cultures sur de petites feuilles est essentielle.

Quand utiliser YOLOv7 : YOLOv7 reste un excellent candidat pour les pipelines de déploiement hérités. Si tu l’intègres à d’anciens systèmes matériels, comme certaines générations du Google Coral Edge TPU, l’architecture CNN directe de YOLOv7 peut être plus facile à compiler que les branches de gradients plus complexes des modèles récents.

Quand utiliser YOLO26 (recommandé) : Pour tout déploiement moderne — des drones autonomes à la gestion du trafic dans les villes intelligentes — YOLO26 est le choix supérieur. 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 YOLOv9 et YOLOv7 dans tous les domaines.

Commentaires