YOLOv5 vs. YOLOv9 : une comparaison technique approfondie

Le paysage de la vision par ordinateur et de la détection d'objets en temps réel a connu des avancées remarquables au cours des 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 complète entre deux modèles très influents de la famille YOLO : YOLOv5 et YOLOv9.

Que tu déploies sur des appareils de périphérie (edge) aux ressources limitées, que tu recherches une extraction de caractéristiques haute fidélité ou que tu construises des pipelines complexes de détection d'objets, il est crucial de comprendre les nuances architecturales, les mesures de performance et les différences d'écosystème de ces modèles.

Présentation des modèles

Avant de plonger dans les comparaisons architecturales, il est utile de comprendre les origines et les objectifs principaux de chaque modèle.

Ultralytics YOLOv5

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

YOLOv5 est reconnu pour sa facilité d'utilisation et ses performances stables dans divers environnements matériels. Il prend en charge non seulement la détection, mais aussi la classification d'images et la segmentation d'instances.

En savoir plus sur YOLOv5

YOLOv9

Introduit par Chien-Yao Wang et Hong-Yuan Mark Liao de l'Institute of Information Science à l'Academia Sinica, Taiwan, 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 de neurones profonds.

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

En savoir plus sur YOLOv9

Pérennise tes déploiements

Bien que YOLOv5 et YOLOv9 soient puissants, le nouveau YOLO26 représente l'équilibre ultime entre vitesse et précision. Doté d'une conception end-to-end sans NMS et d'une inférence CPU jusqu'à 43 % plus rapide, YOLO26 est fortement recommandé pour l'informatique moderne en périphérie (edge) et les déploiements en production.

Différences architecturales et techniques

Comprendre ce qui fait fonctionner ces modèles de vision en coulisses est vital pour optimiser tes stratégies de déploiement de modèles.

Extraction de caractéristiques et rétention d'informations

YOLOv5 utilise une dorsale Cross Stage Partial Network (CSPNet), qui réduit efficacement la surcharge de calcul tout en maintenant un flux de gradient précis lors de la rétropropagation. Cette conception est hautement optimisée pour les opérations GPU traditionnelles et garantit des besoins en mémoire plus faibles lors de l'entraînement par rapport aux alternatives lourdes basées sur Transformer.

YOLOv9 introduit GELAN, une architecture générique qui étend les principes de CSPNet. Couplé à PGI — une branche auxiliaire réversible — YOLOv9 garantit que les couches profondes ne perdent pas les données sémantiques nécessaires aux fonctions objectives précises. Cela permet à YOLOv9 d'atteindre une précision élevée, particulièrement sur les petits objets, bien que le branchement auxiliaire complexe puisse parfois compliquer les pipelines d'exportation vers du matériel de périphérie très contraint.

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

En matière d'efficacité d'entraînement, YOLOv5 reste incroyablement robuste. L'écosystème Ultralytics bien entretenu garantit que les modèles YOLOv5 consomment nettement moins de mémoire CUDA, permettant aux chercheurs de maximiser les tailles de lots sur les GPU grand public. Bien que YOLOv9 atteigne une excellente efficacité paramétrique (haute précision par rapport à sa taille), son processus d'entraînement peut être plus gourmand en ressources si tu n'utilises pas de frameworks optimisés. Heureusement, l'intégration de YOLOv9 dans l'API Ultralytics le rapproche de la parité avec la gestion rationalisée des ressources de YOLOv5.

Performance et métriques

Pour évaluer objectivement ces architectures, nous comparons leurs performances sur des jeux de données standards comme COCO. Tu trouveras ci-dessous une analyse détaillée des mesures telles que le mAP (Mean Average Precision), 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)
params
(M)
FLOPs
(B)
YOLOv5n64028.073.61.122.67.7
YOLOv5s64037.4120.71.929.124.0
YOLOv5m64045,4233.94.0325.164.2
YOLOv5l64049.0408.46.6153.2135.0
YOLOv5x64050.7763.211.8997.2246.4
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

Comme le montre le tableau, YOLOv9 atteint une précision brute plus élevée à des niveaux équivalents, reflétant son architecture plus récente. Cependant, YOLOv5n maintient une latence TensorRT incroyablement basse de 1,12 ms, soulignant sa force durable pour les applications d' informatique en périphérie à haute vitesse et localisées.

Méthodologies d'entraînement et facilité d'utilisation

