Passer au contenu

DAMO-YOLO vs. YOLOX : Une comparaison technique

Dans le paysage en évolution rapide de la vision par ordinateur, le choix du bon modèle de détection d'objets est crucial pour la réussite de tout projet d'intelligence artificielle. Cet article propose une comparaison approfondie entre deux architectures influentes : YOLO, développée par Alibaba Group, et YOLOX, créée par Megvii. Les deux modèles ont apporté des contributions significatives au domaine, repoussant les limites de la vitesse et de la précision. Nous explorerons leurs architectures uniques, leurs mesures de performance et leurs cas d'utilisation idéaux afin de vous aider à prendre une décision éclairée.

YOLO: Optimisé pour l'inférence à grande vitesse

YOLO représente un bond en avant dans la détection d'objets en temps réel, en donnant la priorité à une faible latence sur le matériel GPU sans compromettre la précision. Développé par des chercheurs d'Alibaba, il intègre des principes de conception de réseaux neuronaux de pointe pour parvenir à un compromis vitesse/précision impressionnant.

Détails techniques :

Architecture et innovations

L'architecture de YOLO repose sur plusieurs technologies innovantes conçues pour maximiser l'efficacité :

  • Recherche d'architecture neuronale (NAS) : Le modèle utilise MAE-NAS pour rechercher automatiquement la structure dorsale la plus efficace, ce qui se traduit par un extracteur de caractéristiques appelé GiraffeNet. Cette approche garantit que la profondeur et la largeur du réseau sont optimisées pour des contraintes matérielles spécifiques.
  • RepGFPN Neck : Pour gérer la fusion de caractéristiques multi-échelles, YOLO utilise un réseau pyramidal de caractéristiques généralisé (GFPN) amélioré par un re-paramétrage. Cela permet un flux d'informations riche à travers différentes échelles tout en maintenant des vitesses d'inférence élevées.
  • ZeroHead : une tête de détection légère qui découple les tâches de classification et de régression tout en réduisant considérablement la charge de calcul par rapport aux têtes découplées traditionnelles.
  • AlignedOTA : une nouvelle stratégie d'attribution d'étiquettes qui résout les désalignements entre les objectifs de classification et de régression, garantissant que le modèle apprend à partir des échantillons les plus pertinents au cours de la formation.

Points forts et cas d'utilisation idéaux

YOLO excelle dans les scénarios où la performance en temps réel n'est pas négociable. Ses optimisations architecturales en font un candidat de choix pour les applications industrielles nécessitant un débit élevé.

  • Automatisation industrielle : Parfait pour la détection de défauts à grande vitesse sur les lignes de fabrication où les millisecondes comptent.
  • Surveillance des villes intelligentes : capable de traiter simultanément plusieurs flux vidéo pour la gestion du trafic et la surveillance de la sécurité.
  • Robotique : Permet aux robots autonomes de naviguer dans des environnements complexes en traitant instantanément les données visuelles.

En savoir plus sur DAMO-YOLO

YOLOX : Le pionnier de la liberté d'ancrage

YOLOX a marqué un tournant dans la série YOLO en s'éloignant des mécanismes basés sur l'ancrage. Développé par Megvii, il a introduit une conception sans ancrage qui a simplifié le pipeline de détection et amélioré la généralisation, établissant une nouvelle norme de performance en 2021.

Détails techniques :

Principales caractéristiques architecturales

YOLOX se distingue par une philosophie de conception robuste qui résout les problèmes communs aux versions précédentes de YOLO :

  • Mécanisme sans ancrage : En éliminant les boîtes d'ancrage prédéfinies, YOLOX évite la complexité du réglage de l'ancrage et réduit le nombre d'hyperparamètres heuristiques. Cela permet d'obtenir de meilleures performances sur divers ensembles de données.
  • Tête découplée : le modèle divise les tâches de classification et de localisation en branches distinctes. Cette séparation améliore la vitesse de convergence et la précision en permettant à chaque tâche d'apprendre ses caractéristiques optimales de manière indépendante.
  • SimOTA Label Assignment : Une stratégie avancée qui traite l'attribution des étiquettes comme un problème de transport optimal. SimOTA assigne dynamiquement des échantillons positifs aux vérités de terrain, améliorant ainsi la capacité du modèle à gérer les scènes encombrées et les occlusions.
  • Augmentation des données : YOLOX s'appuie sur des techniques telles que Mosaic et MixUp pour améliorer la robustesse et éviter l'ajustement excessif pendant la formation.

Points forts et cas d'utilisation idéaux

YOLOX est réputé pour sa grande précision et sa stabilité, ce qui en fait un choix fiable pour les applications où la précision est primordiale.

  • Conduite autonome : Détection d'objets de haute précision nécessaire aux systèmes de perception des véhicules pour identifier les piétons et les obstacles en toute sécurité.
  • Analyse de la vente au détail : Détection précise pour le contrôle des rayons et la gestion des stocks dans des environnements de vente au détail complexes.
  • Bases de recherche : Grâce à sa mise en œuvre propre et sans ancrage, il constitue une excellente base de référence pour la recherche universitaire sur les nouvelles méthodologies de détection.

En savoir plus sur YOLOX

Analyse des performances

Le tableau suivant présente une comparaison directe entre YOLO et YOLOX pour différentes tailles de modèles. Les mesures mettent en évidence les compromis entre la complexité du modèle (paramètres et FLOP), la vitesse d'inférence et la précision de détectionmAP sur l'ensemble de données COCO .

