Passer au contenu

YOLOv8 YOLOv9: comparaison technique complète des détecteurs d'objets en temps réel

L'évolution de la détection d'objets en temps réel s'est caractérisée par une recherche constante d'une meilleure précision, d'une latence réduite et d'une utilisation améliorée du matériel. Deux étapes importantes ont marqué cette évolution Ultralytics YOLOv8 et YOLOv9. Si ces deux modèles représentent des capacités de pointe en matière de vision par ordinateur, ils répondent à des besoins de déploiement, des philosophies architecturales et des écosystèmes de développeurs différents.

Ce guide complet présente les différences techniques, les innovations architecturales et les considérations pratiques liées au déploiement afin de vous aider à choisir le modèle adapté à votre prochain projet d'intelligence artificielle.

Lignée des modèles et philosophies fondamentales

Avant de se plonger dans les mesures, il est essentiel de comprendre les origines et les principaux objectifs de conception de chaque modèle.

Ultralytics YOLOv8: la norme polyvalente pour les écosystèmes

Publié par l'équipe d' Ultralytics, YOLOv8 conçu non seulement comme un détecteur d'objets autonome, mais aussi comme un cadre unifié et multitâche. Il privilégie une expérience de développement fluide, de faibles exigences en matière de mémoire et une large compatibilité matérielle.

En savoir plus sur YOLOv8

YOLOv9 : Informations de gradient programmables

Développé indépendamment par des chercheurs de l'Academia Sinica, YOLOv9 principalement sur la théorie architecturale, en abordant spécifiquement le phénomène de goulot d'étranglement de l'information dans les réseaux neuronaux profonds.

  • Auteurs : Chien-Yao Wang et Hong-Yuan Mark Liao
  • Organisation : Institut des sciences de l'information, Academia Sinica, Taïwan
  • Date : 2024-02-21
  • Arxiv :2402.13616
  • GitHub :WongKinYiu/yolov9

En savoir plus sur YOLOv9

Déploiement en entreprise

Si vous prévoyez un déploiement commercial à grande échelle, pensez à explorer la Ultralytics pour bénéficier d'une formation simplifiée sur le cloud, d'une gestion des ensembles de données et de points de terminaison API en un clic.

Plongée architecturale en profondeur

Les choix architecturaux en matière d'apprentissage profond déterminent l'efficacité avec laquelle un modèle apprend et la vitesse à laquelle il fonctionne sur du matériel cible tel qu'un NVIDIA ou un Intel CPU.

YOLOv8 : C2f et têtes découplées

YOLOv8 le module C2f (Cross-Stage Partial bottleneck with two convolutions), qui a remplacé l'ancien module C3. Ce changement améliore le flux de gradient et permet au réseau d'apprendre des représentations de caractéristiques plus riches sans solliciter excessivement GPU .

De plus, YOLOv8 une conception sans ancrage avec une tête découplée. En traitant l'objectivité, la classification et la régression par des voies distinctes, le modèle converge plus rapidement pendant l'entraînement et s'adapte mieux à divers ensembles de données personnalisés.

YOLOv9 : PGI et GELAN

YOLOv9 les informations de gradient programmables (PGI) et le réseau d'agrégation de couches généralisé et efficace (GELAN). Les PGI garantissent que les données cruciales ne sont pas perdues lorsqu'elles transitent par les couches du réseau, fournissant ainsi des gradients fiables pour les mises à jour des poids. Le GELAN optimise l'efficacité des paramètres, permettant au modèle d'atteindre une grande précision tout en essayant de maintenir les FLOP à un niveau gérable.

Bien que mathématiquement impressionnant, le recours YOLOv9 à des branches réversibles auxiliaires spécifiques pendant l'entraînement peut rendre le code d'entraînement plus complexe à personnaliser par rapport aux pipelines standard.

Métriques de performance et benchmarks

Le tableau ci-dessous présente une comparaison directe des modèles de différentes tailles. Les performances sont mesurées à partir de COCO MS COCO , une référence standard pour la détection d'objets.

