Passer au contenu

YOLO vs. YOLOv10: une plongée en profondeur dans l'évolution de la détection d'objets

Le choix du bon modèle de détection d'objets est une décision cruciale qui a un impact sur tous les aspects, depuis les coûts de déploiement jusqu'à l'expérience de l'utilisateur. Cette comparaison technique explore les différences entre YOLO, un modèle issu de la recherche du groupe Alibaba, et YOLOv10le dernier détecteur de bout en bout en temps réel développé par des chercheurs de l'Université de Tsinghua et intégré à l'écosystème Ultralytics .

Si les deux modèles visent à optimiser le compromis entre vitesse et précision, ils emploient des stratégies architecturales très différentes. Cette analyse se penche sur leurs spécifications techniques, leurs performances et les cas d'utilisation idéaux pour vous aider à naviguer dans le paysage complexe de la vision par ordinateur.

Mesures de performance

Le tableau ci-dessous fournit une comparaison directe de l'efficacité et de la précision sur l'ensemble de donnéesCOCO . Les points clés à retenir sont l'efficacité des paramètres et les vitesses d'inférence, où YOLOv10 présente des avantages significatifs grâce à sa conception NMS.

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
YOLOv10n64039.5-1.562.36.7
YOLOv10s64046.7-2.667.221.6
YOLOv10m64051.3-5.4815.459.1
YOLOv10b64052.7-6.5424.492.0
YOLOv10l64053.3-8.3329.5120.3
YOLOv10x64054.4-12.256.9160.4

YOLO: L'innovation par la recherche

Commercialisé fin 2022, YOLO représente un effort significatif du groupe Alibaba pour repousser les limites des détecteurs de YOLO grâce à une architecture neuronale de recherche avancée et à de nouvelles techniques de fusion des caractéristiques.

Détails techniques :
Auteurs : Xianzhe Xu, Yiqi Jiang, Weihua Chen, et al.
Organisation:Alibaba Group
Date : 2022-11-23
Arxiv:https://arxiv.org/abs/2211.15444v2
GitHubYOLO

En savoir plus sur DAMO-YOLO

Architecture et principales fonctionnalités

YOLO intègre plusieurs concepts de pointe pour atteindre ses performances :

  1. Recherche d'architecture neuronale (NAS) : Contrairement aux modèles dont les dorsales sont conçues manuellement, YOLO utilise MAE-NAS pour découvrir automatiquement des structures de réseau efficaces, en optimisant la profondeur et la largeur du réseau en fonction de contraintes matérielles spécifiques.
  2. RepGFPN Neck : Ce réseau pyramidal de caractéristiques utilise le re-paramétrage pour gérer efficacement la fusion des caractéristiques. Il permet de créer des structures d'apprentissage complexes qui s'effondrent en blocs d'inférence plus simples, ce qui permet de maintenir la précision tout en augmentant la vitesse.
  3. ZeroHead & AlignedOTA : le modèle utilise une conception "ZeroHead" pour réduire la complexité de la tête de détection et emploie AlignedOTA (Optimal Transport Assignment) pour gérer l'affectation des étiquettes pendant la formation, ce qui permet de résoudre les problèmes de désalignement entre les tâches de classification et de régression.

Considération de la complexité

Bien que YOLO présente des innovations impressionnantes, sa dépendance à l'égard des NAS et des composants spécialisés peut rendre le pipeline de formation plus complexe et moins accessible aux développeurs qui ont besoin d'une personnalisation rapide ou d'un déploiement sur du matériel varié sans réglage approfondi.

Points forts et faiblesses

  • Points forts : YOLO offre une grande précision, notamment en ce qui concerne l'heure de diffusion, et a introduit de nouveaux concepts tels que l'amélioration de la distillation pour les petits modèles.
  • Faiblesses : L'écosystème entourant YOLO est principalement lié au cadre MMDetection, qui peut présenter une courbe d'apprentissage plus raide que l'écosystème convivial Ultralytics . En outre, il nécessite un post-traitement NMS traditionnel, ce qui ajoute un temps de latence.

YOLOv10: l'ère de la détection en temps réel de bout en bout

YOLOv10, publié en mai 2024 par des chercheurs de l'université de Tsinghua, représente un changement de paradigme dans la lignée de YOLO . En éliminant la nécessité d'une suppression non maximaleNMS, il atteint de véritables performances de bout en bout, réduisant de manière significative la latence de l'inférence.

Détails techniques :
Auteurs : Ao Wang, Hui Chen, Lihao Liu, et al.
Organization:Tsinghua University
Date : 2024-05-23
Arxiv:https://arxiv.org/abs/2405.14458
GitHub:https://github.com/THU-MIG/yolov10
Docsultralytics


En savoir plus sur YOLOv10

Architecture et innovations

