Passer au contenu

DAMO-YOLO vs. YOLOv10 : Un examen approfondi de l'évolution de la détection d'objets

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

Bien que les deux modèles visent à optimiser le compromis entre vitesse et précision, ils utilisent des stratégies architecturales très différentes. Cette analyse se penche sur leurs spécifications techniques, leurs mesures de performance et leurs 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ées COCO. Les principaux points à retenir incluent l'efficacité des paramètres et les vitesses d'inférence, où YOLOv10 démontre des avantages significatifs en raison de sa conception sans 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

DAMO-YOLO : Innovation axée sur la recherche

Lancé fin 2022, DAMO-YOLO représente un effort important du groupe Alibaba pour repousser les limites des détecteurs de type YOLO grâce à la recherche avancée d’architectures neuronales et à de nouvelles techniques de fusion de fonctionnalités.

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
GitHub :https://github.com/tinyvision/DAMO-YOLO

En savoir plus sur DAMO-YOLO

Architecture et principales fonctionnalités

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

  1. Recherche d'architecture neuronale (NAS) : Contrairement aux modèles avec des backbones conçus manuellement, DAMO-YOLO utilise MAE-NAS pour découvrir automatiquement des structures de réseau efficaces, optimisant la profondeur et la largeur du réseau pour des contraintes matérielles spécifiques.
  2. Cou RepGFPN : Ce réseau de pyramides de caractéristiques utilise la reparamétrisation pour gérer efficacement la fusion des caractéristiques. Il permet des structures complexes au moment de l'entraînement qui s'effondrent en blocs plus simples au moment de l'inférence, maintenant ainsi 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’attribution des étiquettes pendant l’entraînement, résolvant ainsi les problèmes de désalignement entre les tâches de classification et de régression.

Considération de la complexité

Bien que DAMO-YOLO introduise des innovations impressionnantes, sa dépendance à l'égard de NAS et de 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 : DAMO-YOLO offre une forte précision, en particulier pour son époque de sortie, et a introduit des concepts novateurs comme l'amélioration de la distillation pour les modèles plus petits.
  • Points faibles : L’écosystème entourant DAMO-YOLO est principalement lié au framework MMDetection, ce qui peut présenter une courbe d’apprentissage plus abrupte par rapport à l’écosystème Ultralytics convivial. De plus, il nécessite un post-traitement NMS traditionnel, ce qui ajoute de la 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 YOLO. En éliminant le besoin de suppression non maximale (NMS), il atteint une véritable performance de bout en bout, réduisant considérablement la latence d'inférence.

Détails techniques :
Auteurs : Ao Wang, Hui Chen, Lihao Liu, et al.
Organisation :Université de Tsinghua
Date : 2024-05-23
Arxiv :https://arxiv.org/abs/2405.14458
GitHub :https://github.com/THU-MIG/yolov10
Docs :https://docs.ultralytics.com/models/yolov10/


En savoir plus sur YOLOv10

Architecture et innovations

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

  1. Conception sans NMS : Grâce à une stratégie appelée Consistent Dual Assignments, YOLOv10 s'entraîne avec des affectations d'étiquettes de type un-à-plusieurs et un-à-un. Cela permet au modèle de prédire une seule meilleure boîte pour chaque objet pendant l'inférence, rendant le NMS obsolète. C'est 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 axée sur l’efficacité et la précision : L’architecture comprend une tête de classification légère et un sous-échantillonnage spatial-canal découplé. Ces optimisations réduisent la redondance de calcul, ce qui entraîne une réduction des FLOP et du nombre 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 importants de YOLOv10 est son intégration transparente dans l'écosystème Ultralytics. Les développeurs peuvent entraîner, 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

Lorsque l'on compare DAMO-YOLO et YOLOv10, la distinction réside dans leur approche de l'efficacité et de 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 DAMO-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 offre une latence déterministe, ce qui le rend supérieur pour les applications où le temps est critique, comme la conduite autonome ou la robotique industrielle à haute vitesse.

Efficacité des ressources

Comme le montre le tableau des performances, YOLOv10s atteint une mAP plus élevée (46,7 %) que DAMO-YOLO-S (46,0 %) tout en utilisant moins de la moitié des paramètres (7,2M contre 16,3M). Cet encombrement mémoire réduit est essentiel pour le déploiement en périphérie. Les modèles Ultralytics sont réputés pour leurs besoins en mémoire plus faibles pendant l'entraînement et l'inférence, ce qui permet de s'entraîner sur des GPU grand public où d'autres architectures pourraient avoir des difficultés avec les erreurs de mémoire insuffisante (OOM).

Écosystème et support

Bien que DAMO-YOLO soit une contribution académique robuste, YOLOv10 bénéficie de l'écosystème Ultralytics bien maintenu.

  • Développement actif : Mises à jour et corrections de bogues fréquentes.
  • Soutien communautaire : Une communauté massive de développeurs sur GitHub et Discord.
  • Documentation : Documentation exhaustive couvrant tous les aspects, de l'augmentation des données au déploiement.
  • Efficacité de l'entraînement : Routines simplifiées qui prennent en charge des fonctionnalités telles que la précision mixte automatique (AMP) et l'entraînement multi-GPU prêtes à l'emploi.

Au-delà de la détection

Si votre projet nécessite une polyvalence allant au-delà des boîtes englobantes, comme la segmentation d'instance, l'estimation de pose ou la détection d'objets orientés (obb), envisagez d'explorer YOLO11 ou YOLOv8. Bien que YOLOv10 excelle dans la simple détection, la famille Ultralytics plus 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 les appareils tels que Raspberry Pi ou NVIDIA Jetson.
  • Analyse vidéo en temps réel : L’élimination de la NMS garantit des fréquences d’images cohérentes, essentielles pour la surveillance du trafic ou les flux de sécurité.
  • Développement rapide : Les équipes qui ont besoin de passer rapidement des données au déploiement bénéficieront de l'intuitivité de ultralytics API Python et Ultralytics HUB.

Quand envisager DAMO-YOLO

  • Recherche académique : Les chercheurs qui étudient la recherche d’architecture neuronale (NAS) ou l’optimisation de la pyramide de caractéristiques peuvent trouver que l’architecture de DAMO-YOLO est une référence précieuse.
  • Pipelines existants : Les projets déjà profondément intégrés dans le framework MMDetection pourraient trouver plus facile d’adopter DAMO-YOLO que de changer de framework.

Conclusion

Les deux modèles représentent des étapes importantes dans le domaine de la vision par ordinateur. DAMO-YOLO a mis en évidence la puissance de la NAS et de la fusion avancée de caractéristiques en 2022. Cependant, pour les applications modernes en 2024 et au-delà, YOLOv10 offre un ensemble plus convaincant. Son architecture de bout en bout sans 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 à la recherche du meilleur équilibre entre vitesse, précision et facilité d'utilisation, YOLOv10—ainsi que le polyvalent YOLO11—s'impose comme le choix supérieur pour la création de solutions d'IA robustes.


Commentaires