YOLOX vs. YOLO11: une plongée technique dans l'évolution de la détection d'objets
Le choix de l'architecture optimale de détection d'objets est essentiel pour les développeurs qui cherchent à équilibrer la précision, la latence et l'efficacité de calcul. Cette analyse complète compare YOLOX, un modèle pionnier sans ancrage de Megvii, et Ultralytics YOLO11la dernière itération de pointe d'Ultralytics. Alors que YOLOX a introduit des innovations significatives en 2021, YOLO11 représente la pointe de la vision par ordinateur en 2024, offrant un cadre unifié pour diverses tâches allant de la détection à la segmentation d'instances.
YOLOX : un pont entre la recherche et l'industrie
Lancé en 2021, YOLOX a marqué un changement important dans la famille YOLO en adoptant un mécanisme sans ancrage et en découplant la tête de prédiction. Il a été conçu pour combler le fossé entre la recherche universitaire et l'application industrielle.
- Auteurs : Zheng Ge, Songtao Liu, Feng Wang, Zeming Li et Jian Sun
- Organisation :Megvii
- Date : 2021-07-18
- Arxiv :YOLOX : Dépassement de la série YOLO en 2021
- GitHub :Megvii-BaseDetection/YOLOX
- Docs :Documentation YOLOX
Architecture et innovations
YOLOX s'est démarqué des itérations précédentes telles que YOLOv5 en supprimant les boîtes d'ancrage, ce qui a réduit la complexité de la conception et le nombre d'hyperparamètres heuristiques. Son architecture comporte une tête découplée, séparant les tâches de classification et de régression en différentes branches, ce qui a amélioré la vitesse de convergence et la précision. En outre, il a introduit SimOTA, une stratégie avancée d'attribution d'étiquettes qui assigne dynamiquement des échantillons positifs, ce qui améliore encore les performances.
Points forts et faiblesses
Points forts :
- Conception sans ancrage : Élimine la nécessité d'un regroupement manuel des boîtes d'ancrage, ce qui simplifie le pipeline de formation.
- Tête découplée : améliore la précision de la localisation en optimisant indépendamment la classification et la régression.
- Base de recherche : Il sert de point de référence solide pour l'étude des détecteurs sans ancrage.
Faiblesses :
- Prise en charge limitée des tâches : Principalement axé sur la détection d'objets, il ne prend pas en charge la segmentation, l'estimation de la pose ou les boîtes de délimitation orientées (OBB).
- Écosystème fragmenté : Manque d'un ensemble d'outils unifiés et activement maintenus pour le déploiement, le suivi et les MLOps par rapport aux cadres modernes.
- Efficacité moindre : Nécessite généralement plus de paramètres et de FLOP pour obtenir une précision comparable à celle des modèles plus récents tels que YOLO11.
Ultralytics YOLO11: la nouvelle norme pour l'IA de la vision
Ultralytics YOLO11 affine l'héritage de la détection d'objets en temps réel en mettant l'accent sur l'efficacité, la flexibilité et la facilité d'utilisation. Il est conçu pour être la solution de référence pour le prototypage rapide et les déploiements de production à grande échelle.
- Auteurs : Glenn Jocher, Jing Qiu
- Organisation :Ultralytics
- Date : 2024-09-27
- GitHub :DépôtUltralytics
- Docs :Ultralytics YOLO11 Docs
Architecture et avantages pour l'écosystème
YOLO11 utilise une architecture hautement optimisée, sans ancrage, qui améliore l'extraction des caractéristiques tout en minimisant la charge de calcul. Contrairement à YOLOX, YOLO11 n'est pas un simple modèle mais fait partie d'un écosystème complet. Il prend en charge un large éventail de tâches de vision par ordinateur, notamment laclassification, la segmentation, l'estimation de la pose et le suivi, au sein d'une API unique et conviviale.
MLOps intégrés
YOLO11 s'intègre parfaitement à Ultralytics HUB et à des outils tiers tels que Weights & Biases et Cometvous permettant de visualiser les expériences et de gérer les ensembles de données sans effort.
Pourquoi choisir YOLO11?
- Polyvalence : Un cadre unique pour la détection d'objets, la segmentation d'instances, l'estimation de la pose et la classification d'images.
- Facilité d'utilisation : l'APIPython et l'CLI rationalisées permettent aux développeurs de former et de déployer des modèles en quelques lignes de code seulement.
- Équilibre des performances : Permet d'obtenir des résultats supérieurs en matière de mAP supérieur avec des vitesses d'inférence plus rapides sur les CPU et les GPU par rapport aux prédécesseurs et aux concurrents.
- Efficacité de la mémoire : Conçu pour nécessiter moins de mémoire lors de l'apprentissage et de l'inférence, ce qui le rend plus accessible que les modèles basés sur des transformateurs comme le RT-DETR.
- Prêt pour le déploiement : Prise en charge native de l'exportation vers des formats tels que ONNX, TensorRTCoreML et TFLite garantit la compatibilité avec divers matériels, des NVIDIA Jetson aux appareils mobiles.
Analyse des performances
Le tableau ci-dessous met en évidence les différences de performances entre YOLOX et YOLO11. YOLO11 fait preuve d'une plus grande précisionmAP) avec moins de paramètres et de FLOP, ce qui se traduit par des vitesses d'inférence plus rapides.
| 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 |
| YOLO11n | 640 | 39.5 | 56.1 | 1.5 | 2.6 | 6.5 |
| YOLO11s | 640 | 47.0 | 90.0 | 2.5 | 9.4 | 21.5 |
| YOLO11m | 640 | 51.5 | 183.2 | 4.7 | 20.1 | 68.0 |
| YOLO11l | 640 | 53.4 | 238.6 | 6.2 | 25.3 | 86.9 |
| YOLO11x | 640 | 54.7 | 462.8 | 11.3 | 56.9 | 194.9 |
Points clés à retenir
- Dominance de l'efficacité : Les modèles YOLO11 offrent un bien meilleur compromis entre vitesse et précision. Par exemple, YOLO11m atteint 51,5 mAP avec seulement 20,1 millions de paramètres, surpassant l'énorme YOLOX-x (51,1 mAP, 99,1 millions de paramètres) tout en étant environ 5 fois plus petit.
- Vitesse d'inférence : Sur un GPU T4 utilisant TensorRTYOLO11n atteint 1,5 ms, ce qui en fait un choix exceptionnel pour les applications d'inférence en temps réel où la latence est essentielle.
- Performance de lCPU : Ultralytics fournit des benchmarks CPU transparents, démontrant la viabilité de YOLO11 pour un déploiement sur des appareils sans accélérateurs dédiés.
- Efficacité de la formation : L'architecture de YOLO11 permet une convergence plus rapide pendant la formation, ce qui permet d'économiser du temps de calcul et des ressources précieuses.
Applications concrètes
Les points forts de YOLO11
- Villes intelligentes : Grâce à sa vitesse et à sa précision élevées, YOLO11 est idéal pour les systèmes de gestion du trafic et la surveillance de la sécurité des piétons.
- Fabrication : La capacité de segmentation et de détection OBB en fait un outil idéal pour le contrôle de la qualité et la détection des défauts dans les pièces orientées sur les chaînes d'assemblage.
- Santé : Une grande précision et une utilisation efficace des ressources permettent l'analyse d'images médicales sur des appareils de pointe dans des environnements cliniques.
Où YOLOX est-il utilisé ?
- Systèmes anciens : Projets établis vers 2021-2022 qui n'ont pas encore migré vers des architectures plus récentes.
- Recherche universitaire : Études portant spécifiquement sur les effets des têtes découplées ou des mécanismes sans ancrage dans l'isolement.
Expérience utilisateur et comparaison des codes
Ultralytics donne la priorité à une expérience utilisateur simplifiée. Alors que YOLOX nécessite souvent des fichiers de configuration complexes et une installation manuelle, YOLO11 peut être utilisé avec un minimum de code.
L'utilisation d'Ultralytics YOLO11
Les développeurs peuvent charger un modèle pré-entraîné, exécuter l'inférence et même s'entraîner sur des données personnalisées avec quelques lignes de Python:
from ultralytics import YOLO
# Load a pre-trained YOLO11 model
model = YOLO("yolo11n.pt")
# Run inference on an image
results = model("https://ultralytics.com/images/bus.jpg")
# Display results
results[0].show()
Facilité de formation
L'entraînement d'un modèle YOLO11 sur un ensemble de données personnalisé est tout aussi simple. La bibliothèque gère automatiquement l'augmentation des données, le réglage des hyperparamètres et la journalisation.
# Train the model on a custom dataset
model.train(data="coco8.yaml", epochs=100, imgsz=640)
Conclusion
Alors que YOLOX a joué un rôle essentiel dans la popularisation de la détection d'objets sans ancrage, Ultralytics YOLO11 représente le meilleur choix pour le développement de l'IA moderne.
YOLO11 surpasse YOLOX en termes de précision, de vitesse et d'efficacité, tout en offrant un écosystème robuste et bien entretenu. Sa polyvalence pour de multiples tâches de vision (plus besoin de jongler avec différentes bibliothèques pour la détection, la segmentation et l'estimation de la pose) réduit considérablement la complexité du développement. Pour les développeurs à la recherche d'une solution performante à l'épreuve du temps, soutenue par une communauté active et une documentation complète, YOLO11 est la voie à suivre.
Découvrez d'autres modèles
Découvrez comment YOLO11 se compare à d'autres architectures de premier plan pour trouver celle qui répond le mieux à vos besoins spécifiques :