DAMO-YOLO vs YOLOv10 : Évolution de la détection d'objets en temps réel efficace.
Le domaine de la vision par ordinateur a connu une évolution rapide dans les architectures de détection d'objets en temps réel. En comparant YOLO et YOLOv10, nous observons deux philosophies distinctes dans la conception des modèles : la recherche automatisée d'architecture et l'optimisation de bout en bout NMS. Si les deux repoussent les limites de la précision et de la vitesse, leurs structures sous-jacentes et leurs cas d'utilisation idéaux diffèrent considérablement.
YOLO: recherche d'architecture neuronale à grande échelle
Développé par le groupe Alibaba, DAMO-YOLO est apparu comme un détecteur puissant axé sur l'exploitation de la découverte automatisée pour l'efficacité structurelle.
- Auteurs : Xianzhe Xu, Yiqi Jiang, Weihua Chen, Yilun Huang, Yuan Zhang et Xiuyu Sun
- Date : 23 novembre 2022
- Arxiv :2211.15444v2
- GitHub :tinyvision/DAMO-YOLO
Points forts architecturaux
DAMO-YOLO s'appuie fortement sur la recherche d'architecture neuronale (NAS) pour équilibrer performance et latence. Son backbone, surnommé MAE-NAS, utilise une recherche évolutive multi-objectif sous des budgets de calcul stricts pour trouver la profondeur et la largeur de couche optimales.
Pour gérer la fusion des caractéristiques à différentes échelles, le modèle utilise un réseau RepGFPN (Reparameterized Generalized Feature Pyramid Network) efficace. Cette conception à couleuvre lourde est particulièrement adaptée à l'extraction de hiérarchies spatiales complexes, ce qui la rend utile dans des scénarios tels que l'analyse d'images aériennes. De plus,YOLO ZeroHead, une tête de détection simplifiée qui réduit considérablement la complexité des couches de prédiction finales, en s'appuyant sur un processus robuste d'amélioration par distillation pendant l'entraînement.
Entraînement par distillation
DAMO-YOLO utilise souvent un processus de distillation de connaissances multi-étapes. Cela nécessite d'entraîner un modèle "enseignant" plus lourd pour guider le modèle "étudiant" plus petit, ce qui permet d'obtenir un mAP (mean Average Precision) plus élevé mais augmente considérablement le temps de calcul GPU requis.
YOLOv10: pionnier de la détection d'objets de bout en bout
Sorti un an et demi plus tard, YOLOv10 un changement de paradigme en éliminant complètement le besoin de suppression non maximale (NMS) pendant l'inférence.
- Auteurs : Ao Wang, Hui Chen, Lihao Liu, et al.
- Organisation :Tsinghua University
- Date : 23 mai 2024
- Arxiv :2405.14458
- Documentation :Ultralytics YOLOv10
Points forts architecturaux
La caractéristique distinctive de YOLOv10 ses doubles attributions cohérentes pour un entraînement NMS. Les détecteurs traditionnels prédisent plusieurs cadres de sélection qui se chevauchent pour un seul objet, ce qui nécessite NMS filtrer les doublons. Cette étape de post-traitement crée un goulot d'étranglement, en particulier sur les appareils périphériques. YOLOv10 ce problème en permettant au modèle de prédire naturellement un seul cadre de sélection précis par objet.
Les auteurs se sont également concentrés sur la conception d'un modèle holistique axé sur l'efficacité et la précision. En analysant minutieusement la redondance computationnelle des architectures existantes, ils ont optimisé la structure principale et la tête afin de réduire le nombre de FLOP et de paramètres. Cette conception légère YOLOv10 latence d'inférence exceptionnelle lorsqu'il est exporté vers des formats tels que TensorRT ou OpenVINO.
Performances et analyses comparatives
Le tableau ci-dessous illustre les mesures de performance brutes sur l'COCO . Les meilleures valeurs globales dans chaque colonne sont mises en évidence en gras.
| 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 |
| YOLOv10n | 640 | 39.5 | - | 1.56 | 2.3 | 6.7 |
| YOLOv10s | 640 | 46.7 | - | 2.66 | 7.2 | 21.6 |
| YOLOv10m | 640 | 51.3 | - | 5.48 | 15.4 | 59.1 |
| YOLOv10b | 640 | 52.7 | - | 6.54 | 24.4 | 92.0 |
| YOLOv10l | 640 | 53.3 | - | 8.33 | 29.5 | 120.3 |
| YOLOv10x | 640 | 54.4 | - | 12.2 | 56.9 | 160.4 |
SiYOLO par sa précision, YOLOv10 offre quant à lui une latence YOLOv10 plus faible et des poids de modèle nettement plus réduits. Par exemple, YOLOv10s atteint un mAP légèrement supérieur mAP 46,7 %) à celui de DAMO-YOLOs (46,0 %) tout en utilisant moins de la moitié des paramètres (7,2 millions contre 16,3 millions). Grâce à ses faibles exigences en matière de mémoire, YOLOv10 est YOLOv10 choix exceptionnellement polyvalent pour les systèmes embarqués.
Efficacité et facilité d'utilisation de la formation
Lors du passage de la recherche universitaire à la production, la facilité d'utilisation est primordiale. Le processus de distillation en plusieurs étapes et les configurations NAS complexesYOLO peuvent représenter une courbe d'apprentissage abrupte pour les équipes d'ingénieurs.
Inversement, YOLOv10 bénéficie immensément d'être entièrement intégré au SDK Python Ultralytics. L'entraînement d'un modèle personnalisé implique un code passe-partout minimal. Ultralytics gère automatiquement l'augmentation de données, le réglage des hyperparamètres et le suivi d'expériences.
from ultralytics import YOLO
# Load a pretrained YOLOv10 nano model
model = YOLO("yolov10n.pt")
# Train on a custom dataset with built-in validation
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)
# Run inference on an image seamlessly
prediction = model("path/to/image.jpg")
prediction[0].show()
Prototypage rapide
L'utilisation de Ultralytics permet aux développeurs de passer d'un prototype à un ONNX entièrement exporté en quelques lignes de code seulement, sans avoir à passer par les configurations d'environnement complexes requises par les anciens frameworks.
Cas d'utilisation concrets
- Commerce de Détail Intelligent (DAMO-YOLO): La précision de DAMO-YOLO est bien adaptée aux environnements de serveurs haute densité analysant le comportement des clients où les GPU sont abondants et les goulots d'étranglement NMS en temps réel sont gérables.
- Véhicules autonomes (YOLOv10): L'architecture sans NMS garantit une latence déterministe et prévisible, ce qui est essentiel pour les systèmes de sécurité dans la conduite autonome.
- Automatisation Industrielle (YOLOv10) : La détection de défauts sur des lignes d'assemblage rapides nécessite des modèles qui maximisent les vitesses d'inférence en temps réel sans consommer une VRAM excessive, faisant de YOLOv10 un candidat de choix pour le déploiement en périphérie.
Cas d'utilisation et recommandations
Le choix entre DAMO-YOLO et YOLOv10 dépend de vos exigences spécifiques de projet, de vos contraintes de déploiement et de vos préférences d'écosystème.
Quand choisir DAMO-YOLO
DAMO-YOLO est un excellent choix pour :
- Analyse vidéo à haut débit : Traitement de flux vidéo à haut FPS sur une infrastructure GPU NVIDIA fixe où le débit par lot de 1 est la métrique principale.
- Lignes de Fabrication Industrielles : Scénarios avec des contraintes strictes de latence GPU sur du matériel dédié, telles que l'inspection qualité en temps réel sur les lignes d'assemblage.
- Recherche sur la recherche d'architecture neuronale : Étude des effets de la recherche d'architecture automatisée (MAE-NAS) et des backbones reparamétrés efficaces sur les performances de détection.
Quand choisir YOLOv10
YOLOv10 recommandé pour :
- Détection en temps réel sans NMS : Applications qui bénéficient d'une détection de bout en bout sans Non-Maximum Suppression, réduisant ainsi la complexité du déploiement.
- Compromis équilibrés vitesse-précision: Projets nécessitant un équilibre solide entre la vitesse d'inférence et la précision de détection sur diverses échelles de modèles.
- Applications à latence constante : Scénarios de déploiement où des temps d'inférence prévisibles sont critiques, tels que la robotique ou les systèmes autonomes.
Quand choisir Ultralytics YOLO26)
Pour la plupart des nouveaux projets, Ultralytics offre la meilleure combinaison entre performances et expérience développeur :
- Déploiement Edge sans NMS : Applications nécessitant une inférence cohérente et à faible latence, sans la complexité du post-traitement de la Non-Maximum Suppression.
- Environnements uniquement CPU : Les appareils sans accélération GPU dédiée, où l'inférence CPU de YOLO26, jusqu'à 43 % plus rapide, offre un avantage décisif.
- Détection de petits objets: Scénarios difficiles comme l'imagerie aérienne par drone ou l'analyse de capteurs IoT où ProgLoss et STAL augmentent significativement la précision sur les objets minuscules.
La nouvelle génération : découvrez Ultralytics
Si YOLOv10 les bases de la détection NMS, la technologie a rapidement évolué. Pour les applications modernes, le modèle Ultralytics offre des performances et une facilité d'utilisation inégalées, en tirant le meilleur parti des générations précédentes et en les perfectionnant pour la production.
YOLO26 présente une conception strictement native de bout en bout, éliminant NMS pour simplifier les pipelines de déploiement sur les périphériques périphériques. De plus, la suppression de la perte focale de distribution (DFL) a considérablement amélioré la compatibilité avec le matériel IA périphérique à faible consommation d'énergie.
En matière d'entraînement, YOLO26 introduit l'optimiseur MuSGD, un hybride inspiré des techniques d'entraînement des grands modèles linguistiques (LLM). Cela garantit un entraînement plus stable et une convergence plus rapide. Associé aux fonctions de perte ProgLoss + STAL, YOLO26 présente des améliorations remarquables dans la reconnaissance des petits objets, une fonctionnalité essentielle pour la conservation de la faune sauvage et les opérations de drones.
De manière cruciale, YOLO26 n'est pas seulement un détecteur d'objets. Il offre des améliorations spécifiques aux tâches sur toute la ligne, prenant en charge nativement la segmentation d'instances, l'estimation de pose utilisant l'estimation de log-vraisemblance résiduelle (RLE), et des pertes angulaires spécialisées pour les boîtes englobantes orientées (OBB). Avec une inférence CPU jusqu'à 43 % plus rapide que ses prédécesseurs, il constitue le choix définitif pour les équipes d'ingénierie agiles.
Pour la gestion centralisée, l'annotation et la formation dans le cloud des modèles YOLO26, la Ultralytics fournit une interface intuitive qui rationalise l'ensemble du cycle de vie de la vision par ordinateur.
Les développeurs intéressés par l'exploration d'autres avancées récentes peuvent également évaluer Ultralytics YOLO11 ou le framework RT-DETR basé sur des transformeurs pour les scénarios nécessitant des solutions architecturales distinctes.