Ultralytics YOLO27 :
Get Started

YOLOv5 vs YOLOv9#

Le domaine de la vision par ordinateur et de la détection d'objets en temps réel a connu des avancées remarquables ces dernières années. Choisir entre des modèles éprouvés et des architectures de recherche plus récentes est un défi courant pour les ingénieurs en apprentissage automatique. Ce guide propose une comparaison technique approfondie de deux modèles très influents de la famille YOLO : YOLOv5 et YOLOv9.

Que tu déploies des modèles sur des appareils en périphérie soumis à des contraintes, étudies l'extraction de caractéristiques haute fidélité ou construises des pipelines complexes de détection d'objets, il est essentiel de comprendre les nuances architecturales, les indicateurs de performance et les différences entre les écosystèmes de ces modèles.

Présentation des modèles#

Avant d'examiner les comparaisons architecturales, il est utile de connaître les origines et les principaux objectifs de chaque modèle.

Ultralytics YOLOv5#

Développé par Glenn Jocher et publié par Ultralytics le 26 juin 2020, YOLOv5 a marqué un tournant dans la façon dont les développeurs interagissent avec les modèles de vision. En adoptant pleinement le framework PyTorch, YOLOv5 a remplacé les étapes complexes de compilation des anciens modèles basés sur Darknet par une expérience intuitive privilégiant Python.

YOLOv5 est réputé pour sa facilité d'utilisation et ses performances stables sur des environnements matériels variés. Il prend en charge non seulement la détection, mais aussi la classification d'images et la segmentation d'instances.

YOLOv9#

Présenté par Chien-Yao Wang et Hong-Yuan Mark Liao de l'Institute of Information Science de l'Academia Sinica, à Taïwan, YOLOv9 se concentre fortement sur la théorie architecturale pour atténuer les problèmes de goulot d'étranglement de l'information dans les réseaux neuronaux profonds.

  • Auteurs : Chien-Yao Wang et Hong-Yuan Mark Liao
  • Organisation : Institute of Information Science, Academia Sinica, Taïwan
  • Date : 2024-02-21
  • Arxiv : 2402.13616
  • GitHub : Dépôt YOLOv9
  • Documentation : Documentation YOLOv9

YOLOv9 repose principalement sur deux innovations théoriques : Programmable Gradient Information (PGI) et Generalized Efficient Layer Aggregation Network (GELAN). Ces concepts aident le modèle à conserver les caractéristiques spatiales essentielles à travers les couches profondes du réseau.

En savoir plus sur YOLOv9

Des déploiements pérennes

YOLOv5 et YOLOv9 sont des modèles puissants, mais le nouveau YOLO26 offre un équilibre optimal entre rapidité et précision. Grâce à l'inférence de bout en bout facultative sans NMS et à une inférence sur CPU jusqu'à 43 % plus rapide, YOLO26 est vivement recommandé pour l'informatique en périphérie moderne et les déploiements en production.

Différences architecturales et techniques#

Comprendre le fonctionnement interne de ces modèles de vision est essentiel pour optimiser les stratégies de déploiement de modèles.

Extraction et conservation des caractéristiques#

YOLOv5 utilise un backbone Cross Stage Partial Network (CSPNet), qui réduit efficacement la charge de calcul tout en maintenant un flux de gradients précis pendant la rétropropagation. Cette conception est fortement optimisée pour les opérations GPU traditionnelles et nécessite moins de mémoire pendant l'entraînement que les modèles alternatifs basés sur des Transformers, plus lourds.

YOLOv9 introduit GELAN, une architecture générique qui étend les principes de CSPNet. Associé à PGI, une branche auxiliaire réversible, GELAN garantit que les couches profondes ne perdent pas les données sémantiques nécessaires à des fonctions objectif précises. YOLOv9 peut ainsi atteindre une grande précision, en particulier sur les petits objets, même si ses branches auxiliaires complexes peuvent parfois compliquer les pipelines d'exportation vers du matériel en périphérie soumis à de fortes contraintes.

Besoins en mémoire et efficacité de l’entraînement#

En matière d'efficacité de l'entraînement, YOLOv5 reste extrêmement robuste. L'écosystème Ultralytics, bien entretenu, permet aux modèles YOLOv5 de consommer beaucoup moins de mémoire CUDA, ce qui aide les chercheurs à maximiser la taille des lots sur des GPU grand public. YOLOv9 offre une excellente efficacité en nombre de paramètres (précision élevée au regard de sa taille), mais son entraînement peut mobiliser davantage de ressources si des frameworks optimisés ne sont pas utilisés. Heureusement, l'intégration de YOLOv9 à l'API Ultralytics rapproche sa gestion des ressources de celle, simplifiée, de YOLOv5.

Performances et métriques#

Pour évaluer objectivement ces architectures, nous comparons leurs performances sur des jeux de données standard comme COCO. Voici une analyse détaillée d'indicateurs tels que mAP (précision moyenne), la vitesse d'inférence et le nombre de paramètres.

Modèletaille
(pixels)
mAPval
50-95
Vitesse
CPU ONNX
(ms)
Vitesse
T4 TensorRT10
(ms)
paramètres
(M)
FLOPs
(B)
YOLOv5n64028.0-1.121.94.5
YOLOv5s64037.4-1.927.216.5
YOLOv5m64045.4-4.0321.249.0
YOLOv5l64049.0-6.6146.5109.1
YOLOv5x64050.7-11.8986.7205.7
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

