Ultralytics YOLO27 :
Get Started

YOLOv7 vs YOLOv9#

La détection d’objets en temps réel a rapidement évolué, chaque nouvelle version repoussant les limites du possible sur les appareils périphériques comme sur les serveurs cloud. Lorsqu’ils évaluent des architectures pour des projets de vision par ordinateur, les développeurs comparent fréquemment les benchmarks établis aux innovations récentes. Ce guide complet compare deux étapes majeures de la famille YOLO : YOLOv7 et YOLOv9.

Nous analyserons leurs avancées architecturales, leurs mesures de performance et leurs scénarios de déploiement idéaux pour t’aider à choisir le bon modèle pour ton application. Nous verrons aussi comment l’Ultralytics Platform et l’API Python facilitent l’entraînement, la validation et le déploiement des modèles pris en charge, comme YOLOv9.

Lignée des modèles et spécifications techniques#

Comprendre les origines et les philosophies de conception de ces modèles permet de mieux situer leurs capacités. Les deux modèles partagent une même lignée de recherche, mais ciblent des goulots d’étranglement architecturaux différents.

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

Publié à la mi-2022, YOLOv7 s’est imposé comme une architecture hautement fiable et fortement optimisée. Il a introduit la reparamétrisation structurelle et une approche de « sac de bonus entraînable » afin de maintenir une vitesse d’inférence élevée sans compromettre la précision moyenne (mAP).

Innovations architecturales : YOLOv7 intègre le réseau étendu d’agrégation efficace des couches (E-ELAN), qui permet au modèle d’apprendre des caractéristiques plus variées en augmentant, mélangeant et fusionnant la cardinalité. Cette conception assure une excellente utilisation du GPU et une faible latence d’inférence. Cependant, par rapport aux versions modernes, elle peut nécessiter beaucoup de mémoire pendant les entraînements complexes.

En savoir plus sur YOLOv7

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

Présenté au début de 2024 par la même équipe de recherche, YOLOv9 s’attaque au « goulot d’étranglement de l’information » inhérent aux réseaux neuronaux profonds. Lorsque les données traversent des couches profondes, des détails essentiels sont souvent perdus. YOLOv9 atténue ce problème grâce à des conceptions de couches fondamentalement nouvelles.

Innovations architecturales : YOLOv9 introduit l’information de gradient programmable (PGI) et le réseau généralisé d’agrégation efficace des couches (GELAN). PGI garantit la préservation des gradients fiables et leur rétropropagation pour mettre à jour les poids avec précision. GELAN maximise l’efficacité des paramètres, permettant à YOLOv9 d’atteindre une grande précision avec nettement moins de FLOPs que ses prédécesseurs.

En savoir plus sur YOLOv9

Analyse des performances#

Lorsqu’ils choisissent entre différentes architectures, les ingénieurs en IA doivent trouver un équilibre entre la précision, la vitesse d’inférence et le coût de calcul. Le tableau ci-dessous met en évidence les différences de performance entre ces modèles sur le 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)
YOLOv7l64051.4-6.8436.9104.7
YOLOv7x64053.1-11.5771.3189.9
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

Points essentiels à retenir#

  • Efficacité des paramètres : YOLOv9m égale la précision de YOLOv7l (51,4 % de mAP) tout en utilisant environ 45 % de paramètres en moins (20,1 M contre 36,9 M). Cette réduction considérable facilite beaucoup le déploiement de YOLOv9m sur des appareils d’IA en périphérie aux ressources mémoire limitées.
  • Microdéploiements : l’introduction de la variante YOLOv9t (tiny) offre une vitesse remarquable (2,3 ms sur T4 TensorRT) dans les environnements où les contraintes de temps réel sont impératives.
  • Précision maximale : pour les applications où la précision est primordiale, YOLOv9e porte la précision de détection à 55,6 % de mAP, surpassant nettement YOLOv7x.
Pérenniser tes projets de vision par ordinateur

YOLOv7 et YOLOv9 sont puissants, mais le tout nouveau YOLO26 représente une avancée décisive. YOLO26 introduit une architecture native de bout en bout sans NMS (facultative via nms=False), qui évite les traitements complexes après l’inférence et offre une inférence CPU jusqu’à 43 % plus rapide. Grâce au nouvel optimiseur MuSGD et aux fonctions de perte ProgLoss + STAL améliorées, YOLO26 offre une stabilité d’entraînement et une précision de détection des petits objets inégalées.

L’avantage Ultralytics#

Choisir une architecture de modèle n’est que la première étape. L’écosystème logiciel qui l’entoure détermine la rapidité avec laquelle tu peux passer du prototype à la production. L’intégration de modèles pris en charge, comme YOLOv9, via l’API Python d’Ultralytics offre des avantages considérables aux développeurs et aux chercheurs.