ModèleTaille
(pixels)
mAPval
50-95
Vitesse
CPU ONNX
(ms)
Vitesse
T4 TensorRT10
(ms)
paramètres
(M)
FLOPs
(B)
DAMO-YOLOt64042.0-2.328.518.1
DAMO-YOLOs64046.0-3.4516.337.8
DAMO-YOLOm64049.2-5.0928.261.8
DAMO-YOLOl64050.8-7.1842.197.3
YOLOXnano41625.8--0.911.08
YOLOXtiny41632.8--5.066.45
YOLOXs64040.5-2.569.026.8
YOLOXm64046.9-5.4325.373.8
YOLOXl64049.7-9.0454.2155.6
YOLOXx64051.1-16.199.1281.9

Points clés à retenir

  • Avantage en termes de latence : YOLO surpasse systématiquement YOLOX en termes de vitesse d'inférence GPU pour des niveaux de précision comparables. Par exemple, DAMO-YOLOs atteint 46,0 mAP en 3,45 ms, alors que YOLOXm nécessite 5,43 ms pour atteindre 46,9 mAP avec des FLOPs nettement plus élevés.
  • Efficacité : L'épine dorsale de YOLO , optimisée pour les NAS, offre un meilleur ratio d'efficacité des paramètres.
  • Précision maximale : YOLOX-x reste un concurrent de taille pour la précision maximale (51,1 mAP, bien qu'il ait un coût de calcul élevé (281,9 milliards de FLOP).
  • Options légères : YOLOX-Nano est extrêmement léger (0.91M params), ce qui le rend adapté aux microcontrôleurs dont les ressources sont strictement limitées, bien que la précision diminue de manière significative.

Optimisation du GPU

L'utilisation intensive de re-paramétrage et de structures de cou efficaces par YOLO le rend particulièrement bien adapté à l'utilisation de TensorRT sur les GPU NVIDIA , où il peut exploiter pleinement les capacités de calcul parallèle.

L'avantage Ultralytics

Alors que les modèlesYOLO et YOLOX offrent de fortes capacités, les modèlesYOLO d'Ultralytics , et plus particulièrement le modèleYOLO11-fournissent une solution complète supérieure pour le développement moderne de la vision par ordinateur. Ultralytics a cultivé un écosystème qui ne se limite pas à la performance brute, mais qui couvre l'ensemble du cycle de vie des opérations d'apprentissage automatique.

Pourquoi choisir Ultralytics?

Les développeurs et les chercheurs se tournent de plus en plus vers les modèles Ultralytics pour plusieurs raisons impérieuses :

  • Facilité d'utilisation inégalée : L'APIPython d' Ultralytics est conçue pour être simple. Le chargement d'un modèle de pointe et le démarrage de l'entraînement ne nécessitent que quelques lignes de code, ce qui réduit considérablement la barrière à l'entrée par rapport aux fichiers de configuration complexes souvent requis par les référentiels académiques.
  • Un écosystème bien entretenu : Contrairement à de nombreux projets de recherche qui stagnent, les modèles Ultralytics sont soutenus par une communauté florissante et un développement actif. Des mises à jour régulières assurent la compatibilité avec les dernières versions de PyTorch les formats d'exportation et les accélérateurs matériels.
  • Polyvalence : Les modèles Ultralytics ne se limitent pas aux boîtes englobantes. Ils prennent nativement en charge un large éventail de tâches, notamment la segmentation d'instances, l'estimation de la pose, la classification d'images et la détection d'objets orientés (OBB), le tout au sein d'un cadre unique.
  • Équilibre des performances : Les modèles Ultralytics YOLO sont conçus pour atteindre le "sweet spot" entre vitesse et précision. Ils atteignent souvent des mAP plus élevés que leurs concurrents tout en maintenant des temps d'inférence plus rapides sur les CPU et les GPU.
  • Efficacité de la formation : Grâce à des chargeurs de données optimisés et des hyperparamètres préréglés, l'entraînement d'un modèle Ultralytics est très efficace. Les utilisateurs peuvent utiliser des poids pré-entraînés sur les modèles COCO pour atteindre la convergence plus rapidement, économisant ainsi du temps de calcul et de l'énergie.
  • Efficacité de la mémoire : Les modèles Ultralytics utilisent généralement moins de mémoire pendant l'apprentissage et l'inférence que les architectures lourdes basées sur des transformateurs ou les anciens CNN, ce qui les rend accessibles à une plus large gamme de matériel, y compris les appareils périphériques.

Exemple de flux de travail continu

Découvrez la simplicité du flux de travail d'Ultralytics avec cet exemple Python :

from ultralytics import YOLO

# Load the YOLO11 model (pre-trained on COCO)
model = YOLO("yolo11n.pt")

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

# Run inference on an image
results = model("path/to/image.jpg")

En savoir plus sur YOLO11

Conclusion

YOLO et YOLOX sont entrés dans l'histoire de la détection d'objets. YOLO est un excellent choix pour les applications GPU spécialisées à haut débit où chaque milliseconde de latence compte. YOLOX reste un détecteur sans ancrage solide et précis, bien connu de la communauté des chercheurs.

Cependant, pour la grande majorité des applications du monde réel, Ultralytics YOLO11 s'impose comme le premier choix. Sa combinaison de performances de pointe, de polyvalence multi-tâches et d'un écosystème convivial et bien entretenu permet aux développeurs de créer des solutions robustes plus rapidement et plus efficacement. Qu'il s'agisse d'un déploiement dans le nuage ou en périphérie, Ultralytics fournit les outils nécessaires pour réussir dans le paysage concurrentiel de l'IA d'aujourd'hui.

Explorer d’autres comparaisons

Pour mieux comprendre le paysage de la détection d'objets, il convient de comparer ces modèles à d'autres architectures de pointe :


Commentaires