Le véritable avantage de tirer parti de la vision par ordinateur aujourd'hui réside dans l'accessibilité de la chaîne d'outils.

L'avantage Ultralytics

Bien que les dépôts de recherche originaux pour des modèles comme YOLOv9 soient fondamentaux, ils sont souvent accompagnés de matrices de dépendances complexes et de scripts génériques. L' API Python Ultralytics résume complètement cette complexité. Avec l'écosystème Ultralytics, tu peux entraîner, évaluer et exporter YOLOv5 et YOLOv9 avec une syntaxe identique et unifiée.

from ultralytics import YOLO

# Load a pre-trained YOLOv5 model for fast deployment
model_v5 = YOLO("yolov5s.pt")

# Or leverage a YOLOv9 model for high-fidelity accuracy
model_v9 = YOLO("yolov9c.pt")

# Train seamlessly on custom data with automatic MLflow logging
results = model_v9.train(data="coco8.yaml", epochs=50, imgsz=640)

# Export the trained model to ONNX
model_v9.export(format="onnx")

Cette approche à API unique offre une polyvalence immense, prenant 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, des intégrations robustes avec des outils comme Comet ML et Weights & Biases sont intégrées directement dans la boucle d'entraînement.

Cas d'utilisation idéaux et applications réelles

Le choix entre ces architectures dépend largement des contraintes de ton matériel et de la précision requise par ton domaine d'application.

Quand choisir YOLOv5

YOLOv5 est un vétéran aguerri qui excelle dans les déploiements privilégiant la stabilité, une faible empreinte mémoire et une compatibilité d'exportation extrême.

  • Déploiements mobiles : Exporter YOLOv5 vers TFLite ou CoreML pour une inférence sur l'appareil sur des smartphones plus anciens est incroyablement simple.
  • Matériel de périphérie existant : Pour 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 constantes pour des applications telles que la gestion intelligente du stationnement.
  • Prototypage rapide : La vaste disponibilité de tutoriels communautaires, de poids pré-entraînés personnalisés et la compatibilité massive avec les jeux de données en font le moyen le plus rapide de valider une preuve de concept.

Quand choisir YOLOv9

YOLOv9 est idéal pour les scénarios où la capture de détails complexes et la minimisation des faux négatifs sont absolument critiques, même si cela nécessite un peu plus de ressources de calcul.

  • Aerial and Satellite Imagery: The PGI framework is highly adept at maintaining the fidelity of small objects, making YOLOv9 excellent for drone-based agricultural monitoring.
  • Diagnostic par imagerie médicale : Lors de la détection d'anomalies ou de lésions mineures dans des scanners haute résolution, le flux de gradient précis de GELAN offre un avantage nécessaire en termes de rappel.
  • Analyse de détail haut de gamme : Le suivi de produits qui se chevauchent sur des étagères denses bénéficie grandement des capacités supérieures de rétention des caractéristiques de YOLOv9.

Élargis tes horizons

Bien que comparer YOLOv5 et YOLOv9 offre une vision claire de la manière dont les architectures ont évolué de 2020 à 2024, le domaine de l'IA progresse plus vite que jamais. Pour les développeurs cherchant la frontière absolue de la performance, l'exploration des derniers modèles YOLO26 est fortement encouragée. En remplaçant le Non-Maximum Suppression traditionnel par une conception native sans NMS end-to-end et en utilisant l'optimiseur avancé MuSGD, YOLO26 comble le fossé entre la précision de niveau recherche et la vitesse de production. Avec la suppression du DFL (Distribution Focal Loss supprimé pour une exportation simplifiée et une meilleure compatibilité avec les appareils de périphérie/faible consommation), YOLO26 atteint une inférence CPU jusqu'à 43 % plus rapide, ce qui le rend idéal pour l'informatique en périphérie. De plus, ProgLoss + STAL fournit des fonctions de perte améliorées avec des améliorations notables dans la reconnaissance des petits objets, critiques pour l'IoT, la robotique et l'imagerie aérienne.

Tu pourrais aussi être intéressé par la comparaison de ces architectures avec d'autres modèles de pointe comme RT-DETR ou le très performant YOLO11. L'utilisation du framework unifié Ultralytics garantit que, quel que soit le modèle que tu choisis, ton pipeline de développement reste propre, efficace et prêt à monter en échelle.

Commentaires