Facilité d’utilisation et efficacité de l’entraînement#

Auparavant, l’entraînement de YOLOv7 nécessitait une préparation complexe des données et des scripts fortement personnalisés. Le framework Ultralytics masque ces complexités du deep learning. Les développeurs peuvent facilement passer d’une architecture à l’autre, expérimenter le réglage des hyperparamètres et utiliser des pipelines intelligents d’augmentation des données avec un minimum de code.

De plus, Ultralytics optimise l’utilisation de la mémoire pendant l’entraînement et l’inférence. Contrairement aux lourds modèles Transformer (comme RT-DETR), les architectures Ultralytics YOLO s’entraînent beaucoup plus vite et nécessitent bien moins de mémoire CUDA, ce qui les rend idéales pour les GPU grand public.

Exemple de code : entraînement simplifié#

L’entraînement de modèles de pointe se fait en toute simplicité dans l’écosystème Ultralytics. Voici un exemple entièrement exécutable qui montre comment entraîner et valider un modèle YOLOv9 :

from ultralytics import YOLO

# Initialiser le modèle (tu peux remplacer 'yolov9c.pt' par 'yolo26n.pt')
model = YOLO("yolov9c.pt")

# Entraîner le modèle sur le jeu de données d’exemple COCO8
train_results = model.train(
    data="coco8.yaml",
    epochs=50,
    imgsz=640,
    device="0",  # Utiliser le GPU 0 s’il est disponible
    batch=16,  # Taille de lot optimisée pour économiser la mémoire
)

# Valider les performances du modèle sur l’ensemble de validation
metrics = model.val()

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

Une polyvalence inégalée pour toutes les tâches#

Un écosystème bien entretenu donne accès à une grande diversité de tâches de vision par ordinateur. YOLOv7 a principalement été conçu pour la détection d’objets (avec, par la suite, des forks expérimentaux pour d’autres tâches), tandis que les modèles Ultralytics modernes sont polyvalents par conception. Dès l’installation, tu peux effectuer sans difficulté de la segmentation d’instances, de l’estimation de pose, de la classification d’images et de la détection de boîtes englobantes orientées (OBB).

Cas d’utilisation et applications idéaux#

Le choix entre YOLOv7 et YOLOv9 dépend souvent des contraintes propres à ton secteur et du matériel disponible.

Quand utiliser YOLOv7#

  • Déploiements en périphérie sur des systèmes anciens : pour les environnements matériels déjà largement réglés et optimisés pour l’architecture E-ELAN de YOLOv7, ce modèle reste un choix robuste pour l’IoT industriel.
  • Surveillance du trafic : la fréquence d’images élevée et la stabilité éprouvée de YOLOv7 en font un excellent choix pour les infrastructures des villes intelligentes et la gestion du trafic en temps réel.
  • Intégration robotique : la navigation dans des environnements dynamiques exige un traitement à faible latence, un scénario dans lequel les variantes de YOLOv7 ont été largement testées.

Quand utiliser YOLOv9#

  • Imagerie médicale : l’architecture PGI de YOLOv9 préserve exceptionnellement bien les détails fins dans les couches profondes, ce qui est essentiel pour les tâches complexes d’analyse d’images médicales, comme la détection de tumeurs.
  • Analyse du commerce de détail à forte densité : pour suivre et compter les articles regroupés sur les rayons, l’intégration des caractéristiques de YOLOv9 offre une précision supérieure et réduit les faux négatifs.
  • Images aériennes et prises par drone : l’efficacité de YOLOv9m en nombre de paramètres permet le traitement d’images haute résolution sur des drones, contribuant à la conservation de la faune et à la surveillance agricole sans épuiser la batterie.

Conclusion#

YOLOv7 et YOLOv9 ont tous deux marqué l’histoire de la vision par ordinateur. YOLOv7 a introduit des optimisations essentielles au traitement en temps réel, tandis que YOLOv9 a résolu des goulots d’étranglement structurels du deep learning afin de maximiser l’efficacité des paramètres.

Cependant, pour les développeurs qui démarrent de nouveaux projets aujourd’hui, l’écosystème Ultralytics — et notamment les modèles de nouvelle génération comme YOLO11 et YOLO26 — offre le meilleur compromis entre vitesse, précision et expérience de développement. Grâce à des innovations comme l’optimiseur MuSGD et à la suppression de Distribution Focal Loss (DFL) pour une meilleure compatibilité matérielle, Ultralytics continue de proposer les outils les plus accessibles et les plus puissants aux professionnels de l’IA visuelle.

Commentaires