Passer au contenu

YOLOv8 vs. YOLOX : Un examen technique approfondi

Choisir le bon modèle de détection d'objets est une décision cruciale qui équilibre la précision, la vitesse et la complexité du déploiement. Cette page fournit une comparaison technique complète entre deux modèles puissants de la famille YOLO : Ultralytics YOLOv8 et YOLOX. Bien que les deux soient sans ancres et conçus pour des performances élevées, ils diffèrent considérablement en termes d'architecture, de polyvalence et de support de l'écosystème. Nous allons approfondir ces différences pour vous aider à sélectionner le meilleur modèle pour votre projet de vision par ordinateur.

Ultralytics YOLOv8 : polyvalence et performances

Ultralytics YOLOv8 est un modèle de pointe d'Ultralytics qui s'appuie sur les succès des versions précédentes de YOLO. Il introduit un nouveau réseau dorsal, une nouvelle tête de détection sans ancrage et une nouvelle fonction de perte, établissant de nouvelles références en matière de vitesse et de précision. Un différenciateur clé pour YOLOv8 est sa conception en tant que cadre complet, et pas seulement un détecteur d'objets.

Architecture et principales fonctionnalités

L'architecture de YOLOv8 est hautement raffinée, avec un module C2f (Cross Stage Partial BottleNeck avec 2 convolutions) qui remplace le module C3 de YOLOv5. Ce changement offre un flux de gradient plus riche et améliore les performances. Étant sans ancrage, il prédit directement le centre d'un objet, ce qui réduit le nombre de prédictions de boîtes et accélère la suppression non maximale (NMS).

Points forts

  • Équilibre supérieur des performances : Les modèles YOLOv8 démontrent un compromis exceptionnel entre la précision (mAP) et la vitesse d’inférence, surpassant de nombreux autres détecteurs en temps réel, y compris YOLOX, à différentes échelles (voir le tableau ci-dessous).
  • Polyvalence des tâches : Contrairement aux modèles axés uniquement sur la détection, YOLOv8 est un concentré de multitâches. Il prend en charge la détection d’objets, la segmentation d’instance, la classification d’images, l’estimation de pose et le suivi d’objets dans un framework unique et unifié. Cette polyvalence en fait un choix idéal pour les projets complexes.
  • Facilité d'utilisation : Ultralytics offre une expérience utilisateur simplifiée avec une API Python simple et de puissantes commandes CLI. La documentation complète et les nombreux tutoriels permettent aux débutants comme aux experts d'entraîner, de valider et de déployer des modèles en toute simplicité.
  • Écosystème bien maintenu : YOLOv8 bénéficie du développement actif et du support de l'équipe Ultralytics et d'une large communauté open source. Il s'intègre de manière transparente avec des outils tels que Ultralytics HUB pour le MLOps, et des plateformes de suivi d'expériences telles que Weights & Biases.
  • Efficacité de l'entraînement et de la mémoire : Le modèle est conçu pour un entraînement efficace, avec des poids pré-entraînés facilement disponibles sur des ensembles de données comme COCO. Il nécessite généralement moins de mémoire CUDA pendant l'entraînement et l'inférence par rapport aux architectures plus complexes.

Faiblesses

  • Comme pour tout modèle haute performance, les variantes YOLOv8 les plus grandes (L/X) nécessitent des ressources de calcul importantes pour l'entraînement et l'inférence en temps réel sur des entrées haute résolution.

Cas d'utilisation idéaux

La polyvalence et la facilité d'utilisation de YOLOv8 le rendent idéal pour les applications nécessitant un équilibre entre une haute précision et des performances en temps réel :

En savoir plus sur YOLOv8

YOLOX : Hautes performances et simplicité

YOLOX est un autre modèle YOLO sans ancrage qui visait à atteindre des performances élevées avec une conception simplifiée. Il a été introduit par Megvii en 2021 et a apporté des contributions significatives en intégrant des techniques avancées du domaine de la détection d'objets dans le framework YOLO.

Architecture et principales fonctionnalités

YOLOX utilise également une approche sans ancres pour simplifier l'entraînement et améliorer la généralisation. Ses principales innovations architecturales comprennent une tête découplée, qui sépare les tâches de classification et de localisation, et une stratégie avancée d'attribution d'étiquettes appelée SimOTA (Simplified Optimal Transport Assignment). Il utilise également des techniques fortes d'augmentation de données comme MixUp.

Points forts

  • Haute précision : YOLOX atteint une précision compétitive, qui était à la pointe de la technologie au moment de sa sortie, particulièrement visible dans ses plus grandes variantes de modèle.
  • Inférence efficace : Offre des vitesses d'inférence rapides, adaptées à de nombreuses applications en temps réel, en particulier sur le matériel GPU.
  • Backbones flexibles : Prend en charge divers backbones, permettant un certain degré de personnalisation.

