YOLOX vs. YOLOv6.0 : Une comparaison technique
Le choix de la bonne architecture de détection d'objets est une décision cruciale pour les développeurs et les chercheurs qui cherchent à équilibrer les performances, la vitesse et l'efficacité de calcul. Cette comparaison complète explore les distinctions techniques entre YOLOX, un détecteur sans ancrage haute performance de Megvii, et YOLOv6.0, un cadre de qualité industrielle développé par Meituan. En analysant leurs architectures, leurs benchmarks et leurs méthodologies de formation, nous visons à vous guider vers le meilleur modèle pour vos applications spécifiques de vision par ordinateur.
YOLOX : un pont entre la recherche et l'industrie
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/
Sorti en 2021, YOLOX a représenté un changement significatif dans la lignée de YOLO en adoptant un mécanisme sans ancrage et en intégrant des techniques de détection avancées jusqu'alors réservées à la recherche universitaire. En supprimant la dépendance à l'égard de boîtes d'ancrage prédéfinies, YOLOX a simplifié le processus d'apprentissage et amélioré la généralisation à diverses formes d'objets.
Architecture et principales fonctionnalités
YOLOX se distingue par une architecture à "tête découplée". Contrairement aux modèles YOLO traditionnels qui couplent les tâches de classification et de localisation dans une seule branche, YOLOX les sépare, ce qui améliore considérablement la vitesse de convergence et la précision. Il utilise une stratégie d'attribution d'étiquettes SimOTA (Simplified Optimal Transport Assignment), qui assigne dynamiquement les échantillons positifs aux objets de la vérité terrain, réduisant ainsi l'instabilité de l'apprentissage.
Conception sans ancrage
YOLOX élimine la nécessité d'un regroupement manuel des boîtes d'ancrage, une étape courante dans les versions précédentes de YOLO . Cela réduit le nombre d'hyperparamètres heuristiques et de choix de conception impliqués dans la formation, ce qui rend le modèle plus robuste à des ensembles de données variés sans réglage approfondi.
Points forts et faiblesses
Points forts :
- Haute précision : La tête découplée et l'attribution avancée d'étiquettes permettent à YOLOX d'atteindre des scores de précision moyenne compétitifs, mAP particulier sur l'ensemble de donnéesCOCO .
- Flexibilité de la recherche : Sa conception simplifiée en fait une excellente base de référence pour les chercheurs qui expérimentent de nouvelles têtes de détection ou de nouvelles stratégies d'affectation.
- Détection de petits objets : L'approche sans ancrage peut parfois offrir de meilleures performances sur les petits objets que les systèmes à ancrage rigide.
Faiblesses :
- Latence d'inférence : Bien que précise, la tête découplée introduit une légère surcharge de calcul, ce qui se traduit souvent par des vitesses d'inférence plus lentes par rapport aux modèles industriels entièrement optimisés tels que YOLOv6
- Maturité de l'écosystème : Bien que le code soit libre, l'écosystème d'outils tiers, de guides de déploiement et de soutien communautaire est plus petit que celui d Ultralytics YOLOv8 ou YOLOv5.
Cas d'utilisation idéaux
YOLOX est particulièrement bien adapté à la recherche universitaire et aux scénarios dans lesquels la précision est prioritaire par rapport à la vitesse d'inférence brute.
- Imagerie médicale : Analyse de structures complexes dans l'analyse d'images médicales où la précision est primordiale.
- Détection des défauts : identification des anomalies subtiles dans la fabrication où les détections manquées sont coûteuses.
- Expérimentation universitaire : Servir de référence propre et sans ancrage pour le développement de nouveaux algorithmes de vision par ordinateur.
YOLOv6.0 : Conçu pour la vitesse industrielle
Auteurs : Chuyi Li, Lulu Li, Yifei Geng, Hongliang Jiang, Meng Cheng, Bo Zhang, Zaidan Ke, Xiaoming Xu et Xiangxiang Chu
Organisation:Meituan
Date : 2023-01-13
Arxiv:https://arxiv.org/abs/2301.05586
GitHubYOLOv6
Docsultralytics
YOLOv6.0 est un détecteur d'objets conçu pour des applications industrielles réelles. La mise à jour "3.0", connue sous le nom de "Full-Scale Reloading", a introduit d'importantes améliorations architecturales pour maximiser le débit sur du matériel tel que les GPU NVIDIA .
Architecture et principales fonctionnalités
Le cœur de YOLOv6.0 est sa forte utilisation du reparamétrage. Le modèle utilise une épine dorsale EfficientRep et un cou Rep-PAN, qui permettent au réseau d'avoir des structures complexes à branches multiples pendant l'apprentissage, mais qui s'effondrent en structures simples à chemin unique pendant l'inférence. Cette approche "à la RepVGG" garantit une grande capacité d'extraction de caractéristiques sans la pénalité de latence de l'exécution d'une ramification complexe.
En outre, YOLOv6.0 utilise la formation assistée par ancrage (AAT), qui combine les avantages des paradigmes avec et sans ancrage afin de stabiliser la formation et d'accélérer la convergence.
Points forts et faiblesses
Points forts :
- Vitesse exceptionnelle : Optimisé pour TensorRTYOLOv6.0 offre une latence extrêmement faible, ce qui en fait la solution idéale pour les applications à haute cadence.
- Prêt pour le déploiement : Des fonctionnalités telles que la prise en charge de la quantification des modèles facilitent le déploiement sur les périphériques et les serveurs.
- Efficacité : La technique de reparamétrage offre un excellent équilibre entre les FLOP et la précision.
Faiblesses :
- Intensité des ressources de formation : L'architecture complexe du temps d'apprentissage (avant reparamétrage) peut nécessiter une mémoireGPU importante par rapport à des modèles plus simples.
- Portée limitée de la tâche : YOLOv6 est principalement axé sur la détection. Il manque un support natif et intégré pour d'autres tâches telles que l'estimation de la pose ou les boîtes de délimitation orientées (OBB) dans la même API transparente que l'on trouve dans les offres d'Ultralytics .
Cas d'utilisation idéaux
YOLOv6.0 brille dans les environnements où la vitesse d'inférence en temps réel est une exigence stricte.
- Robotique autonome : Permettre aux robots de naviguer et de réagir instantanément à des environnements dynamiques.
- Inspection des chaînes de production : Inspection de la qualité à grande vitesse sur les chaînes de fabrication où le débit ne peut être compromis.
- Analyse vidéo : Traitement simultané de plusieurs flux vidéo pour les systèmes d'alarme de sécurité.
Comparaison directe des performances
La comparaison des mesures de performance sur l'ensemble de donnéesCOCO révèle des philosophies de conception distinctes. YOLOX offre une architecture simplifiée avec une précision respectable, tandis que YOLOv6.0 repousse les limites de la vitesse d'inférence grâce à une optimisation structurelle.
| Modèle | Taille (pixels) | mAPval 50-95 | Vitesse CPU ONNX (ms) | Vitesse T4 TensorRT10 (ms) | paramètres (M) | FLOPs (B) |
|---|---|---|---|---|---|---|
| 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 |
| YOLOv6.0n | 640 | 37.5 | - | 1.17 | 4.7 | 11.4 |
| YOLOv6.0s | 640 | 45.0 | - | 2.66 | 18.5 | 45.3 |
| YOLOv6.0m | 640 | 50.0 | - | 5.28 | 34.9 | 85.8 |
| YOLOv6.0l | 640 | 52.8 | - | 8.95 | 59.6 | 150.7 |
Les données soulignent que YOLOv6.0n est significativement plus rapide sur le matériel GPU (1,17 ms contre 2,56 ms pour YOLOX) tout en conservant un bon mAP. Pour les appareils à ressources limitées où chaque mégaoctet compte, YOLOXnano reste une option intéressante avec des paramètres inférieurs à 1M, bien que sa précision soit plus faible. À l'extrémité supérieure, YOLOv6.0l surpasse YOLOXx en termes de précision (52,8 contre 51,1 mAP) et d'efficacité, en utilisant environ 40 % de paramètres en moins.
Méthodologies de formation et écosystème
L'expérience de l'utilisateur pour la formation de ces modèles diffère considérablement.
YOLOX s'appuie sur de solides techniques d'augmentation des données telles que Mosaic et MixUp pour obtenir ses résultats sans poids pré-entraînés. Son pipeline d'entraînement est orienté vers la recherche, offrant une flexibilité pour ceux qui sont profondément familiers avec les configurations de PyTorch .
YOLOv6.0 utilise l'autodistillation, où un modèle enseignant plus grand guide le modèle étudiant pendant la formation, améliorant la précision des modèles plus petits sans augmenter le coût de l'inférence. Cette méthodologie est puissante mais ajoute de la complexité à la configuration de la formation.
Cependant, les développeurs qui donnent la priorité à un flux de travail rationalisé trouvent souvent l'écosystèmeUltralytics supérieur. Contrairement aux outils fragmentés que l'on trouve souvent dans les modèles de recherche autonomes, Ultralytics fournit une plateforme unifiée.
- Facilité d'utilisation : Une API Python simple permet d'entraîner, de valider et d'inférer en quelques lignes de code seulement.
- Un écosystème bien entretenu : Des mises à jour fréquentes garantissent la compatibilité avec les dernières versions de PyTorch, CUDA et les formats d'exportation tels que ONNX et OpenVINO.
- Efficacité de la formation : Les modèles Ultralytics sont optimisés pour une utilisation efficace de la mémoire, et s'entraînent souvent plus rapidement et avec moins de mémoire GPU que les architectures comparables basées sur des transformateurs.
Facilité d'utilisation d'Ultralytics
Former un modèle de pointe avec Ultralytics est aussi simple que cela :
from ultralytics import YOLO
# Load a model
model = YOLO("yolo11n.pt")
# Train the model
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)
Conclusion : L'avantage Ultralytics
YOLOX offre une conception innovante sans ancrage, adaptée à la recherche, et YOLOv6.0 offre une vitesse impressionnante pour le matériel industriel spécifique, Ultralytics YOLO11 représente le summum de la technologie actuelle en matière de vision par ordinateur.
YOLO11 et l'établi YOLOv8 offrent un équilibre de performance supérieur, atteignant des scores mAP de pointe avec des vitesses d'inférence remarquables sur le CPU et le GPU . Contrairement aux concurrents qui se limitent principalement à la détection, les modèles Ultralytics offrent une polyvalence inégalée, en prenant en charge nativement :
Pour les développeurs à la recherche d'une solution à l'épreuve du temps, soutenue par un développement actif, une documentation complète et une communauté florissante, Ultralytics reste le choix recommandé pour mener des projets de la conception à la production.
Pour explorer d'autres comparaisons, vous pouvez lire YOLOv5 vs YOLOv6 ou YOLO11 vs RT-DETR.