ModèleTaille
(pixels)
mAPval
50-95
Vitesse
CPU ONNX
(ms)
Vitesse
T4 TensorRT10
(ms)
paramètres
(M)
FLOPs
(B)
YOLOv8n64037.380.41.473.28.7
YOLOv8s64044.9128.42.6611.228.6
YOLOv8m64050.2234.75.8625.978.9
YOLOv8l64052.9375.29.0643.7165.2
YOLOv8x64053.9479.114.3768.2257.8
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

Remarque : les meilleures valeurs de chaque colonne sont mises en évidence en gras.

Analyse des compromis

YOLOv9 une précision maximale (mAP) légèrement supérieure, en particulier grâce à sa plus grande taille. e variante. Cependant, cela a un coût. Ultralytics YOLOv8 un avantage significatif en termes de vitesse d'inference, en particulier lorsqu'il est compilé dans des formats tels que TensorRT ou ONNXPour les applications nécessitant un nombre élevé d'images par seconde (FPS) sur du matériel périphérique limité (comme un Raspberry Pi ou les puces mobiles plus anciennes), YOLOv8 n et s Les variantes offrent un équilibre de performances beaucoup plus pratique.

Efficacité de la formation et intégration dans l'écosystème

Le choix d'un modèle ne se limite pas à l'examen des tableaux de précision ; l'expérience du développeur est primordiale.

Ultralytics : facilité d'utilisation

La formation YOLOv9 nécessite YOLOv9 le clonage de dépôts GitHub complexes, la gestion minutieuse PyTorch et la configuration manuelle des poids de perte auxiliaires.

En revanche, Ultralytics YOLOv8 sur une Python remarquablement simplifiée. Conçue pour être facile à utiliser, elle gère l'augmentation des données, la journalisation (vers des outils tels que Weights & Biases et Comet ) et la distribution matérielle de manière native.

from ultralytics import YOLO

# Load a pre-trained YOLOv8 small model
model = YOLO("yolov8s.pt")

# Train the model efficiently on custom data
results = model.train(data="custom_dataset.yaml", epochs=100, imgsz=640)

# Export for edge deployment
model.export(format="engine", half=True)  # TensorRT export

Cette API unique réduit considérablement le temps nécessaire entre le prototype et la production. De plus, YOLOv8 nécessite YOLOv8 moins CUDA pendant l'entraînement, ce qui permet aux développeurs d'utiliser des lots plus importants sur du matériel grand public.

Polyvalence des tâches

Si YOLOv9 un excellent détecteur de cadres de sélection, l'IA visuelle dans le monde réel exige souvent davantage. YOLOv8 un outil polyvalent et puissant qui prend en charge nativement la segmentation d'instances, l'estimation de pose, la classification d'images et les cadres de sélection orientés (OBB). L'utilisation d'un framework unique pour plusieurs tâches réduit considérablement la lourdeur des logiciels et les frais de maintenance.

Regarder vers l'avenir

Si vous démarrez un nouveau projet, vous pouvez également évaluer Ultralytics YOLO11 ou le très innovant YOLO26, qui intègrent nativement des conceptions de bout en bout NMS.

Cas d'utilisation concrets

Comment ces modèles se comportent-ils en production ?

Drones autonomes et robotique

Pour la robotique nécessitant une évitement rapide des obstacles, YOLOv8 est le choix privilégié. La latence ultra-faible de YOLOv8n garantit que les systèmes autonomes réagissent à leur environnement en temps réel, évitant ainsi les collisions. Les capacités d'exportation natives vers OpenVINO et CoreML considérablement le déploiement sur les puces à faible consommation d'énergie généralement utilisées dans les drones commerciaux.

Détection haute résolution des défauts

Dans les environnements de fabrication spécialisés où la détection d'anomalies microscopiques est essentielle et où le traitement hors ligne est acceptable, YOLOv9 peut être très efficace. L'architecture PGI aide le réseau à conserver les détails visuels fins nécessaires pour identifier les fissures capillaires ou les erreurs de soudure des circuits imprimés.