Faiblesses

  • Limitation de la tâche : YOLOX est principalement axé sur la détection d’objets, sans la polyvalence multitâche intégrée de YOLOv8 (segmentation, pose, etc.). La mise en œuvre de ces tâches nécessite un code personnalisé et des efforts considérables.
  • Écosystème et support : Bien qu'il soit open source, il lui manque l'écosystème intégré, les outils complets (comme Ultralytics HUB) et le niveau élevé de maintenance continue et de support communautaire que l'on trouve avec Ultralytics YOLOv8.
  • Retard de performance : Comme le montre le tableau ci-dessous, les modèles YOLOX sont généralement surpassés par leurs homologues YOLOv8 dans la mesure cruciale de la précision.
  • Performance du CPU : Les vitesses d'inférence du CPU ne sont pas facilement disponibles dans les benchmarks officiels, contrairement à YOLOv8 qui fournit des mesures claires des performances du CPU, ce qui rend plus difficile l'évaluation pour les déploiements liés au CPU.

Cas d'utilisation idéaux

YOLOX est bien adapté aux applications qui privilégient une grande précision de la détection d’objets lorsque des capacités multitâches ne sont pas requises :

  • Détection d'objets haute performance : Scénarios nécessitant une forte précision de détection d'objets, comme dans l'inspection industrielle.
  • Déploiement en périphérie (Edge Deployment) : Les variantes plus petites comme YOLOX-Nano sont adaptées aux appareils périphériques (edge devices) aux ressources limitées.
  • Recherche et développement : Sa conception en fait une option viable pour la recherche universitaire sur les détecteurs sans ancres.

En savoir plus sur YOLOX

Analyse des performances : YOLOv8 vs. YOLOX

Une comparaison directe des mesures de performance sur l’ensemble de données COCO révèle les principaux compromis entre YOLOv8 et YOLOX. La mesure la plus critique, la précision (mAP), montre un avantage clair pour YOLOv8. Pour toutes les tailles de modèles comparables, YOLOv8 offre des scores mAP nettement plus élevés. Par exemple, YOLOv8x atteint un mAP de 53,9, surpassant de manière décisive le mAP de 51,1 de YOLOX-x.

Lors de l'analyse de l'efficacité, la situation est plus nuancée. Les modèles YOLOX ont tendance à être légèrement plus compacts en termes de paramètres et de FLOPs aux échelles petite (s) et moyenne (m). Cependant, les modèles YOLOv8 deviennent beaucoup plus efficaces en termes de paramètres aux échelles grande (l) et très grande (x). En ce qui concerne la vitesse d'inférence, YOLOX présente un léger avantage pour les modèles de taille moyenne sur GPU, tandis que YOLOv8 est plus rapide à la plus grande échelle.

Il est crucial de noter que cette efficacité doit être mise en balance avec la précision supérieure de YOLOv8. De plus, Ultralytics fournit des benchmarks CPU transparents, démontrant que YOLOv8 est hautement optimisé pour l’inférence CPU, un facteur essentiel pour de nombreuses applications du monde réel où un GPU n’est pas disponible et une mesure pour laquelle YOLOX manque de données officielles.

Modèle Taille
(pixels)
mAPval
50-95
Vitesse
CPU ONNX
(ms)
Vitesse
T4 TensorRT10
(ms)
paramètres
(M)
FLOPs
(B)
YOLOv8n 640 37.3 80.4 1.47 3.2 8.7
YOLOv8s 640 44.9 128.4 2.66 11.2 28.6
YOLOv8m 640 50.2 234.7 5.86 25.9 78.9
YOLOv8l 640 52.9 375.2 9.06 43.7 165.2
YOLOv8x 640 53.9 479.1 14.37 68.2 257.8
YOLOXnano 416 25.8 - - 0.91 1.08
YOLOXtiny 416 32.8 - - 5.06 6.45
YOLOXs 640 40.5 - 2.56 9.0 26.8
YOLOXm 640 46.9 - 5.43 25.3 73.8
YOLOXl 640 49.7 - 9.04 54.2 155.6
YOLOXx 640 51.1 - 16.1 99.1 281.9

Conclusion : Pourquoi Ultralytics YOLOv8 est le choix préféré

Bien que YOLOX ait été une avancée significative pour les détecteurs d'objets sans ancrage, Ultralytics YOLOv8 représente une solution plus avancée, polyvalente et conviviale. YOLOv8 surpasse non seulement YOLOX dans la mesure de base de la détection d'objets, à savoir la précision, mais étend également ses capacités à un large éventail de tâches de vision.

Pour les développeurs et les chercheurs, le choix est clair. YOLOv8 offre :

  • Précision et efficacité supérieures : Un ensemble de performances globales améliorées, privilégiant la précision tout en maintenant des vitesses compétitives.
  • Prise en charge multi-tâches : Un cadre unifié pour la détection, la segmentation, la classification, la pose et le suivi.
  • Un écosystème florissant : Mises à jour continues, documentation complète, support professionnel et outils puissants tels que Ultralytics HUB.
  • Flexibilité de déploiement : Métriques de performance transparentes pour GPU et CPU, avec exportation facile vers des formats tels que ONNX et TensorRT.

Pour les projets qui exigent des performances de pointe, une facilité d'utilisation et un framework robuste et bien entretenu, YOLOv8 est le choix définitif.

Explorer d'autres modèles

Votre exploration des modèles de détection d'objets ne devrait pas s'arrêter là. Le domaine est en constante évolution. Pensez à comparer ces modèles avec d'autres pour obtenir une image complète :



📅 Créé il y a 1 an ✏️ Mis à jour il y a 1 mois

Commentaires