YOLOv10 se concentre sur l'efficacité globale, en ciblant à la fois l'architecture et le pipeline de post-traitement :

  1. ConceptionNMS: Grâce à une stratégie appelée Consistent Dual Assignments, YOLOv10 s'entraîne avec des attributions d'étiquettes à la fois one-to-many et one-to-one. Cela permet au modèle de prédire une seule meilleure boîte pour chaque objet au cours de l'inférence, ce qui rend les NMS obsolètes. Il s'agit d'un avantage essentiel pour l'inférence en temps réel, où le post-traitement peut souvent devenir un goulot d'étranglement.
  2. Conception holistique de l'efficacité et de la précision : L'architecture comporte une tête de classification légère et un sous-échantillonnage découplé des canaux spatiaux. Ces optimisations réduisent la redondance des calculs, ce qui permet de réduire le nombre de FLOP et de paramètres par rapport aux générations précédentes.
  3. Conception des blocs guidée par les rangs : Le modèle adapte la conception de ses blocs internes en fonction de la redondance des différentes étapes, en utilisant des blocs inversés compacts (CIB) lorsque l'efficacité est nécessaire et l'auto-attention partielle (PSA) lorsque l'amélioration des caractéristiques est essentielle.

Facilité d'utilisation avec Ultralytics

L'un des avantages les plus significatifs de YOLOv10 est son intégration transparente dans l'écosystèmeUltralytics . Les développeurs peuvent former, valider et déployer YOLOv10 en utilisant la même API simple que celle utilisée pour YOLOv8 et YOLO11.

from ultralytics import YOLO

# Load a pre-trained YOLOv10n model
model = YOLO("yolov10n.pt")

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

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

Analyse comparative

Si l'on compare YOLO et YOLOv10, la différence réside dans leur approche de l'efficacité et leur écosystème opérationnel.

Vitesse et latence

YOLOv10 présente un avantage certain en termes de latence dans le monde réel. Les modèles YOLO standard (et YOLO) nécessitent une suppression non maximale (NMS) pour filtrer les boîtes englobantes qui se chevauchent. Le temps d'exécution de la NMS varie en fonction du nombre d'objets détectés, ce qui entraîne une latence imprévisible. La conception de bout en bout de YOLOv10 permet d'obtenir une latence déterministe, ce qui la rend supérieure pour les applications à temps critique telles que la conduite autonome ou la robotique industrielle à grande vitesse.

Efficacité des ressources

Comme le montre le tableau des performances, YOLOv10s atteint un mAP plus élevé (46,7 %) que YOLO (46,0 %) tout en utilisant moins de la moitié des paramètres (7,2M contre 16,3M). Cette empreinte mémoire réduite est cruciale pour le déploiement en périphérie. Les modèles Ultralytics sont réputés pour leurs faibles besoins en mémoire lors de l'apprentissage et de l'inférence, ce qui permet l'apprentissage sur des GPU grand public alors que d'autres architectures pourraient être confrontées à des erreurs hors mémoire (OOM).

Écosystème et soutien

Alors que YOLO est une contribution académique solide, YOLOv10 bénéficie de l'écosystème Ultralytics bien entretenu. Cela inclut :

  • Développement actif : Mises à jour fréquentes et corrections de bogues.
  • Soutien de la communauté : Une communauté massive de développeurs sur GitHub et Discord.
  • Documentation : Documentation complète couvrant tous les aspects, de l'augmentation des données au déploiement.
  • Efficacité de l'entraînement : Des routines rationalisées qui prennent en charge des fonctions telles que la précision mixte automatique (AMP) et l'entraînement GPU .

Au-delà de la détection

Si votre projet nécessite une polyvalence allant au-delà des boîtes englobantes, comme la segmentation d'instances, l'estimation de la pose ou la détection d'objets orientés (OBB), envisagez d'explorer les solutions suivantes YOLO11 ou YOLOv8. Si YOLOv10 excelle dans la détection pure, la famille Ultralytics au sens large offre des solutions de pointe pour ces besoins multitâches complexes.

Cas d'utilisation idéaux

Quand choisir YOLOv10

  • Edge AI & IoT : Le faible nombre de paramètres (par exemple, YOLOv10n à 2,3 millions de paramètres) le rend parfait pour des appareils tels que Raspberry Pi ou NVIDIA Jetson.
  • Analyse vidéo en temps réel : L'élimination du NMS garantit des taux de rafraîchissement constants, ce qui est essentiel pour la surveillance du trafic ou les flux de sécurité.
  • Développement rapide : Les équipes qui doivent passer rapidement des données au déploiement bénéficieront de l'intuitivité de l'outil. ultralytics API Python et Ultralytics HUB.

Quand envisager DAMO-YOLO

  • Recherche universitaire : Les chercheurs qui étudient la recherche d'architecture neuronale (NAS) ou l'optimisation de la pyramide des fonctions peuvent trouver dans l'architecture de YOLO une référence précieuse.
  • Pipelines existants : Les projets déjà profondément intégrés dans le cadre de MMDetection pourraient trouver plus facile d'adopter YOLO que de changer de cadre.

Conclusion

Ces deux modèles représentent des étapes importantes dans le domaine de la vision par ordinateur. YOLO a démontré la puissance des NAS et de la fusion de caractéristiques avancées en 2022. Cependant, pour les applications modernes de 2024 et au-delà, le modèle YOLOv10 offre un ensemble plus convaincant. Son architecture de bout en bout NMS résout un goulot d'étranglement de longue date dans la détection d'objets, tandis que son intégration dans l'écosystème Ultralytics garantit qu'il est accessible, maintenable et facile à déployer.

Pour les développeurs qui recherchent le meilleur équilibre entre vitesse, précision et facilité d'utilisation, YOLOv10le logiciel polyvalent YOLO11-est le meilleur choix pour créer des solutions d'IA robustes.


Commentaires