Comme le montre le tableau, YOLOv9 atteint une précision brute supérieure dans les catégories de taille équivalentes, grâce à son architecture plus récente. Cependant, YOLOv5n conserve une latence TensorRT extrêmement faible de 1,12 ms, ce qui témoigne de sa force durable pour les applications d'informatique en périphérie à haute vitesse et locales.

Méthodes d'entraînement et facilité d'utilisation#

Aujourd'hui, le véritable avantage de la vision par ordinateur réside dans l'accessibilité de la chaîne d'outils.

L’avantage Ultralytics#

Les dépôts de recherche originaux consacrés à des modèles comme YOLOv9 sont fondamentaux, mais s'accompagnent souvent de matrices de dépendances complexes et de scripts passe-partout. L'API Python Ultralytics fait complètement abstraction de cette complexité. Grâce à l'écosystème Ultralytics, tu peux entraîner, évaluer et exporter YOLOv5 et YOLOv9 avec une syntaxe unifiée identique.

from ultralytics import YOLO

# Charger un modèle YOLOv5 préentraîné pour un déploiement rapide
model_v5 = YOLO("yolov5su.pt")  # YOLOv5u : poids YOLOv5 sans ancres pour le package ultralytics

# Ou utiliser un modèle YOLOv9 pour une précision haute fidélité
model_v9 = YOLO("yolov9c.pt")

# Entraîner facilement le modèle sur des données personnalisées
results = model_v9.train(data="coco8.yaml", epochs=50, imgsz=640)

# Exporter le modèle entraîné vers ONNX
model_v9.export(format="onnx")

Cette approche à API unique offre une grande polyvalence et prend en charge non seulement la détection, mais aussi l'estimation de pose et les boîtes englobantes orientées (OBB), selon le modèle choisi. De plus, de solides intégrations avec des outils comme Comet ML et Weights & Biases sont intégrées directement à la boucle d'entraînement.

Cas d’utilisation idéaux et applications concrètes#

Le choix entre ces architectures dépend principalement des contraintes de ton matériel et du niveau de précision requis par ton domaine d'application.

Quand choisir YOLOv5#

YOLOv5 est un modèle éprouvé qui excelle dans les déploiements privilégiant la stabilité, une faible empreinte mémoire et une compatibilité étendue avec les formats d'exportation.

  • Déploiements mobiles : L'exportation de YOLOv5 vers LiteRT ou CoreML pour l'inférence sur l'appareil sur d'anciens smartphones se fait très facilement.
  • Matériel ancien en périphérie : Sur des appareils comme le Raspberry Pi ou les premières générations de NVIDIA Jetson Nano, les convolutions simples de YOLOv5 garantissent des fréquences d'images stables pour des applications telles que la gestion intelligente du stationnement.
  • Prototypage rapide : La grande disponibilité de tutoriels communautaires, de poids préentraînés personnalisés et la compatibilité avec de nombreux jeux de données en font le moyen le plus rapide de valider une preuve de concept.

Quand choisir YOLOv9#

YOLOv9 est idéal lorsque la capture de détails complexes et la réduction des faux négatifs sont absolument essentielles, même si cela nécessite un peu plus de puissance de calcul.

  • Imagerie aérienne et satellitaire : Le framework PGI préserve très efficacement la fidélité des petits objets, ce qui fait de YOLOv9 un excellent choix pour la surveillance agricole par drone.
  • Diagnostic par imagerie médicale : Pour détecter de minuscules anomalies ou lésions dans des examens haute résolution, le flux de gradients précis de GELAN améliore le rappel.
  • Analyse du commerce de détail haut de gamme : Le suivi de produits qui se chevauchent sur des rayonnages denses bénéficie grandement des capacités supérieures de YOLOv9 à conserver les caractéristiques.

Élargir ses horizons#

Comparer YOLOv5 et YOLOv9 permet de comprendre clairement l'évolution des architectures de 2020 à 2024, mais le domaine de l'IA évolue plus rapidement que jamais. Les développeurs qui recherchent les performances les plus avancées sont vivement encouragés à découvrir les derniers modèles YOLO26. En proposant une conception native de bout en bout sans NMS (nms=False) comme alternative à la suppression non maximale traditionnelle et en utilisant l'optimiseur MuSGD avancé, YOLO26 réduit l'écart entre la précision de la recherche et la vitesse de la production. Grâce à la suppression de DFL (Distribution Focal Loss retirée pour simplifier l'exportation et améliorer la compatibilité avec les appareils en périphérie et à faible consommation), YOLO26 accélère l'inférence sur CPU jusqu'à 43 %, ce qui en fait un modèle idéal pour l'informatique en périphérie. De plus, ProgLoss + STAL fournit des fonctions de perte améliorées qui renforcent notamment la reconnaissance des petits objets, un aspect essentiel pour l'IoT, la robotique et l'imagerie aérienne.

Tu pourrais également vouloir comparer ces architectures à d'autres modèles de pointe comme RT-DETR ou le très performant YOLO11. Le framework unifié Ultralytics garantit que, quel que soit le modèle choisi, ton pipeline de développement reste clair, efficace et prêt à monter en charge.

Commentaires