DAMO-YOLO vs. YOLOX : Une comparaison technique
Dans le paysage en rapide évolution de la vision par ordinateur, le choix du bon modèle de détection d'objets est crucial pour le succès de tout projet d'IA. Cet article fournit une comparaison approfondie entre deux architectures influentes : DAMO-YOLO, développé par Alibaba Group, et YOLOX, créé par Megvii. Les deux modèles ont apporté des contributions importantes 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 pour vous aider à prendre une décision éclairée.
DAMO-YOLO : Optimisé pour l'inférence à haute vitesse
DAMO-YOLO représente un bond en avant dans la détection d'objets en temps réel, privilégiant la 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 atteindre un compromis vitesse-précision impressionnant.
Détails techniques :
- Auteurs : Xianzhe Xu, Yiqi Jiang, Weihua Chen, Yilun Huang, Yuan Zhang et Xiuyu Sun
- Organisation :Alibaba Group
- Date : 2022-11-23
- Arxiv :https://arxiv.org/abs/2211.15444v2
- GitHub :https://github.com/tinyvision/DAMO-YOLO
- Docs :https://github.com/tinyvision/DAMO-YOLO/blob/master/README.md
Architecture et innovations
L'architecture de DAMO-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 de backbone la plus efficace, ce qui donne un extracteur de fonctionnalités connu sous le nom de GiraffeNet. Cette approche garantit que la profondeur et la largeur du réseau sont optimisées pour des contraintes matérielles spécifiques.
- Cou RepGFPN : Pour gérer la fusion de caractéristiques multi-échelles, DAMO-YOLO utilise un Generalized Feature Pyramid Network (GFPN) amélioré par la reparamétrisation. Cela permet un flux d'informations riche à 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, mais qui réduit 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 pendant la formation.
Forces et cas d’utilisation idéaux
DAMO-YOLO excelle dans les scénarios où la performance en temps réel est non négociable. Ses optimisations architecturales en font un concurrent de premier plan pour les applications industrielles nécessitant un débit élevé.
- Automatisation Industrielle : Parfait pour la détection de défauts à haute 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 les données visuelles instantanément.
YOLOX : Le pionnier sans ancrage
YOLOX a marqué un moment charnière 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 :
- Auteurs : Zheng Ge, Songtao Liu, Feng Wang, Zeming Li et Jian Sun
- Organisation :Megvii
- Date : 2021-07-18
- Arxiv :https://arxiv.org/abs/2107.08430
- GitHub :https://github.com/Megvii-BaseDetection/YOLOX
- Docs :https://yolox.readthedocs.io/en/latest/
Principales caractéristiques architecturales
YOLOX se distingue par une philosophie de conception robuste qui aborde les problèmes courants des versions antérieures de YOLO:
- Mécanisme sans ancres : En éliminant les boîtes d'ancrage prédéfinies, YOLOX évite la complexité du réglage des ancres et réduit le nombre d'hyperparamètres heuristiques. Cela conduit à 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.
- Attribution de label SimOTA : Une stratégie avancée qui traite l'attribution de label comme un problème de transport optimal. SimOTA attribue dynamiquement des échantillons positifs aux vérités terrain, améliorant la capacité du modèle à gérer les scènes encombrées et les occlusions.
- Augmentations de données fortes : YOLOX exploite des techniques comme Mosaic et MixUp pour améliorer la robustesse et prévenir le surapprentissage pendant l’entraînement.
Forces 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 : Fournit la 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 vente au détail : Détection précise pour la surveillance des rayons et la gestion des stocks dans des environnements de vente au détail complexes.
- Bases de référence pour la recherche : En raison de sa mise en œuvre propre sans ancrage, il constitue une excellente base de référence pour la recherche universitaire sur les nouvelles méthodologies de detection.
Analyse des performances
Le tableau suivant présente une comparaison directe de DAMO-YOLO et YOLOX à travers différentes tailles de modèles. Les métriques mettent en évidence les compromis entre la complexité du modèle (paramètres et FLOPs), la vitesse d'inférence et la précision de la détection (mAP) sur le jeu de données COCO.
| Modèle | Taille (pixels) | mAPval 50-95 | Vitesse CPU ONNX (ms) | Vitesse T4 TensorRT10 (ms) | paramètres (M) | FLOPs (B) |
|---|---|---|---|---|---|---|
| DAMO-YOLOt | 640 | 42.0 | - | 2.32 | 8.5 | 18.1 |
| DAMO-YOLOs | 640 | 46.0 | - | 3.45 | 16.3 | 37.8 |
| DAMO-YOLOm | 640 | 49.2 | - | 5.09 | 28.2 | 61.8 |
| DAMO-YOLOl | 640 | 50.8 | - | 7.18 | 42.1 | 97.3 |
| 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 |
Points clés à retenir
- Avantage de latence : DAMO-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 à 3,45 ms, tandis que YOLOXm nécessite 5,43 ms pour atteindre 46,9 mAP avec des FLOP nettement plus élevés.
- Efficacité : Le backbone de DAMO-YOLO optimisé par 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,91 million de paramètres), ce qui le rend adapté aux microcontrôleurs strictement limités en ressources, bien que la précision diminue considérablement.
Optimisation du GPU
L'utilisation intensive de la re-paramétrisation et des structures de neck efficaces de DAMO-YOLO le rendent particulièrement adapté au déploiement TensorRT sur les GPU NVIDIA, où il peut exploiter pleinement les capacités de calcul parallèle.
L'avantage Ultralytics
Bien que DAMO-YOLO et YOLOX offrent de solides capacités, les modèles Ultralytics YOLO—en particulier YOLO11—fournissent une solution complète supérieure pour le développement moderne de la vision par ordinateur. Ultralytics a cultivé un écosystème qui aborde non seulement les performances brutes, mais aussi 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 convaincantes :
- Facilité d’utilisation inégalée : L’API Python Ultralytics est conçue pour la simplicité. Le chargement d’un modèle de pointe et le démarrage de la formation 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 universitaires.
- Écosystème bien maintenu : 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 sont pas limités aux boîtes englobantes. Ils prennent en charge nativement un large éventail de tâches, notamment la segmentation d’instance, l’estimation de pose, la classification d’images et la détection d’objets orientés (OBB), le tout dans un seul framework.
- Équilibre des performances : Les modèles Ultralytics YOLO sont conçus pour atteindre le « compromis idéal » entre vitesse et précision. Ils obtiennent souvent des scores de mAP plus élevés que leurs concurrents tout en conservant des temps d'inférence plus rapides sur les CPU et les GPU.
- Efficacité de l'entraînement : 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 tirer parti des poids pré-entraînés sur COCO pour parvenir à une convergence plus rapide, ce qui permet d'économiser un temps de calcul et une énergie précieux.
- Efficacité de la mémoire : Les modèles Ultralytics présentent généralement une utilisation de la mémoire plus faible pendant l’entraînement et l’inférence par rapport aux architectures lourdes basées sur des transformateurs ou aux anciens CNN, ce qui les rend accessibles sur une plus large gamme de matériel, y compris les appareils périphériques.
Exemple de flux de travail simplifié
Découvrez la simplicité du flux de travail 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")
Conclusion
DAMO-YOLO et YOLOX ont tous deux consolidé leur place dans l'histoire de la détection d'objets. DAMO-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 compris dans la communauté de la recherche.
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 multitâche et d'un écosystème convivial et bien entretenu permet aux développeurs de créer des solutions robustes plus rapidement et plus efficacement. Que vous déployiez dans le cloud ou en périphérie, Ultralytics fournit les outils nécessaires pour réussir dans le paysage concurrentiel actuel de l'IA.
Explorer d’autres comparaisons
Pour mieux comprendre le paysage de la détection d'objets, découvrez comment ces modèles se comparent à d'autres architectures de pointe :