Analyse intelligente du commerce de détail et de la sécurité

Pour suivre les clients dans les rayons des magasins ou gérer les systèmes de caisse automatisés, YOLOv8 offre le meilleur équilibre. Sa capacité à exécuter simultanément la détection et le suivi multi-objets à l'aide d'algorithmes standard tels que BoT-SORT en fait une solution robuste pour les déploiements multi-caméras dans le commerce de détail.

Cas d'utilisation et recommandations

Le choix entre YOLOv8 YOLOv9 des exigences spécifiques de votre projet, des contraintes de déploiement et de vos préférences en matière d'écosystème.

Quand choisir YOLOv8

YOLOv8 un choix judicieux pour :

  • Déploiement polyvalent et multitâche : projets nécessitant un modèle éprouvé pour la détection, la segmentation, la classification et l'estimation de la pose au sein de Ultralytics .
  • Systèmes de production établis : environnements de production existants déjà basés sur YOLOv8 avec des pipelines de déploiement stables et éprouvés.
  • Large soutien de la communauté et de l'écosystème : applications bénéficiant des nombreux tutoriels, des intégrations tierces et des ressources communautaires actives YOLOv8.

Quand choisir YOLOv9

YOLOv9 recommandé pour :

  • Recherche sur les goulots d'étranglement de l'information : projets universitaires étudiant les architectures PGI (Programmable Gradient Information) et GELAN (Generalized Efficient Layer Aggregation Network).
  • Études sur l'optimisation du flux de gradient : recherches axées sur la compréhension et l'atténuation de la perte d'informations dans les couches profondes du réseau pendant l'entraînement.
  • Benchmarking de détection haute précision : scénarios dans lesquels les performances élevées YOLOv9 COCO sont nécessaires comme point de référence pour les comparaisons architecturales.

Quand choisir Ultralytics YOLO26)

Pour la plupart des nouveaux projets, Ultralytics offre la meilleure combinaison entre performances et expérience développeur :

  • DéploiementNMS suppressionNMS maximale (NMS: applications nécessitant une inférence cohérente et à faible latence sans la complexité du post-traitement par suppression non maximale.
  • EnvironnementsCPU: appareils sans GPU dédiée, où CPU jusqu'à 43 % plus rapide de YOLO26 offre un avantage décisif.
  • Détection de petits objets : scénarios complexes tels que l'imagerie aérienne par drone ou l'analyse par capteurs IoT, où ProgLoss et STAL améliorent considérablement la précision sur les objets minuscules.

La prochaine évolution : YOLO26

Si YOLOv8 YOLOv9 puissants, le paysage de l'IA évolue rapidement. Pour les équipes qui exigent les meilleures performances absolues, le tout nouveau YOLO26 s'appuie sur les succès des générations précédentes.

YOLO26 introduit une conception de bout en bout NMS, qui élimine complètement les goulots d'étranglement complexes liés au post-traitement, simplifiant ainsi le déploiement et rendant la latence plus prévisible. Grâce au nouvel optimiseur MuSGD et aux fonctions de perte ProgLoss + STAL améliorées, ainsi qu'à la suppression de la perte DFL (Distribution Focal Loss supprimée pour simplifier l'exportation et améliorer la compatibilité avec les appareils périphériques/à faible consommation d'énergie), il atteint CPU jusqu'à 43 % plus rapide tout en améliorant la reconnaissance des petits objets. Pour les développeurs qui repoussent les limites de l'informatique périphérique, il est fortement recommandé d'évaluer YOLO26.

En résumé, si YOLOv9 une recherche architecturale fascinante et une excellente précision maximale, Ultralytics YOLOv8 reste le choix le plus pratique, le mieux pris en charge et le plus polyvalent pour la grande majorité des ingénieurs en vision par ordinateur qui souhaitent commercialiser rapidement des logiciels fiables.


Commentaires